1.4. Еліптичні фільтри
Раніше було розглянуто ФНЧ, що мають тільки полюса. Їх відмінність
полягає в тому, що вони повністю подавлюють лише спектральні складові з
нескінченними частотами. На відміну від таких фільтрів еліптичні фільтри
характеризуються і полюсами, і нулями. А це дозволяє синтезувати таку форму
АЧХ, яка забезпечує повне подавлення певних компонент спектра в смузі
затримки поблизу частоти зрізу.
Еліптична функція - математична функція, яка використовується для
розрахунку фільтрів з найкрутішою перехідною смугою АЧХ при заданому
порядку фільтра. Але фільтри, спроектовані на основі еліптичних функцій, які
також називають фільтрами Кауера, мають найгіршу форму ФЧХ в порівнянні з
фільтрами на основі інших функцій. АЧХ еліптичних фільтрів має пульсації
однакової величини, як в смузі пропускання, так і в смузі затримки.
Як і у фільтрів Чебишева, АЧХ еліптичних фільтрів характеризується
наявністю пульсацій в смузі пропускання. Однак в АЧХ останніх у смузі
затримки є додаткові ділянки з однаковою амплітудою.
Таким чином, для даного порядку n еліптичні фільтри мають АЧХ з
найменшою з теоретично можливих перехідною областю. АЧХ еліптичного
фільтра описується наступною формулою:
де
-
частота зрізу, n – порядок фільтра,
Rn(…) – раціональна функція
Чебишева n-го порядку, ε і L – параметри, які визначають величину пульсацій в
смугах попускання і затримки.
В пакеті програм SciLab проектування аналогового фільтра прототипу
нижніх частот виконується з допомогою функції analpf:
[hs, pols, zers, gain] = analpf(n, fdesign, rp, omega);
де n – порядок фільтру;
fdesign – задає метод проектування фільтра ("butt" – фільтр Баттерворта;
"cheb1" – фільтр Чебишева 1-го типу; "cheb2" – фільтр Чебишева 2-го типу;
"ellip" – еліптичний фільтр);
rp – вектор розмірністю два (задає нерівномірність АЧХ в смузі
пропускання для фільтрів Чебишева 1-го і 2-го типу та еліптичного фільтра.
Його значення повинні лежати в діапазоні: 0 < rр (1), rр (2) <1. Для
чебишевського фільтра 1-го типу використовується тільки rр (1) і
нерівномірність в смузі пропускання фільтра знаходяться в діапазоні від 1- rр (1)
до 1. Для чебишевського фільтра 2-го типу використовується тільки rр (2) і
пульсації в смузі непропускання фільтра знаходяться в діапазоні від 0 до rр (2).
Для еліптичного фільтра використовуються одночасно rр (1) і rр (2).
Нерівномірність в смузі пропускання фільтра знаходиться в діапазоні від 1- rр (1)
до 1, а пульсації в смузі непропускання знаходяться в межах між 0 і rр (2).);
omega – частота зрізу низькочастотного фільтра в рад/сек;
hs – раціональна передаточна функція фільтра. hs=gain*syslin("c", real(poly
(zers,"s")), real(poly(pols,"s"))));
pols – вектор полюсів передаточної функції;
zers – вектор нулів передаточної функції;
gain – коефіцієнт підсилення передаточної функції фільтра.
Технічне завдання
Приклад обчислення параметрів фільтра Баттерворта 4-го порядку
Команда запуску:
завантаження початкового середовища
-->Fp=18
Fp =18.
-->Fz=10
Fz = 10.
-->Ap=3
Ap = 3.
-->Az=30
Az = 30.
-->n=log10((10^(0.1*Az)-1)/((10^0.1*Ap)-1))/(2*log10(Fz/Fp))
n = - 5.0064628
-->fcut=1
fcut = 1.
-->n=6
n = 6.
-->[hb,pols_b,zers_b,gain_b]=analpf(n,'butt',[00],fcut*2*%pi);hb
hb = 61528.908
---------------------------------------------------------------
2 3 4 5
61528.908 + 37835.817s + 11633.142s + 2267.5808s + 294.67092s
6
+ 24.276364s + s
-->hb.dt='c';
-->hb.dt='c'
hb = 61528.908
---------------------------------------------------------------
2 3 4 5
61528.908 + 37835.817s + 11633.142s + 2267.5808s + 294.67092s
6
+ 24.276364s + s
-->pols_b
pols_b =
column 1 to 2
- 1.626208 + 6.069091i - 4.4428829 + 4.4428829i
column 3 to 4
- 6.069091 + 1.626208i - 6.069091 - 1.626208i
column 5 to 6
- 4.4428829 - 4.4428829i - 1.626208 - 6.069091i
-->zers_b
zers_b =
[]
-->gain_b
gain_b = 61528.908
-->clf();
-->[fr, hf]=repfreq(hb,0,15);
-->plot(fr,abs(hf),'c')
-->legend(["Chebyshev I","Chebyshev II","Elliptic","Butterworth"]);
-->xgrid()
-->xlabel("Frequency (Hz)")
-->ylabel("Gain")
-->title("Analog filters of order 4")
Запуск программы: загрузка исходного окружения -->a1=38000 a1 = 38000. -->W=18*2*%pi W = 113.09734 -->a11=a1*W a11 =4297698.8 -->a2=12000 a2 = 12000. -->W=18*2*%pi W = 113.09734 -->a21=a2^2/W^2 a21 = 11257.909 -->// -- 03/12/2014 12:20:46 -- // -->a3=2300 a3 =2300. -->W=18*2*%pi W = 113.09734 -->a31=a3^3*W^3
a31 = 1.760D+16
-->a4=295
a4 = 295.
-->W=18*2*%pi W = 113.09734
-->a41=a4^4*W^4 a41 = 1.239D+18 -->a5=24 a5 = 24. -->W=18*2*%p W = 113.09734 -->a51=a5^5*W^4 a51 = 1.303D+15 -->S=poly(0,'s'); -->hb = 61528/(61528+a11/s+a21/s^2+a31/s^3+a41/s^4+a51/s^5)
hb = 5
61528s
--------------------------------------------------------------------
2 3 4
1.303D+15 + 1.239D+18s + 1.760D+16s + 11257.909s + 4297698.8s
5
+ 61528s
-->clf(); -->[fr, hf]=repfreq(hb,15000); -->plot(fr,abs(hf),'c') -->[fr, hf]=repfreq(hb,0,15000); -->plot(fr,abs(hf),'c'
Запуск программы:
загрузка исходного окружения
-->s=poly(0,'s') s = s -->d=1.303D+15 +1.239D+18 *s+1.760D+16 *s^2+11257.909 *s^3+4297698.8*s^4+61528*s^5 d = 2 3 4
1.303D+15 + 1.239D+18s + 1.760D+16s + 11257.909s + 4297698.8s
5
+ 61528s -->Hd=syslin('c',61528,d) Hd = 61528
---------------------------------------------------------------------
2 3 4
1.303D+15 + 1.239D+18s + 1.760D+16s + 11257.909s + 4297698.8s
5
+ 61528s -->HFpoles=roots(d) HFpoles = 3294.6346 + 5706.1614i 3294.6346 - 5706.1614i - 6588.7209 - 70.396676 - 0.0010517 ->Hs1=15.75/((s- 3294.6346 + 5706.1614*%i)*(s- 3294.6346 - 5706.1614*%i)) Hs1 = 15.75
-----------------------------
2 43414895 - 6589.2692s + 1s -->Hs2=15.75/((s-6588.7209*%i)*(s-70.396676*%i)) Hs2 = 15.75
-------------------------------- 2 -463824.05 - i*6659.1176s + 1s -->Hs3=15.75/(0.0010517*%i) Hs3 = - 14975.754i
Завдання 2. Описати роботу, спроектувати та реалізувати заданий цифровий пристрій.
