实验三 常见连续信号的MATLAB表示
- 格式:doc
- 大小:176.00 KB
- 文档页数:7
2连续时间信号在MATLAB中的表示2-1.利用MATLAB命令画出下列连续信号的波形图(1)>> t=0:0.01:3;>> ft=2*cos(3*t+pi/4);>> plot(t,ft),grid on;>> axis([0 3 -2.2 2.2]);>> title('2cos(3t+pi/4)')(2)>> t=0:0.01:3;>> ft=2-exp(-t);>> plot(t,ft),grid on;>> title('(2-exp(-t))u(t)')(3)>> t=-1:0.01:1;>> ft=t.*(uCT(t)-uCT(t-1));>> plot(t,ft),grid on>> axis([-1 1 -0.2 1.2]);>> title('t[u(t)-u(t-1)]')(4)>> t=-1:0.01:3;>> ft=(1+cos(pi*t)).*(uCT(t)-uCT(t-2)); >> plot(t,ft),grid on>> axis([-1 3 -0.2 2.2]);>> title('[1+cos(pi*t)][u(t)-u(t-2)]')2-2.利用MATLAB命令画出下列复信号的实部、虚部、模和辐角(1)>> t=0:0.01:3;>> ft=2+exp(i*(pi/4)*t)+exp(i*(pi/2)*t);>> subplot(2,2,1);plot(t,real(ft));title('实部');axis([0 3 0 4]);grid on;>> subplot(2,2,2);plot(t,imag(ft));title('虚部');axis([0 3 0 2]);grid on;>> subplot(2,2,3);plot(t,abs(ft));title('模');axis([0 3 0 4]);grid on;>> subplot(2,2,4);plot(t,angle(ft));title('相角');axis([0 3 0 2]);grid on;(2)t=0:0.01:3;>> ft=2*exp(i*(t+pi/4));>> subplot(2,2,1);plot(t,real(ft));title('实部');axis([0 3 0 2]);grid on;>> subplot(2,2,2);plot(t,imag(ft));title('虚部');axis([0 3 0 2]);grid on;>> subplot(2,2,3);plot(t,abs(ft));title('模');axis([0 3 0 4]);grid on;>> subplot(2,2,4);plot(t,angle(ft));title('相角');axis([0 3 0 4]);grid on;2-3.利用MATLAB命令产生幅度为1、周期为1、占空比为0.5的一个周期矩形脉冲信号>> t=-0.5:0.01:3;>> ft=square(2*pi*t,50);>> plot(t,ft);grid on;axis([-0.5 3 -1.2 1.2]);>> title('幅度为1、周期为1、占空比0.5的周期举行脉冲信号')3连续时间信号在MATLAB中的运算3-1.试用MATLAB命令绘出以下信号的波形图(1)>> syms x t;>> t=-1:0.01:1;>> x=exp(-t).*sin(10*pi*t)+exp(-0.5*t).*sin(9*pi*t);>> plot(t,x)(2)>> syms x t;>> t=-1:0.01:1;>> x=sinc(t).*cos(10*pi*t);>> plot(t,x)3-2.已知连续时间信号f(t)的波形如图3-6所示,试用MATLAB 命令画出下列信号的波形图先画出图3-6:>> t=-2:0.01:2;>>f=(-t-1).*(-uCT(t+2)+uCT(t+1))+uCT(t+1)+uCT(t)-uCT(t-1)-(t-1).*(uCT(t-1)-uCT(t-2))-uC T(t-2);>> plot(t,f)>> axis([-4 4 -1 2])>> title('图3-6')>> t=-2:0.01:2;>> f1=funct2(t-1);>> f2=funct2(2-t);>> f3=funct2(2*t+1);>> f4=funct2(4-t/2);>> f5=(funct2(t)+funct2(-t)).*uCT(t);>> subplot(231);plot(t,f1);grid on;title('f(t-1)');axis([-3 3 -1 2]);>> subplot(232);plot(t,f2);grid on;title('f(2-t)');axis([-3 3 -1 2]);>> subplot(233);plot(t,f3);grid on;title('f(2t-1)');axis([-3 3 -1 2]);>> subplot(234);plot(t,f4);grid on;title('f(4-t/2)');axis([-3 3 -1 2]);>> subplot(235);plot(t,f5);grid on;title('(f(t)+f(-t))u(t)');axis([-3 3 -1 2]);3-3.试用MATLAB命令绘出如图3-7所示信号的偶分量和奇分量>> t=0:0.01:2;>> f=(uCT(t)-uCT(t-2)).*(-t+1);>> plot(t,f);title('图3-7')>> f1=fliplr(f);>> fe=(f+f1)/2;fo=(f-f1)/2;>> subplot(211),plot(t,fe);grid on>> title('fe')>> subplot(212),plot(t,fo);grid on;title('fo')4连续时间信号的卷积计算4-1用MATLAB命令绘出下列信号的卷积积分的时域波形图>> dt=0.001;t1=-0.5:dt:3.5;>> f1=uCT(t1)-uCT(t1-2);>> t2=t1;>> f2=uCT(t2)+uCT(t2-1)-uCT(t2-2)-uCT(t2-3);>> [t,f]=ctsconv(f1,f2,t1,t2,dt);6周期信号的傅里叶级数及频谱分析6-1已知周期三角信号如图6-5所示,试求出该信号的傅里叶级数,利用MATLAB编程实现其各次谐波的叠加,并验证其收敛性。
实验一连续时间信号的Matlab表示一、实验目的1、学会运用Matlab表示常用连续时间信号的方法2、观察并熟悉这些信号的波形和特性.二、实验原理连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点之外,信号都有确定的值与之对应。
严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。
当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。
在MATLAB可视化绘图中,对于以t为自变量的连续信号,在绘图时统一用plot函数;而对n为自变量的离散序列,在绘图时统一用stem函数。
对于连续时间信号f(t),可用f、t两个行向量来表示。
例:t=-10:1.5:10;f=sin(t)./ t ;可以产生t= -10~10,间隔1.5的序列以及t tf)sin(=的值。
用命令:plot(t,f)可得如下图形,显然显示效果较差,这是因为t的间隔过大,只要改变为:t=-10:0.5:10;可得图1.2。
图1.1 图1.21. 信号的时域表示方法MATLAB提供了大量用以生成基本信号的函数,比如最常用的指数信号、正弦信号等就是MATLAB的内部函数,即不需要安装任何工具箱就可以调用的函数。
(1)单位阶跃信号u(t)function y=heaviside(t) %阶跃信号y = (t>=0);(2)单位冲激信号δ(t)f=dirac (t) 或function y = delta(t)dt = 0.01;y = (u(t)-u(t-dt))/dt;(3)指数信号指数信号atAe 在MATLAB 中可以用exp 函数表示,其调用形式为:y=A*exp(a*t)指数衰减信号的MATLAB 源程序如下(取A=2,a=-0.4):A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;(4)正弦信号正弦信号)cos(ϕω+t A o 和)sin(ϕω+t A o 分别用MATLAB 的内部函数cos 和sin 表示,其调用形式为:)*cos(*phi t A o +ω)*sin(*phi t A o +ω MATLAB 源程序如下(取A=1,πω20=,6/πϕ=): A=1;w0=2*pi;phi=pi/6;t=0:0.01:8;ft=A*sin(w0*t+phi); plot(t,ft);grid on;单边指数衰减信号 正弦信号 除了内部函数外,在信号处理工具箱(Signal Processing Toolbox )中还提供了诸如抽样 函数、矩形波、三角波、周期性矩形波和周期性三角波等在信号处理中常用的信号。
5 常用信号的MATLAB表示5.1单位冲激函数、单位冲激序列示例7:t = -5:0.01:5;y = (t==0);subplot(121);plot(t, y, 'r');n = -5:5;x = (n==0);subplot(122);stem(n, x);图5运行结果如图5所示。
程序说明:(1)由n = -5:5得到一个1×11数组n;而在x = (n==0)中,n==0是一个向量运算,即向量n中的每一个元素与0比较是否相等,其比较结果0或1放在x中。
这样得到的向量x也是1×11数组,且正好就是单位冲激序列。
(2)在MATLAB中,任何向量x的下标是从1开始的,不能取零或负值,而x(n)中的时间变量n则不此受限制。
因此向量x的下标与时间变量n是两个概念,如本例中向量x(n)的下标是从1到11,而时间变量n是从-5到5。
所以必须用一个与向量x等长的定位时间变量n,以及向量x,才能完整地表示序列x(n)。
在信号的表示和运算中,这一点请务必注意;只有当序列x(n)的时间变量正好是从1开始时,才能省去时间变量n,因为此时向量的下标与时间变量相同。
(3)单位冲激函数的实现方法实际上与单位冲激序列是完全相同的,都是用序列表示。
只不过表示连续时间信号的序列中两相邻元素所对应的时间间隔更小,如本例中t的间隔为0.01,而表示离散时间信号的序列中两相邻元素所对应的时间间隔一般为1。
由于单位冲激序列在信号与系统中经常使用,我们专门编制一个函数文件delta.m,在后面的实验部分直接调用该函数即可产生需要的波形。
% delta.mfunction [x, n] = delta(n1,n2,k)% 产生冲激序列δ(n-k),其中n1<=n<=n 2, n1<=k<=n2if nargin ~=3disp('输入不正确,输入参数要有三个!');return;elseif ((k<n1)|(k>n2)|(n1>n2))error('输入不正确,输入参数要应满足n1<=k<=n2!')endn = n1:n2;x = ((n-k)==0);5.2单位阶跃函数、单位阶跃序列只要将前面冲激函数(示例7)中的关系运算“==”改为“>=”,就可得到单位阶跃函数、单位冲激序列,如图6所示。
目录实验一、MATLAB 基本应用实验二、实验二信号的时域表示实验三、连续信号卷积实验四、典型周期信号的频谱表示实验五、傅立叶变换性质研究实验六、系统的零极点分析实验七离散信号分析实验一 MATLAB 基本应用一、实验目的:学习MATLAB的基本用法,了解 MATLAB 的目录结构和基本功能以及MATLAB在信号与系统中的应用。
二、实验内容:例一已知x的取值范围,画出y=sin(x)的图型。
参考程序:x=0:0.05:4*pi;y=sin(x);plot(y)例二计算y=sin(π/5)+4cos(π/4)例三已知z 取值范围,x=sin(z);y=cos(z);画三维图形。
z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)xlabel('x')ylabel('y')zlabel('z')例四已知x的取值范围,用subplot函数绘图。
参考程序:x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(2,2,1),plot(x,y1),title('sin(x)') subplot(2,2,2),plot(x,y2),title('1.5*cos(x)') subplot(2,2,3),plot(x,y3),title('sin(2*x)') subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')单位阶跃信号 u(t+3)-2u(t)其中 u(t)=1/2+(1/2)sign(t)Sigh(t)是符号函数t>0时为1,t<0时为-1;clear all%利用maple中的heaviside函数来实现u(t+3)-2u(t)syms tf=maple('Heaviside(t+3)-2*Heaviside(t)');t1=-3*pi:0.01:3*pi;%注意精度问题ff=subs(f,t,t1);figure(1);plot(t1,ff);axis([-5,5,-1.2,1.2]);title('u(t+3)-2u(t)');%利用自己编写的heaviside函数来实现u(t+3)-2u(t)t=-5:0.01:5;f=Heaviside(t+3)-2*Heaviside(t);figure(2);plot(t,f);axis([-5,5,-1.2,1.2]);title('u(t+3)-2u(t)')%利用符号函数来实现u(t)t=-5:0.05:5;f=sign(t);ff=1/2+1/2*f;figure(3);plot(t,ff);axis([-5 5 -0.1 1.1]);title('u(t)')%利用符号函数来实现u(t+3)-2u(t)t=-5:0.01:5;f=(1/2+1/2*sign(t+3))-2*(1/2+1/2*sign(t));figure(4)plot(t,f),axis([-5,5,-1.2,1.2]),title('u(t+3)-2u(t)')MATLAB提供了一个ezplot函数绘制隐函数图形,下面介绍其用法。
信号上机实验三通信学院电子信息科学与技术1102班凤鹏涛1107080230信号上机实验三1、实验目的1、掌握信号时域运算的MATLAB实现方法。
2、掌握信号时域变换的MATLAB实现方法2、实验原理信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换3、实验内容1、将实验原理中提到的例子在计算机上全部练习一遍;解:例3-2. 求下列两序列的和序列:f1(k)={-2,-1,0,1,2}, f2(k)={1,1,1,}其MATLAB命令为function[f,k]=isxj(f1,f2,k1,k2)k=min(min(k1),min(k2)):max(max(k1),max(k2));s1=zeros(1,length(k));s2=s1;s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;s2(find((k>=min(k2))&(k<=max(k2))==1))=f2;f=s1+s2;stem(k,f,'filled')axis([(min(min(k1),min(k2))-1),(max(max(k1),max(k2))+1),(min(f)-0.5), (max(f)+0.5)])例3-3:己知f(k)=2k -3≤k≤3,画出f(-k)波形。
function[f,k]=isfz(f1,k1)f=fliplr(f1);k=-fliplr(k1);stem(k,f,'filled')axis([min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5])例3-4. 己知f(k)=k2 -4≤k≤4,画出f(k-2)波形。
function[f,k]=isyw(ff,kk,k0)k=kk+k0;f=ff;stem(k,f,'filled')axis([min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5])2、已知信号,画出的波形;解;3、已知两个连续信号,用MATLAB绘出下列信号的波形:1) 2)3) 4)解;4、离散序列,用MATLAB绘出下列序列的波形。
matlab连续信号的时域分析1.连续信号的波形表示(单边指数信号、正弦信号、复指数信号、Sinc函数、单位阶跃信号、单位冲击信号)2.信号的基本运算(相加、相乘、反折、移位、尺度变换)3.信号的奇偶分解1.连续信号的波形表示(单边指数信号、正弦信号、复指数信号、Sinc函数、单位阶跃信号、单位冲击信号)新建M-File:u.mfunctiony=u(t)y=(t>0);enda>>t=linpace(0,3,1000);>>y=e某p(-t).某co(10某pi某t).某[u(t-1)-u(t-2)];>>plot(t,y,'r');>>gridon;>>某label('t'),ylabel('f(t)')b>>t=linpace(-5某pi,5某pi,1000);>>Sa=in(t)./t;>>plot(t,Sa);>>gridon;>>某label('t'),ylabel('Sa(t)')1.连续信号的波形表示(单边指数信号、正弦信号、复指数信号、Sinc函数、单位阶跃信号、单位冲击信号)2.信号的基本运算(相加、相乘、反折、移位、尺度变换)3.信号的奇偶分解c>>t=linpace(0,3,1000);>>y=e某p(1-t).某[u(t-1)-u(t-2)];>>plot(t,y);>>gridon;某label('t'),ylabel('y')>>t=linpace(-5,5,1000);>>y=in(3某t-5)./(3某t-5);>>plot(t,y);gridon;某label('t'),ylabel('y')>>a某i([-2,5,-0.4,1.5]);d>>t=linpace(-3,7,1000);>>y=0.5某[ign(t-2)+1];>>plot(t,y);gridon;某label('t'),ylabel('y')>>a某i([-3,7,-1,2]);1.连续信号的波形表示(单边指数信号、正弦信号、复指数信号、Sinc函数、单位阶跃信号、单位冲击信号)2.信号的基本运算(相加、相乘、反折、移位、尺度变换)3.信号的奇偶分解e>>t=linpace(-3,5,1000);>>y=2某[u(t-1)-u(t-1.5)];>>plot(t,y,'r');gridon;>>a某i([-3,5,-0.5,3]);f>>t=linpace(0,10,1000);>>y=e某p((0.5+j某10)某t);>>ubplot(1,2,1),plot(t,real(y)),gridon;某label('t'),ylabel('real(y)');>>ubplot(1,2,2),plot(t,imag(y)),gridon;某label('t'),ylabel('imag(y)');1.连续信号的波形表示(单边指数信号、正弦信号、复指数信号、Sinc函数、单位阶跃信号、单位冲击信号)2.信号的基本运算(相加、相乘、反折、移位、尺度变换)3.信号的奇偶分解2.信号的基本运算(相加、相乘、反折、移位、尺度变换)>>t=linpace(-3,3,1000);>>a=2;>>y=in(a某t)+in(8某a某t);>>plot(t,y,'r');gridon;>>a某i([-3,3,-3,3]);>>t=linpace(-3,3,1000);>>a=2;y=in(a某t).某in(8某a某t);plot(t,y,'r');gridon;a某i([-3,3,-3,3]);新建M-File:f.mfunctiony=f(某)y=u(某+2)-u(某)+(1-某).某[u(某)-u(某-1)];>>某=linpace(-3,3,1000);>>ubplot(2,2,1),plot(某,f(某)),gridon;某label('某'),ylabel('f(某)');a某i([-3,3,-0.5,1.5]);>>ubplot(2,2,2),plot(某,f(某-2)),gridon;某label('某'),ylabel('f(某-2)');a某i([-3,3,-0.5,1.5]);>>ubplot(2,2,3),plot(某,f(3某某-2)),gridon;某label('某'),ylabel('f(3某-2)');a某i([-3,3,-0.5,1.5]);>>ubplot(2,2,4),plot(某,f(-3某某-2)),gridon;某label('某'),ylabel('f(-3某-2)');a某i([-3,3,-0.5,1.5]);1.连续信号的波形表示(单边指数信号、正弦信号、复指数信号、Sinc函数、单位阶跃信号、单位冲击信号)2.信号的基本运算(相加、相乘、反折、移位、尺度变换)3.信号的奇偶分解3.信号的奇偶分解新建M-File:g.mfunctiony=g(某)y=co(0.5某pi某某).某[u(某+1)-u(某-1)]-co(0.5某pi某某).某[u(某-1)-u(某-3)];>>某=linpace(-3,3,1000);>>ubplot(3,1,1),plot(某,g(某)),gridon;某label('某'),ylabel('g(某)');a某i([-3,3,-0.5,1.5]);>>ubplot(3,1,2),plot(某,0.5某[g(某)+g(-某)]),gridon;某label('某'),ylabel('ge(某)');a某i([-3,3,-0.5,1.5]);>>ubplot(3,1,3),plot(某,0.5某[g(某)-g(-某)]),gridon;某label('某'),ylabel('go(某)');a某i([-3,3,-0.5,1.5]);新建M-File:h.mfunctiony=h(某)y=(1-某).某[u(某)-u(某-2)];>>某=linpace(-2,2,1000);>>ubplot(3,1,1),plot(某,h(某)),gridon;某label('某'),ylabel('h(某)');a某i([-2,2,-1.5,1.5]);>>ubplot(3,1,2),plot(某,0.5某[h(某)+h(-某)]),gridon;某label('某'),ylabel('he(某)');a某i([-2,2,-1.5,1.5]);>>ubplot(3,1,3),plot(某,0.5某[h(某)-h(-某)]),gridon;某label('某'),ylabel('ho(某)');a某i([-2,2,-1.5,1.5]);1.连续信号的波形表示(单边指数信号、正弦信号、复指数信号、Sinc函数、单位阶跃信号、单位冲击信号)2.信号的基本运算(相加、相乘、反折、移位、尺度变换)3.信号的奇偶分解。
实验三常见信号的MATLAB 表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法二、实验原理根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法;在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了;1.连续时间信号从严格意义上讲,MATLAB 并不能处理连续信号;在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号;在MATLAB 中连续信号可用向量或符号运算功能来表示; ⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔;向量f 为连续信号()f t 在向量t 所定义的时间点上的样值; ⑵ 符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot 等函数来绘出信号的波形; ⑶ 常见信号的MATLAB 表示 单位阶跃信号单位阶跃信号的定义为:10()0t u t t >⎧=⎨<⎩方法一: 调用Heavisidet 函数首先定义函数Heavisidet 的m 函数文件,该文件名应与函数名同名即;%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y function y= Heavisidety=t>0; %定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际的阶跃信号定义的区别;方法二:数值计算法在MATLAB 中,有一个专门用于表示单位阶跃信号的函数,即stepfun 函数,它是用数值计算法表示的单位阶跃函数()u t ;其调用格式为:stepfunt,t0其中,t 是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零;有趣的是它同时还可以表示单位阶跃序列()u k ,这只要将自变量以及取样间隔设定为整数即可; 符号函数符号函数的定义为:10sgn()1t t t >⎧=⎨-<⎩在MATLAB 中有专门用于表示符号函数的函数sign ,由于单位阶跃信号 t 和符号函数两者之间存在以下关系:1122()sgn()t t ε=+,因此,利用这个函数就可以很容易地生成单位阶跃信号;2.离散时间信号离散时间信号又叫离散时间序列,一般用()f k 表示,其中变量k 为整数,代表离散的采样时间点采样次数;在MATLAB 中,离散信号的表示方法与连续信号不同,它无法用符号运算法来表示,而只能采用数值计算法表示,由于MATLAB 中元素的个数是有限的,因此,MATLAB 无法表示无限序列;另外,在绘制离散信号时必须使用专门绘制离散数据的命令,即stem 函数,而不能用plot 函数; 单位序列()k δ单位序列()k δ的定义为10()0k k k δ=⎧=⎨≠⎩单位阶跃序列()u k单位阶跃序列()u k 的定义为10()0k u k k ≥⎧=⎨<⎩3.卷积积分两个信号的卷积定义为:MATLAB 中是利用conv 函数来实现卷积的;功能:实现两个函数1()f t 和2()f t 的卷积;格式:g=convf1,f2说明:f1=f 1t,f2=f 2t 表示两个函数,g=gt 表示两个函数的卷积结果;三、实验内容1.分别用MATLAB 的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形: ⑴ 2()(2)()tf t e u t -=- ⑵[]()cos()()(4)2tf t u t u t π=--1 t=-1::10;t1=-1::; t2=0::10;f1=zeros1,lengtht1,ones1,lengtht2;f=2-exp-2t.f1; plott,faxis-1,10,0, syms t;f=sym'2-exp-2theavisidet'; ezplotf,-1,10;2t=-2::8;f=0.t<0+cospit/2.t>0&t<4+0.t>4; plott,f syms t;f=sym'cospit/2heavisidet-heavisidet-4 '; ezplotf,-2,8;2.分别用MATLAB 表示并绘出下列离散时间信号的波形: ⑵ []()()(8)f t k u k u k =-- ⑶()sin()()4k f k u k π= 2 t=0:8; t1=-10:15;f=zeros1,10,t,zeros1,7; stemt1,faxis-10,15,0,10; 3 t=0:50; t1=-10:50;f=zeros1,10,sintpi/4; stemt1,faxis-10,50,-2,23.已知两信号1()(1)()f t u t u t =+-,2()()(1)f t u t u t =--,求卷积积分12()()()g t f t f t =*,并与例题比较;t1=-1::0; t2=0::1; t3=-1::1;f1=onessizet1; f2=onessizet2; g=convf1,f2;subplot3,1,1,plott1,f1; subplot3,1,2,plott2,f2; subplot3,1,3,plott3,g;与例题相比较,gt 的定义域不同,最大值对应的横坐标也不同;4.已知{}{}12()1,1,1,2,()1,2,3,4,5f k f k ==,求两序列的卷积和 ;N=4; M=5; L=N+M-1; f1=1,1,1,2;f2=1,2,3,4,5; g=convf1,f2; kf1=0:N-1; kf2=0:M-1; kg=0:L-1;subplot1,3,1,stemkf1,f1,'k';xlabel'k'; ylabel'f1k';grid onsubplot1,3,2,stemkf2,f2,'k';xlabel'k'; ylabel'f2k';grid onsubplot1,3,3;stemkg,g,'k';xlabel'k'; ylabel'gk';grid on 实验心得:第一次接触Mutlab 这个绘图软件,觉得挺新奇的,同时 ,由于之前不太学信号与系统遇到一些不懂的问题,结合这些图对信号与系统有更好的了解;实验四 连续时间信号的频域分析一、实验目的1.熟悉傅里叶变换的性质 2.熟悉常见信号的傅里叶变换3.了解傅里叶变换的MATLAB 实现方法二、实验原理从已知信号()f t 求出相应的频谱函数()F j ω的数学表示为:()F j ω()j t f t e dt ω∞--∞=⎰傅里叶反变换的定义为:1()()2j t f t F j e d ωωωπ∞-∞=⎰在MATLAB 中实现傅里叶变换的方法有两种,一种是利用MATLAB 中的Symbolic Math Toolbox 提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法;1.直接调用专用函数法①在MATLAB 中实现傅里叶变换的函数为:F=fourier f 对ft 进行傅里叶变换,其结果为Fw F =fourierf,v 对ft 进行傅里叶变换,其结果为Fv F=fourier f,u,v 对fu 进行傅里叶变换,其结果为Fv ②傅里叶反变换f=ifourier F 对Fw 进行傅里叶反变换,其结果为fx f=ifourierF,U 对Fw 进行傅里叶反变换,其结果为fu f=ifourier F,v,u 对Fv 进行傅里叶反变换,其结果为fu 注意:1在调用函数fourier 及ifourier 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对fourier 中的f 及ifourier 中的F 也要用符号定义符sym 将其说明为符号表达式;2采用fourier 及fourier 得到的返回函数,仍然为符号表达式;在对其作图时要用ezplot 函数,而不能用plot 函数;3fourier 及fourier 函数的应用有很多局限性,如果在返回函数中含有δω等函数,则ezplot 函数也无法作出图来;另外,在用fourier 函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达的式子,则此时当然也就无法作图了;这是fourier 函数的一个局限;另一个局限是在很多场合,尽管原时间信号ft 是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值;2、傅里叶变换的数值计算实现法严格说来,如果不使用symbolic 工具箱,是不能分析连续时间信号的;采用数值计算方法实现连续时间信号的傅里叶变换,实质上只是借助于MATLAB 的强大数值计算功能,特别是其强大的矩阵运算能力而进行的一种近似计算;傅里叶变换的数值计算实现法的原理如下: 对于连续时间信号ft,其傅里叶变换为:其中τ为取样间隔,如果ft 是时限信号,或者当|t|大于某个给定值时,ft 的值已经衰减得很厉害,可以近似地看成是时限信号,则上式中的n 取值就是有限的,假定为N,有: 若对频率变量ω进行取样,得: 通常取:02k k k MM ωπωτ==,其中0ω是要取的频率范围,或信号的频带宽度;采用MATLAB 实现上式时,其要点是要生成ft 的N 个样本值()f n τ的向量,以及向量k j n eωτ-,两向量的内积即两矩阵的乘积,结果即完成上式的傅里叶变换的数值计算;注意:时间取样间隔τ的确定,其依据是τ必须小于奈奎斯特Nyquist 取样间隔;如果ft 不是严格的带限信号,则可以根据实际计算的精度要求来确定一个适当的频率0ω为信号的带宽;三、 实验内容1.编程实现求下列信号的幅度频谱1 求出1()(21)(21)f t u t u t =+--的频谱函数F 1jω,请将它与上面门宽为2的门函数()(1)(1)f t u t u t =+--的频谱进行比较,观察两者的特点,说明两者的关系;2 三角脉冲21||||1()0||1t t f t t -≤⎧=⎨>⎩3 单边指数信号3()()tf t e t ε-=4 高斯信号23()t f t e -=1 syms t w Gt=sym'Heaviside2t+1-Heaviside2t-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw; ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0与()(1)(1)f t u t u t =+--的频谱比较,1()(21)(21)f t u t u t =+--的频谱函数F 1jω最大值是其的1/2; 2syms t w;Gt=sym'1+tHeavisidet+1-Heavisidet+1-tHeavisidet-Heavisidet-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw; ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0 3syms t w Gt=sym'exp-tHeavisidet';Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw; ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi -1 2 4syms t w Gt=sym'exp-t^2';Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; ezplotFFw,-30 30;grid; axis-30 30 -1 22.利用ifourier 函数求下列频谱函数的傅氏反变换122()16F j j ωωω=-+ 222()58()()65j j F j j j ωωωωω+-=++1syms t w Fw=sym'-i2w/16+w^2'; ft=ifourierFw,w,t; ft运行结果: ft =-exp4theaviside-t+exp-4theavisidet 2syms t wFw=sym'iw^2+5iw-8/iw^2+6iw+5'; ft=ifourierFw,w,t; ft运行结果: ft =diract+-3exp-t+2exp-5theavisidet实验心得matlab 不但具有数值计算能力,还能建模仿真,能帮助我们理解不同时间信号的频域分析;实验五 连续时间系统的频域分析一、实验目的1. 学习由系统函数确定系统频率特性的方法;2. 学习和掌握连续时间系统的频率特性及其幅度特性、相位特性的物理意义;3.通过本实验了解低通、高通、带通、全通滤波器的性能及特点;二、实验原理及方法频域分析法与时域分析法的不同之处主要在于信号分解的单元函数不同;在频域分析法中,信号分解成一系列不同幅度、不同频率的等幅正弦函数,通过求取对每一单元激励产生的响应,并将响应叠加,再转换到时域以得到系统的总响应;所以说,频域分析法是一种变域分析法;它把时域中求解响应的问题通过 Fourier 级数或 Fourier 变换转换成频域中的问题;在频域中求解后再转换回时域从而得到最终结果;在实际应用中,多使用另一种变域分析法:复频域分析法,即 Laplace 变换分析法;所谓频率特性,也称频率响应特性,是指系统在正弦信号激励下稳态响应随频率变化的情况,包括幅度随频率的响应和相位随频率的响应两个方面;利用系统函数也可以确定系统频率特性,公式如下:幅度响应用()ωj H 表示,相位响应用)(ωϕH 表示;本实验所研究的系统函数Hs 是有理函数形式,也就是说,分子、分母分别是m 、n 阶多项式; 要计算频率特性,可以写出为了计算出()ωj H 、)(ωϕH 的值,可以利用复数三角形式的一个重要特性: 而⎥⎦⎤⎢⎣⎡+=2sin 2cosππωωj j ,则()⎥⎦⎤⎢⎣⎡+=2sin 2cos ππωωn j n j n n利用这些公式可以化简高次幂,因此分子和分母的复数多项式就可以转化为分别对实部与虚部的实数运算,算出分子、分母的实部、虚部值后,最后就可以计算出幅度()ωj H 、相位)(ωϕH 的值了;三、实验内容a)sm m ms H )(1)(2-+=,m 取值区间 0,1,绘制一组曲线 m=,,,,; b) 绘制下列系统的幅频响应对数曲线和相频响应曲线,分析其频率特性; a %figurealpha=,,,,;colorn='r' 'g' 'b' 'y' 'k'; % r g b y m c k 红,绿,蓝,黄,品红,青,黑 for n=1:5b=0 alphan; % 分子系数向量a=alphan-alphan^2 1; % 分母系数向量 printsysb,a,'s' Hz,w=freqsb,a; w=w./pi; magh=absHz;zerosIndx=findmagh==0; maghzerosIndx=1; magh=20log10magh; maghzerosIndx=-inf; angh=angleHz;angh=unwrapangh180/pi; subplot1,2,1plotw,magh,colornn;hold onsubplot1,2,2plotw,angh,colornn;hold onendsubplot1,2,1hold offxlabel'特征角频率\times\pi rad/sample' title'幅频特性曲线 |Hw| dB';subplot1,2,2hold offxlabel'特征角频率 \times\pi rad/sample' title'相频特性曲线 \thetaw degrees';b1 %b=1,0; % 分子系数向量a=1,1; % 分母系数向量printsysb,a,'s'Hz,w=freqsb,a;w=w./pi;magh=absHz;zerosIndx=findmagh==0;maghzerosIndx=1;magh=20log10magh; % 以分贝maghzerosIndx=-inf;angh=angleHz;angh=unwrapangh180/pi; % 角度换算figuresubplot1,2,1plotw,magh;grid onxlabel'特征角频率\times\pi rad/sample'title'幅频特性曲线 |Hw| dB';subplot1,2,2plotw,angh;grid onxlabel'特征角频率 \times\pi rad/sample'title'相频特性曲线 \thetaw degrees';2 %b=0,1,0; % 分子系数向量a=1,3,2; % 分母系数向量printsysb,a,'s'Hz,w=freqsb,a;w=w./pi;magh=absHz;zerosIndx=findmagh==0;maghzerosIndx=1;magh=20log10magh; % 以分贝maghzerosIndx=-inf;angh=angleHz;angh=unwrapangh180/pi; % 角度换算figuresubplot1,2,1plotw,magh;grid onxlabel'特征角频率\times\pi rad/sample'title'幅频特性曲线 |Hw| dB';subplot1,2,2plotw,angh;grid onxlabel'特征角频率 \times\pi rad/sample'title'相频特性曲线 \thetaw degrees';3 %b=1,-1; % 分子系数向量a=1,1; % 分母系数向量printsysb,a,'s'Hz,w=freqsb,a;w=w./pi;magh=absHz;zerosIndx=findmagh==0;maghzerosIndx=1;magh=20log10magh; % 以分贝maghzerosIndx=-inf;angh=angleHz;angh=unwrapangh180/pi; % 角度换算figuresubplot1,2,1plotw,magh;grid onxlabel'特征角频率\times\pi rad/sample'title'幅频特性曲线 |Hw| dB';subplot1,2,2plotw,angh;grid onxlabel'特征角频率 \times\pi rad/sample'title'相频特性曲线 \thetaw degrees';实验心得:虽然之前用公式转换到频域上分析,但是有时会觉得挺抽象的,不太好理解;根据这些图像结合起来更进一步对信号的了解;同时,这个在编程序时,虽然遇到一些问题,但是总算解决了;实验六离散时间系统的Z域分析一、 实验目的1. 学习和掌握离散系统的频率特性及其幅度特性、相位特性的物理意义;2. 深入理解离散系统频率特性和对称性和周期性;3. 认识离散系统频率特性与系统参数之间的系统4.通过阅读、修改并调试本实验所给源程序,加强计算机编程能力; 二、 实验原理及方法对于离散时间系统,系统单位冲激响应序列)(n h 的 Fourier 变换)(ωj e H 完全反映了系统自身的频率特性,称)(ωj eH 为离散系统的频率特性,可由系统函数)(z H 求出,关系式如下:ωωj j e z z H e H ==)()( 6 – 1由于ωj e是频率的周期函数,所以系统的频率特性也是频率的周期函数,且周期为π2,因此研究系统频率特性只要在πωπ≤≤-范围内就可以了;∑∑∑∞-∞=∞-∞=∞-∞=--==n n n j j n n h j n n h en h e H )sin()()cos()()()(ωωωω6 – 2容易证明,其实部是ω的偶函数,虚部是ω的奇函数,其模ωj e H (的ω的偶函数,相位[])(arg ωj e H 是ω的奇函数;因此研究系统幅度特性)(ωj e H 、相位特性[])(arg ωj e H ,只要在πω≤≤0范围内讨论即可;综上所述,系统频率特性)(ωj eH 具有周期性和对称性,深入理解这一点是十分重要的;当离散系统的系统结构一定,它的频率特性)(ωj e H 将随参数选择的不同而不同,这表明了系统结构、参数、特性三者之间的关系,即同一结构,参数不同其特性也不同; 例如,下图所示离散系统,其数学模型由线性常系数差分方程描述:)()1()(n x n ay n y +-=系统函数:a z az z z H >-=,)(系统函数频率特性:ωωωωωsin )cos 1(1)(ja a a e e e H j j j +-=-=幅频特性:ωωcos 211)(2a a eH j -+=相频特性:[]ωωωcos 1sin arctan)(arg a a eH j --= 容易分析出,当10<<a 时系统呈低通特性,当01<<-a 时系统呈高通特性;当0=a 时系统呈全通特性;同时说明,在系统结构如图所示一定时,其频率特性随参数a 的变化而变化;三、 实验内容a 2281.011)(----=z z z H ;b 1.04.06.01.03.03.01.0)(2323+++-+-=z z z z z z z Hc 2181.011)(--+-=zz z H a %b=1,0,-1; % 分子系数向量a=1,0,; % 分母系数向量printsysb,a,'z'Hz,w=freqzb,a;w=w./pi;magh=absHz;zerosIndx=findmagh==0;maghzerosIndx=1;magh=20log10magh; % 以分贝maghzerosIndx=-inf;angh=angleHz;angh=unwrapangh180/pi; % 角度换算figuresubplot1,2,1plotw,magh;grid onxlabel'特征角频率\times\pi rad/sample'title'幅频特性曲线 |Hw| dB';subplot1,2,2plotw,angh;grid onxlabel'特征角频率 \times\pi rad/sample'title'相频特性曲线 \thetaw degrees';带通b %b=,,,; % 分子系数向量a=1,,,; % 分母系数向量printsysb,a,'z'Hz,w=freqzb,a;w=w./pi;magh=absHz;zerosIndx=findmagh==0;maghzerosIndx=1;magh=20log10magh; % 以分贝maghzerosIndx=-inf;angh=angleHz;angh=unwrapangh180/pi; % 角度换算figuresubplot1,2,1plotw,magh;grid onxlabel'特征角频率\times\pi rad/sample'title'幅频特性曲线 |Hw| dB';subplot1,2,2plotw,angh;grid onxlabel'特征角频率 \times\pi rad/sample'title'相频特性曲线 \thetaw degrees';高通c %b=1,-1,0; % 分子系数向量a=1,0,; % 分母系数向量printsysb,a,'z'Hz,w=freqzb,a;w=w./pi;magh=absHz;zerosIndx=findmagh==0;maghzerosIndx=1;magh=20log10magh; % 以分贝maghzerosIndx=-inf;angh=angleHz;angh=unwrapangh180/pi; % 角度换算figuresubplot1,2,1plotw,magh;grid onxlabel'特征角频率\times\pi rad/sample'title'幅频特性曲线 |Hw| dB';subplot1,2,2plotw,angh;grid onxlabel'特征角频率 \times\pi rad/sample'title'相频特性曲线 \thetaw degrees';带通实验心得:本来理论知识不是很强的,虽然已经编出程序得到相关图形,但是不会辨别相关通带,这让我深刻地反省;。
实验一典型连续时间信号和离散时间信号一、实验目的掌握利用Matlab画图函数和符号函数显示典型连续时间信号波形、典型时间离散信号、连续时间信号在时域中的自变量变换。
二、实验内容1、典型连续信号的波形表示(单边指数信号、复指数信号、抽样信号、单位阶跃信号、单位冲击信号)1)画出教材P28习题1-1(3) ()[(63)(63)]t=----的波形图。
f t e u t u t2)画出复指数信号()()j t f t e σω+=当0.4, 8σω==(0<t<10)时的实部和虚部的波形图。
t=0:0.01:10;f1='exp(0.4*t)*cos(8*t)';f2='exp(0.4*t)*sin(8*t)';figure(1)ezplot(f1,t);grid on;figure(2)ezplot(f2,t);grid on;3)画出教材P16图1-18,即抽样信号Sa(t)的波形(-20<t<20)。
t=-10:0.01:10;f='sin(t)/t';ezplot(f,t);grid on;4)用符号函数sign画出单位阶跃信号u(t-3)的波形(0<t<10)。
t=0:0.01:10;f='(sign(t-3)+1)/2';ezplot(f,t);grid on;5)单位冲击信号可看作是宽度为∆,幅度为1/∆的矩形脉冲,即t=t 1处的冲击信号为11111 ()()0 t t t x t t t otherδ∆⎧<<+∆⎪=-=∆⎨⎪⎩画出0.2∆=, t 1=1的单位冲击信号。
t=0:0.01:2;f='5*(u(t-1)-u(t-1.2))';ezplot(f,t);grid on;axis([0 2 -1 6]);2、典型离散信号的表示(单位样值序列、单位阶跃序列、实指数序列、正弦序列、复指数序列)编写函数产生下列序列:1)单位脉冲序列,起点n0,终点n f,在n s处有一单位脉冲。
实验1 时域连续信号的表示及运算一、 实验目的1.掌握常用时域连续信号的MA TLAB 表示方法。
2.掌握连续信号的基本运算,包括信号相加与相乘、微分与积分、平移、反转、尺度变换、奇偶分解、卷积积分等。
二、 实验原理及方法MATLAB 利用连续信号在等时间间隔点的采样值来近似表示连续信号。
1. 常用连续信号的MA TLAB 表示(1) 单位阶跃信号)(t u ,MA TLAB 中用Heaviside 表示,如图1-1所示;或者t图1-1 单位阶跃信号function f=u(t) %自定义阶跃函数f=(t>=0);(2) 单位冲激信号)(t ,MA TLAB 中用Dirac 表示,如图1-2所示;图1-2 单位冲激信号(3) 符号函数)sgn(t ,MA TLAB 中用Sign 表示,如图1-3所示;t图1-3 符号函数MATLAB 源程序:t=sym('t')y=heaviside(t); ezplot(y,[-1 1]); grid onaxis([-1 1 -0.1 1.1]);MATLAB 源程序: t=-1:0.01:1; t=sym('t') y=dirac(t); ezplot(y,t); grid onMATLAB 源程序: t=-1:0.01:1; y=sign(t); plot(t,y); grid onaxis([-1 1 -1.1 1.1]);(4) 取样信号)(t Sa ,如图1-4所示;图1-4 取样信号t(5) 常用连续信号及其MATLAB 表示如表1-1所示。
表1-1 常用连续信号及其MA TLAB 函数2. 连续信号的基本运算(1) 信号的微分与积分对于连续时间信号,其微分运算是用diff 函数来完成的。
diff (function,’variable’,n ):function 表示需要进行求导运算的信号,或者被赋值的符号表MATLAB 源程序: t=-10*pi:0.1:10*pi; y= sinc(t/pi); plot(t,y); grid onaxis([-10 10 -0.3 1.1]);达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。
1、用MATLAB命令函数分别绘出抽样信号、矩形脉冲信号、周期矩形脉冲信号、三角波脉冲信号、三角波周期信号的波形,理解其中参数的意义。
t=-20:0.01:20;f10=sinc(t);f20=rectpuls(t,2);f30=square(t,2);f40=tripuls(t,0.5);f50=sawtooth(t,0.5);subplot(5,1,1);plot(t,f10);axis([-10,10,-2,2]);subplot(5,1,2);plot(t,f20);axis([-10,10,-2,2]);subplot(5,1,3);plot(t,f30);axis([-10,10,-2,2]);subplot(5,1,4);plot(t,f40);axis([-10,10,-2,2]);subplot(5,1,5);plot(t,f50);axis([-10,10,-2,2]);t=-20:0.01:20;f20=rectpuls(t,2);f21=rectpuls(t,4);f22=rectpuls(t,8);f23=rectpuls(t,16); f24=rectpuls(t,32); subplot(5,1,1);plot(t,f20);axis([-10,10,-2,2]); subplot(5,1,2);plot(t,f21);axis([-10,10,-2,2]); subplot(5,1,3);plot(t,f22);axis([-10,10,-2,2]); subplot(5,1,4);plot(t,f23);axis([-10,10,-2,2]); subplot(5,1,5);plot(t,f24);axis([-18,18,-2,2]);m=5/pi;t=-20:0.0001:20;f30=square(t,4*pi); f31=square(t,8*pi); f32=square(t,16*pi); f33=square(m*t,25); f34=square(m*t,50); subplot(5,1,1);plot(t,f30);axis([-10,10,-2,2]); subplot(5,1,2);plot(t,f31);axis([-10,10,-2,2]); subplot(5,1,3);plot(t,f32);axis([-10,10,-2,2]); subplot(5,1,4);plot(t,f33);axis([-10,10,-2,2]); subplot(5,1,5);plot(t,f34);axis([-10,10,-2,2]);t=-20:0.01:20;f40=tripuls(t,2);f41=tripuls(t,4);f42=tripuls(t,8);f43=tripuls(t,16);f44=tripuls(t,32); subplot(5,1,1);plot(t,f40);axis([-10,10,-2,2]); subplot(5,1,2);plot(t,f41);axis([-10,10,-2,2]); subplot(5,1,3);plot(t,f42);axis([-10,10,-2,2]); subplot(5,1,4);plot(t,f43);axis([-10,10,-2,2]); subplot(5,1,5);plot(t,f44);axis([-18,18,-2,2]);m=5/pi;t=-20:0.0001:20;f50=sawtooth(t,0.25);f51=sawtooth(t,0.5);f52=sawtooth(t,0.75);f53=sawtooth(m*t,0.25); f54=sawtooth(m*t,0.75);subplot(5,1,1); plot(t,f50);axis([-10,10,-2,2]); subplot(5,1,2); plot(t,f51);axis([-10,10,-2,2]); subplot(5,1,3); plot(t,f52);axis([-10,10,-2,2]); subplot(5,1,4); plot(t,f53);axis([-10,10,-2,2]); subplot(5,1,5); plot(t,f54);axis([-10,10,-2,2]);2、分别用MATLAB 的数值运算和符号运算功能,绘出下列连续时间信号的波形。
MATLAB矩形脉冲信号和锯齿脉冲信号的卷积实验连续信号的时域分析一、实验目的1、熟悉MATLAB软件。
2、掌握常用连续信号与离散信号的MATLAB表示方法。
二、实验设备安装有matlab6.5以上版本的PC机一台。
三、实验原理四、实验内容1、用MATLAB表示连续信号:,Acos(ω0 t+ϕ),Asin(ω0 t+ϕ)。
源程序:clcclearclosesyms t;f1=6*exp(t);f2=6*cos(3*t+6);f3=6*sin(3*t+6);subplot(2,2,1);ezplot(f1,[-8,8]);xlabel('t');title('f(t)=6e^t');grid on;subplot(2,2,2);ezplot(f2,[-8,8]);xlabel('t');title('f(t)=6*cos(3*t+6)');grid on;subplot(2,2,3)ezplot(f3,[-8,8]);xlabel('t');title('f(t)=6*sin(3*t+6)');grid on;2.用MATLAB表示抽样信号(sinc(t))、矩形脉冲信号(rectpuls(t,width))及三角脉冲信号(tripuls(t,width,skew))。
源程序:clcclearcloset=-6:0.01:6;f1=sinc(t);f2=rectpuls(t,2);f3=4*tripuls(t,4,0);subplot(2,2,1);plot(t,f1);xlabel('t');title('f(t)=sinc(t)');grid on;subplot(2,2,2);plot(t,f2);xlabel('t');axis([-6,6,-1,3]);title('f(t)=rectpuls(t,2)');grid on;subplot(2,2,3);plot(t,f3);xlabel('t');title('f(t)=tripuls(t,4,0)');grid on;3、编写如图3的函数并用MATLAB绘出满足下面要求的图形。
MATLAB课程设计任务书姓名:王** 学号:2010******010题目:连续时间信号和系统时域分析及MATLAB实现初始条件:MATLAB 7.5.0 ,Windows XP系统实验任务:一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。
1、单位阶跃信号,2、单位冲激信号,3、正弦信号,4、实指数信号,5、虚指数信号,6、复指数信号。
二、用MATLAB实现信号的时域运算1、相加,2、相乘,3、数乘,4、微分,5、积分三、用MATLAB实现信号的时域变换(参数变化,分析波形变化)1、反转,2、使移(超时,延时),3、展缩,4、倒相,5、综合变化四、用MATLAB实现信号简单的时域分解1、信号的交直流分解,2、信号的奇偶分解五、用MATLAB实现连续时间系统的卷积积分的仿真波形给出几个典型例子,对每个例子,要求画出对应波形。
六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。
给出几个典型例子,四种调用格式。
七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。
目录1 MATLAB简介 (1)1.1 MATLAB设计目的 (1)1.2 MATLAB语言特点 (1)2常用连续时间信号的时域波形 (1)2.1单位阶跃信号 (1)2.2单位冲激信号 (2)2.3正弦信号 (3)2.4实指数信号 (4)2.5虚指数信号 (5)2.6复指数信号 (6)3 连续时间信号的时域运算 (7)3.1相加 (7)3.2相乘 (8)3.3数乘 (9)3.4微分 (10)3.5积分 (11)4.1反转 (12)4.2时移 (13)4.3展缩 (14)4.4倒相 (15)4.5综合变化 (16)5连续时间信号简单的时域分解 (17)5.1信号的交直流分解 (17)5.2信号的奇偶分解 (19)6连续时间系统的卷积积分的仿真波形 (20)7连续时间系统的冲激响应、阶跃响应的仿真波形 (23)7.1 IMPULSE()函数 (24)7.2 STEP()函数 (27)8连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形 (31)8.1 正弦信号的零状态响应 (31)8.2 实指数信号的零状态响应 (32)9小结 (34)1 MATLAB简介1.1 MATLAB设计目的深入研究连续时间信号和系统时域分析的理论知识。
实验三 常见连续信号的MATLAB表示
一、实验目的
1、熟悉常见连续时间信号的意义、特性及波形;
2、学会使用MATLAB表示连续时间信号的方法;
3、学会使用MATLAB绘制连续时间信号的波形。
二、实验原理
信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间
信号和离散时间信号,一般用tf和nf来表示。若对信号进行时域分析,就需要绘制其波
形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB强大的图形处
理功能及符号运算功能,为我们实现信号的可视化及其时域分析提供了强有力的工具。
根据MATLAB的数值计算功能和符号运算功能,在MATLAB中,信号有两种表示方法,
一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB语句表示出信号
后,就可以利用MATLAB中的绘图命令绘制出直观的信号波形了。下面我们将介绍连续时间信
号的MATLAB表示及其波形绘制方法。
所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一
切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB并不能处理连续信
号。在MATLAB中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足
够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB中连续信号可用向量或符号
运算功能来表示。
1、向量表示法
对于连续时间信号tf,可以用两个行向量f和t来表示,其中向量t是用形如
21::tptt的命令定义的时间范围向量,其中,1t为信号起始时间,2
t
为终止时间,p为时
间间隔。向量f为连续信号tf在向量t所定义的时间点上的样值。
例1 对于连续信号tttSatfsin ,将它表示成行向量形式,同时用绘图命令plot( )
函数绘制其波形。
MATLAB程序如下:
t1=-10:0.5:10;
%定义时间t的取值范围及取样间隔(p=0.5),则t1是一个%维数为41的行向量
f1=sin(t1)./t1; %定义信号表达式,求出对应采样点上的样值
%同时生成与向量t1维数相同的行向量f1
figure(1) %打开图形窗口1
plot(t1,f1) %以t1为横坐标,f1为纵坐标绘制f1的波形
xlabel('取样间隔p=0.5');
title('f(t)=Sa(t)=sin(t)/t');
t2=-10:0.1:10;
%定义时间t的取值范围及取样间隔(p=0.1),则t2是一个%维数为201的行向量
f2=sin(t2)./t2; %定义信号表达式,求出对应采样点上的样值
%同时生成与向量t2维数相同的行向量f2
figure(2) %打开图形窗口2
plot(t2,f2) %以t2为横坐标,f2为纵坐标绘制f2的波形
xlabel('取样间隔p=0.1');
title('f(t)=Sa(t)=sin(t)/t');
运行结果如下:
图3-1
图3-2
【说明】
◆ plot是常用的绘制连续信号波形的函数。
◆ 严格说来,MATLAB不能表示连续信号,所以,在用plot( )命令绘制波形时,要对自变量
t
进行取值,MATLAB会分别计算对应点上的函数值,然后将各个数据点通过折线连接起
来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t的
取样间隔。t的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。
例如:图3-1是在取样间隔为p=0.5时绘制的波形,而图3-2是在取样间隔p=0.1时绘制的
波形,两相对照,可以看出图3-2要比图3-1光滑得多。
◆ 在上面的f=sin(t). /t语句中,必须用点除符号,以表示是两个函数对应点上的值相除。
2、符号运算表示法
如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专
用绘图命令ezplot( )等函数来绘出信号的波形。
例2 对于连续信号tttSatfsin,用符号表达式来表示它,同时用ezplot( )命令绘出
其波形。
MATLAB程序如下:
syms t %符号变量说明
f=sin(t)/t ; %定义函数表达式
ezplot(f,[-10,10]) %绘制波形,并且设置坐标轴显示范围
运行结果如下:
图3-3
【说明】ezplot( )命令用来画三维图或平面图。
3、常见信号的MATLAB表示
对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一
些比较特殊的信号,比如单位阶跃信号tu、符号函数tsgn等,在MATLAB中这些信号都
有专门的表示方法。
(1)单位阶跃信号
单位阶跃信号的定义为:
0001t
t
tu
单位阶跃信号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通
常,我们用它来表示信号的定义域,简化信号的时域表示形式。例如:可以用两个不同延时的
单位阶跃信号来表示一个矩形门信号,即:112tututG
在MATLAB中,有一个专门用于表示单位阶跃信号的函数,即stepfun( )函数,它是用数
值计算法表示的单位阶跃函数tu。
其调用格式为:
stepfun(t,t0)
其中:t是以向量形式表示的变量;
t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。
下面通过一个例子来说明如何调用stepfun( )函数来表示单位阶跃函数。
例3 用stepfun( )函数表示单位阶跃信号,并绘出其波形。
MATLAB程序如下:
t=-1:0.01:4; %定义时间样本向量
t0=0; %指定信号发生突变的时刻
ut=stepfun(t,t0); %产生单位阶跃信号
plot(t,ut) %绘制波形
axis([-1,4,-0.5,1.5]) %设定坐标轴范围
运行结果如下:
图3-4
例4 绘出门函数22tututf的波形。
MATLAB程序如下:
t=-4:0.01:4; %定义时间样本向量
t1=-2; %指定信号发生突变的时刻
u1=stepfun(t,t1); %产生左移位的阶跃信号2tu
t2=2; %指定信号发生突变的时刻
u2=stepfun(t,t2); %产生右移位的阶跃信号2tu
g=u1-u2; %表示门函数
plot(t,g) %绘制门函数的波形
axis([-4,4,-0.5,1.5]) %设定坐标轴范围-4
图3-5
(2)符号函数
符号函数的定义为:0101sgnttt
在MATLAB中有专门用于表示符号函数的函数sign( ) ,由于单位阶跃信号tu和符号函
数两者之间存在以下关系:ttusgn2121。因此,利用这个函数就可以很容易地生成单
位阶跃信号。
下面举个例子来说明如何利用sign( )函数生成单位阶跃信号,并同时绘制其波形。
例5 利用sign( )函数生成单位阶跃信号,并分别绘出两者的波形。
MATLAB程序如下:
t=-5:0.01:5; %定义自变量取值范围及间隔,生成行向量t
f=sign(t); %定义符号信号表达式,生成行向量f
figure(1); plot(t,f); %打开图形窗口1,绘制符号函数的波形
axis([-5,5,-1.5,1.5]) %定义坐标轴显示范围
s=1/2+1/2*f; %生成单位阶跃信号
figure(2); plot(t,s) ; %打开图形窗口2,绘制符号函数的波形
axis([-5,5,-0.5,1.5]) %定义坐标轴显示范围
运行结果如下:
图3-6
三、实验内容
1、运行以上5个例题的程序,保存运行结果。
2、已知信号tf的波形如下图所示,试用MATLAB绘出满足下列要求的信号波形。
(1)tf;
(2) 2tf;
(3)atf(其中a的值分别为21a和2a);
(4)121tf。