ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

パルス整形フィルターの設計

この例では、パルス整形フィルターの設計法を示します。パルス整形フィルターは、多くの近代的なデータ通信システム (携帯電話や HDTV など) の中核として使用されており、割り当てられた帯域幅に信号を維持し、データ伝送速度を最大化し、伝達誤差を最小化します。コサイン ロールオフ フィルターは、このフィルター設計問題に対して適切に確立されたソリューションを形成します。この例では、この理由を見直し、実装コストを大幅に削減できるあまり知られていない代替方法について検討します。

理想的なパルス整形フィルター

理想的なパルス整形フィルターには、次のような 2 つのプロパティがあります。

  • チャネル間干渉をできるだけ抑える高い阻止帯域の減衰。

  • ビット誤り率をできるだけ低くする最小化符号間干渉 (ISI)。最初のナイキスト基準では、ISI のない伝達を実現するために、成形フィルターのインパルス応答がシンボル周期の倍数でゼロクロッシングをもつ必要があると明言しています。

周波数応答は急峻な特性をもっていますが、フィルターは実現される可能性がないので、時間領域の sinc パルスはこれらの条件を満たします。ただし、理想的な連続フィルターのインパルス応答をサンプリングすることで、それを近似できます。サンプリング率は、少なくとも送信するメッセージのシンボル レートの 2 倍でなければなりません。つまり、フィルターはデータを少なくともファクター 2 で内挿し、またアナログ回路を簡潔にするにはさらに多くのファクターで内挿しなければなりません。

最も単純なシステム構成において、送信側でのパルス整形の内挿は、受信側の単純なダウンサンプラーに関連付けられています。

Hrxd = mfilt.firdecim(8,1); % Downsampler

コサイン ロールオフ フィルターの設計

コサイン ロールオフ フィルターは通常、変調/伝達が行われる前に、記号ストリームの成形およびオーバーサンプリングに使用されます。ロールオフ ファクター R は、遷移帯域の幅を決定します。実際のデジタル通信システムでは、0.1 ~ 0.5 間のロールオフ ファクターを使用します。また、チャネル間干渉を抑制するには、60 ~ 80 dB の最小阻止帯域の減衰が適しています。この例では、ファクター 8 のオーバーサンプリングまたは内挿に対応しています。フィルター仕様は次のとおりです。

L = 8;                  % Interpolation factor
R = 0.25;               % Roll-off factor
Ast = 60;               % Minimum stopband attenuation
f = fdesign.interpolator(L,'Raised Cosine',L,'Ast,Beta',Ast,R);
Htxrc = design(f,'window');
order(Htxrc)
ans =

   272

上記の設計されたコサイン ロールオフ フィルターは、解析インパルス応答を切り捨てることで取得されますが、どの点においても最適ではありません。実際、60 dB の最小阻止帯域の減衰を得るには、272 の高いフィルター次数が必要です。

FIR ナイキスト フィルターの設計

ナイキスト フィルターには最適な等リップル応答があるので、コストの割合のコサイン ロールオフ フィルターに置き換えることができます。同じ阻止帯域の減衰および遷移幅は、さらに低い次数で取得できます。遷移幅の要件は、ロールオフ ファクターおよび内挿ファクターから以下のように推測することができます。

TW = R/(L/2);          % Transition Bandwidth
d = fdesign.interpolator(L,'nyquist',L,'TW,Ast',TW,Ast);
Htxnyq = design(d,'equiripple');

このフィルターの振幅応答および上記のコサイン ロールオフ フィルターの、遷移幅および最小阻止帯域の減衰は同じですが、等リップル ナイキスト設計のフィルター次数は 106 まで減少されています。

order(Htxnyq)
ans =

   106

多段ハーフバンド フィルターの設計

3 ハーフバンド フィルターをカスケードすることで、より効率的な設計が得られます。単一のステージからなる設計上での多段には、短いフィルターが高いサンプルレートで操作されるのに対して、長い (高価な) フィルターを低いサンプルレートで操作できるというメリットがあります。ハーフバンド フィルターは、FIR および IIR 設計技法を使用して設計できます。

d.Astop = 65;
Htxhbfir = design(d,'multistage',...
    'HalfBandDesignMethod','equiripple','Nstages',3);

FIR 設計には、その他すべての係数が 0 に等しいという利点があります。IIR 設計では、準線形位相を実現でき、またコストを非常に抑え、同時に極端に低い通過帯域リップルを実現します。

Htxhbiir = design(d,'multistage',...
    'HalfBandDesignMethod','iirlinphase','Nstages',3);

性能とコストの解析

上記で説明した 4 つの設計の振幅応答は、満足のいくレベルにチャネル間干渉を低減させる 60 dB 以上の最小阻止帯域の減衰を示します。

Hrc1 = cascade(Htxrc,Hrxd);
Hnyq1 = cascade(Htxnyq,Hrxd);
Hhbfir1 = cascade(Htxhbfir,Hrxd);
Hhbiir1 = cascade(Htxhbiir,Hrxd);
hfvt = fvtool([Hrc1,Hnyq1,Hhbfir1,Hhbiir1], ...
    'NormalizeMagnitudeto1','on','Color','white');
legend(hfvt,'Raised Cosine','FIR Nyquist',' Multistage FIR Halfband',...
    'Multistage IIR Linear Phase Halfband');

また、4 つの設計によって導入されたビット誤り率 (BER) は非常に似ています。関数 pulseshapedemogetBER.mpulseshapedemogetBER.m は BER を測定します。ここでは、16-QAM 変調スキームおよび加法性ホワイト ガウス ノイズ チャネルと仮定します。実行するには Communications System Toolbox™ の関数が必要なことに注意してください。

------------------------------------------------------------------------
                         Bit Error Rate (BER)
------------------------------------------------------------------------
                      10-dB SNR      15-dB SNR     20-dB SNR
Raised Cosine            0.0542         0.0035             0
FIR-Nyquist              0.0550         0.0037             0
FIR-Halfband             0.0549         0.0038             0
IIR-Halfband             0.0591         0.0045             0

4 つの設計のパフォーマンスはほぼ同一ですが、以下の表に示すように実装コストは大きく異なります。

C1 = cost(Hrc1);
C2 = cost(Hnyq1);
C3 = cost(Hhbfir1);
C4 = cost(Hhbiir1);
------------------------------------------------------------------------
                    Implementation Cost Comparison
------------------------------------------------------------------------
               Multipliers         Adders  Mult/InSample   Add/InSample
Raised Cosine          272            265            272            265
FIR-Nyquist             94             87             94             87
FIR-Halfband            32             29             60             53
IIR-Halfband            12             24             22             44

コサイン ロールオフ フィルターの代わりに他のフィルターを使用すると、ハードウェアおよびサンプルごとの操作で非常に節約できることがわかります。節約は、FIR ナイキスト設計の 60% 以上から、多段 FIR ハーフバンド設計の 80%、および多段 IIR ハーフバンド設計の 90% までの範囲になります。

受信側での整合フィルターの使用

フィルター処理は送信側と受信側の間で分かれることがあります。送信側でデータ ストリームがアップサンプリングおよびフィルター処理され、次に受信側で整合フィルターによって伝送信号がフィルター処理およびダウンサンプリングされます。この方法は一般的です。特定の処理パワーに対して (送信側および受信側の) 2 つのルート コサイン ロールオフ フィルターを使用したほうが、送信側のコサイン ロールオフ フィルターおよび受信側のダウンサンプラーを使用するよりも、良好な阻止帯域の減衰を得ることができるからです。

SQRT コサイン ロールオフ フィルターの設計

理論上、2 つのルート コサイン ロールオフ フィルターのカスケードは 1 つの通常のコサイン ロールオフ フィルターと等価です。しかし、実際のルート コサイン ロールオフ フィルターのインパルス応答が制限されているため、2 つのカスケードに結合されているルート コサイン ロールオフ フィルターの応答、および 1 つのコサイン ロールオフ フィルターの応答の間には、わずかな違いが生じます。

f1 = fdesign.interpolator(L,'Square Root Raised Cosine',L,'N,Beta',56,R);
f2 = fdesign.decimator(L,'Square Root Raised Cosine',L,'N,Beta',56,R);
Htxsqrc = design(f1,'window');  % Tx Filter
Hrxsqrc = design(f2,'window');  % Rx Filter
Hrc2 = cascade(Htxsqrc,Hrxsqrc);

最小位相 FIR ハーフバンドの設計

ルート コサイン ロールオフ フィルター ロールオフ フィルターの代わりに最小位相 FIR ハーフバンド フィルターを使用できます。

d3 = fdesign.interpolator(2,'halfband','N,TW',15,0.25);
Hhb1min = design(d3,'equiripple','MinPhase',true);

setspecs(d3,'N,TW',7,0.5);
Hhb2min = design(d3,'equiripple','MinPhase',true);

setspecs(d3,'N,TW',3,0.78);
Hhb3min = design(d3,'equiripple','MinPhase',true);

そのような場合には、最小位相ナイキスト フィルターは送信側で使用され、最大位相ナイキスト フィルターは受信側でフィルター処理に使用されます。

Htxmin = cascade(Hhb1min,Hhb2min,Hhb3min); % Tx Filter
Hhb1max = mfilt.firdecim(2,fliplr(Hhb1min.Numerator/2));
Hhb2max = mfilt.firdecim(2,fliplr(Hhb2min.Numerator/2));
Hhb3max = mfilt.firdecim(2,fliplr(Hhb3min.Numerator/2));
Hrxmax = cascade(Hhb3max,Hhb2max,Hhb1max); % Rx Filter

最小位相および最大位相フィルターのたたみ込みによって、ナイキスト フィルターが作成されます。

Hhbfir2 = cascade(Htxmin,Hrxmax);

性能解析とコスト解析

次のコードは、カスケード フィルターが 60 dB の合計阻止帯域の減衰を提供することを検証します。

set(hfvt,'Filters',[Hrc2,Hhbfir2]);
legend(hfvt,'SQRT Raised Cosine','Multistage FIR Halfband');

また、受信側でダウンサンプラーの代わりに整合フィルターを使用すると、比較的低い SNR で BER が実質的に向上します。以下の表の結果は、関数 pulseshapedemogetBER.mpulseshapedemogetBER.m を使用して測定したものです。

------------------------------------------------------------------------
                         Bit Error Rate (BER)
------------------------------------------------------------------------
                      10-dB SNR      15-dB SNR     20-dB SNR
SQRT Raised Cosine    4.100e-05      3.333e-06     6.667e-06
Matched FIR-Halfband  2.000e-05              0             0

実装コストに多段の最小および最大位相 FIR ハーフバンド設計を使用すると、ルート コサイン ロールオフ設計と比較して 50% 以上も節約できます。

C5 = cost(Hrc2);
C6 = cost(Hhbfir2);
------------------------------------------------------------------------
                    Implementation Cost Comparison
------------------------------------------------------------------------
                     Multipliers  Adders  Mult/InSample  Add/InSample
SQRT Raised Cosine           114     105            114           105
Matched FIR-Halfband          56      47             54            39.12

まとめ

コサイン ロールオフ フィルターとルート コサイン ロールオフ フィルターは、データ伝送システムで広く使われています。これらのフィルターは一般的に使用されているものではありますが、この例ではこれらのフィルターが最適なものではないことを示しました。多くのアプリケーションでは、コスト効率の良い代わりの設計で好都合に置き換えることが可能です。

付録

この例では次の補助関数が使用されています。

この情報は役に立ちましたか?