소개
무선 파형 생성기 앱은 파형을 생성, 변조, 시각화 및 내보낼 수 있는 대화형 방식 툴입니다. 파형을 작업 공간이나 .mat 또는 .bb 파일로 내보낼 수 있습니다. 또한 파형 생성 파라미터를 실행 가능한 MATLAB® 스크립트나 Simulink® 블록으로 내보낼 수 있습니다. 내보낸 Simulink 블록을 사용하여 Simulink에서 파형을 재현할 수 있습니다. 이 예제는 앱의 Simulink로 내보내기 기능을 사용하는 방법과, Simulink에서 파형을 생성하도록 내보낸 블록을 구성하는 방법을 보여줍니다.
이 예제는 OFDM 파형 내보내기에 중점을 두고 있지만, 지원되는 모든 파형 유형에 동일한 절차가 적용됩니다.
무선 파형 구성을 Simulink로 내보내기
앱 탭의 무선 통신 항목 아래에 있는 앱 아이콘을 클릭하여 무선 파형 생성기 앱을 실행합니다. 또는 MATLAB 명령 프롬프트에서 wirelessWaveformGenerator를 입력합니다.
파형 유형 섹션에서 OFDM을 클릭하여 OFDM 파형을 선택합니다. 앱의 가장 왼쪽 창에서, 선택한 파형에 대한 구성 파라미터를 조정합니다. 그런 다음 앱 툴스트립에서 내보내기를 클릭하고 Simulink로 내보내기를 선택하여 구성을 내보냅니다.
Simulink로 내보내기 옵션을 선택하면 Simulink 블록이 생성되며, 이 블록은 Simulink 모델을 실행할 때 선택한 파형을 출력합니다. 열려 있는 모델이 없는 경우, 해당 블록은 새로운 모델로 내보내집니다.
최종 데이터 값 다음의 폼 출력 생성 방법 블록 파라미터는 지정된 모든 신호 샘플이 생성된 후의 출력을 지정합니다. 이 파라미터의 가능한 값은 Cyclic repetition와 Setting to zero입니다. Cyclic repetition 옵션은 신호가 마지막 샘플에 도달하면 처음부터 다시 반복합니다. Setting to zero 옵션은 신호의 마지막 프레임을 생성한 후 시뮬레이션이 진행되는 동안 0값의 출력을 생성합니다. 파형 샘플 레이트(Fs) 및 파형 길이 블록 파라미터는 마스크 편집기 대화 상자의 코드 탭에서 사용할 수 있는 파형 구성에서 파생됩니다. 블록 파라미터에 대한 자세한 내용은 Waveform From Wireless Waveform Generator App 항목을 참조하십시오. 이 그림은 내보낸 블록의 파라미터를 보여줍니다.
Spectrum Analyzer 블록을 내보낸 블록에 연결하십시오.
현재 설정을 사용하여 모델을 시뮬레이션하고 파형을 시각화하십시오.
Spectrum Analyzer 블록은 파형 샘플링 레이트(Fs) 파라미터를 상속받으며, 이 값은 64 MHz입니다.
무선 파형 구성 수정
Simulink 모델을 실행하면, 내보낸 블록은 해당 블록의 마스크 편집기 대화 상자 내 코드 탭에서 생성된 파형을 출력합니다. 이 탭에서 파형을 초기화하는 MATLAB 코드는 블록을 내보내기 전에 무선 파형 생성기 앱에서 선택한 구성과 일치합니다. 파형 설정을 변경하려면 다음 옵션 중 하나를 선택하십시오.
‘무선 파형 생성기’ 앱을 열고, 원하는 구성을 선택한 다음 새 블록을 내보내십시오. 이 옵션은 MATLAB 코드 대신 앱 인터페이스를 통해 작업할 수 있게 해주며, 파라미터 설정 과정에서 파라미터 범위를 검증하고, Simulink 모델을 실행하기 전에 파형을 시각화해 줍니다.
내보낸 블록의 마스크 편집기 대화 상자 내 코드 탭에서 사용할 수 있는 구성 파라미터를 업데이트하십시오. 이 옵션을 사용하려면 이 탭에 있는 MATLAB 코드를 수정하여, 변경 사항을 적용할 때만 파라미터 범위 유효성 검사가 수행되도록 해야 합니다. 이 옵션은 Simulink 모델을 실행하기 전에 파형을 시각화하지 않습니다. 선택한 파형을 생성하는 MATLAB 코드에 익숙하지 않은 경우, 이 옵션을 사용하여 파라미터를 수정하는 것은 권장하지 않습니다.
마스크 편집기의 코드 탭에서 구성을 업데이트할 수 있습니다. 마스크 편집기를 열려면 내보낸 블록을 클릭한 다음 Ctrl+M을 누르십시오.
코드 탭에서 제공되는 MATLAB 코드를 사용하여 원하는 파라미터를 업데이트하십시오. 예를 들어, 부반송파 간격(scs)을 1,500,000 Hz로 설정합니다.
확인을 클릭하여 변경 사항을 적용하고 마스크 편집기 대화 상자를 닫습니다. 모델을 시뮬레이션하여 업데이트된 파형을 확인하십시오.
Spectrum Analyzer 블록의 샘플링 레이트가 이제 96 MHz로 표시되는데, 이는 예상대로 이전 샘플링 레이트의 1.5배에 해당합니다.
모델 내의 다른 블록과 무선 파형 구성을 공유하기
읽기 전용인 블록 파라미터와 파형 구성 파라미터에 액세스하려면 다음의 필드를 갖는 구조체인 UserData 공통 블록 속성을 사용합니다.
WaveformConfig: 파형 구성
WaveformLength: 파형 길이
Fs: 파형 샘플 레이트
get_param 함수를 사용하면 내보낸 블록의 사용자 데이터에 액세스할 수 있습니다.
ans =
struct with fields:
WaveformConfig: [1×1 comm.OFDMModulator]
WaveformLength: 8000
Fs: 96000000
콜백에서 InitFcn을 사용하여 사용자 데이터에 있는 구조체를 기본 작업 공간의 변수에 저장합니다. InitFcn 콜백은 모델 업데이트 및 시뮬레이션 중에 실행됩니다. 이 콜백을 사용하려면 MODELING 탭을 클릭한 다음, 모델 설정 드롭다운 메뉴를 클릭하고 모델 속성 옵션을 클릭하십시오. 콜백 창에서 InitFcn 콜백을 선택합니다. 사용자 데이터를 새로운 기본 작업 공간 변수(예: cfg)에 할당합니다.
코드 탭에서 구성 변경 사항을 적용할 때마다 내보낸 블록의 사용자 데이터에 포함된 파라미터가 업데이트됩니다.
OFDM 파형을 복조하려면 모델에 OFDM Demodulator 블록을 추가하십시오. OFDM 파형 발생기 블록과 OFDM Demodulator 블록 사이에 AWGN Channel 블록을 연결하여 입력 신호에 백색 가우스 잡음을 추가하십시오. 또한 복조된 심볼을 플롯하기 위해 Constellation Diagram 블록을 추가하십시오.
OFDM Demodulator 블록을 구성하는 데 필요한 파라미터는 내보낸 블록을 구성하는 데 사용된 파라미터와 일치해야 합니다. 그렇지 않으면 복조가 실패합니다. 내보낸 블록의 구성 파라미터에 액세스하려면 cfg 변수를 사용하십시오. 이 그림은 OFDM Demodulator 블록의 파라미터를 보여줍니다.
OFDM Demodulator 블록은 복조를 위해 전체 OFDM 파형이 필요하므로, 내보낸 블록의 프레임당 샘플 수 파라미터를 cfg.WaveformLength로 설정하십시오. 모델을 시뮬레이션합니다.
OFDM Demodulator 블록을 사용하여 OFDM 파형을 복조한 후, Constellation Diagram 블록이 그 결과로 얻어진 QAM 심볼을 표시합니다.
다중 반송파 파형 생성
다중 반송파를 생성하려면 모든 파형의 샘플링 레이트가 동일해야 합니다. 파형을 반송파 오프셋으로 이동시키고 이를 합치려면 Multiband Combiner 블록을 사용할 수 있습니다.
파형의 주파수를 이동시키려면 샘플링 레이트를 높여야 할 수도 있습니다. Multiband Combiner 블록은 입력 파형을 시프트하고 결합하기 전에 오버샘플링할 수 있는 옵션을 제공합니다. 이 그림은 Multiband Combiner 블록의 파라미터를 보여줍니다.
모델을 시뮬레이션하여 -80, 20, 100 MHz를 중심으로 하는 파형을 시각화하십시오.