【发布时间】:2009-09-19 19:23:13
【问题描述】:
我正在尝试找出一种方法来通过算法获取在 Maxima 计算机代数系统中具有正弦项的函数的幅度和相位。这仅适用于稳态(因为 t -> infinity 和瞬态衰减)。例如,一个简单的案例是:
f(t) = 1 / w * sin(w * t + theta) + exp(-a * t) + 8
在这种情况下,增益为 1 / w,相位偏移为 theta,我们将忽略瞬态项 exp(-a * t),因为我们只关心稳态增益和相位延迟,并且exp(-a * t) -> 0 作为 t -> 无穷大。我们也会忽略“+ 8”项,因为它只是一个 DC 偏移量。在我的工程课程中,我被教导这样做的方式需要大量的启发式方法和繁琐的方程重新排列,以使它们以类似于上述的形式得到,其中答案是显而易见的。
鉴于我拥有计算机代数系统的全部功能(以及人们期望 CAS 具有的标准功能),是否有人知道在假设它们存在的情况下找到增益和相位延迟的通用算法方法扔它?虽然我很可能会在 Maxima 中实现它,但我当然会很感激仅用数学来解释的通用答案。
编辑: 我认为从我的示例中可以清楚地看出我想要以 w 为形式的象征性答案。 w 应该是欧米茄,代表输入的频率。我真正要问的是,是否有任何标准数学运算可以产生增益和相位项,而无需进行大量启发式手动方程重新排列。
【问题讨论】:
-
由于这是一个相当 dsp-niche 的问题,您可能想在这里问kvraudio.com/forum/viewforum.php?f=33,然后自己回答这个问题,并为未来的 SO 读者提供答案。
标签: algorithm math maxima computer-algebra-systems