5G NR 파형 생성
이 예제는 5G Toolbox™ 제품을 사용하는 5G NR 파형 생성 워크플로와 이를 통해 생성 가능한 파형 유형에 대한 개요를 제공합니다.
소개
5G Toolbox 기능을 사용하여 다음과 같은 NR 파형을 구성하고 생성할 수 있습니다.
NR 테스트 모델(NR-TM)
NR 업링크 및 다운링크 고정 기준 채널(FRC)
NR 다운링크 파형
NR 업링크 파형
정적 파라미터 세트로 파형을 구성하고 생성하려면 다음 워크플로 중 하나를 사용합니다. 이러한 워크플로를 통해 생성한 파형을 테스트와 측정 애플리케이션에서 사용할 수 있습니다.
사용자 인터페이스(UI)를 제공하는 5G 파형 생성기 앱을 사용하여 파형을 구성합니다. 5G 파형에는 파라미터가 많으므로 이 앱을 사용하여 파형을 파라미터화하는 워크플로를 권장합니다. 앱을 사용하면 앱에서 직접 파형을 생성하거나 MATLAB®으로 파형 구성을 내보내 명령 프롬프트에서 파형을 생성할 수 있습니다 또한 앱을 사용하면 파형 구성을 Simulink™로 내보낼 수도 있습니다.
구성 객체를 사용해 파형을 구성할 수 있는 프로그래밍 인터페이스를 제공하는
nrWaveformGenerator
함수를 사용합니다.
동적으로 변하는 파라미터로 파형을 구성하고 생성하는 방법(예: 5G 링크를 모델링할 때)은 NR PDSCH 처리량 예제와 NR PUSCH 처리량 예제를 참조하십시오.
PRACH(physical random access channel) 파형을 구성하고 생성하는 방법은 5G NR PRACH Configuration 예제와 5G NR PRACH Waveform Generation 예제를 참조하십시오.
앱을 사용하여 5G 파형을 구성하고 생성하기
5G 파형 생성기 앱은 수많은 구성 파라미터를 관리할 수 있는 UI를 제공합니다. 앱에서 파형 유형을 선택하고, 파라미터를 지정하고, 파형을 생성하여 내보낼 수 있습니다. 또한 앱을 사용하면 테스트 및 측정 장비와 상호 작용할 수도 있습니다. 아래 그림은 이 앱에서 5G 파형을 생성하고 내보내는 일반적인 워크플로를 보여줍니다.
5G 파형 생성기 앱 열기
앱 탭의 신호 처리 및 통신에서 앱 아이콘을 클릭하여 5G 파형 생성기 앱을 엽니다.
파형 유형 선택
이 앱에서 다양한 파형 유형을 선택할 수 있습니다. 다운링크 옵션과 업링크 옵션을 통해 파형의 모든 부분을 사용자 지정할 수 있습니다. NR-TM, 다운링크 FRC, 업링크 FRC를 생성할 수도 있습니다.
파라미터 지정
이 앱에서 파라미터를 지정할 수 있습니다. 파라미터를 설정하면 파형의 모든 물리 채널의 위치를 보여 주는 리소스 그리드 시각화 콘텐츠가 즉시 업데이트됩니다. 리소스 그리드 보기에는 모든 포트 전체에서의 물리 채널 위치의 합집합이 포함됩니다(즉, 시각화는 각 포트가 송신하는 대상을 구분하지 않음). 리소스 그리드의 최대 분해능이 RB(리소스 블록) 하나이기 때문에 시각화는 단일 RE(리소스 요소)를 사용하여 신호를 보여주지 않습니다.
아래 그림은 2개의 PDSCH(physical downlink shared channel)의 구성을 보여줍니다. 첫 번째 PDSCH는 모든 슬롯에 걸쳐 있으며 PRB(물리적 리소스 블록) 0~100을 사용합니다. 두 번째 PDSCH는 슬롯 0~2와 4~6에서 활성 상태이며 PRB 200~250을 사용합니다.
파형 생성
구성한 파형을 앱에서 생성하려면 생성을 클릭합니다. 이 앱은 기저대역 IQ(in-phase and quadrature) 성분의 샘플을 생성기 내부에 생성합니다. 생성된 신호의 스펙트럼은 스펙트럼 분석기 탭에서 확인할 수 있습니다.
파형 내보내기
파형을 내보내려면 내보내기를 클릭하고 사용 가능한 옵션 중 하나를 선택합니다. 파형은 작업 공간, 파일, MATLAB 스크립트 또는 Simulink 모델로 내보낼 수 있습니다.
작업 공간으로 내보내기 옵션은 MATLAB 작업 공간에 구조체를 생성합니다. 구조체에는 파형 샘플, 샘플링 주파수, 구성 파라미터 그리고 파형 유형(다운링크, 업링크, 테스트 모델, 다운링크 FRC 또는 업링크 FRC)을 설명하는 문자열이 포함됩니다. 예를 들면 다음과 같습니다.
파일로 내보내기 옵션은 파형을
.mat
또는.bb
기저대역 파일로 저장합니다.MATLAB 스크립트로 내보내기 옵션은 MATLAB 스크립트를 생성합니다. 스크립트를 실행하여, 구성된 파형을 MATLAB 명령 창에서 생성합니다.
Simulink로 내보내기 옵션은 Waveform From Wireless Waveform Generator App 블록을 생성합니다. Simulink 모델에서 이 블록을 파형 소스로 사용합니다.
MATLAB 코드를 사용하여 5G 파형을 구성하고 생성하기
nrWaveformGenerator
함수는 구성 객체를 사용해 파형을 구성할 수 있는 프로그래밍 인터페이스를 제공합니다. 많은 시간을 들여 모든 파라미터를 직접 지정하는 대신, 5G 파형 생성기 앱에서 파형을 구성하고 이 구성을 MATLAB 스크립트로 내보낼 수 있습니다. 이 MATLAB 스크립트를 수정하고 실행하여, 구성한 5G 파형을 생성할 수 있습니다.
이 앱을 사용하면 다음과 같은 이점이 있습니다.
앱에는 값을 선택할 수 있는 드롭다운 목록과 같은 UI 컨트롤이 포함되어 있습니다.
일부 UI 컨트롤은 사용자 지정 값을 설정할 때 유효성 검사를 포함합니다.
그리드 시각화 기능을 사용하면 파라미터를 지정하는 동안 신호의 모양을 확인할 수 있습니다.
예를 들어, 이 섹션의 코드 예제는 nrDLCarrierConfig
구성 객체를 사용하여 5G 다운링크 파형을 생성합니다. 다운링크 파형을 위해 앱에서 MATLAB 스크립트로 내보내기 옵션을 사용하여 생성한 코드도 nrDLCarrierConfig
구성 객체를 사용합니다.
디폴트 다운링크 파형 구성 객체를 만듭니다. waveconfig
객체는 파형 사양을 전부 포함하며, 모든 부분을 구성할 수 있습니다.
waveconfig = nrDLCarrierConfig
waveconfig = nrDLCarrierConfig with properties: Label: 'Downlink carrier 1' FrequencyRange: 'FR1' ChannelBandwidth: 50 NCellID: 1 NumSubframes: 10 InitialNSubframe: 0 WindowingPercent: 0 SampleRate: [] CarrierFrequency: 0 SCSCarriers: {[1x1 nrSCSCarrierConfig]} BandwidthParts: {[1x1 nrWavegenBWPConfig]} SSBurst: [1x1 nrWavegenSSBurstConfig] CORESET: {[1x1 nrCORESETConfig]} SearchSpaces: {[1x1 nrSearchSpaceConfig]} PDCCH: {[1x1 nrWavegenPDCCHConfig]} PDSCH: {[1x1 nrWavegenPDSCHConfig]} CSIRS: {[1x1 nrWavegenCSIRSConfig]}
구성 파라미터를 설정한 후 프로그래밍 방식의 파형 생성기를 호출합니다.
[waveform,waveformInfo] = nrWaveformGenerator(waveconfig);
스펙트로그램을 플로팅하여 주파수 영역에서 신호를 시각화합니다. 이 파형은 전체 할당 PDSCH, PDCCH(physical downlink control channel), SS(신호 동기화) 버스트를 포함합니다.
% Plot spectrogram of waveform for first antenna port samplerate = waveformInfo.ResourceGrids(1).Info.SampleRate; nfft = waveformInfo.ResourceGrids(1).Info.Nfft; figure; spectrogram(waveform(:,1),ones(nfft,1),0,nfft,'centered',samplerate,'yaxis','MinThreshold',-130); title('Spectrogram of 5G Downlink Baseband Waveform');
PDSCH 할당을 PRB 0~10 범위로 변경합니다. 파형을 생성하고 스펙트로그램을 플로팅합니다.
waveconfig.PDSCH{1}.PRBSet = 0:10; [waveform,waveformInfo] = nrWaveformGenerator(waveconfig); % Plot spectrogram of waveform for first antenna port samplerate = waveformInfo.ResourceGrids(1).Info.SampleRate; nfft = waveformInfo.ResourceGrids(1).Info.Nfft; figure; spectrogram(waveform(:,1),ones(nfft,1),0,nfft,'centered',samplerate,'yaxis','MinThreshold',-130); title('Spectrogram of 5G Downlink Baseband Waveform');
물리 채널과 물리 신호를 여러 개 정의할 수 있습니다. 두 번째 PDSCH 구성 객체를 만들고 할당 범위를 PRB 40~50과 OFDM 심볼 2~10으로 설정합니다.
mySecondPDSCH = nrWavegenPDSCHConfig; mySecondPDSCH.PRBSet = 40:50; mySecondPDSCH.SymbolAllocation = [2 10];
두 번째 PDSCH 구성을 파형 구성에 할당합니다. 파형을 생성합니다.
waveconfig.PDSCH{2} = mySecondPDSCH; [waveform,waveformInfo] = nrWaveformGenerator(waveconfig); % Plot spectrogram of waveform for first antenna port samplerate = waveformInfo.ResourceGrids(1).Info.SampleRate; nfft = waveformInfo.ResourceGrids(1).Info.Nfft; figure; spectrogram(waveform(:,1),ones(nfft,1),0,nfft,'centered',samplerate,'yaxis','MinThreshold',-130); title('Spectrogram of 5G Downlink Baseband Waveform');