Постановка задачи

Допустим, что на вход фильтра подается входной сигнал вида r(t) = sin(8sin(4t)*t),
заданный массивом значений R с тактом квантования 0.005 с на интервале 6 с:

time1 = 0:0.005:4;

time2 = 4.005:0.005:6;

time = [time1 time2];

R = sin(sin(time*4).*time*8);

plot(time,R)

axis([0 6 –1.1 1.1]);

График этого сигнала показан на рис. 9.16.

Рис. 9.16

Нестационарный линейный фильтр описывается следующими рекуррентными
соотношениями:

(9.3)

Этот фильтр может быть представлен в системе MATLAB следующим образом:

steps1 = length(time1);

[Y1,state] = filter([1 –0.5],1,R(1:steps1));

steps2 = length(time2);

Y2 = filter([0.9 –0.6],1,R((1:steps2) + steps1),state);

Y = [Y1 Y2];

plot(time,Y)

График сигнала на выходе этого фильтра показан на рис. 9.17.

Рис. 9.17

Определим такую обучающую последовательность: в качестве целевого выхода T примем массив Y, а входную последовательность P зададим на основе текущего и предшествующего значений входа R. Для использования алгоритмов адаптации представим обучающие последовательности в виде массивов ячеек:

T = con2seq(Y);

P = con2seq(R);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: