您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 使用MATLAB产生各种常见的连续信号
使用MATLAB生成各种常见的连续信号%--------------------------------------指数衰减信号--------------------------------------%%幅值为5,频率为20Hz,衰减系数为-10的指数衰减正弦信号.%首先产生一个可调正弦信号,再想办法产生指数衰减信号,再信号乘,%则得到指数衰减的正弦信号.%---------------------------------------------------------------------------------------%clear;clc;A=5;%正弦信号的幅值Fs=1000;%采样频率N=1024;%采样点数dt=1/Fs;%时间间隔t0=0:dt:(N-1)*dt;%时间向量xt1=exp(-10*t0);%指数信号xt2=5*sin(2*pi*20*t0);%正弦信号xt=xt1.*xt2;%正弦指数衰减信号plot(t0,xt)%绘图axistight%使坐标轴与数据匹配显示title('指数衰减信号X=exp(-10*t).*5*sin(2*\pi*20*t)');%显示标题xlabel('t/s','FontName','NewTimesRoman','FontSize',11);%x轴标注ylabel('幅值/A','FontName','NewTimesRoman','FontSize',11);%y轴标注%-------------------------------------矩形脉冲信号---------------------------------------%%幅值为10,脉宽为1,时间范围0~6s的矩形脉冲信号.clear;clc;A=10;%脉冲信号的幅值W=1;%脉冲信号脉宽t=0:0.001:6;%时间向量xt=10*rectpuls(t,W);%生成脉冲信号plot(t,xt)%绘图axis([0max(t)0A*1.1])%数据与坐标轴匹配显示title('矩形脉冲信号','FontName','NewTimesRoman','FontSize',11);%显示标题xlabel('t/s','FontName','NewTimesRoman','FontSize',11);%x轴标注ylabel('X(t)','FontName','NewTimesRoman','FontSize',11);%y轴标注%----------------------------------------正弦信号----------------------------------------%%幅值为5,频率为10Hz的正弦信号.clear;clc;A=5;%正弦信号幅值Fs=1000;%采样频率dt=1/Fs;%时间间隔N=1024;%采样点数t=0:dt:(N-1)*dt;%时间向量xt=5*sin(2*pi*10*t);%生成函数plot(t,xt);%绘图axistight%数据与坐标轴匹配显示gridon%显示网格线title('\it正弦信号X=5*sin(20*\pi*t)','FontName','黑体','FontSize',11);%显示标题%set(gca,'XTickLabel',{'-pi/8','-pi/16','-pi/32','-pi/64','0',...%'pi/64','pi/32','pi/16','pi/8'})xlabel('时间','FontName','黑体','FontSize',11);%x轴标注ylabel('X(t)','FontName','NewTimesRoman','FontSize',11);%y轴标注%----------------------------------------方波信号----------------------------------------%%幅值为2.5,频率为20Hz,占空比(高电平时间占整个周期信号时间的比)为50%的方波信号,并绘制方波信号的频谱图.clear;clc;A=2.5;%方波信号的幅值dy=50;%方波信号占空比t=0:0.0001:1;%时间向量xt=A*square(2*pi*10*t,dy);%生成方波信号subplot(211)plot(t,xt,'m')%绘图axis([0max(t)-33])%使数据与坐标轴匹配显示title('方波信号','FontName','NewTimesRoman','FontSize',10)%显示标题xlabel('时间/t','FontName','NewTimesRoman','FontSize',10);%x轴标注ylabel('幅值','FontName','NewTimesRoman','FontSize',10);%y轴标注%-------------------------------------方波信号幅值谱-------------------------------------%%绘制方波信号的幅值频谱图.n=1:25;A(n)=4*2.5./((2*n-1)*pi);subplot(212)stem((2*n-1)*pi,A,'o','MarkerFaceColor','c','MarkerEdgeColor','r',...'MarkerSize',5);%绘制出幅值频谱图(因为幅值An和相角只有在w=nw...等一系列离散点处才存在,故周期信号的频谱是离散谱)axis([014004]);title('方波信号频谱图','FontName','NewTimesRoman','FontSize',11);%显示标题xlabel('角频率/n\omega','FontName','NewTimesRoman','FontSize',11);%x轴标注ylabel('幅度','FontName','NewTimesRoman','FontSize',11);%y轴标注%---------------------------------------准周期信号---------------------------------------%%使用两个幅值为1的正弦信号构成一个准周期信号.%将频率为3Hz、初相为pi/11和频率为7Hz、初相为pi/5的周期信号叠加,从而得到一个准周期信号.clear;clc;A1=2;%正弦信号1幅值A2=A1;%正弦信号2幅值f1=3;%正弦信号1频率f2=sqrt(2);%正弦信号2频率t1=-pi:0.0001:pi;%时间向量1x1=A1*sin(2*pi*f1*t1+pi/11);%正弦信号1t2=-pi:0.0001:pi;%时间向量2x2=A2*sin(2*pi*f2*t2+pi/5);%正弦信号2t=t1;xt=x1+x2;%信号叠加plot(t,xt)%绘图axis([-pipi-(A1+A2)*1.1(A1+A2)*1.1])%使数据与坐标轴匹配显示title('准周期信号','FontName','黑体','FontSize',11);%显示标题xlabel('时间/t','FontName','黑体','FontSize',11);%x轴标注ylabel('幅值/A','FontName','黑体','FontSize',11);%y轴标注%---------------------------------------白噪声信号---------------------------------------%%幅值范围为-3~3的白噪声信号.clear;clc;A=3;%白噪声信号的幅值x=rand(1,128);%产生随机白噪声信号值mean_x=mean(x);%求取白噪声信号的均值y=2*A*(x-mean_x);%白噪声信号去均值plot(y);%绘制白噪声信号图axistight%使数据与坐标轴匹配显示ylim([-A*1.1A*1.1]);%设置y坐标轴范围title('\it白噪声信号','FontName','黑体','FontSize',11);%显示标题xlabel('时间/t','FontName','黑体','FontSize',11);%x轴标注ylabel('幅值/A','FontName','黑体','FontSize',11);%y轴标注%---------------------------------------------------------------------------------------%[相关曲线图]
本文标题:使用MATLAB产生各种常见的连续信号
链接地址:https://www.777doc.com/doc-1417954 .html