conv

Свертка и умножение полиномов объектов fi

Синтаксис

c = conv(a,b)
c = conv(a,b,'shape')

Описание

c = conv(a,b) выводит свертку входных векторов a и b, по крайней мере один из которых должен быть объектом fi.

c = conv(a,b,'shape') возвращает часть свертки, как задано параметром shape:

  • полный Возвращает полную свертку. Эта опция является формой по умолчанию.

  • same — Возвращает центральную часть свертки, которая одного размера как входной вектор a.

  • valid — Возвращает только те части свертки, которую функция вычисляет без дополненных нулем ребер. В этом случае длиной выходного вектора c является max(length(a)-max(0,length(b)-1), 0).

Свойства fimath, сопоставленные с входными параметрами, определяют свойства numerictype объекта c вывода fi:

  • Если или a или b имеют локальный объект fimath, conv использует тот объект fimath вычислить промежуточные количества и определить свойства numerictype c.

  • Если ни a, ни b не имеют присоединенный fimath, conv использует значение по умолчанию fimath, чтобы вычислить промежуточные количества и определить свойства numerictype c.

Если любой вход является встроенным типом данных, conv бросает его в объект fi, использующий правила лучшей точности перед выполнением операции свертки.

Объект c вывода fi всегда использует значение по умолчанию fimath.

Обратитесь к странице с описанием MATLAB® conv для получения дополнительной информации об алгоритме свертки.

Примеры

Следующий пример иллюстрирует свертку последовательности с 22 выборками с КИХ-фильтром с 16 касаниями.

  • x является последовательностью с 22 выборками значений со знаком с размером слова 16 битов и дробной длиной 15 битов.

  • h является 16 КИХ-фильтрами касания.

  u = (pi/4)*[1 1 1 -1 -1 -1 1 -1 -1 1 -1]; 
  x = fi(kron(u,[1 1]));
  h = firls(15, [0 .1 .2 .5]*2, [1 1 0 0]);

Поскольку x является объектом fi, вы не должны бросать h в объект fi прежде, чем выполнить операцию свертки. Функция conv делает настолько использующее масштабирование лучшей точности.

Наконец, используйте функцию conv, чтобы применить операцию свертки к этим двум векторам:

 y = conv(x,h);

Операция приводит к объекту fi со знаком y с размером слова 36 битов и дробной длиной 31 бита. Свойства fimath по умолчанию, сопоставленные с входными параметрами, определяют numerictype вывода. Вывод не имеет локального fimath.

Расширенные возможности

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

Представленный в R2009b