Фильтр в матлаб (обрезаем спектр)
Имеется последовательность, стгнал состоит из множества гармоник. Делаю БПФ через s = fft(x,512), домнажаю на комплексное сопряженное conj(s) и делю на 512 (число гармоник) . Скидываю начало кода
t = 0:0.001:0.6;
x = sin(2 * pi * 50 * t) + sin(2 * pi * 120 * t);
y = x + 2 * randn(size(t));
plot(y(1:50)), grid
Y = fft(y, 512);
Pyy = Y.*conj(Y)/512;
f = 1000 * (0:255)/512;
figure(2), plot(f, Pyy(1:256)), grid
Потом с помощью оператора ветвления обрезаю ненужную часть спектра, делю на комплексную сопряженную и делаю ifft(), т. е. обратное преобразование Фурье. Ненужные гармоники действительно обрезались, но что произошло с Амплитудой? И вообще, при моделировании гармонического сигнала методом
for k = 1:1:100
for i = 1:1:100
x(i) = x(i) + sin(2*pi*t(i)*w(k);
end
end
Где w - массив частот, а t - массив временных отсчетов
спектр сигнала получается больше чем диапазон w, так и должно быть? Там какая-то загагулина
Как построить такой фильтр в Матлаб?