Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ftrans2

周波数変換を使用する 2 次元 FIR フィルター

説明

h = ftrans2(b,t) は変換 t を使用して 1 次元 FIR フィルター b に対応する 2 次元 FIR フィルター h を生成します。変換行列 t には使用する周波数変換を指定する係数が格納されます。

h = ftrans2(b) はマクレラン変換行列 t を使用します。

t = [1 2 1; 2 -4 2; 1 2 1]/8;

すべて折りたたむ

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

colormap(jet(64))
b = firpm(10,[0 0.05 0.15 0.55 0.65 1],[0 0 1 1 0 0]);
[H,w] = freqz(b,1,128,'whole');
plot(w/pi-1,fftshift(abs(H)))

既定のマクレラン変換で ftrans2 を使用して目的のほぼ円対称なフィルターを作成します。

h = ftrans2(b);
freqz2(h)

入力引数

すべて折りたたむ

FIR フィルター。数値行列として指定します。b は、fir1 (Signal Processing Toolbox)fir2 (Signal Processing Toolbox)、または firpm (Signal Processing Toolbox) によって返されるような 1 次元 I 型 (偶数対称、奇数長) フィルターでなければなりません。

データ型: double

変換行列。数値行列として指定します。t には使用する周波数変換を指定する係数が格納されます。既定では、ftrans2 はマクレラン変換行列を使用します。

データ型: double

出力引数

すべて折りたたむ

2 次元 FIR フィルター。数値行列として返されます。ftrans2h を計算用分子として返します。これは、filter2 で使用するのに適した形式です。tmn 列で、b の長さが Q の場合、h はサイズ ((m-1)*(Q-1)/2+1)((n-1)*(Q-1)/2+1) 列になります。

アルゴリズム

以下の変換は、ftrans2 によって返される 2 次元フィルターの周波数応答を定義します。

H(ω1,ω2)=B(ω)|cosω=T(ω1,ω2),

ここで、B(ω) は次に示す 1 次元フィルター b のフーリエ変換です。

B(ω)=n=NNb(n)ejωn

また、T(ω1,ω2) は次に示す変換行列 t のフーリエ変換です。

T(ω1,ω2)=n2n1t(n1,n2)ejω1n1ejω2n2.

返されるフィルター hH(ω1,ω2) の逆フーリエ変換です。

h(n1,n2)=1(2π)2ππππH(ω1,ω2)ejω1n1ejω2n2dω1dω2.

参照

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

バージョン履歴

R2006a より前に導入