matlab 时域宽度,MATLAB对信号的时域与频域分析

该博客详细介绍了如何使用MATLAB进行信号的时域和频域分析。通过离散傅里叶变换(DFS)展示了不同时窗宽度下方波的频谱特性,探讨了加窗函数对频谱的影响,并对比了不同采样点数对正弦波频谱分析的效果。此外,还涉及了调制信号(如ASK、FSK、PSK)的频谱分析以及谱估计和功率谱密度计算的相关方法。
摘要由CSDN通过智能技术生成

%信号的时域和频域分析

%信号的频域分析,计算方波的DFS(离散傅里叶变换),在60的时窗宽度上方波宽度分别为

%5到12,并且画出x(n)和DFS(x(n))的杆状图

L=5;N=60;

k=[-N/2:N/2];

xn=[zeros(1,(N-L+1)/2),ones(1,L),zeros(1,(N-L-1)/2)];

n=[0:N-1];

subplot(221)

stem(n,xn);grid

axis([0 60 -0.3 1.3]);title('xn');

p=0:N-1;

WN=exp(-j*2*pi/N);

nk=n'*p;

WNnk=WN.^nk;

Xk=xn*WNnk;

magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);

subplot(222)

stem(k,magXk);grid

axis([-N/2 N/2 -0.5 5.5]);

xlabel('k');ylabel('spectrum');

title('DFS:L=5,N=60');

L=12;N=60;

k=-N/2:N/2;

xn=[zeros(1,(N-L+1)/2),ones(1,L),zeros(1,(N-L-1)/2)];

n=0:N-1;

subplot(223)

stem(n,xn);grid

axis([0 60 -0.3 1.3]);title('xn');

p=[0:N-1];

WN=exp(-j*2*pi/N);

nk=n'*p;

WNnk=WN.^nk;

Xk=xn*WNnk;

magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);

subplot(224)

stem(k,magXk);grid

axis([-N/2 N/2 -0.5 13]);

xlabel('k');ylabel('spectrum');

title('DFS:L=12,N=60');

%频谱分析的若干问题

%不同时窗正弦信号频谱的分析

%1Hz的正弦波仅取10个周期及50个周期,都做4096点FFT,比较两者的频谱

t=0:0.1:10; %取10或50(将10变成50即可)个周期的进行变换

y1=sin(2*pi*t);

Y1=fft(y1,4096); %4096点的快速傅里叶变换

Y=fftshift(Y1);

c=[0:2047]/409;

plot(c,abs(Y(2049:4096)))

axis([0 2 -5 60]);

title('sin(t)周期 T=10')

grid

%加窗函数后的频谱特征分析

%不加窗函数是正弦谱线与矩形窗频谱的卷积;加窗函数是正弦谱线于汉明窗频谱的卷积

%后者的旁瓣小得多,但是主谱线宽一些

t=0.1:0.1:20; %取20个周期

y=sin(2*pi*t); %定义1Hz的正弦波

w=hamming(200); %定义200长的汉明窗

y=y.*w';

Y1=fft(y,4096); %4096点的快速傅里叶变换

Y=fftshift(Y1);

c=[0:2047]./409.6;

plot(c,abs(Y(2049:4096)))

axis([0 3 -5 60]);title('sin(t) 加窗频谱');grid

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值