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

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

Форум разработчиков электроники 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.

 

 StepResponses.zip ( 54.79 килобайт ) : 5
 

Автор: 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;


Да, выглядит правильным, только до конца не понял как оно получилось.

Такая же неопределённость и в других передаточных функциях, так что либо понять надо, либо просить Вас их разрешить sm.gif

Автор: 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)