| Signal Processing Toolbox | ![]() |
表示
[n,fo,ao,w]=remezord(f,a,dev) [n,fo,ao,w]=remezord(f,a,dev,fs) c=remezord(f,a,dev,fs,'cell')
詳細
[n,fo,ao,w] は、入力仕様 = remezord(f,a,dev)
f, a, devを満足して、関数remezで使用する近似次数、正規化された周波数帯域エッジ、周波数帯域での振幅、重みを求めます。
fは周波数帯域エッジのベクトル(0からfs/2までの範囲で、fsはサンプリング周波数)で、aはfによって定義される帯域上の希望の振幅を設定するベクトルです。fの長さは、aの長さの2倍から2を引いた値です。希望の関数は、区分的に定数となります。 devは、aと同じ大きさのベクトルで、各帯域について、出力されるフィルタの周波数応答と希望のゲイン応答との間の最大許容偏差、すなわちリップルを設定します。 remezは、結果として得られる次数n、周波数ベクトルfo、振幅応答ベクトルao、および重みwを使って、remezordの入力引数f, a, devによって与えられる仕様を近似的に満たすフィルタbを設計します。
b = remez(n,fo,ao,w)
[n,fo,ao,w] は、サンプリング周波数 = remezord(f,a,dev,fs)
fsを設定します。fsは、1 HzのNyquist周波数を意味する2 Hzにデフォルト設定されます。これを使って、特定のアプリケーションのサンプリング周波数にスケーリングした帯域エッジを設定することができます。
remezordは、次数nを低めに推定することがあります。フィルタが仕様を満たしていない場合、n+1やn+2などの高めの次数を試してみてください。
c では、その要素が = remezord(f,a,dev,fs,'cell')
remezへのパラメータであるセル配列を設定します。
例題
500 Hzの通過帯域カットオフ周波数と600 Hzの遮断帯域カットオフ周波数をもち、2000 Hzのサンプリング周波数、遮断帯域に少なくとも40 dBの減衰、また通過帯域に3 dB未満のリップルをもつ最小次数のローパスフィルタを設計します。
rp=3; % 通過帯域リップル rs=40; % 遮断帯域リップル fs=2000; % サンプリング周波数 f=[500 600]; % カットオフ周波数 a=[1 0]; % 希望の振幅 % 偏差を計算 dev=[(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)]; [n,fo,ao,w]=remezord(f,a,dev,fs); b=remez(n,fo,ao,w); freqz(b,1,1024,fs); title('ローパスFilter Designed to Specifications');
フィルタは、遮断帯域の減衰と通過帯域のリップルの仕様で、わずかに仕様を満たしていません。nの代わりに、n+1を使って計算すると、希望の振幅特性が得られます。
1500 Hzの通過帯域カットオフ周波数と2000 Hzの遮断帯域カットオフ周波数をもち、8000 Hzのサンプリング周波数、0.1の最大遮断帯域振幅誤差、および0.01の最大通過帯域振幅誤差(リップル)をもつローパスフィルタを設計します。
[n,fo,ao,w]=remezord( [1500 2000], [1 0], [0.01 0.1], 8000 ); b=remez(n,fo,ao,w);
c=remezord( [1500 2000], [1 0], [0.01 0.1], 8000, 'cell'); b=remez(c{:});
アルゴリズム
remezordは、参考文献[1]に記述されているアルゴリズムを使用します。この方法は、0またはNyquist周波数(fs/2)近くの帯域エッジでは不正確です。
参考
|
Butterworthフィルタの次数選択 |
|
Chebyshev I型フィルタの次数選択 |
|
Chebyshev II型フィルタの次数選択 |
|
楕円フィルタの次数選択 |
|
Kaiserウィンドウを使ったfir1のパラメータ推定 |
|
Parks-McClellan最適FIRフィルタの設計 |
参考文献
[1] Rabiner, L.R., and O. Herrmann, "The Predictability of Certain Optimum Finite Impulse Response Digital Filters," IEEE Trans. on Circuit Theory, Vol. CT-20, No. 4 (July 1973), pp. 401-408.
[2] Rabiner, L.R., and B. Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975, pp. 156-157.
| remez | resample | ![]() |