このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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