Допустим, что на вход фильтра подается входной сигнал вида r(t) = sin(10*sin(t)*t), заданный массивом значений R с тактом квантования 0.025 с на интервале 5 с:
time = 0:0.025:5;
R = sin(sin(time).*time*10);
plot(time,R)
axis([0 5 –1 1]);
График этого сигнала показан на рис. 9.12.
Рис. 9.12
Рассматривается линейный стационарный фильтр, описываемый следующим рекуррентным соотношением:
(9.2)
Это фильтр второго порядка, функционирование которого в системе MATLAB описывается следующей М-функцией:
Y = filter([1 0.5 –1.5],1,R);
plot(time,T)
axis([0 5 –2 2]);
График сигнала выхода этого фильтра показан на рис. 9.13.
Рис. 9.13
Задача нейронной сети – сформировать такую линейную модель, которая в процессе обучения определяет параметры фильтра, а затем использует их для моделирования при произвольных значениях входа.
Определим следующую обучающую последовательность: в качестве целевого выхода T примем массив Y, а входную последовательность P зададим на основе текущего и двух предшествующих значений входа R:
T = Y;
Q = size(R,2);
P = zeros(3,Q);
P(1,1:Q) = R(1,1:Q);
P(2,2:Q) = R(1,1:(Q–1));
P(3,3:Q) = R(1,1:(Q–2));