Версия для печати темы
Форум разработчиков электроники ELECTRONIX.ru _ Математика и Физика _ Расчёт переходной функции (реакции на ступеньку)
Автор: VDV Aug 16 2018, 15:50
Уравнение переходной функции любого фильтра имеет знаменатель.
При некоторых условиях он обращается в нуль и даже становится комплексным.
Как при этом ведётся расчёт?
Пример:
для ФНЧ 2го порядка нуль, когда Q = 0.5, когда Q < 0.5 - решать приходится в компексных числах.
для фильтра-пробки на основе двойного Т-моста - когда усиление = 1.
Формулы - на картинке.
http://electronix.ru/redirect.php?https://www.et.byu.edu/~tom/classes/436/ClassNotes/Class20(Second-Order).pdf на стр. 3 формула через коэффициент дэмпфирования, и тоже при равенстве его 1 под корнем получаем 0.
Автор: Major Aug 17 2018, 02:08
Если вы решаете в s-плоскости, то и результат реакции на ступеньку хотите в s-плоскости?
Перемножьте образ фильтра с образом s-образом ступеньки (1/s), и готово.
http://electronix.ru/redirect.php?https://www.intmath.com/laplace-transformation/4-transform-unit-step-function.php
Нули в знаменателе (полюса) в "частотной области".
Во временной, где обычно смотрят отклик на ступеньку, это диф. уравнение.
В нем нет деления на ноль, но есть неустойчивость.
Взяли образ фильтра, умножили на образ сигнала, провели обратное преобразование Лапласа и готово.
Либо взяли диф. ур-е, поставили начальные условия и решили задачу Коши.
Перед решением узнали об устойчивости. Проверили сгущающимися сетками. Либо методом с автоподбором шага и определением "проблем".
Автор: VDV Aug 17 2018, 05:25
Цитата(Major @ Aug 17 2018, 06:08)
Если вы решаете в s-плоскости, то и результат реакции на ступеньку хотите в s-плоскости?
Перемножьте образ фильтра с образом s-образом ступеньки (1/s), и готово.
Именно это и сделано - см. формулы на рисунке.
Непонятно как при 0 в знаменателе решать.
Очевидно, что как-то формула должна сократится, видимо, до е в степени, и стать по виду как для ФНЧ 1-го порядка.
Для фильтра-пробки решение нашлось - при G=1 формула вырождается до 1 минус е в степени, а при G = 2 схема нестабильна, так что формула теряет смысл и этот случай можно не рассматривать.
И при отрицательном значении под корнем тоже видимо как-то должно всё упрощаться математически.
Автор: Major Aug 17 2018, 05:40
Код
f(s):=1/(s*(1+A*s+B*s^2));
Для 4B-A^2=0:
y(t):=(-(A*t)/(2*B)-1)*exp(-(A*t)/(2*B))+1;
Для 4B-A^2>0:
(exp(-(A*t)/(2*B))*(-(A*B*sin((sqrt(4*B-A^2)*t)/(2*B)))/sqrt(4*B-A^2)-B*cos((sqrt(4*B-A^2)*t)/(2*B))))/B+1
Для 4B-A^2<0:
y(t):=(exp(-(A*t)/(2*B))*(-(A*B*sinh((sqrt(A^2-4*B)*t)/(2*B)))/sqrt(A^2-4*B)-B*cosh((sqrt(A^2-4*B)*t)/(2*B))))/B+1
В третий случай - ваш.
Но для A^2-4*B=0 решением будет
Код
y(t):=(-(A*t)/(2*B)-1)*exp(-(A*t)/(2*B))+1;
Автор: VDV Aug 17 2018, 06:03
Вы хотите сказать, что при Q = 0.5 и ниже, схема фильтра 2-го порядка неработоспособна?
Автор: Major Aug 17 2018, 06:24
Нет, признался выше что облажался и думал не о том. Извиняюсь.
Автор: VDV Aug 17 2018, 06:31
Цитата(Major @ Aug 17 2018, 09:40)
В третий случай - ваш.
Но для A^2-4*B=0 решением будет
Код
y(t):=(-(A*t)/(2*B)-1)*exp(-(A*t)/(2*B))+1;
Да, выглядит правильным, только до конца не понял как оно получилось.
Такая же неопределённость и в других передаточных функциях, так что либо понять надо, либо просить Вас их разрешить
Автор: Major Aug 17 2018, 06:38
Прямой подстановкой корней для A^2-B в f(s) и вычислением обратного Лапласа.
Автор: VDV Aug 17 2018, 07:01
Не приходит понимание, можете разжевать ещё раз, по шагам, подробно?
Цитата(Major @ Aug 17 2018, 09:40)
s= %i*y
s = (-B +/- sqrt(A^2-4B))/(2B) = -1/2
тут разве не s = -B ?
Автор: Major Aug 17 2018, 08:27
Да, конечно. Забыл поправить.
Код
B*s^2+A*s+1=0
s = -A/(2B);
h(s):=1/(s*(s+(1/2)*(A/B))^2);
Полюс в нуле и один в -(1/2)*(A/B), B>0, A>0
Замена перменных (в общем-то не нужная):
s=q*(A/B)
h(q) = B/(A*q*((A*q)/B+A/(2*B))^2)
h(q) = (B/A)^2*1/(q*(q+1/2)^2)
h(q) = 1/(q*(q+1/2)^2)
inv_lap(h(q))=1-exp(-t/2)-t/2*exp(-t/2)
В s=0, s=-1/2 первой кратности, s=-1/2 второй кратности.
Проверил в wxMaxima, ей не надо разбивать руками по веткам.
Она знает через assume или спрашивает чему равен дискриминант.
P.S. Не против если я свое позорище зачищу во втором посте?
Автор: VDV Aug 17 2018, 09:24
Цитата(Major @ Aug 17 2018, 12:27)
Да, конечно. Забыл поправить.
[code]B*s^2+A*s+1=0
s = -A/(2B);
Проверил в wxMaxima, ей не надо разбивать руками по веткам.
Она знает через assume или спрашивает чему равен дискриминант.
P.S. Не против если я свое позорище зачищу во втором посте?
Что-то не бьётся у меня c 0 при s = -A/(2B)...
Суть вроде понятна.
Считать ручками корни только каждый раз желания нет.
wxMaxima может автоматически решения дать для всех 3х случаев?
И осталось понять, каков смысл комплексных вычислений для Q < 0.5.
Это просто абстракция, приводящая в итоге к вещественному результату?
P.S. да, конечно, лишнее только мешает.
Upd. В Maxima получились уравнения для всех случаев, здорово!
Автор: VDV Aug 20 2018, 11:54
На ещё один вопрос не могу найти ответ.
Соединяем несколько каскадов последовательно.
Для каждого знаем функцию передачи, а значит реакцию на ступеньку (и импульс).
Зная только численные значения реакции на ступеньку во временной области каждого каскада, можно найти суммарную реакцию на ступеньку всей цепи?
Пример: многозвенный ФНЧ.
Автор: Tanya Aug 20 2018, 14:35
Цитата(VDV @ Aug 20 2018, 14:54)
На ещё один вопрос не могу найти ответ.
Интеграл Дюамеля дает ответ.
Автор: VDV Aug 21 2018, 07:07
Цитата(Tanya @ Aug 20 2018, 18:35)
Интеграл Дюамеля дает ответ.
Спасибо, всё получилось!
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)