Свертка и умножение полиномов объектов 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.