2016-03-19 2 views
-1

Я изучаю обработку сигналов, и в настоящее время я должен сделать синтезатор речи в Matlab. Для эмуляции системы резонатора рта я эта передаточная функция:Коэффициенты фильтра в matlab

R (г) = 1 - г^(- 1)

Может ли я реализовать эту систему с функцией фильтра в Matlab? Я не знаю, как извлечь коэффициенты «a» и «b» ...

Примечание: y = фильтр (b, a, x), где x - входной сигнал, который мы должны фильтровать.

Спасибо всем!

+0

Здесь нет коэффициентов 'a' или' b'. – Adriaan

+0

так, я не могу сделать это с помощью «фильтра»? – Kroka

+0

Не знаю. Вы говорите о двух коэффициентах, которые больше не отображаются в вашем сообщении. Вы могли бы также сказать, что вам нужно кофе и куки для продолжения, я не вижу в вашем посте, как они связаны с вашей (очень неясной) проблемой. – Adriaan

ответ

2

Consulting документацию для filter, вы представляете передаточную функцию в виде рациональной функции коэффициентов, что:

enter image description here

Желаемая передаточная функция вы хотите, Y(z)/X(z) = R(z) равно:

R(z) = 1 - z^{-1} 

Здесь a(1) неявно равен 1. Следовательно, b(1) = 1 и b(2) = -1, ссылаясь на приведенное выше уравнение , Все коэффициенты в знаменателе 0 за a(1), кроме которого равна 1.

Как таковой, a = 1; b = [1 -1]; и поэтому фильтрация ваш сигнал просто:

a = 1; b = [1 -1]; 
y = filter(b, a, x); 

x является сигналом интерес, который вы хотите фильтр.

+1

Большое вам спасибо! – Kroka

+0

Но не 'b (2) = -1'? –

+0

@ MatthiasW. НЕТ ЭТО НЕ .... * быстро исправляет *. Видеть? Иллюзия! (btw спасибо за исправление :)) – rayryeng

Смежные вопросы