На главную     ↑ Выше

Расчёт цифрового фильтра нижних частот второго порядка (аналог LC ФНЧ)


На рисунке показаны LC-фильтр нижних частот и его цифровой аналог:


Здесь Т – элемент задержки на один период дискретизации,
a0, a1, a2, b1, b2 – коэффициенты фильтра,
k1 – нормирующий коэффициент (например, для того чтобы установить общее
единичное усиление на нулевой частоте).
В отличие от аналогового фильтра амплитудно-частотная характеристика (АЧХ) цифрового всегда является периодической с периодом равным частоте дискретизации
fd = 1/T.
Поэтому частоту дискретизации перед аналого-цифровым преобразованием выбирают как минимум вдвое больше верхней частоты аналогового сигнала.
Выбором fd и расчётами можно добиться, чтобы АЧХ цифрового фильтра практически полностью соответствовала частоте аналогового фильтра до определённой частоты fc.

Расчёт

Порядок расчёта параметров фильтра:
1. Задаём частоту дискретизации fd
2. Задаём частоту среза цифрового фильтра на уровне 0.707 (-3 дБ) - fc
3. Копируем расчётный текст из Расчётного блока в буфер
4. Запускаем калькулятор
5. Копируем из буфера расчётный текст в окно калькулятора
6. Нажимаем кнопку вычислить и получаем результат:

Расчётный блок:



fd = 1000 ; частота дискретизации
fc_dig = 100 ;частота среза цифрового фильтр
fc_an = (fd/pi)*tg(pi*fc_dig/fd) ; частота среза аналогового фильтра прототипа
fc_an = sqr(2)*fc_an
wc_an = 2*pi*fc_an
;расчёт коэффициентов аналогового фильтра-прототипа
c0 = 1
c1 = 0
c2 = 0
d0 = 1
d1 = 2/wc_an
d2 = 2/wc_an^2
; расчёт коэффициентов цифрового фильтра
q = 2*fd
c1 = q*c1
c2 = q^2*c2
d1 = q*d1
d2 = q^2*d2
;собственно коэффициенты
a0 = c0 + c1 + c2
a1 = 2*(c0 - c2)
a2 = c0 - c1 + c2
k1 = 1/(d0 + d1 + d2)
b1 = - 2*(d0 - d2)*k1
b2 = - (d0 - d1 + d2)*k1
val(a0,a1,a2,k1,b1,b2): a0 = 1, a1 = 2, a2 = 1, k1 = 0.06746, b1 = 1.14298, b2 = -0.4128
;расчёт амплитудно-частотной характеристики фильтра
; основной цикл
f = 0
[
w = 2*pi*f/fd
ch = a0^2 + a1^2 + a2^2 + 2*(a1*a2 + a1*a0)*cos(w) + 2*a0*a2*cos(2*w)
zn = 1 + b1^2 + b2^2 + 2*(b1*b2 - b1)*cos(w) - 2*b2*cos(2*w)
k = k1*sqr(ch/zn)
val(f,k)
f = f + 10
{f>400 exit}
]




Подставляя новые задаваемые параметры fd и fc_dig, получаем новые результаты.
Помимо параметров фильтра будет выведена таблица значений АЧХ фильтра
f	k
0	1
10	1
20	0.999
30	0.996
40	0.989
50	0.973
60	0.945
70	0.904
80	0.848
90	0.781
100	0.707
110	0.632
120	0.559
130	0.491
140	0.43
150	0.377
160	0.33
170	0.289
180	0.254
190	0.223
200	0.196
210	0.173
220	0.152
230	0.135
240	0.119
250	0.105
260	0.093
270	0.082
280	0.072
290	0.063
300	0.056
310	0.049
320	0.042
330	0.037
340	0.032
350	0.027
360	0.023
370	0.02
380	0.017
390	0.014
400	0.011

В графическом окне калькулятора будет показан график данной АЧХ.

  Обратная связь: admin@нехаев.рф   Поддержать проект