正弦函数的频谱图matlab,【求助】正弦信号序列fft频谱分析!!!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

就是正弦包含频率是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呢?)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值