Я пытаюсь найти способ алгоритмически получить амплитуду и фазу функции, которая имеет синусоидальные члены в системе компьютерной алгебры Maxima. Это относится только к установившемуся состоянию (при t -> бесконечности и распаду переходных процессов). Например, тривиальный случай был бы:Алгоритмически получить амплитуду и фазу синусоидальной волны?
f(t) = 1/w * sin(w * t + theta) + exp(-a * t) + 8
В этом случае коэффициент усиления будет 1/ш, то фазовый сдвиг будет тета, и мы будем игнорировать переходный термин ехр (-а * т), потому что мы заботимся только об устойчивом усилении и фазовой задержке, а exp (-a * t) -> 0 при t -> бесконечности. Мы также будем игнорировать термин «+ 8», потому что это просто смещение по постоянному току. То, как меня учили делать это в моих инженерных классах, требует много эвристики и утомительной перестройки уравнений, чтобы получить их в форме, подобной приведенной выше, где ответ очевиден, просто взглянув на него.
Кто-нибудь знает об общем алгоритмическом методе нахождения коэффициента усиления и фазовой задержки, предполагая, что они существуют, учитывая, что у меня есть полная система компьютерной алгебры (и стандартные функции, которые можно было бы ожидать от CAS) бросить на это? Хотя я, вероятно, буду реализовывать его в Maxima, я бы, конечно, оценил общие ответы, объясняемые только с точки зрения математики.
Редактировать: Я думал, что из моего примера было совершенно ясно, что я хочу, чтобы ответ символически, с точки зрения w. w действительно должен быть омегой и представляет собой частоту ввода. Я действительно спрашиваю, есть ли какие-либо стандартные математические операции, которые будут генерировать коэффициенты усиления и фазы без кучи эвристического ручного уравнивания.
Поскольку этот вопрос является довольно dsp-niche, вы можете попросить здесь http://www.kvraudio.com/forum/viewforum.php?f=33 и затем ответьте на вопрос самостоятельно ответом для будущих читателей SO. – Nosredna