能量重心校正法的频率误差曲线为什么得不到正确的
代码如下,是针对矩形窗的%以下是误差分析
%1.矩形窗函数能量重心校正法误差分析
nn=1;%1代表3点卷积幅值修正
m=100;%误差曲线图的横坐标点数
E_f_1=zeros(1,m);
f_1=linspace(-0.5,0.5,m);%范围是-0.5到0.5
G_juxing=(sinc(f_1).^2);%矩形窗的频谱函数
for j=2:m-1%暂时没有考虑首尾两点的情况
f0_1_fz=0;
f0_1_fm=0;
for i=-nn:nn
f0_1_fz=f0_1_fz+(f_1(j)+i).*(sinc(f_1(j)+i).^2);%分子表达式
f0_1_fm=f0_1_fm+(sinc(f_1(j)+i).^2);%分母表达式
end
f0_1=f0_1_fz/f0_1_fm;
E_f_1(j)=f_1(j)-f0_1;%相对误差值
end
figure
plot(f_1,E_f_1);grid on;
感觉程序没什么问题啊,但是得到的曲线和资料上的不一致,不知道是什么原因啊
期待高手解答
我觉得理论上来讲,在-0.5或者是0.5处的频率误差是最大的,但是资料上讲的不是这样啊,不知道那个图是怎样得到的大家帮忙啊
我试验了一下hanning窗的频率误差曲线和矩形窗的曲线差不多 没人知道么,大家帮忙啊 请问你看的是哪个资料里的? 是资料里求误差的公式写错了,图没有错.能量重心法的依据是离散窗谱的能量重心无穷逼近原点.那么程序中求误差时不是与f0_1相对,而应该是相对于原点0的差值.
非常感谢您指出的错误.
非常感谢飞天客的答复
我参考的资料是 离散频谱校正 一书,还有一些pdf资料,我发现公式都是一样的啊,但是我照公式就是得不到书上的图我现在把倒数第四句改为E_f_1(j)=f0_1-0;就得到书上的图了,非常感谢飞天客:lol 虽然书经过了好几轮校正,但还是难免有不少有问题,发现有问题的地方,还请多多批评指教,以帮助改正. 为什么我通过以上程序计算得到的曲线,虽然形状大体上是一致的,但是具体的数值却不相同?矩形窗频率误差最大约是百分之19左右,但是资料上的数值是0.163,n=1(3点卷积),为什么啊 参考文献是《离散频谱的能量重心校正法》 而且做hanning窗的频率误差曲线时当n=2时与资料上的大体形状都不一样,为什么呢 大家帮忙啊
页:
[1]