Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ Вопросы системного уровня проектирования _ Как отобразить АЧХ fir1 матлаб

Автор: Acvarif Apr 13 2018, 16:27

Подсобите пожалуйста с пониманием работы функции fir1
Например

Код
b = fir1(50, 0.1);

Здесь http://electronix.ru/redirect.php?http://194.81.104.27/~brian/DSP/FIRFilterMatlabDesignPractical.pdf говорится что в b будут возвращены коэффициенты НЧ фильтра 50 порядка.
Но вот со вторым членом функции совсем не врубаюсь.
Если необходима частота среза 100 Гц то какое значение должен иметь второй член функции и как сделать plot АЧХ фильтра?

Автор: ataradov Apr 14 2018, 05:13

http://electronix.ru/redirect.php?https://www.mathworks.com/help/signal/ref/fir1.html

QUOTE
If Wn is a scalar, then fir1 designs a lowpass or highpass filter with cutoff frequency Wn. The cutoff frequency is the frequency at which the normalized gain of the filter is –6 dB.


Там же есть примеры как строить.

Для цифровых фильтров конкретная частота зависит от частоты дискретизации, поэтому значение задается в радиан/отсчет в нормализованном виде.

Автор: Lmx2315 Apr 14 2018, 09:54

Цитата(Acvarif @ Apr 13 2018, 19:27) *
Подсобите пожалуйста с пониманием работы функции fir1
Например
Код
b = fir1(50, 0.1);


Если необходима частота среза 100 Гц то какое значение должен иметь второй член функции и как сделать plot АЧХ фильтра?


как уже было сказано - частота среза зависит от тактовой частоты фир фильтра, в вашем случае 0.1*Ft.
Чтобы построить АЧХ фильтра , нужно через ваш фир фильтр с полученными выше коэффициентами пропустить дельтафункцию и взять от результата БПФ . В качестве дельта функции можно применить единичный всплеск длительностью один отсчёт с большой амплитудой .

Автор: ViKo Apr 14 2018, 10:12

Цитата(Lmx2315 @ Apr 14 2018, 12:54) *
нужно через ваш фир фильтр с полученными выше коэффициентами пропустить дельтафункцию

Импульсная характеристика фильтра называется.

Автор: Acvarif Apr 14 2018, 15:58

Цитата(ataradov @ Apr 14 2018, 08:13) *
http://electronix.ru/redirect.php?https://www.mathworks.com/help/signal/ref/fir1.html
Там же есть примеры как строить.
Для цифровых фильтров конкретная частота зависит от частоты дискретизации, поэтому значение задается в радиан/отсчет в нормализованном виде.

Нашел. Да. cutoff frequency Wn определяется частотой дискретизации и частотой Найквиста
Код
filtord = 48;                                       % Filter Order
Fs = 144000;                                        % Sampling Frequency
Fn = Fs/2;                                          % Nyquist Frequency
Fc = 100;                                           % Cutoff Frequency
b = fir1(filtord, Fc/Fn);                           % Calculate Filter Coefficients
[h,f]=freqz(b,1);
plot(f*fs/(2*pi),20*log10(abs(h)))
xlabel('frequency/Hz');ylabel('gain/dB');title('The gain response of lowpass filter');

Частота дискретизации понятно. Но при чем тут частота Найквиста?

Автор: Grizzzly Apr 14 2018, 20:16

Цитата(Acvarif @ Apr 14 2018, 18:58) *
Частота дискретизации понятно. Но при чем тут частота Найквиста?

Частота Найквиста есть половина частоты дискретизации. В зарубежных источниках в основном её принято использовать для нормировки.

Автор: Stanislav Apr 21 2018, 00:52

Цитата(Acvarif @ Apr 14 2018, 18:58) *
......
Частота дискретизации понятно. Но при чем тут частота Найквиста?
Попробуйте поиграться сперва с fdatool.
Это крайне полезное занятие, для уяснения сущности фильтров.

В расчётах ЦФ, как и писали коллеги, часто используется нормированная частота (1 соответствует частоте дискретизации).
То есть, по большому счёту, частоты в привычном понимании там нет. sm.gif
Нормированное значение частоты 0,5 для фильтра с вещественным коэффициентами соответствует точке зеркальной симметрии АЧХ фильтра.
В отечественной литературе она называлась частотой свёртывания, а в зарубежной - частотой Найквиста.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)