Отфильтруйте данные с помощью полиномов по главному Полю Галуа
y = gffilter(b,a,x)
y = gffilter(b,a,x,p)
Эта функция выполняет вычисления в GF (pm), где p является главным. Чтобы работать в GF (2 м), используйте функцию filter
с массивами Галуа. Для получения дополнительной информации смотрите Фильтрацию.
y = gffilter(b,a,x)
фильтрует данные в векторном x
с фильтром, описанным векторами b
и a
. Векторы, которыми b
, a
и x
должны быть в GF (2), то есть, быть двоичным файлом и y
, находятся также в GF (2).
y = gffilter(b,a,x,p)
фильтрует данные x
с помощью фильтра, описанного векторами a
и b
. 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])