通过傅里叶级数的各项系数能否直接求出其合成信号的振幅?
某个信号用有限项傅里叶级数表示如下:x=a0 + a1*cos(wt) + a2*cos(2wt)+...+an*cos(nwt) + b1*sin(wt)+b2*sin(2wt)+...+bn*sin(nwt)
请问有没有办法根据各个系数的值a0,a1,a2...b1,b2...bn直接求出这个信号的幅值?我在一个迭代过程中需要计算这个幅值,现在是通过用一系列密布的时间点代入上式然后取最大值来求的,这样速度很慢。 <直接求出这个信号的幅值>
不存在这个简单的值,求最大值并不能表征其幅值,这种情况下应该或者也只能计算均方值或均方根值. hcharlie 发表于 2012-8-23 22:03 static/image/common/back.gif
不存在这个简单的值,求最大值并不能表征其幅值,这种情况下应该或者也只能计算均方值或均方根值.
可能我原帖里没说清楚,不说幅值吧,就想求峰值,或者峰-峰值。有没有快速的方法? 回复 3 # sy0116 的帖子
如果对你这个函数做FFT分析,理论上讲,频谱图上的峰值会是:
1倍频处是 X1=SQRT(a1^2+b1^2)
2倍频处是 X2=SQRT(a2^2+b2^2)
..
N倍频处是 X3=SQRT(an^2+bn^2)
Overall 幅值=SQRT(X1^2+X2^2+...+Xn^2) SandVNo2 发表于 2012-8-24 11:03 static/image/common/back.gif
回复 3 # sy0116 的帖子
如果对你这个函数做FFT分析,理论上讲,频谱图上的峰值会是:
这个Overall不对吧,比如x=cos(t)+sin(t) + cos(2*t)+sin(2*t),sqrt(1^2+1^2+1^2+1^2)=2,而根据图形可知这个x的峰值在2.74左右,谷值在-2.093左右 回复 3 # sy0116 的帖子
我上面的意思就是这种(周期)振动,适宜用均方(根)值表述而不适宜用峰-峰值表述,前者是比较确定性的,后者不确定性较大,即受相位影响较大。 回复 6 # hcharlie 的帖子
您说的对,单从表述方法的角度来看均方值更合适。但这个问题中必须要求出峰值,后续算法中需要用到。 尚没有快速算法 回复 7 # sy0116 的帖子
求时域最大值和最小值之差即为峰峰值 回复 1 # sy0116 的帖子
你这个是信号重构问题?不太明白! 本帖最后由 sy0116 于 2012-8-26 14:47 编辑
回复 9 # hcharlie 的帖子
我现在用的就是求时域最值的方法,问题是我是在一个迭代算法中需要求峰值,每迭代一步都要计算一次,因此很费时间,如果能够根据系数直接求出就快多了 回复 11 # sy0116 的帖子
我已经说过,根据系数可以求出均方值,,求不出峰值的(像VibrationMaster也说过). 迭代过程中的系数变化应该比较小. 可以考虑用上一轮的峰值参数信息和系数改变信息来寻找新峰值. 采用迭代法也许一两次就能找到满意的结果.直接确定的快速方法,至少本人没有见过. 我的理解:信号的均方根值实际上是信号f和自身在平方可积空间做内积的结果,肯定不能用来直接求峰值,系数和峰值也没有直接的关系,只是说对幅值有贡献。你的信号系数在每次迭代中应该是知道的,如果每次呈现无规律变化或者不能确定哪些系数分量明显比较大,那就只能直接求其最值了,如果有一定规律或者系数变化不大可以用VibrationMaster 说的试试,但是我觉得是不能求得精确值的。
页:
[1]