概述
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
就是正弦包含频率是20hz,20.5hz,40hz,采样频率fs是100hz,分析栅栏效应,先是128个点fft,补零到512个点进行fft,再512个点fft。程序是这样的:
N1=128;N2=512;
fs=100;f1=20;f2=20.5;f3=40;
n1=0:N1-1;n2=0:N2-1;
xn1=sin(2*pi*f1*n1/fs)+sin(2*pi*f2*n1/fs)+sin(2*pi*f3*n1/fs);
xk11=fft(xn1,N1)
mxk11=abs(xk11(1:N1/2));
figure(1);
subplot(211);plot(n1,xn1);
xlabel('n');title('x(n) 0<=n<127');axis([0,128,-3,3]);
k1=(0:N1/2-1)*fs/N1;
subplot(212)
plot(k1,mxk11);
xlabel('频率 单位Hz');title('X1(k)的幅度谱');
xn2=[xn1,zeros(1,N2-N1)];
xk12=fft(xn2,N2);
mxk12=abs(xk12(1:N2/2));
figure(2);
subplot(211);plot(n2,xn2);
xlabel('n');title('x(n) 0<=n<=511');axis([0,512,-3,3]);
k2=(0:N2/2-1)*fs/N2;
subplot(212);
plot(k2,mxk12);
xlabel('频率 单位Hz');title('x1(k)补零后的幅度谱');
xn3=sin(2*pi*f1*n2/fs)+sin(2*pi*f2*n2/fs)+sin(2*pi*f3*n2/fs);
xk2=fft(xn3,N2);
mxk3=abs(xk2(1:N2/2));
figure(3);
subplot(211);plot(n2,xn3);
xlabel('n');title('x(n) 0<=n=511');axis([0,512,-3,3]);
k3=(0:N2/2-1)*fs/N2;
subplot(212);
plot(k3,mxk3);
xlabel('频率 单位Hz');title('512点有效数据的幅度谱');
我看不懂的是
xk11=fft(xn1,N1)
mxk11=abs(xk11(1:N1/2));(这个是什么意思?)
和k1=(0:N1/2-1)*fs/N1;(为什么是二分之一得N1呢?)
最后
以上就是开心蜜蜂为你收集整理的matlab 正弦波 fft,【求助】正弦信号序列fft频谱分析!!!的全部内容,希望文章能够帮你解决matlab 正弦波 fft,【求助】正弦信号序列fft频谱分析!!!所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复