gffilter (prime Galois field)
ガロア素体における多項式を使用したデータのフィルター処理
構文
y = gffilter(b,a,x)
y = gffilter(b,a,x,p)
説明
メモ
この関数は、p が素数のとき、GF(pm) の計算を行います。GF(2m) で実行するには、ガロア配列に対して関数 filter
を使用します。詳細については、Filteringを参照してください。
y = gffilter(b,a,x)
は、ベクトル b
と a
で記述されるフィルターでベクトル x
内のデータをフィルター処理します。ベクトル b
、a
、および x
は GF(2) 内に存在しなければなりません。つまり、バイナリでなければなりません。さらに y
も GF(2) 内に存在します。
y = gffilter(b,a,x,p)
は、ベクトル a
と b
で記述されるフィルターを使用してデータ x
をフィルター処理します。y
は、GF(p
) のフィルター処理されたデータです。p
は素数で、a
と b
のすべてのエントリは 0 ~ p
-1 の間です。
フィルターの定義により、y
は、以下の差分方程式を解きます。
a(1)y(n) = b(1)x(n)+b(2)x(n-1)+b(3)x(n-2)+...+b(B+1)x(n-B) -a(2)y(n-1)-a(3)y(n-2)-...-a(A+1)y(n-A)
ここで、
A
+1 は、次のベクトルの長さです。a
B
+1 は、次のベクトルの長さです。b
n
は、1 とベクトルx
の長さの間で変化します。
ベクトル a
は、次数 na の多項式を表します。
a(1)+a(2)x+a(3)x^2
+...+a(A+1)x^A
例
あるフィルターのインパルス応答が下記のコード、およびダイアグラムで与えられます。
b = [1 0 0 1 0 1 0 1]; a = [1 0 1 1]; y = gffilter(b,a,[1,zeros(1,19)]); stem(y); axis([0 20 -.1 1.1])
バージョン履歴
R2006a より前に導入