Предположим, что у нас есть сигнал
>> fs=100;
>> ts=1/fs;
>> t=0:ts:2.93;
>> x=23*sin(2*pi*30*t)+22*cos(2*pi*51*t)+24*sin(2*pi*15*t)+6*randn(size(t));
Поскольку одна частота выше, чем частота дискретизации, разделенная на два, я хочу применить фильтр нижних частот, чтобы все частоты ниже 50 оставались неизменными, а все остальные должны быть удалены, поэтому я попытался:
>> fc=50;
>> wn=(2/fs)*fc;
>> b=fir1(20,wn,'low',kaiser(21,3));
но эта команда
fvtool(b,1,'fs',fs)
выдает ошибку:
Коэффициенты должны быть конечными.
Также команда
y = filter(b,1,x); removes all frequency components from signal,what is problem?