ドキュメンテーション

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

fwind2

2 次元ウィンドウ法を使用する 2 次元 FIR フィルター

構文

h = fwind2(Hd, win)
h = fwind2(f1, f2, Hd, win)

説明

fwind2 はウィンドウ法を使用して 2 次元 FIR フィルターを設計します。fwind2 は 2 次元ウィンドウ仕様を使用して、目的の周波数応答 Hd に基づく 2 次元 FIR フィルターを設計します。fwind2 は 2 次元ウィンドウで機能します。1 次元ウィンドウを扱うには fwind1 を使用してください。

h = fwind2(Hd, win) は、目的とする周波数応答 Hd の逆フーリエ変換とウィンドウ win による乗算を使用して 2 次元 FIR フィルター h を生成します。Hd は直交座標平面に等間隔に配置された点での目的とする周波数応答を格納する行列です。fwind2h を計算核として返します。これは filter2 と共に使用するのに適した形式です。h のサイズは win と同じです。

結果の精度を上げるには、freqspace によって返される周波数点を使用して Hd を作成してください (詳細は freqspace のエントリを参照してください)。

h = fwind2(f1, f2, Hd, win) では目的とする周波数応答 Hdx 軸と y 軸に沿って任意の周波数 (f1f2) で指定することができます。周波数ベクトル f1f2 は -1.0 ~ 1.0 の範囲でなければなりません。ここで、1.0 はサンプリング周波数の 1/2、つまり π ラジアンに相当します。h のサイズは win と同じです。

クラス サポート

入力行列 Hd のクラスは double または任意の整数です。fwind2 に対するその他の入力のクラスはすべて double でなければなりません。出力のクラスはすべて double です。

fwind2 を使用してほぼ円対称な 2 次元バンドパス フィルターを設計します。通過帯域は 0.1 ~ 0.5 です (これは正規化された周波数であり、1.0 はサンプリング周波数の 1/2 つまり π ラジアンに相当します)。

  1. 目的とするバンドパス応答を格納する行列 Hd を作成します。freqspace を使用して、周波数範囲ベクトル f1 および f2 を作成します。

    [f1,f2] = freqspace(21,'meshgrid');
    Hd = ones(21); 
    r = sqrt(f1.^2 + f2.^2);
    Hd((r<0.1)|(r>0.5)) = 0;
    colormap(jet(64))
    mesh(f1,f2,Hd)

  2. fspecial を使用して 2 次元ガウス ウィンドウを作成します。

    win = fspecial('gaussian',21,2);
    win = win ./ max(win(:));  % Make the maximum window value be 1.
    mesh(win)

  3. 手順 2 のウィンドウを使用するフィルターを設計します。

    h = fwind2(Hd,win);
    freqz2(h)

アルゴリズム

fwind2 は逆フーリエ変換と 2 次元ウィンドウ win による乗算を使用して h を計算します。

hd(n1,n2)=1(2π)2ππππHd(ω1,ω2)ejω1n1ejω2n2dω1dω2

h(n1,n2)=hd(n1,n2)w(n1,n2)

参考文献

[1] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 202-213.

R2006a より前に導入

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