gffilter (главное Поле Галуа)

Отфильтруйте данные с помощью полиномов по главному Полю Галуа

Синтаксис

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])

Смотрите также

| |

Представлено до R2006a