- •5. Мониторинг процесса выполнения курсовой работы
- •Протокол заседания комиссии по защите курсовой работы
- •Исследование характеристик аналоговой цепи
- •Расчёт цифровой цепи методом Эйлера.
- •Расчёт цифровой цепи методом билинейного преобразования.
- •Расчёт цифровой цепи методом инвариантной импульсной характеристики.
- •Разработка и тестирование алгоритма цифровой фильтрации.
Исследование характеристик аналоговой цепи
Дана аналоговая пассивная цепь:
Рис. 1. Схема аналоговой цепи
Для цепи заданы параметры:
R1=1000 Ом
R2=4000 Ом
С1=1,5 мкФ
C2=0,5 мкФ
Воспользуемся символическим методом расчёта электрических цепей.
Рис. 2. Схема для расчёта аналоговой цепи
Применим метод «двух узлов». Узел a – заземлим, его потенциал будет равен нулю. Найдём потенциал узла c.
Ток, протекающий через резистор R2:
Далее найдём потенциал в точке b. Так как , а,
Получим частотную передаточную функцию цепи:
Код в Matlab:
clc;clear;
R1=1000;
R2=4000;
C1=1.5*10^(-6);
C2=0.5*10^(-6);
Wa0=(R2*C2)^2;
Wa1=R2*C2;
Wb0=C1*R1*(R2*C2)^2;
Wb1=C2*R2*(C2*R2+2*C1*R1+C2*R1);
Wb2=2*C2*R2+C1*R1+C2*R1;
Wanalog=tf([Wa0 Wa1 0], [Wb0 Wb1 Wb2 1])
Подставив значения параметров R и C, получим:
Так как преобразования Фурье и Лапласа имеют схожий вид, можно выполнить замену p=jω. Тогда передаточная функция аналоговой цепи:
Найдём для этой передаточной функции нули и полюса.
Код в Matlab:
disp('Полюса:');
disp(pole(Wanalog));
disp('Нули:');
disp(zero(Wanalog));
Нули:
p=0; p=-500
Полюса:
p=-1000; p=-500; p=-1000/3
Исходя из найденных значений, можем записать передаточную функцию в виде:
Этой передаточной функции соответствует дифференциальное уравнение:
Получим логарифмические амплитудно-частотные и фазо-частотные характеристики для этого фильтра:
Амплитудно-частотная характеристика:
Фазо-частотная характеристика:
Построим графики этих характеристик:
Код в Matlab:
figure(1);
bode(Wanalog,'g');
grid on;
Рис. 3. Логарифмические частотные характеристики аналогового фильтра
Для проверки предыдущих вычислений можно сравнить полученную выше ЛАЧХ с ЛАЧХ, полученной при непосредственном моделировании электрической цепи в пакете Electronics Workbench:
Рис. 4. Моделирование электрической цепи в пакете Electronics Workbench
Получим импульсную переходную функцию этого фильтра.
Для этого разложим передаточную функцию на простые дроби:
Найдём коэффициенты:
C0=1,5
C1=-0,5
С помощью обратного преобразования Лапласа, найдём ИПФ:
Построим в системе Matlab график ИПФ:
Код в Matlab:
figure(2);
impulse(Wanalog,'g');
grid on;
Рис. 5. График импульсной переходной функции аналогового фильтра.
Расчёт цифровой цепи методом Эйлера.
Для получения передаточной функции цифрового фильтра необходимо произвести замену , где Td - интервал дискретизации.
По ЛАЧХ аналогового фильтра найдём частоту, при которой происходит ослабление амплитуды в 10 раз (-20дБ). Примем её за ширину спектра.
ωmax=6580,668 рад/с
fmax= =1047,346 Гц
Возьмём частоту дискретизации в 5 раз больше ширины спектра:
fd=5fmax=5236,730 Гц
Тогда период дискретизации:
Td= =0,00019096 с
Выбрав период дискретизации, можно найти коэффициенты передаточной функции и разностного уравнения:
Код Matlab:
clc;clear;
Td=0.00019096; %Период дискретизации
A=2/3*10^3;
%Полюса аналоговой передаточной функции
p0=1000;
p1=1000/3;
u=(1+Td*(p0+p1+Td*p0*p1));
%Коэффициенты передаточной функции цифровой цепи
b0=A*Td/u
b1=-A*Td/u
a1=(-2-Td*(p0+p1))/u
a2=1/u
b=[b0 b1];
a=[1 a1 a2];
Полученные коэффициенты:
b0 = 0,1005
b1 = -0,1005
a1 = -1,7798
a2 = 0,7894
Передаточная функция:
Разностное уравнение:
Найдём нули и полюса этой передаточной функции:
Код Matlab:
[q,p]=tf2zpk(b,a);
disp('Нули');
disp(q);
disp('Полюса');
disp(p);
figure(4);
zplane(b,a);
Нули:
z=0; z=1
Полюса:
z=0,9402; z=0,8397
Рис. 6. Карта нулей и полюсов цифрового фильтра, полученного методом Эйлера при Td=0,00019096 с
Получим амплитудно-частотные и фазо-частотные характеристики этого фильтра. Для этого в передаточной функции произведём замену .
Амплитудно-частотная характеристика:
Фазо-частотная характеристика:
Код Matlab:
w=logspace(1,5,10000);
figure(1);
Wd=(b0+b1*exp(-1i*w*Td))./(1+a1*exp(-1i*w*Td)+a2*exp(-2*1i*w*Td));
%Построение графиков ЛАЧХ и ЛФЧХ цифровой цепи
subplot(2,1,1), loglog(w,abs(Wd),'b'), grid on, xlabel('w (Rad/s)'), title('MAGNITUDE - |H(w)|');
hold on;
subplot(2,1,2), semilogx(w,180/pi*angle(Wd),'b'), grid on, xlabel('w (Rad/s)'), title('PHASE - arg [H(w)] (deg)');
hold on;
figure(2);
%Построение графиков ЛАЧХ аналоговой и цифровой цепи на одном полотне Wa=A*1i*w./(1i*w+p0)./(1i*w+p1);
loglog(w,abs(Wd),'b');
hold on;
loglog(w,abs(Wa),'g');
hold on;
grid on; xlabel('w (Rad/s)'); title('MAGNITUDE - |H(w)|'); axis([0 10^5 10^(-2) 1]);
Рис. 7. ЛАЧХ аналогового фильтра (обозначена зелёным) и соответствующего ему цифрового фильтра, полученного методом Эйлера при Td=0,00019096 с (обозначена синим)
Рис. 8. ЛАЧХ и ЛФЧХ цифрового фильтра, полученного методом Эйлера при Td=0,00019096 с
Рис. 9. Амплитудно-частотная характеристика (не в логарифмическом масштабе) аналогового фильтра (обозначена зелёным) и соответствующего ему цифрового фильтра, полученного методом Эйлера при Td=0,00019096 с (обозначена синим)
Как видно из полученных графиков (рисунки 7 и 9), частотные характеристики цифрового фильтра по форме почти точно повторяют характеристики аналогового прототипа на участке [0; ], то есть [0; 1,645·104] рад/c. Далее идёт периодическое повторение характеристики цифрового фильтра.
Импульсная переходная функция цифрового фильтра может быть получена за счёт обратного Z-преобразования его передаточной функции. Мы получим её с помощью пакета Matlab.
Код Matlab:
N=0.012/Td;
n=0:(N-1);
h=impz(b,a,N);
figure(3);
title('Impulse Response h(n*Td) - impz');
hold on;
xlabel('n');
ylabel('h(n*Td)');
plot(n,h,'b');
grid on;
Рис. 10. Импульсная переходная функция цифрового фильтра, полученного методом Эйлера при Td=0,00019096 с
По рисунку 10 видно, что ИПФ цифрового фильтра очень близка по форме к ИПФ аналогового и отличается, в первую очередь, на величину вещественного коэффициента.
Теперь возьмём частоту дискретизации в 10 раз больше ширины спектра:
fd=10fmax=10473,460 Гц
Тогда период дискретизации:
Td= =0,00009548с
Найдём коэффициенты передаточной функции и разностного уравнения:
b0 = 0,0563
b1 = -0,0563
a1 = -1,8820
a2 = 0,8847
Передаточная функция:
Разностное уравнение:
Нули:
z=0; z=1
Полюса:
z=0,9692; z=0,9128
Рис. 11. Карта нулей и полюсов цифрового фильтра, полученного методом Эйлера при Td=0,00009548 с
Получим амплитудно-частотные и фазо-частотные характеристики этого фильтра. Для этого в передаточной функции произведём замену .
Амплитудно-частотная характеристика:
Фазо-частотная характеристика:
Рис. 12. ЛАЧХ аналогового фильтра (обозначена зелёным) и соответствующего ему цифрового фильтра, полученного методом Эйлера при Td=0,00009548 с (обозначена синим)
Рис. 13. ЛАЧХ и ЛФЧХ цифрового фильтра, полученного методом Эйлера при Td=0,00009548 с
В результате сравнения графиков на рисунках 7 и 12, 8 и 13 можно сделать вывод, что при уменьшении периода дискретизации различия между частотными характеристиками цифрового фильтра и его аналогового прообраза становятся несколько меньше. Также у частотных характеристик цифрового фильтра увеличивается период.
Импульсная переходная функция:
Рис. 14. Импульсная переходная функция цифрового фильтра, полученного методом Эйлера при Td=0,00009548 с
Из сравнения ИПФ при разных периодах дискретизации (рис. 10 и рис. 14) видно, что при уменьшении Td в несколько раз, во столько же раз уменьшается амплитуда ИПФ.