|
回复14楼kleeblatt 的贴子
你的问题
"我编写的一个函数为
x1(i)=2*cos(2.2*pi*2*(i-127)/128+10*pi/180),如果改成
x2(i)=2*cos(2.2*pi*2*i/128+10*pi/180) 相位结果就不对了,为什么呢?"
因这二个信号相位差 2.2*p*2*1/127*180/pi 度, 相位结果当然不对了
看初相位更清楚, 对笫二个信号 x2(i)=2*cos(2.2*pi*2*i/128+10*pi/180) 其初相位为10度
笫一个信号 x1(i)=2*cos(2.2*pi*2*(i-127)/128+10*pi/180),它的初相位不只是10度, 应是(即x1(i)式中i=0时的相位)mod(-127/128*2*pi*2.2*180/pi+10, 360)=304.1875度
所以x1(i)=2*cos(2.2*pi*2*(i-127)/128+10*pi/180)=2*cos(2.2*pi*2*i/128+304.1875*pi/180)
它和x2(i) 是同频2.2,同振幅2,不同初相(10度和304.1880度)的余弦信号.在任何时刻二者相位差304.1880-10=294.1875度
你问: "每个包含x(0) 的组合移位 ——求和——DFT的结果 与 每个包含x(0)的组合移位——每个组合DFT——每组FFT结果对应求和得出的结果不同"
每个包含x(0) 的组合移位相加的dft的 应等於每个包含x(0)的组合移位的DCT的复数之和, 这是DFT的线性性质, 你用小N 例如N=6为例,仔细分析, 不会错的. 从中还可看到泄漏互相抵消,相位互相补偿的细节.
<数字信号全相位谱分析与滤波技术>一书中第3.4.1 节数据实测分析(p37-38) 以N=4为例分析了整个过程.
[ 本帖最后由 zhwang554 于 2009-11-19 08:43 编辑 ] |
|