Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

Figure Scatter Plot contains an axes object. The axes object with title Received Signal, Before and After Filtering, xlabel In-Phase, ylabel Quadrature contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent Before Filtering, After Filtering.

参考

|