求高手帮忙关于频谱质心实现的问题
我想在matlab里面算出频谱质心,公式见附件1:我在用matlab实现的时候不知道K取多大,我觉得FFT是关于中点对称的,所以,是否K该取FFT(N)的1/2N,还是取整个N????
[ 本帖最后由 weidaidi 于 2008-12-7 16:55 编辑 ] 对了...仔细看了一下你給的公式,仿佛 SC(n) 就恒= K ? 还是我看花眼了?
分母上的K可以提出来,然后 |dft(n,k)| 部分就约掉了?
分母应该是K.|dft(n,k)| or k.|dft(n,k)| ?
fft在实数输入的时候,结果是对称的.但是能量是分布在N点上的,
从频谱质心的定义上来看,既然是能量分布的平均点,
应该K = N. 非常感谢您的解答,公式写错了,应该是 k.|dft(n,k)|。 我参看一下吉小军等 “AR谱结构特征提取及其对车辆目标的识别效果分析”(探测与控制学报 1999 21(2))中提到了谱重心(和楼主的谱质心是一个概念),计算时仅积分(累加)到fmax,所以楼主计算时把K取作N/2。 之前没接触过谱质心,
刚才去网上找资料看了一下,
从语音处理的谱质心的物理意义上来看, songzy41说的是对的.
N/2后面的镜象频率不用计入.
K = N/2就可以了. 谢谢大家了,这下知道怎么做了:victory:
页:
[1]