allpassshift
実数シフト変換用のオールパス フィルター
構文
[AllpassNum,AllpassDen] = allpassshift(Wo,Wt)
説明
[AllpassNum,AllpassDen] = allpassshift(Wo,Wt)
は、実数の周波数シフト変換を実行するための 2 次オールパス マッピング フィルターの分子係数 AllpassNum
と分母係数 AllpassDen
を返します。この変換では、周波数 W
o に位置する元のフィルターの選択した 1 つの特徴が、必要なターゲット周波数の位置 W
t に配置されます。この変換により、"DC の可動性" が実装されます。つまり、ナイキストの特徴はナイキストのままですが、DC の特徴は W
o と W
t の選択に応じた位置に移動します。
元のフィルターの、他の特徴の相対的な位置はターゲット フィルターでも変わりません。これは、元のフィルターの特徴を 2 つ (F
1 と F
2) 選択できることを意味します。F
1 は F
2 に先行します。変換後にも特徴 F
1 が F
2 に先行します。ただし、F
1 と F
2 の間の距離は変換前と変換後で同じになりません。
実数シフト変換の対象として選択できる特徴は、元のローパス フィルターのカットオフ周波数に制限されません。通常、阻止帯域エッジ、DC、阻止帯域における深さの最小値など、任意の特徴を選択できます。
この変換は他のタイプのフィルターを変換する場合にも使用できます。たとえば、ノッチ フィルターや共振器にシフト変換を適用して異なる周波数に移動できます。このようにすると、フィルターの設計を最初から行わずにすみます。
例
ローパス フィルターの 1 つの特徴を元の W
o=0.5
から新しい周波数 W
t=0.25
に正確にシフトするオールパス フィルターを設計します。
Wo = 0.5; Wt = 0.25; [AllpassNum, AllpassDen] = allpassshift(Wo, Wt);
マッピング フィルターの全範囲の周波数応答を計算します。
[h, f] = freqz(AllpassNum, AllpassDen, 'whole');
π に正規化される位相応答をプロットします。これは、実質的にはマッピング関数 Wo
(Wt)
です。変換は正と負の両方の周波数について同じように機能することに注意してください。
plot(f/pi, abs(angle(h))/pi, Wt, Wo, 'ro'); title('Mapping Function Wo(Wt)'); xlabel('New Frequency, Wt'); ylabel('Old Frequency, Wo');
引数
変数 | 説明 |
---|---|
Wo | プロトタイプ フィルターから変換する周波数値 |
Wt | 変換後のターゲット フィルターにおける目的の周波数位置 |
AllpassNum | マッピング フィルターの分子係数 |
AllpassDen | マッピング フィルターの分母係数 |
周波数は 0 ~ 1 の範囲で正規化しなければなりません。1 はサンプル レートの半分に相当します。
バージョン履歴
R2011a で導入