Я хочу создать фильтр с полосой пропускания на частоте 6,7 Гц (от 6,2 до 7 Гц). Я использую функцию designfilt, но фильтр является полосой пропускания.Фильтр полоскового фильтра с Matlab
bsFilt = designfilt('bandstopfir','FilterOrder',3, ...
'CutoffFrequency1',6.2,'CutoffFrequency2',7, ...
'SampleRate',256);
fvtool(bsFilt)
Если я увеличить заказ до 120 я получаю режекторный фильтр. Однако каков эффект увеличения порядка?
bsFilt = designfilt('bandstopfir','FilterOrder',120, ...
'CutoffFrequency1',6.2,'CutoffFrequency2',7, ...
'SampleRate',256);
fvtool(bsFilt)
Есть ли лучший способ создать фильтр или фильтр моего сигнала от 6,2 до 7 Гц? Частота дискретизации составляет 256 Гц.
120 дает хорошее затухание в полосе частот, если я уменьшаю порядок, который он ослабляет от 1 Гц до 10 Гц, а затем я удаляю много информации в сигнале. Однако приемлемо ли 120 Гц? Я не пытаюсь реализовать его на аппаратных средствах, я хочу только фильтровать свой сигнал в Matlab. – nabrugir
120 Это не 120 Гц. Это означает, что фильтр представляет собой уравнение с 120 корнями. Поэтому, если это сработает для вас, вы можете использовать его. – kipar