matlab正弦序列频谱,【求助】正弦信号序列fft频谱分析!!!
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
就是正弦包含頻率是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點有效數(shù)據(jù)的幅度譜');
我看不懂的是
xk11=fft(xn1,N1)
mxk11=abs(xk11(1:N1/2));(這個是什么意思?)
和k1=(0:N1/2-1)*fs/N1;(為什么是二分之一得N1呢?)
總結
以上是生活随笔為你收集整理的matlab正弦序列频谱,【求助】正弦信号序列fft频谱分析!!!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql bingip,MySQL报错
- 下一篇: ecshop支持mysql5.5吗,ce