额,想做个FFT的频谱校正
就按照书上的比值校正法(内插法)来做了,输出的数据加了hanning窗,但是我出来的数据和原数值差异很大啊。这个是怎么回事,我的Matlab程序如下,望高手指点下:
clear all;clc
N=64; %采样点数
fs=1600 %采样频率
f=50; %信号频率
dc=2043; %直流分量
a=2000 %50Hz信号的幅值
ph=60; %信号的初始相位
for t=0:1:N-1
x(t+1)=(a*sin(2*pi*f*t/fs+ph*pi/180)+dc);%采样点
x(t+1)=x(t+1)*(0.5-0.5*cos(2*pi*t/N));%时域加Haning窗
end
xfft=fft(x,N); %做FFT变换
y=abs(xfft); %求取模值
[Y1, k]=max(y(2:N/2)); %找出最高的的谱线
ka=y(k)/y(k+1);%求取差值Ka
r=(2-ka)/(1+ka) %求出系数
a0=2*pi*r*(1-r*r)*y(k)/(N*sin(pi*r))%求出a0的幅值
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
-----------------------------------------------------------------------
上次您给我的是+汉宁窗的么?我以为是加矩形窗的。。。
一周热门 更多>