이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
RRC 필터를 사용하여 보간 및 데시메이션하기
이 예제에서는 rcosdesign
함수로 설계된 제곱근 올림 코사인 필터를 사용하여 신호를 보간하고 데시메이션하는 방법을 보여줍니다. 이 예제를 수행하려면 Communications Toolbox™가 필요합니다.
제곱근 올림 코사인 필터 파라미터를 정의합니다. 신호 성상도 파라미터를 정의합니다.
rolloff = 0.25; % Filter rolloff span = 6; % Filter span sps = 4; % Samples per symbol M = 4; % Size of the signal constellation k = log2(M); % Number of bits per symbol
rcosdesign
함수를 사용하여 제곱근 올림 코사인 필터의 계수를 생성합니다.
rrcFilter = rcosdesign(rolloff,span,sps);
randi
함수를 사용하여 10000개의 데이터 심볼을 생성합니다.
data = randi([0 M-1],10000,1);
데이터 심볼에 PSK 변조를 적용합니다. 성상도 크기가 4이므로 변조 유형은 QPSK입니다.
modData = pskmod(data,M,pi/4);
upfirdn
함수를 사용하여 입력 데이터를 업샘플링하고 필터를 적용합니다.
txSig = upfirdn(modData,rrcFilter,sps);
Eb/N0을 SNR로 변환한 후 신호를 AWGN 채널에 통과시킵니다.
EbNo = 7;
snr = EbNo + 10*log10(k) - 10*log10(sps);
rxSig = awgn(txSig,snr,'measured');
수신된 신호에 필터를 적용하고 다운샘플링합니다. 필터 지연을 고려하여 신호의 일부를 제거합니다.
rxFilt = upfirdn(rxSig,rrcFilter,1,sps); rxFilt = rxFilt(span+1:end-span);
처음 5000개의 심볼을 사용하여 변조 데이터의 산점도 플롯을 만듭니다.
hScatter = scatterplot(sqrt(sps)* ... rxSig(1:sps*5000), ... sps,0); hold on scatterplot(rxFilt(1:5000),1,0,'bx',hScatter) title('Received Signal, Before and After Filtering') legend('Before Filtering','After Filtering') axis([-3 3 -3 3]) % Set axis ranges hold off