nrPUSCHDMRS
PUSCH DM-RS 심볼 생성
설명
예제
디폴트 속성을 갖는 반송파 구성 객체를 만듭니다. 이 객체는 15kHz 부반송파 간격을 갖는 10MHz 반송파에 대응됩니다.
carrier = nrCarrierConfig;
지정된 속성으로 PUSCH(physical uplink shared channel) 구성 객체를 만듭니다. 변환 프리코딩이 0으로 설정된 경우 파형 유형은 순환 전치 직교 주파수 분할 다중화(CP-OFDM)입니다.
pusch = nrPUSCHConfig;
pusch.TransformPrecoding = 0;
pusch.TransmissionScheme = 'codebook';
pusch.NumAntennaPorts = 4;
pusch.TPMI = 0;지정된 파라미터를 사용하여 PUSCH 복조 기준 신호(DM-RS)를 구성합니다.
pusch.DMRS.DMRSAdditionalPosition = 1; pusch.DMRS.DMRSTypeAPosition = 2; pusch.DMRS.DMRSPortSet = 2; pusch.DMRS.NIDNSCID = 10; pusch.DMRS.NSCID = 1;
single 데이터형의 PUSCH와 연관된 DM-RS 심볼을 생성합니다.
sym = nrPUSCHDMRS(carrier,pusch,'OutputDataType','single')
sym = 624×4 single matrix
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 + 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 + 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 + 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 + 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
-0.3536 - 0.3536i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
⋮
30kHz 부반송파 간격과 5MHz 송신 대역폭을 사용하여 반송파 구성을 만듭니다.
carrier = nrCarrierConfig; carrier.SubcarrierSpacing = 30; carrier.NSizeGrid = 11;
지정된 속성으로 PUSCH(physical uplink shared channel) 구성 객체를 만듭니다. 변환 프리코딩이 1로 설정된 경우 파형 유형은 이산 푸리에 변환 확산 직교 주파수 분할 다중화(DFT-s-OFDM)입니다.
pusch = nrPUSCHConfig;
pusch.NSizeBWP = 9;
pusch.NStartBWP = 1;
pusch.PRBSet = 0:3;
pusch.TransformPrecoding = 1;
pusch.FrequencyHopping = 'intraSlot';
pusch.SecondHopStartPRB = 5;지정된 속성으로 PUSCH DM-RS(복조 기준 신호) 객체를 만듭니다.
dmrs = nrPUSCHDMRSConfig; dmrs.DMRSAdditionalPosition = 1; dmrs.DMRSTypeAPosition = 2; dmrs.DMRSPortSet = 3; dmrs.GroupHopping = 1; dmrs.SequenceHopping = 0; dmrs.NRSID = 10;
PUSCH DM-RS 구성 객체를 PUSCH 구성 객체의 DMRS 속성에 할당합니다.
pusch.DMRS = dmrs;
지정된 반송파, PUSCH 구성, 출력 형식 name-value 쌍의 인수에 대한 PUSCH DM-RS 심볼과 인덱스를 생성합니다.
sym = nrPUSCHDMRS(carrier,pusch,'OutputDataType','single')
sym = 96×1 single column vector
-0.7071 - 0.7071i
-0.7071 - 0.7071i
-0.7071 - 0.7071i
0.7071 - 0.7071i
-0.7071 - 0.7071i
-0.7071 - 0.7071i
-0.7071 - 0.7071i
0.7071 - 0.7071i
0.7071 + 0.7071i
-0.7071 + 0.7071i
-0.7071 - 0.7071i
-0.7071 + 0.7071i
-0.7071 - 0.7071i
0.7071 + 0.7071i
-0.7071 - 0.7071i
⋮
ind = nrPUSCHDMRSIndices(carrier,pusch,'IndexBase','0based','IndexOrientation','bwp')
ind = 96×1 uint32 column vector
217
219
221
223
225
227
229
231
233
235
237
239
241
243
245
⋮
부분 대역폭(BWP) 그리드를 만들고 그 그리드에 DM-RS 심볼을 매핑합니다.
bwp = complex(zeros([pusch.NSizeBWP*12 carrier.SymbolsPerSlot pusch.NumLayers]));
bwp(ind+1) = sym; % Map the DM-RS symbolsBWP를 반송파 리소스 그리드에 매핑한 다음 반송파 그리드를 표시합니다.
grid = complex(zeros([carrier.NSizeGrid*12 carrier.SymbolsPerSlot pusch.NumLayers])); % Create carrier resource grid offset = pusch.NStartBWP-carrier.NStartGrid; % BWP start location in the carrier grid grid(offset*12+1:(offset+pusch.NSizeBWP)*12,:,:) = bwp; imagesc(abs(grid(:,:,1))); axis xy; xlabel('OFDM Symbols'); ylabel('Subcarriers'); title('PUSCH DM-RS Resource Elements in the Carrier Resource Grid');

입력 인수
특정 OFDM 뉴머롤로지를 위한 반송파 구성 파라미터로, nrCarrierConfig 객체로 지정됩니다. 이 함수는 nrCarrierConfig 객체의 다음 속성만 사용합니다.
PUSCH 구성 파라미터로, nrPUSCHConfig 객체로 지정됩니다. 이 함수는 nrPUSCHConfig 객체의 다음 속성만 사용합니다.
주파수 범위 1(FR1)에 대한 공유 스펙트럼 채널 액세스와 함께 작동하려면, Interlacing 속성을 true로 설정한 다음 RBSetIndex 및 InterlaceIndex 객체 속성을 사용하여 할당된 주파수 리소스를 지정하십시오. (R2023b 이후)
생성되는 DM-RS 심볼의 데이터형으로, 'double' 또는 'single'로 지정됩니다.
데이터형: char | string
출력 인수
DM-RS 심볼로, 복소수 행렬로 반환됩니다. 열 개수는 구성된 안테나 포트의 개수와 일치합니다.
데이터형: single | double
복소수 지원 여부: 예
참고 문헌
[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
확장 기능
사용법 관련 참고 및 제한 사항:
datatype 입력 인수는 컴파일타임 상수여야 합니다. 예를 들어 'single'을 출력 데이터형으로 지정할 경우 codegen 함수의 -args 값에 {coder.Constant('OutputDataType'),coder.Constant('single')}을 포함시킵니다. 자세한 내용은 coder.Constant (MATLAB Coder) 클래스를 참조하십시오.
버전 내역
R2020a에 개발됨PUSCH 송신에 8개의 안테나 포트, 최대 8개의 계층, 2개의 코드워드를 사용할 수 있는 지원이 pusch 입력값의 Modulation, NumLayers, NumAntennaPorts, TPMI, CodebookType 객체 속성에 추가되었습니다.
carrier 입력값의 IntraCellGuardBands 객체 속성을 사용하여 셀 내 보호 대역을 지정할 수 있습니다.
pusch 입력 인수의 Interlacing, RBSetIndex, InterlaceIndex 속성을 사용하여 인터레이싱된 PUSCH 송신을 구성할 수 있습니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)