导航:网站首页 >

基于matlab的连续信号的频谱分析

时间:2018-9-14

基于matlab的连续信号的频谱分析

怎么在matlab中对连续信号X(t)=COS(4*pi*t)+SIN(2*pi*t)+COS(8*pi*t)进行DFT变换 .要求画出X(exp(jw))与f的频谱图.抽样间隔随意

相关问题:

匿名网友:

给个例题,自己变一下就好

fs=1000;%设定采样频率

N=1024;%设定数据长度

i=0:N-1;

t=i/fs;

f=100;%设定正弦信号频率

%生成正弦信号

x=sin(2*pi*f*t);

subplot(231);

plot(t,x);%作正弦信号的时域波形

axis([0,0.01,-1,1]);

xlabel('t');

ylabel('y');

title('正弦信号时域波形');

grid;

%进行FFT变换并做频谱图

y=fft(x,N);%进行fft变换

mag=abs(y);%求幅值

f=(0:N-1)*fs/N;%横坐标频率的表达式为f=(0:M-1)*Fs/M;

subplot(232);

plot(f,mag);%做频谱图

axis([0,100,0,80]);

xlabel('频率(Hz)');

ylabel('幅值');

title('正弦信号幅频谱图');

grid;

%求均方根谱

sq=abs(y);

figure(1);

subplot(233);

plot(f,sq);

xlabel('频率(Hz)');

ylabel('均方根谱');

title('正弦信号均方根谱');

grid;

%求功率谱

power=sq.^2;

figure(1);

subplot(234);

plot(f,power);

xlabel('频率(Hz)');

ylabel('功率谱');

title('正弦信号功率谱');

grid;

%求对数谱

ln=log(sq);

figure(1);

subplot(235);

plot(f,ln);

xlabel('频率(Hz)');

ylabel('对数谱');

title('正弦信号对数谱');

grid;

%用IFFT恢复原始信号

xifft=ifft(y);

magx=real(xifft);

ti=[0:length(xifft)-1]/fs;

subplot(236);

plot(ti,magx);

xlabel('t');

ylabel('y');

title('通过IFFT转换的正弦信号波形');

grid;

大家还关注:

问题推荐

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐