y=sin(2*pi*0.2*n)+sin(2*0.213*n)
Y=fft(y)%FFTPyy=Y.*conj(Y)/2000%信号功率谱f=10*(0:1000)/2000%计算横轴频率值figure(1)subplot(2,1,1),plot(n,y),title('信号'),xlabel('时间(S)')subplot(2,1,2),plot(f,Pyy(1:1001)),title('信号功率谱'),xlabel('频率(Hz)')
请采纳答案,支持我一下。
t=a(:,1)%%%%t是时间;yt=a(:,2)%%%%yt是数据;
dt=t(2)-t(1)%%%%dt是点距;
lt=length(t)%%%%是数据的长度;
f0=2*pi/(lt*dt)%%%%f0是基频;
fy=fft(yt)%%%%fy是fft变换得到的波谱;
for i=1:1:lt
f(i)=f0*(i-1)%%%%f是频率;
P(i)=abs(fy(i))^2%%%P是功率谱;
end
plot(f,P)%%%%画图;
f的单位是秒分之一。就是频率。
P是没有单位的,就是振幅大小。如果有那是yt单位的平方。
没学过信号。。语句大概x(n)=4sin200πn-2sin20πn+v(n), 用后面的公式生成一个以x命名的数组
:Fs=500NFFT=1024 赋值
n=0:1/Fs:1 n是从0开始到1的以1/Fs为等差的数列
vx=randn(1,length(n))vx是从1到n的长度的随机数
Cx=xcorr(x,'unbiased')随机信号相关函数的无偏互相关估计
)Cxk=fft(Cx,NFFT)对信号进行快速Fourier变换
)Pxx=abs(Cxk)求Cxk的绝对值
)t=0:round(NFFT/2-1)同上循环
P=10*log10(Pxx(t+1))调用Pxx 计算
plot(k,P)以kp为参数画图
都是手打。。累啊
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)