nrResourceGrid
구문
설명
예제
OFDM 변조 파형 생성하기
SRS(사운딩 기준 신호)가 포함된 리소스 배열의 OFDM 변조를 수행하여 파형을 생성합니다. 리소스 배열의 범위는 전체 프레임입니다.
반송파 리소스 배열에서 30kHz와 24개의 RB(Resource Block)의 부반송파 간격을 지정하여 반송파 구성 파라미터를 설정합니다.
carrier = nrCarrierConfig('SubcarrierSpacing',30,'NSizeGrid',24);
슬롯 주기성을 2
로 설정하고 오프셋을 0으로 설정하여 SRS 파라미터를 구성합니다.
srs = nrSRSConfig('SRSPeriod',[2 0]);
지정한 반송파 구성에 대한 OFDM 정보를 얻습니다.
info = nrOFDMInfo(carrier);
각각의 슬롯 리소스 배열을 생성하고 이들을 결합하여 프레임 리소스 배열을 생성합니다.
grid = []; for nslot = 0:(info.SlotsPerFrame - 1) carrier.NSlot = nslot; slotGrid = nrResourceGrid(carrier); ind = nrSRSIndices(carrier,srs); sym = nrSRS(carrier,srs); slotGrid(ind) = sym; grid = [grid slotGrid]; end
지정된 반송파 구성에 대해 리소스 배열에서 OFDM 변조를 수행합니다.
[waveform,info] = nrOFDMModulate(carrier,grid);
OFDM 파형 복조하기
OFDM 파형을 복조하여, 송신된 반송파 리소스 배열을 복원합니다.
반송파 리소스 배열에서 106개의 RB(리소스 블록)를 지정하여 반송파 구성 파라미터를 설정합니다.
carrier = nrCarrierConfig('NSizeGrid',106);
PDSCH(physical downlink shared channel) DM-RS(복조 기준 신호) 심볼과 인덱스를 생성합니다.
p = 2;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);
PDSCH DM-RS 심볼을 포함하는 반송파 리소스 배열을 만듭니다.
txGrid = nrResourceGrid(carrier,p); txGrid(ind) = sym;
OFDM 변조 파형을 생성합니다.
[txWaveform,~] = nrOFDMModulate(carrier,txGrid);
간단한 2×1 채널에 파형을 통과시킵니다.
H = [0.6; 0.4]; waveform = txWaveform*H;
수신된 OFDM 파형을 복조하여 반송파 리소스 배열을 복원합니다.
grid = nrOFDMDemodulate(carrier,waveform);
지정된 샘플 레이트에 대한 OFDM 변조 파형 생성하기
PDSCH DM-RS 심볼을 포함하는 리소스 배열의 OFDM 변조를 수행하여 파형을 생성합니다.
반송파 리소스 배열에서 106개의 RB를 지정하여 반송파 구성 파라미터를 설정합니다.
carrier = nrCarrierConfig('NSizeGrid',106);
PDSCH를 구성하고 대응되는 심볼과 인덱스를 생성합니다.
p = 4;
pdsch = nrPDSCHConfig('NumLayers',p);
sym = nrPDSCHDMRS(carrier,pdsch);
ind = nrPDSCHDMRSIndices(carrier,pdsch);
반송파 리소스 배열을 생성하여 PDSCH 심볼에 매핑합니다.
grid = nrResourceGrid(carrier,p,'OutputDataType','single'); grid(ind) = sym;
샘플 레이트를 지정하여 OFDM 변조 파형을 생성합니다.
sr = 1e8;
[waveform,info] = nrOFDMModulate(carrier,grid,'SampleRate',sr);
입력 인수
carrier
— 반송파 구성 파라미터
nrCarrierConfig
객체
특정 OFDM 뉴머롤로지를 위한 반송파 구성 파라미터로, nrCarrierConfig
객체로 지정됩니다. 이 함수는 nrCarrierConfig
객체의 다음 속성만 사용합니다.
p
— 안테나 개수
양의 정수
안테나 개수로, 양의 정수로 지정됩니다.
데이터형: double
datatype
— 출력 심볼의 데이터형
'double'
(디폴트 값) | 'single'
출력 심볼의 데이터형으로, 'double'
또는 'single'
로 지정됩니다.
데이터형: char
| string
출력 인수
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
datatype
입력 인수는 컴파일타임 상수여야 합니다. 예를 들어 'single'
을 출력 데이터형으로 지정할 경우 codegen
함수의 -args
값에 {coder.Constant('OutputDataType'),coder.Constant('single')}
을 포함시킵니다. 자세한 내용은 coder.Constant
(MATLAB Coder) 클래스를 참조하십시오.
버전 내역
R2020b에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)