信号与系统信号基本运算的MATLAB实现实验报告
matlab信号与系统实验报告
实验一 基本信号的产生与运算一、 实验目的学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。
二、 实验原理MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。
这些信号是信号处理的基础。
1、 利用MATLAB 产生下列连续信号并作图。
(1)51),1(2)(<<---=t t u t x (2)300),32sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、>> t=-1:0.02:5; >> x=(t>1);>> plot(t,-2*x);>> axis([-1,5,-3,1]);>> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');(2)、>> t=0:0.02:30;>> x=exp(-0.3*t).*sin(2/3*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰axis([0,15,-0.2,0.6]);(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x);>> title('杨婕婕朱艺星');>>xlabel('x=cos(100*t)+cos(3000*t)');因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t);plot(t,x);title('杨婕婕')>> t=-0.1:0.0001:0.1;x=cos(100*t)+cos(3000*t);>> plot(t,x);title('杨婕婕朱艺星');>> xlabel('x=cos(100*t)+cos(3000*t)');(4)、t=0:0.01:200;>> x=cos(0.1*pi*t).*cos(0.8*pi*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x=cos(0.1*pi*t).*cos(0.8*pi*t)');因为为周期函数,可以将横坐标t间隔扩大以便于观察图像>> axis([0,30,-1,1]);2、利用MATLAB 产生下列离散序列并作图。
matlab软件仿真实验(信号与系统)(1)
matlab软件仿真实验(信号与系统)(1)《信号与系统实验报告》学院:信息科学与⼯程学院专业:物联⽹⼯程姓名:学号:⽬录实验⼀、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)')连续信号的MATLAB表⽰1、指数信号:指数信号Ae at在MATLAB中可⽤exp函数表⽰,其调⽤形式为:y=A*exp(a*t) (例取 A=1,a=-0.4)参考程序:A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;2、正弦信号:正弦信号Acos(w0t+?)和Asin(w0t+?)分别由函数cos和sin表⽰,其调⽤形式为:A*cos(w0t+phi) ;A*sin(w0t+phi) (例取A=1,w0=2π,?=π/6) 参考程序:A=1;w0=2*pi; phi=pi/6; t=0:0.001:8;ft=A*sin(w0*t+phi);plot(t,ft);grid on ;3、抽样函数:抽样函数Sa(t)在MATLAB中⽤sinc函数表⽰,其定义为:sinc(t)=sin(πt)/( πt)其调⽤形式为:y=sinc(t)参考程序:t=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);grid on;4、矩形脉冲信号:在MATLAB中⽤rectpuls函数来表⽰,其调⽤形式为:y=rectpuls(t,width),⽤以产⽣⼀个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中⼼向左右各展开width/2的范围,width的默认值为1。
信号与信号实验
信号与信号实验MATLAB 部分实验一:基本信号在MATLAB 中的表示和运算 一、 实验目的;1、学会用MATLAB 表示常用连续信号的方法;2、学会用MATLAB 进行信号基本运算的方法;3、学会用MATLAB 实现连续时间信号的卷积的方法。
二、 实验内容:1、绘出下列信号的时域波形(1)f(t)=(2-e-2t)u(t) (2)f(t)=cos(πt)[u(t)-u(t-1)] (3)f(t)=u(-3t+2) (4)f(t)= -(1/2)tu(t+2) 解:t1=0:0.01:5; y1=(2-exp(-2*t1)).*(t1>0); subplot(221);plot(t1,y1);grid; title('f(t)=(2-e-2t)u(t)'); t2=0:0.01:5; y2=cos(pi*t2).*((t2>0)-(t2>1)); subplot(222);plot(t2,y2);grid; title('f(t)=cos(πt)[u(t)-u(t-1)]'); t3=-2:0.01:5; y3=(-3*t3+2>0); subplot(223);plot(t3,y3);grid; title('f(t)=u(-3t+2)'); t4=-3:0.01:5; y4=(-1/2)*t4.*(t4>-2); subplot(224);plot(t4,y4);grid; title('f(t)=-(1/2)tu(t+2)');00.511.52f(t)=(2-e-2t)u(t)图 1-1f(t)=cos(πt)[u(t)-u(t-1)]图1-200.51f(t)=u(-3t+2)图1-3f(t)=-(1/2)tu(t+2)图 1-42、用MATLAB 绘出下列信号的卷积积分f1(t)*f2(t)的时域波形(1) f1(t)=tu(t), f2(t)=u(t) (2) f1(t)=u(t)-u(t-4), f2(t)=sin(πt)u(t) (3) f1(t)= e-2t u(t), f2(t)= e-t u(t) (4) f1(t)= e-t u(t), f2(t)=u(t) 解:(1)fs=1000; t=-1:1/fs:4; x1=stepfun(t,0); x2=x1.*t; y=conv(x1,x2)/fs; n=length(y1); tt=(0:n-1)/fs-2; subplot(311),plot(t,x1),grid; title('f1(t)=tu(t)'); subplot(312),plot(t,x2),grid; title(' f2(t)=u(t)'); subplot(313),plot(tt,y),grid on; title('f1(t) * f2(t)');(2)fs=1000; t=-1:1/fs:4; x1=(t>0)-(t>4); x2=sin(pi*t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-2; subplot(311);plot(t,x1);grid; title('f1(t)=u(t)-u(t-4))'); subplot(312);plot(t,x2);grid; title('f2(t)=sin(πt)u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2');(3)t=0:1/fs:4; x1=exp(-2*t).*(t>0); x2=exp(-t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title('f1(t)= e-2t u(t)'); subplot(312);plot(t,x2);grid; title('f2(t)= e-t u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2(t)');(4)t=0:1/fs:2; x1=exp(-2*t).*(t>0); x2=(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title(' f1(t)= e-t u(t))'); subplot(312);plot(t,x2);grid; title('f2(t)=u(t)'); subplot(313);plot(tt,x);grid; title('f1(t)*f2(t)');0.51 1.52 2.53 3.540.51 1.52 2.53 3.5412345678-1 -0.5 00.51 1.52 2.53 3.54? 2-1 -1 -0.5 00.51 1.52 2.53 3.54? 2-2 -2-112 3 4 5678? 2-3实验二:连续时间LTI 系统的时域分析一、实验目的:学会用MATLAB 求解连续系统的零状态响应、冲击响应和阶跃响应。
MATLAB实训实验
2015/2016学年下学期《信号与系统》实验报告班级:学号:学生姓名:指导教师:2016年3月8 日实验一 基本函数仿真实验项目: 基本函数仿真实验时间: 2016年 3 月 8 日 星期 二 第 34 节课 实验地点: 1501实验室 实验目的:1、 学习使用MATLAB 软件2、 学习MATLAB 中各种函数,并应用函数分析3、 对MATALB 的进一步的学习了解,熟练掌握MATALB 的各种操纵,学会使用MATALB 解决复杂的运算并学会用MATALB 解决平时学习4、 了解MATALB 的数值运算5、 了解MATALB 的基本函数和命令6、 学习掌握MATALB 有关命令 实验内容: 1、(1) 题目:应用MA TLAB 方法实现单位阶跃信号和矩形脉冲。
(2) 程序清单(源程序)解:对于阶跃函数,MATLAB 中有专门的stairs 绘图命令。
例如,实现)(t 和矩形脉冲的程序如下:t=-1:2; % 定义时间范围向量t x=(t>=0);subplot(1,2,1),stairs(t,x);axis([-1,2,-0.1,1.2]); grid on % 绘制单位阶跃信号波形 t=-1:0.001:1; % 定义时间范围向量t g=(t>=(-1/2))-(t>=(1/2));subplot(1,2,2),stairs(t,g);axis([-1,1,-0.1,1.2]); grid on % 绘制矩形脉冲波形(3) 运行结果(截图)00.20.40.60.8100.20.40.60.81图1 例1图(4)函数解析Subplot:使用方法:subplot (m,n,p )或者subplot (m n p )。
是将多个图画到一个平面上的工具。
其中,m 表示是图排成m 行,n 表示图排成n 列,也就是整个figure 中有n 个图是排成一行的,一共m 行,如果m=2就是表示2行图。
MATLAB实验报告(1-4)
信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。
2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。
4.学会运用MATLAB进行连续信号时移、反折和尺度变换。
5.学会运用MATLAB进行连续时间微分、积分运算。
6.学会运用MATLAB进行连续信号相加、相乘运算。
7.学会运用MATLAB进行连续信号的奇偶分解。
二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。
三、实验内容1.MATLAB软件基本运算入门。
1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。
矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。
2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。
3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。
2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
MATLAB信号与系统实验报告19472[五篇范文]
MATLAB信号与系统实验报告19472[五篇范文]第一篇:MATLAB信号与系统实验报告19472信号与系统实验陈诉(5)MATLAB 综合实验项目二连续系统的频域阐发目的:周期信号输入连续系统的响应可用傅里叶级数阐发。
由于盘算历程啰嗦,最适适用MATLAB 盘算。
通过编程实现对输入信号、输出信号的频谱和时域响应的盘算,认识盘算机在系统阐发中的作用。
任务:线性连续系统的系统函数为11)(+=ωωjj H,输入信号为周期矩形波如图 1 所示,用MATLAB 阐发系统的输入频谱、输出频谱以及系统的时域响应。
-3-2-1 0 1 2 300.511.52Time(sec)图 1要领:1、确定周期信号 f(t)的频谱nF&。
基波频率Ω。
2、确定系统函数 )(Ω jn H。
3、盘算输出信号的频谱n nF jn H Y&&)(Ω=4、系统的时域响应∑∞-∞=Ω=nt jnn eY t y&)(MATLAB 盘算为y=Y_n*exp(j*w0*n“*t);要求(画出 3 幅图):1、在一幅图中画输入信号f(t)和输入信号幅度频谱|F(jω)|。
用两个子图画出。
2、画出系统函数的幅度频谱|H(jω)|。
3、在一幅图中画输出信号y(t)和输出信号幅度频谱|Y(jω)|。
用两个子图画出。
解:(1)阐发盘算:输入信号的频谱为(n)输入信号最小周期为=2,脉冲宽度,基波频率Ω=2π/ =π,所以(n)系统函数为因此输出信号的频谱为系统响应为(2)步伐:t=linspace(-3,3,300);tau_T=1/4;%n0=-20;n1=20;n=n0:n1;%盘算谐波次数20F_n=tau_T*Sa(tau_T*pi*n);f=2*(rectpuls(t+1.75,0.5)+rectpuls(t-0.25,0.5)+rectpuls(t-2.25,0.5));figure(1),subplot(2,1,1),line(t,f,”linewidth“,2);%输入信号的波形 axis([-3,3,-0.1,2.1]);grid onxlabel(”Time(sec)“,”fontsize“,8),title(”输入信号“,”fontweight“,”bold“)%设定字体巨细,文本字符的粗细text(-0.4,0.8,”f(t)“)subplot(2,1,2),stem(n,abs(F_n),”.“);%输入信号的幅度频谱xlabel(”n“,”fontsize“,8),title(”输入信号的幅度频谱“,”fontweight“,”bold“)text(-4.0,0.2,”|Fn|“)H_n=1./(i*n*pi+1);figure(2),stem(n,abs(H_n),”.“);%系统函数的幅度频谱xlabel(”n“,”fontsize“,8),title(”系统函数的幅度频谱“,”fontweight“,”bold“)text(-2.5,0.5,”|Hn|“)Y_n=H_n.*F_n;y=Y_n*exp(i*pi*n”*t);figure(3),subplot(2,1,1),line(t,y,“linewidth”,2);%输出信号的波形 axis([-3,3,0,0.5]);grid onxlabel(“Time(sec)”,“fontsize”,8),title(“输出信号”,“fontweight”,“bold”)text(-0.4,0.3,“y(t)”)subplot(2,1,2),stem(n,abs(Y_n),“.”);%输出信号的幅度频谱xlabel(“n”,“fontsize”,8),title(“输出信号的幅度频谱”,“fontweight”,“bold”)text(-4.0,0.2,“|Yn|”)(3)波形:-3-2-1 0 1 2 300.511.52Time(sec)输入信号f(t)-20-15-10-5 0 5 10 15 2000.10.20.30.4n输入信号的幅度频谱|Fn|-20-15-10-5 0 5 10 15 2000.10.20.30.40.50.60.70.80.91n系统函数的幅度频谱|Hn|-3-2-1 0 1 2 300.10.20.30.4Time(sec)输出信号y(t)-20-15-10-5 0 5 10 15 2000.10.20.30.4n输出信号的幅度频谱|Yn| 项目三连续系统的复频域阐发目的:周期信号输入连续系统的响应也可用拉氏变更阐发。
信号与系统MATL实验及代码
实验一、MATLAB编程基础及典型实例一、实验目的(1)熟悉MATLAB软件平台的使用;(2)熟悉MATLAB编程方法及常用语句;(3)掌握MATLAB的可视化绘图技术;(4)结合《信号与系统》的特点,编程实现常用信号及其运算。
示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。
编制一个函数型m文件,实现这个功能。
function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2)a=min(min(n1),min(n2));b=max(max(n1),max(n2));n=a:b;f1_new=zeros(1,length(n));f2_new=zeros(1,length(n));tem1=find((n>=min(n1))&(n<=max(n1))==1);f1_new(tem1)=f1;tem2=find((n>=min(n2))&(n<=max(n2))==1);f2_new(tem2)=f2;四、实验内容与步骤− 2 t (2)绘制信号x(t)= esin( t=0:0.1:30; 23t ) 的曲线,t的范围在0~30s,取样时间间隔为0.1s。
y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);(3)在n=[-10:10]范围产生离散序列:x( n)=⎧2 n ,− 3⎨≤ n ≤ 3,并绘图。
⎩0, Othern=-10:1:10;z1=((n+3)>=0);z2=((n-3)>=0);x=2*n.*(z1-z2);stem(n,x);(4)编程实现如下图所示的波形。
t=-2:0.001:3;f1=((t>=-1)&(t<=1));f2=((t>=-1)&(t<=2));f=f1+f2;plot(t,f);axis([-2,3,0,3]);(5)设序列f1(k)={ 0 , 1 , 2 , 3 , 4 , 5 },f2(k)={ 6 , 5 , 4 , 3 , 2 , 1 , 0 }。
《信号与系统》课程实验报告
《信号与系统》课程实验报告《信号与系统》课程实验报告一图1-1 向量表示法仿真图形2.符号运算表示法若一个连续时间信号可用一个符号表达式来表示,则可用ezplot命令来画出该信号的时域波形。
上例可用下面的命令来实现(在命令窗口中输入,每行结束按回车键)。
t=-10:0.5:10;f=sym('sin((pi/4)*t)');ezplot(f,[-16,16]);仿真图形如下:图1-2 符号运算表示法仿真图形三、实验内容利用MATLAB实现信号的时域表示。
三、实验步骤该仿真提供了7种典型连续时间信号。
用鼠标点击图0-3目录界面中的“仿真一”按钮,进入图1-3。
图1-3 “信号的时域表示”仿真界面图1-3所示的是“信号的时域表示”仿真界面。
界面的主体分为两部分:1) 两个轴组成的坐标平面(横轴是时间,纵轴是信号值);2) 界面右侧的控制框。
控制框里主要有波形选择按钮和“返回目录”按钮,点击各波形选择按钮可选择波形,点击“返回目录”按钮可直接回到目录界面。
图1-4 峰值为8V,频率为0.5Hz,相位为180°的正弦信号图1-4所示的是正弦波的参数设置及显示界面。
在这个界面内提供了三个滑动条,改变滑块的位置,滑块上方实时显示滑块位置代表的数值,对应正弦波的三个参数:幅度、频率、相位;坐标平面内实时地显示随参数变化后的波形。
在七种信号中,除抽样函数信号外,对其它六种波形均提供了参数设置。
矩形波信号、指数函数信号、斜坡信号、阶跃信号、锯齿波信号和抽样函数信号的波形分别如图1-5~图1-10所示。
图1-5 峰值为8V,频率为1Hz,占空比为50%的矩形波信号图1-6 衰减指数为2的指数函数信号图1-7 斜率=1的斜坡信号图1-8 幅度为5V,滞后时间为5秒的阶跃信号图1-9 峰值为8V,频率为0.5Hz的锯齿波信号图1-10 抽样函数信号仿真途中,通过对滑动块的控制修改信号的幅度、频率、相位,观察波形的变化。
信号与系统MATLAB常见信号的表示及运算
信号与系统——实验指导实验一 常见信号的表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2. 掌握用matlab软件产生基本信号的方法.3. 应用matlab软件实现信号的加、减、乘、反褶、移位、尺度变换及卷积运算。
二、实验原理1. 信号的表示方法● 常用信号:连续函数()θω+=t t f sin )(, at Ae t f =)(,ttt Sa sin )(= 离散信号()n n f 0sin )(ω=,njw e n f 0)(=,)()(n u a n f n =● 奇异信号:连续函数:冲激函数)(t δ,阶跃函数)(t u ,斜坡函数)(t R 离散信号:冲激函数)(n δ,阶跃函数)(n u ,斜坡函数)(n R2.卷积连续函数的卷积:⎰∞∞--=τττd t f f t g )()()(21离散函数的卷积:∑∞-∞=-=m m n fm f n g )()()(21三、实验要求1.预习实验原理;2.对实验内容编写程序(M文件),上机运行;3.绘出运算或变换后信号的波形.四.实验内容1. 熟悉matlab 工作环境(1) 运行matlab.exe ,进入matlab 工作环境,如图(1)所示。
图1 matlab工作环境(2) matlab工作环境由Command Window(命令窗口)、Current Direcroty(当前目录)、workspace(工作空间)、command History(历史命令)和Editor(文件编辑器)5部分组成。
其中所有文件的编辑和调试、运行在Editor编辑窗口下进行。
程序的运行也可以在命令窗口进行。
程序调试的信息显示在命令窗口。
(3) 程序文件的产生:点击菜单file下的New下的M_files,进入编辑器界面,如图2。
图2 M文件编辑器(4) 在m文件编辑器下键入程序代码,保存程序文件(命名规则同C语言)。
如果所定义的是函数文件,则要求函数名为M文件名。
信号与系统MATLAB实验-实验二 Matlab中信号的运算
1、运用funtool对f(x)=sin(x)/x分别进行信号的尺度变换f(2x)、f(0.5x)和信号的移位运算f(x+1)、f(x-1)操作以及f(0.5x+1),分别记录相应波形。
f(x)=sin(x)/x f(x+1)f(2x) f(x-1)f(0.5x) f(0.5x+1)2、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式; 2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。
(设定取样时间间隔为dt )【实验思考】:通过不断改变dt 的取值并对比所得到的实验效果,观察当取样时间dt 为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?3、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式;2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。
(设定取样时间间隔为dt)【实验思考】:不断改变dt的取值并对比实验效果,当取样时间dt为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?clear alldt = 0.01;t1 = -3:dt:3;f1 = 2*(u(t1+1) - u(t1-1));figure;stairs(t1,f1);hold allgrid ont2 = -3:dt:3;f2 = u(t2+2)-u(t2-2);stairs(t2,f2)[fn, tn] = conv_cs(f1, t1, f2, t2, dt);plot(tn, fn)grid onlegend('f1', 'f2', 'f1*f2')。
信号系统MATLAB实验报告
信号与系统实验报告桂林理工大学信息科学与工程学院 电子信息工程实验二 信号及其表示【实验目的】了解各种常用信号的表达方式掌握部分绘图函数【实验内容】一、绘出连续时间信号x(t)=t e 707.0 sin 32t 关于t 的曲线,t 的范围为 0~30s ,并以递增。
MATLAB 源程序为:t=0::30; %对时间变量赋值x=exp*t).*sin(2/3.*t); %计算变量所对应得函数值 plot(t,x);grid; %绘制函数曲线ylabel('x(t)');xlabel('Time(sec)')二、产生周期为的方波。
MATLAB源程序为:Fs=100000;t=0:1/Fs:1;x1=square(2*pi*50*t,20);x2=square(2*pi*50*t,80);subplot(2,1,1),plot(t,x1),axis([0,,,]); subplot(2,1,2),plot(t,x2),axis([0,,,]);三、产生sinc(x)函数波形。
MATLAB源程序为:x=linspace(-4,4);y=sinc(x);plot(x,y)四、绘制离散时间信号的棒状图。
其中x(-1)=-1,x(0)=1,x(1)=2,x(2)=1,x(3)=0,x(4)=-1,其他时间x(n)=0。
MATLAB源程序为:n=-3:5; %定位时间变量x=[0,0,-1,1,2,1,-1,0,0];stem(n,x);grid; %绘制棒状图line([-3,5],[0,0]); %画X轴线xlabel('n');ylabel('x[n]')五、单位脉冲序列δ(n-0n )={00...1...0n n n n =≠直接实现:x=zeros(1,N);x(1,n0)=1;函数实现:利用单位脉冲序列)(0n n -δ的生成函数impseq,即 function[x,n]=impseq(n0,ns,nf)n=[ns:nf];x=[(n-n0)==0];plot(n,x);stem(n,x);输入参数:impseq(0,0,9)——连续图形012345678900.10.20.30.40.50.60.70.80.91输入参数:impseq(0,0,9)——离散图形六、单位阶跃序列ε(n-0n )={00...1...0n n n n ≥<直接实现:n=[ns:nf];x=[(n-n0)>=0];函数实现:利用单位阶跃序列)(0n n -ε的生成函数stepseq ,即 Function[x,n]=stepseq(n0,ns,nf)n=[ns:nf];x=[(n-n0)>=0];plot(n,x);七、实指数序列=,∀)(x n∈,Ranna直接实现:n=[ns:nf]:x=a.^n;函数实现:利用实指数序列n a(的生成函数rexpseq,即n)x=Function[x,n]=rexpseq(a,ns,nf)n=[ns:nf];x=a,^n:八、复指数序列n e n x n j ∀=+,)()(ωδ直接实现:n=[ns:nf];x=exp((sigema+jw)*n);函数实现:利用复指数序列n j e n x )()(ωδ+=的生成函数cexpseq,即 Function[x,n]=cexpseq(sigema,w,ns,nf)n=[ns:nf];x=exp((sigema+j*w)*n);0123456789-3000-2000-1000100020003000400050006000九、正(余)弦序列n wn n x ∀+=),cos()(θ直接实现:n=[ns:nf];x=cos(w*n+sita);函数实现:利用正(余)弦序列x(n)=cos(wn+θ)的生成函数cosswq,即Function[x,n]=cosseq(w,ns,nf,sita)n=[ns:nf];x=cos(w*n+sita);输入参数:cosseq,0,9,30)——连续信号0123456789-0.2-0.15-0.1-0.0500.050.10.150.2输入参数:cosseq,0,9,30)——离散信号0123456789实验三信号的运算【实验目的】了解信号处理的基本操作。
信号与系统实验_信号的基本运算单元
信号与系统实验_信号的基本运算单元学号:2 姓名:实验⼀信号的基本运算单元⼀、实验⽬的1.掌握信号与系统中基本运算单元的构成;2.掌握基本运算单元的特点;3.掌握对基本运算单元的测试⽅法;⼆、预备知识1.学习“信号的运算”⼀节;2.复习matlab软件的使⽤⽅法。
三、实验原理在“信号与系统”中,最常⽤的信号运算单元有:减法器、加法器、倍乘器、反相器、积分器、微分器等,通过这些基本运算单元可以构建⼗分复杂的信号处理系统。
因⽽,基本运算单元是“信号与系统”的基础。
四、实验内容1、⽤matlab编写两个正弦信号(⼀个⾼频,⼀个低频)相加,相减,相乘。
绘出频谱图,并说明意义clc,clearsyms t w;N = 6724;t =0:0.01:(N-1)/100;W =t*100/N;%产⽣⾼频以及低频信号并进⾏运算f1 = 4/8*sin(10^4*t);f2 = 4/10*sin(t+pi/5);f3 = f1+f2;f4 = f1-f2;f5 = f1.*f2;%进⾏傅⾥叶变换F1w = abs(fft(f1,N))*2/N;F2w = abs(fft(f2,N))*2/N;F3w = abs(fft(f3,N))*2/N;F4w = abs(fft(f4,N))*2/N;F5w = abs(fft(f5,N))*2/N;%%绘图%f1学号:2 姓名:subplot(5,2,1),plot(t,f1);title('f1');subplot(5,2,2),plot(W,F1w); title('F1w');%f2subplot(5,2,3),plot(t,f2);title('f2');subplot(5,2,4),plot(W,F2w); title('F2ww');%f3subplot(5,2,5),plot(t,f3);title('f3=f1+f2');subplot(5,2,6),plot(W,F3w); title('F3w');%f4subplot(5,2,7),plot(t,f4);title('f4=f1-f2');subplot(5,2,8),plot(W,F4w); title('F4w');%f5subplot(5,2,9),plot(t,f5);title('f5=f1*f2');subplot(5,2,10),plot(W,F5w); title('F5ww');学号:2 姓名:解释:两个正弦信号的相加、相减、相乘,周期为两正弦信号周期的最⼩公倍数,包络线是低频正弦信号的分量,⾼频信号主要影响包络线内信号的频率,相加、相乘和相减幅值、相位都会发⽣改变。
信号与系统信号基本运算的MATLAB实现实验报告
信号与系统实验报告实验一、信号基本运算的MATLAB 实现一、实验目的学习如何利用Matlab 实现信号的基本运算,掌握信号的基本运算的原理,加深对书本知识的理解。
二、实验材料PC 机一台三、实验内容1、(1)编写如图Exercise1.1所示波形的MATLAB 函数。
(2)试画出f(t),f(0.5t),f(1-2t)的波形。
解:程序如下: 实验结果: function yt = f2(t)yt=tripuls(t,4,0.5); t=-3:0.01:5; subplot(311) plot(t,tx(t)) title('f£¨t£©') subplot(312) plot(t,tx(0.5*t)) title('f(0.5t)') subplot(313) plot(t,tx(-2*t)) title('f(-2t)') 2、画出如图exercise1.2所示序列f[2k]、f[-k]和f[k+2],f[k-2]的波形。
并求f[k]的和。
解:程序如下:function f=ls(k)f=3.*(k==-2)+1.*(k==-1)+(-2).*(k==0)+(-1).*(k==1)+2.*(k==2)+(-3).*(k==3);Exercise 1.1-3f[k] kExercise1.2k=-5:0.01:10;subplot(321)stem(k,ls(k)) 实验结果:title('f[k]')subplot(322)stem(k,ls(2*k))title('f[2k]')subplot(323)stem(k,ls(-1*k))title('f[-k]')subplot(324)stem(k,ls(k+2))title('f[k+2]')subplot(325)stem(k,ls(k-2))title('f[k-2]')subplot(326)plot(k,sum(ls(-2:3)))title('Sum f[k]')3、解:程序如下:function y=tx(t)y=0.*(t>=2|t<-1)+(2-t).*(t>=1&t<2)+1.*(t>=-1&t<1); t=-5:0.01:5; 实验结果:ft1=tripuls(t-3,2,0.5);subplot(311)plot(t,ft1)title('f(t)')ft1=tripuls(-t-3,2,0.5);subplot(312)plot(t,ft1)title('f(-t)')ft1=tripuls(-2*t-2,2,0.5);subplot(313)plot(t,ft1)title('f(1-2t)')。
《信号与系统》MATLAB仿真实验讲义
《信号与系统》MATLAB仿真实验讲义(第二版)肖尚辉编写宜宾学院电信系电子信息教研室《信号与系统》课程2004年3月 宜宾使用对象:电子专业02级3/4班(本科)实验一 产生信号波形的仿真实验一、实验目的:熟悉MATLAB软件的使用,并学会信号的表示和以及用MATLAB来产生信号并实现信号的可视化。
二、实验时数:3学时+3学时(即两次实验内容)三、实验内容:信号按照自变量的取值是否连续可分为连续时间信号和离散时间信号。
对信号进行时域分析,首先需要将信号随时间变化的规律用二维曲线表示出来。
对于简单信号可以通过手工绘制其波形,但对于复杂的信号,手工绘制信号波形显得十分困难,且难以绘制精确的曲线。
在MATLAB中通常用三种方法来产生并表示信号,即(1)用MATLAB软件的funtool符合计算方法(图示化函数计算器)来产生并表示信号;(2)用MATLAB软件的信号处理工具箱(Signal Processing Toolbox)来产生并表示信号;(3)用MATLAB软件的仿真工具箱Simulink中的信号源模块。
(一) 用MATLAB软件的funtool符合计算方法(图示化函数计算器)来产生并表示信号在MATLAB环境下输入指令funtool,则回产生三个视窗。
即figure No.1:可轮流激活,显示figure No.3的计算结果。
figure No.2:可轮流激活,显示figure No.3的计算结果。
figure No.3:函数运算器,其功能有:f,g可输入函数表达式;x是自变量,在缺省时在[-2pi,2pi]的范围内;自由参数是a;在分别输入完毕后,按下面四排的任一运算操作键,则可在figure No.1或figure No.2产生相应的波形。
学生实验内容:产生以下信号波形3sin(x)、5exp(-x)、sin(x)/x、1-2abs(x)/a、sqrt(a*x)(二) 用MATLAB软件的信号处理工具箱(Signal Processing Toolbox)来产生并表示信号一种是用向量来表示信号,另一种则是用符合运算的方法来表示信号。
华工电信学院信号与系统实验一报告参考模板
华工电信学院信号与系统实验信号与系统实验报告(一)实验项目名称:MATLAB 编程基础及典型实例 上机实验题目:信号的时域运算及MA TLAB 实现 一、实验目的学习并掌握使用MATLAB 产生基本信号、绘制信号波形、实现信号的可视化表示,为信号分析和系统设计奠定基础。
二、实验内容1. 利用Matlab 产生下列连续信号并作图。
(1) 51),1(2)(<<---=t t u t x(2) 2000,)8.0cos()1.0cos()(<<=t t t t x ππ 2. 利用Matlab 产生下列离散序列并作图。
(1) ⎩⎨⎧≤≤-=其他,055,1][k k x , 设1515-≤<k 。
(2) )]25.0cos()25.0[sin()9.0(][k k k x k ππ+=,设2020-≤<k 。
3. 已知序列]3,2,1,0,1,2;2,3,1,0,2,1[][--=-=k k x , ]21,0,1,1,1[][=-=k k h 。
(1) 计算离散序列的卷积和][][][k h k x k y *=,并绘出其波形。
(2) 计算离散序列的相关函数][][][n k y k x k R k xy +=∑∞-∞=,并绘出其波形。
(3) 序列相关与序列卷积有何关系?三、实验细节1. 利用Matlab 产生下列连续信号并作图。
(1) 51),1(2)(<<---=t t u t xt=-1:0.01:5;x=-2.*((t-1)>=0); plot(t,x);axis([-1,5,-2.2,0.2])-112345-2-1.5-1-0.5(2) 2000,)8.0cos()1.0cos()(<<=t t t t x ππ t=0:2:200;x=cos(0.1*pi*t).*cos(0.8*pi*t); plot(t,x);20406080100120140160180200-1-0.8-0.6-0.4-0.200.20.40.60.812. 利用Matlab 产生下列离散序列并作图。
信号与系统MATLAB实验
2016-2017学年第一学期信号与系统实验报告班级:姓名:学号:成绩:指导教师:实验一 常见信号的MATLAB 表示及运算一.实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法二.实验原理信号一般是随时间而变化的某些物理量;按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示;若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确;MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具;根据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 所定义的时间点上的样值; 说明: plot 是常用的绘制连续信号波形的函数;严格说来,MATLAB 不能表示连续信号,所以,在用plot 命令绘制波形时,要对自变量t 进行取值,MATLAB 会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线;因此,绘制的只是近似波形,而且,其精度取决于t 的取样间隔;t 的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑;例如:图1-1是在取样间隔为p=时绘制的波形,而图1-2是在取样间隔p=时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多;在上面的f=sint . /t 语句中,必须用点除符号,以表示是两个函数对应点上的值相除;⑵ 符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot 等函数来绘出信号的波形; ⑶ 常见信号的MATLAB 表示对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号t 、符号函数sgnt 等,在MATLAB 中这些信号都有专门的表示方法; 单位阶跃信号单位阶跃信号的定义为:10()0t t t ε>⎧=⎨<⎩,单位阶跃信号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式;例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即:2()(1)(1)G t t t εε=+--在MATLAB 中,可通过多种方法得到单位阶跃信号,下面分别介绍; 方法一: 调用Heavisidet 函数在MATLAB 的Symbolic Math Toolbox 中,有专门用于表示单位阶跃信号的函数,即Heavisidet 函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程;首先定义函数Heavisidet 的m 函数文件,该文件名应与函数名同名即;%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y function y= Heavisidety=t>0; %定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际阶跃信号定义的区别; 方法二:数值计算法在MATLAB 中,有一个专门用于表示单位阶跃信号的函数,即stepfun 函数,它是用数值计算法表示的单位阶跃函数()t ε;其调用格式为: stepfunt,t0其中,t 是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零;有趣的是它同时还可以表示单位阶跃序列()k ε,这只要将自变量以及取样间隔设定为整数即可;有关单位阶跃序列()k ε的表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用stepfun 函数来表示单位阶跃函数; 符号函数符号函数的定义为:10sgn()1t t t >⎧=⎨-<⎩在MATLAB 中有专门用于表示符号函数的函数sign ,由于单位阶跃信号 t和符号函数两者之间存在以下关系:1122()sgn()t t ε=+,因此,利用这个函数就可以很容易地生成单位阶跃信号;下面举个例子来说明如何利用sign 函数生成单位阶跃信号,并同时绘制其波形; 2.离散时间信号离散时间信号又叫离散时间序列,一般用()f k 表示,其中变量k 为整数,代表离散的采样时间点采样次数;三.实验内容1.分别用MATLAB 的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形:2[]()cos()()(4)2tf t t t πεε=--syms t;f=sym'costpit/2heavisidet-heavisidet-4'; ezplotf,-2,8; 423()(2)f t t t ε=+syms t;f=sym'2/3theavisidet+2'; ezplotf,-4,8;2.分别用MATLAB 表示并绘出下列离散时间信号的波形: 2[]()()(8)f t k k k εε=-- t=0:8; t1=-10:15;f=zeros1,10,t,zeros1,7; stemt1,faxis-10,15,0,10 4 ()(2)f k k ε=-+t=-20:10;f=ones1,23,zeros1,8; stemt,f stemt,f3.已知信号f t 的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形; 2(2)f t -t=-1::4; t0=0; t1=1; t2=2;ut=2stepfunt,t0-2stepfunt,t1+stepfunt,t1-stepfunt,t2;plott-2,ut axis-3,2,0,3 4(0.51)f t +t=-1::4;t0=0;t1=1; t2=2;ut=2stepfunt,t0-2stepfunt,t1+stepfunt,t1-stepfunt,t2; plott+1,ut axis-1,2,0,44.已知两信号1()(1)()f t t t εε=+-,2()()(1)f t t t εε=--,求卷积积分12()()()g t f t f t =*,并与例题比较;程序清单:t1=-1::0; t2=0::1; t3=3::5;f1=onessizet1; f2=onessizet2; g=convf1,f2; plott3,g 信号波形:5.已知两信号1()()f t t t ε=,20()()0t tt te t f t t eε-≥⎧=⎨<⎩,求卷积积分12()()()g t f t f t =*;程序代码:t1=0::5;t2=-5::5; t3=-5::10; f1=t1;f2=expt2.t2<0+t2.exp-t2.t2>=0; g=convf1,f2; plott3,g;运行结果截图:6.已知{}{}12()1,1,1,2,()1,2,3,4,5f k f k ==,求两序列的卷积和 ; 程序清单:f1=1,1,1,2,0; f2=1,2,3,4,5; f=convf1,f2; x=0:8;stemx,f,'filled' 信号波形:实验二 LTI 系统的响应一、实验目的1.熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2.熟悉连续离散时间系统在任意信号激励下响应的求解方法3.熟悉应用MATLAB 实现求解系统响应的方法二、实验原理1.连续时间系统对于连续的LTI 系统,当系统输入为ft ,输出为yt ,则输入与输出之间满足如下的线性常系数微分方程:()()0()()nmi j i j i j a y t b f t ===∑∑,当系统输入为单位冲激信号δt 时产生的零状态响应称为系统的单位冲激响应,用ht 表示;若输入为单位阶跃信号εt 时,系统产生的零状态响应则称为系统的单位阶跃响应,记为gt ,如下图所示;系统的单位冲激响应ht 包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关;我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应;因此,求解系统的冲激响应ht 对我们进行连续系统的分析具有非常重要的意义;在MATLAB 中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse 和step ;如果系统输入为ft ,冲激响应为ht ,系统的零状态响应为yt ,则有:()()()y t h t f t =*;若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应;但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐;在MATLAB 中,应用lsim 函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应;lsim 函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图;2.离散时间系统LTI 离散系统中,其输入和输出的关系由差分方程描述:00()()n mi ji j a y k i bf k j ==+=+∑∑前向差分方程()()nmi ji j a y k i bf k n j ==-=-+∑∑ 后向差分方程当系统的输入为单位序列δk 时产生的零状态响应称为系统的单位函数响应,用hk 表示;当输入为 εk 时产生的零状态响应称为系统的单位阶跃应,记为:gk ,如下图所示;如果系统输入为ek ,冲激响应为hk ,系统的零状态响应为y k ,则有:()()()y k h k f k =*;与连续系统的单位冲激响应ht 相类似,离散系统的单位函数响应hk 也包含了系统的固有特性,与输入序列无关;我们只要知道了系统的单位函数响应,即可求得系统在不同激励信号作用下产生的响应;因此,求解系统的单位函数响应hk 对我们进行离散系统的分析也同样具有非常重要的意义;MATLAB 中为用户提供了专门用于求解离散系统单位函数响应, 并绘制其时域波形的函数impz ;同样也提供了求离散系统响应的专用函数filter ,该函数能求出由差分方程所描述的离散系统在指定时间范围内的输入序列作用时,产生的响应序列的数值解;当系统初值不为零时,可以使用dlsim 函数求出离散系统的全响应,其调用方法与前面连续系统的lsim 函数相似;另外,求解离散系统阶跃响应可以通过如下两种方法实现:一种是直接调用专用函数dstep ,其调用方法与求解连续系统阶跃响应的专用函数step 的调用方法相似;另一种方法是利用求解离散系统零状态响应的专用函数filter ,只要将其中的激励信号看成是单位阶跃信号εk 即可;三、实验内容1. 已知描述系统的微分方程和激励信号et 分别如下,试用解析方法求系统的单位冲激响应ht 和零状态响应rt ,并用MATLAB 绘出系统单位冲激响应和系统零状态响应的波形,验证结果是否相同;①''()4'()4()'()3()y t y t y t f t f t ++=+;()()t f t e t ε-=程序清单:a=1 4 4;b=1 3; impulseb,a,10 p=;t=0:p:10; x=exp-1t;y=filterb,a,xsubplot2,1,1,impulseb,a,10 subplot2,1,2,lsimb,a,x,t②''()2'()26()'()y t y t y t f t ++=;()()f t t ε= 单位冲激响应程序代码: a=1 2 26;b=1;subplot2,1,1, impulseb,a,4 subplot2,1,2, stepb,a,4 运行结果截图:零状态响应程序代码: a=1 2 26;b=1; p1=;t1=0:p1:10; x1=t1;lsimb,a,x1,t1 运行结果截图:③''()4'()3()()y t y t y t f t ++=;2()()t f t e t ε-=a=1 4 3;b=1; p=;t=0:p:10; x=exp-2ty=filterb,a,xsubplot2,1,1,impulseb,a,10 subplot2,1,2,lsimb,a,x,t④如下图所示的电路中,已知1234()R R R ===Ω,121()L L H ==,且两电感上初始电流分别为12(0)2(),(0)0()i A i A ==,如果以电阻3R 上电压()y t 作为系统输出,请求出系统在激励()12()f t t ε=v 作用下的全响应;程序清单:A=-8 4;4 -8;B=1;0;C=-4 4;D=0; x0=2;0; t=0::10;E=12.onessizet;r,x=lsimA,B,C,D,E,t,x0; plott,r信号波形:阶跃响应程序代码: a=1,-5/6,1/6;b=1,0,-1; k=0:20;x=heavisidek; y=filterb,a,xsubplot2,1,1,stemk,x title'输入序列'subplot2,1,2,stemk,y title'输出序列' 运行结果截图:④一带通滤波器可由下列差分方程描述:()0.81(2)()(2)y k y k f k f k +-=--,其中()f k 为系统输入, ()y k 为系统输出;请求出当激励[]()1010cos(/2)10cos()()f k kn kn k ε=++选取适当的n 值时滤波器的稳态输出;a=1,0,81/100; b=1,0,-1; k=0:20;x=10+10.cos1/2.k+10.cosk; y=filterb,a,xsubplot3,1,1,impzb,a,0:20, subplot3,1,2,dstepb,a,0:20, subplot3,1,3,stemk,y实验三连续时间信号的频域分析一、实验目的1.熟悉傅里叶变换的性质 2.熟悉常见信号的傅里叶变换3.了解傅里叶变换的MATLAB 实现方法二、实验原理傅里叶变换是信号分析 的最重要的内容之一;从已知信号()f t 求出相应的频谱函数()F j ω的数学表示为:()F j ω()j t f t e dt ω∞--∞=⎰()f t 的傅里叶变换存在的充分条件是()f t 在无限区间内绝对可积,即()f t 满足下式: ()f t dt ∞-∞<∞⎰但上式并非傅里叶变换存在的必要条件;在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换;傅里叶反变换的定义为:1()()2j tf t F j e d ωωωπ∞-∞=⎰; 在这一部分的学习中,大家都体会到了这种数学运算的麻烦;在MATLAB 语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB 中实现;在MATLAB 中实现傅里叶变换的方法有两种,一种是利用MATLAB 中的Symbolic Math Toolbox 提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法;1.直接调用专用函数法①在MATLAB 中实现傅里叶变换的函数为: F=fourier f对ft 进行傅里叶变换,其结果为FwF =fourierf,v对ft 进行傅里叶变换,其结果为FvF=fourier f,u,v对fu 进行傅里叶变换,其结果为Fv②傅里叶反变换f=ifourier F 对Fw 进行傅里叶反变换,其结果为fx f=ifourierF,U对Fw 进行傅里叶反变换,其结果为fu f=ifourier F,v,u 对Fv 进行傅里叶反变换,其结果为fu由于MATLAB 中函数类型非常丰富,要想了解函数的意义和用法,可以用mhelp 命令;如在命令窗口键入:mhelp fourier 回车,则会得到fourier 的意义和用法; 注意:1在调用函数fourier 及ifourier 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对fourier 中的f 及ifourier 中的F 也要用符号定义符sym 将其说明为符号表达式;2采用fourier 及fourier 得到的返回函数,仍然为符号表达式;在对其作图时要用ezplot 函数,而不能用plot 函数;3fourier 及fourier 函数的应用有很多局限性,如果在返回函数中含有δω等函数,则ezplot 函数也无法作出图来;另外,在用fourier 函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达的式子,则此时当然也就无法作图了;这是fourier 函数的一个局限;另一个局限是在很多场合,尽管原时间信号ft 是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值;三、 实验内容1.编程实现求下列信号的幅度频谱1求出1()(21)(21)f t t t εε=+--的频谱函数F1jω,请将它与上面门宽为2的门函数()(1)(1)f t t t εε=+--的频谱进行比较,观察两者的特点,说明两者的关系;f1t 函数程序代码: 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 ; f1t 函数图像: 门函数程序代码: syms t w;Gt=sym'Heavisidet+1-Heavisidet-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw;ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0 ; 门函数图像:2 三角脉冲21||||1()0||1t t f t t -≤⎧=⎨>⎩程序清单:f2t 函数程序代码:syms t wGt=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 ;f2t 函数图像:3 单边指数信号 3()()t f t e t ε-=程序清单:syms t wGt=sym'exp-1theavisidet';Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise';FFP=absFFw; ezplotFFP,-7pi 7pi;grid;axis-7pi 7pi 0信号波形:4 高斯信号23()t f t e -=程序清单:syms t w;Gt=exp-t.^2;Fw=fourierGt,t,wFFP=absFwezplotFw,-30 30;grid;axis-30 30 0 2信号波形:2.利用ifourier 函数求下列频谱函数的傅氏反变换 122()16F j j ωωω=-+ 程序清单:syms t wFw=sym '-j2w/16+w^2';ft=ifourier Fwft=ifourierFw,w,t;运行结果:ft=-jexp-4absxsignx1i222()58()()65j jF jj jωωωωω+-=++syms t wFw=sym'jw^2+5jw-8/jw^2+6jw+5';ft=ifourierFwft=ifourierFw,w,t;运行结果:ft =2pidiracx + piexp-x1i/jsignimag1/j3i/j -piexp-x5i/jsignimag1/j2i/j - piexp-x1i/jsignx3i/j +piexp-x5i/jsignx2i/j/2pi实验四离散信号与系统的时域分析一、实验目的1.学会用MATLAB表示常用离散信号的方法;2.学会用MATLAB实现离散信号卷积的方法;3.学会用MATLAB求解离散系统的单位响应;4.学会用MATLAB求解离散系统的零状态响应;二、实验原理1.离散信号的MATLAB表示表示离散时间信号fk需要两个行向量,一个是表示序号k= ,一个是表示相应函数值f= ,画图命令是stem;2.离散信号的卷积和两个有限长序列f1,f2卷积可调用MATLAB函数conv,调用格式是f=convf1,f2, f是卷积结果,但不显示时间序号,可自编一个函数dconv给出f 和k,并画图;3.离散系统的单位响应MATLAB提供画系统单位响应函数impz,调用格式是impzb,a 式中b和a是表示离散系统的行向量;impzb,a,n 式中b和a是表示离散系统的行向量,时间范围是0~n;impzb,a,n1,n2 时间范围是n1~n2 ;y=impzb,a,n1,n2 由y给出数值序列;4.离散系统的零状态响应MATLAB提供求离散系统零状态响应数值解函数filter,调用格式为filterb,a,x,式中b和a是表示离散系统的向量,x是输入序列非零样值点行向量,输出向量序号同x一样;三、上机实验内容1.验证实验原理中程序离散信号的MATLAB表示例2-1正弦序列信号 正弦序列信号可直接调用MATLAB 函数cos,例)cos(ϕω+k ,当ωπ/2是整数或分数时,才是周期信号;画)8/cos(ϕπ+k ,)2cos(k 波形程序是:k=0:40;subplot2,1,1stemk,coskpi/8,'filled'title'coskpi/8'subplot2,1,2stemk,cos2k,'filled'title'cos2k'2.已知)2(2)1(3)()2()1(2)(2-+-+=-+--k f k f k f k y k y k y ,画单位响应波形;a=2,-2,1;b=1,3,2;impzb,aimpzb,a,60impzb,a,-10:403.已知)()2(25.0)1()(k f k y k y k y =-+-+,输入)()(k t f ε=,画输出波形,范围0~15;a=1 1 ;b=1 ;t=0:15;x=t;y=filterb,a,xsubplot2,1,1stemt,xtitle'输入序列'subplot2,1,2stemt,ytitle'响应序列'实验五 连续信号与系统的S 域分析一、实验目的1. 熟悉拉普拉斯变换的原理及性质2. 熟悉常见信号的拉氏变换3. 了解正/反拉氏变换的MATLAB 实现方法和利用MATLAB 绘制三维曲面图的方法4. 了解信号的零极点分布对信号拉氏变换曲面图的影响及续信号的拉氏变换与傅氏变换的关系二、实验原理拉普拉斯变换是分析连续时间信号的重要手段;对于当t ∞时信号的幅值不衰减的时间信号,即在ft 不满足绝对可积的条件时,其傅里叶变换可能不存在,但此时可以用拉氏变换法来分析它们;连续时间信号ft 的单边拉普拉斯变换Fs 的定义为: 拉氏反变换的定义为:1()()2j st j f t F s e ds j σωσωπ+-=⎰显然,上式中Fs 是复变量s 的复变函数,为了便于理解和分析Fs 随s 的变化规律,我们将Fs 写成模及相位的形式:()()()j s F s F s e ϕ=;其中,|Fs|为复信号Fs 的模,而()s ϕ为Fs 的相位;由于复变量s=σ+jω,如果以σ为横坐标实轴,jω为纵坐标虚轴,这样,复变量s 就成为一个复平面,我们称之为s 平面;从三维几何空间的角度来看,|()|F s 和()s ϕ分别对应着复平面上的两个曲面,如果绘出它们的三维曲面图,就可以直观地分析连续信号的拉氏变换Fs 随复变量s 的变化情况,在MATLAB 语言中有专门对信号进行正反拉氏变换的函数,并且利用 MATLAB 的三维绘图功能很容易画出漂亮的三维曲面图;①在MATLAB 中实现拉氏变换的函数为:F=laplace f 对ft 进行拉氏变换,其结果为FsF=laplace f,v对ft 进行拉氏变换,其结果为FvF=laplace f,u,v对fu 进行拉氏变换,其结果为Fv②拉氏反变换f=ilaplace F对Fs 进行拉氏反变换,其结果为ftf=ilaplaceF,u 对Fw 进行拉氏反变换,其结果为fuf=ilaplaceF,v,u 对Fv 进行拉氏反变换,其结果为fu注意: 在调用函数laplace 及ilaplace 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对laplace 中的f 及ilaplace 中的F 也要用符号定义符sym 将其说明为符号表达式;三、实验内容1.求出下列函数的拉氏变换式,并用MATLAB 绘制拉氏变换在s 平面的三维曲面图① 3()2()5()t t f t e t e t εε--=+函数程序代码:syms t sft=sym'2exp-tHeavisidet+5exp-3tHeavisidet';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=2/s+1+5/s+3;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:② ()()(2)f t t t εε=--函数程序代码:syms t sft=sym'Heavisidet-Heavisidet-2';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=1/s-exp-2s/s;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:③ 3()sin()()t f t e t t ε-=函数程序代码:syms t sft=sym'exp-3tsintHeavisidet';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=1/s+3^2+1;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:④ []()sin()()(2)f t t t t πεε=--函数程序代码:syms t sft=sym'sinpitHeavisidet-Heavisidet-2';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs= pi/s^2+pi^21/s-exp-2s/s;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:2. 已知信号的拉氏变换如下,请用MATLAB 画出其三维曲面图,观察其图形特点,说出函数零极点位置与其对应曲面图的关系,并且求出它们所对应的原时间函数f t ①22(3)(3)()(5)(16)s s F s s s -+=-+ 函数程序代码:syms x y ss=x+iy;FFs=2s-3s+3/s-5s^2+16;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运行结果截图:求原函数的程序代码:syms t sFs =sym'2s-3s+3/s-5s^2+16'ft=ilaplaceFs原函数:ft = 50cos4t/41 + 32exp5t/41 + 125sin4t/82 ②(1)(3)()(2)(5)s s F s s s s ++=++ 函数程序代码:syms x y ss=x+iy;FFs=s+1s+3/ss+2s+5;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运行结果截图:求原函数的程序代码:syms t sFs =sym's+1s+3/ss+2s+5'ft=ilaplaceFs原函数:ft = exp-2t/6 + 8exp-5t/15 + 3/103. 已知连续时间信号[]()s(2)()(4)f t co t t t πεε=--,请分别求出该信号的拉氏变换()F s 及其傅里叶变换()F j ω,并用MATLAB 绘出()F s 的曲面图及振幅频谱()F j ω的波形,观察()F s 的曲面图在虚轴上的剖面图,并将它与信号的振幅频谱曲线进行比较,分析两者的对应关系;1拉氏变换:程序代码:syms t sft=sym'cos2pitHeavisidet-Heavisidet-4';Fs=laplaceft运算结果:Fs=laplaceHeavisidet, t, s-pi2i/2 + laplaceHeavisidet, t, s+pi2i/2 - laplaceHeavisidet - 4, t, s - pi2i/2 - laplaceHeavisidet - 4, t, s + pi2i/22傅里叶变换:程序代码:syms t wGt=sym'cos2pitHeavisidet-Heavisidet-4';Fw=fourierGt运算结果:Fw = fouriercos2pitHeavisidet, t, w - fourierHeavisidet - 4cos2pit, t, w四、总结报告由于平时都是在上课过程中学习理论知识,而这次实验是在理论知识的基础上来进行实验操作,但并是不全是上课时学习的理论知识,也存在许多的新知识;所以对于这次把上课时的理论知识并结合新知识一起应用于实践操作来说是有点困难的; 信号与系统的实验不同于大物实验,一开始说可以多人合作完成的实验,到最后是一个人单独完成;在为数不多的四次实验中,我深深感受到了团队合作在实验中的重要性;在自己对自己写出的代码,运行出现错误的时候,两个人或者多个人对实验的共同理解是实验高效、误差小完成的基础;参考文献:MATLAB应用大全MATLAB无师自通。
《信号与系统教程》教案信号与系统的MATLAB仿真
《信号与系统教程》教案信号与系统的MATLAB仿真信号与系统是电子信息类专业以及相关领域常见的一门重要课程,是学生建立系统性的信号与系统理论知识体系的基础课程。
在学习信号与系统的过程中,MATLAB仿真是一个非常重要的工具,通过仿真可以更直观地理解信号与系统的原理和性质,加深学生对课程内容的理解和掌握。
一、实验目的:1.掌握使用MATLAB进行信号与系统仿真的基本方法;2.熟练掌握MATLAB中信号处理和系统分析的基本函数;3.理解信号与系统的基本性质和特点;4.通过仿真实验加深对信号与系统理论的理解。
二、实验内容:1.基本信号的生成与显示通过MATLAB编程生成并显示几种基本信号,如冲激信号、阶跃信号、正弦信号等,并观察它们的波形和频谱特性。
2.离散信号的处理与显示利用MATLAB进行离散信号的加减运算、时域缩放和频域移位等操作,并观察信号在时域和频域上的变化。
3.模拟系统的搭建与分析通过MATLAB建立一个简单的模拟系统,如一阶低通滤波器或者二阶高通滤波器,然后仿真系统的频率响应和时域响应。
4.离散系统的搭建与分析以差分方程形式给出一个离散系统的描述,用MATLAB实现系统的差分方程求解,并分析系统的频率响应和稳定性。
三、实验步骤:1.编写MATLAB代码生成基本信号,并绘制信号波形和频谱图;2.对生成的基本信号进行加减运算、缩放和移位等处理,并观察处理后的信号波形和频谱;3.建立一个模拟系统的传递函数或状态空间方程,利用MATLAB进行系统的频率响应和时域响应仿真;4.建立一个离散系统的差分方程描述,用MATLAB求解系统的时域响应,并分析系统的频谱特性和稳定性;四、实验结果:1.完成了基本信号的生成和显示,能够准确地观察不同信号的时域波形和频谱特性;2.成功实现了对离散信号的处理和显示,掌握了信号的加减、缩放和移位方法;3.实现了一个模拟系统的频率响应和时域响应仿真,了解了系统的性能和特点;4.成功建立了一个离散系统的差分方程模型,通过MATLAB求解得到系统的时域响应,并对系统的频谱和稳定性进行了分析。
基于Matlab的信号与系统实验指导
基于Matlab 的信号与系统实验指导实验一 连续时间信号在Matlab 中的表示一、实验目的1、学会运用Matlab 表示常用连续时间信号的方法2、观察并熟悉这些信号的波形和特性二、实验原理及实例分析1、信号的定义与分类2、如何表示连续信号?连续信号的表示方法有两种;符号推理法和数值法。
从严格意义上讲,Matlab 数值计算的方法不能处理连续时间信号。
然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能被Matlab 处理,并且能较好地近似表示连续信号。
3、Matlab 提供了大量生成基本信号的函数。
如:(1)指数信号:K*exp(a*t)(2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi)(3)复指数信号:K*exp((a+i*b)*t)(4)抽样信号:sin(t*pi)注意:在Matlab 中用与Sa(t)类似的sinc(t)函数表示,定义为:)t /()t (sin )t (sinc ππ=(5)矩形脉冲信号:rectpuls(t,width)(6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表示信号的占空比DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。
占空比默认为0.5。
(7)三角波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。
(8)周期三角波信号:sawtooth(t, width)(9)单位阶跃信号:y=(t>=0)三、实验内容1、验证实验内容直流及上述9个信号2、程序设计实验内容(1)利用Matlab 命令画出下列连续信号的波形图。
(a ))4/3t (2cos π+(b ))t (u )e 2(t -- (c ))]2()(u )][t (cos 1[--+t u t π(2)利用Matlab 命令画出复信号)4/t (j 2e)t (f π+=的实部、虚部、模和辐角。
信号与系统 matlab实验报告
信号与系统 matlab实验报告《信号与系统 Matlab实验报告》摘要:本实验报告通过使用 Matlab 软件进行信号与系统实验,探讨了信号与系统在数字领域的应用。
实验结果表明,Matlab 软件具有强大的信号处理和系统分析功能,能够有效地进行信号与系统的模拟和分析。
引言:信号与系统是电子工程领域中的重要基础课程,它研究了信号的产生、传输和处理,以及系统对信号的响应和影响。
在数字领域,信号与系统的理论和方法也得到了广泛的应用。
Matlab 软件作为一种强大的数学计算工具,为信号与系统的模拟和分析提供了便利和高效的途径。
实验一:信号的生成与显示在本实验中,我们首先使用 Matlab 软件生成了几种常见的信号,包括正弦信号、方波信号和三角波信号。
通过调整信号的频率、幅度和相位等参数,我们观察了信号的变化,并利用 Matlab 的绘图功能将信号图形显示出来。
实验结果表明,Matlab 软件能够方便地生成各种类型的信号,并能够直观地显示信号的波形和特性。
实验二:信号的采样与重构在本实验中,我们使用 Matlab 软件对信号进行了采样和重构。
我们首先对一个连续信号进行了离散采样,然后利用 Matlab 的插值函数对采样信号进行了重构。
实验结果表明,采样和重构过程中存在信号失真和频率混叠等问题,但通过适当的采样和重构方法,我们能够有效地还原原始信号。
实验三:系统的响应与分析在本实验中,我们使用 Matlab 软件对系统的响应进行了分析。
我们构建了几种常见的系统模型,包括线性时不变系统和滤波器系统,然后利用 Matlab 的系统分析工具对系统的频率响应、相位响应和单位脉冲响应等进行了分析。
实验结果表明,Matlab 软件能够有效地进行系统的模拟和分析,为系统设计和优化提供了有力的支持。
结论:通过本实验,我们深入了解了信号与系统在数字领域的应用,并掌握了使用 Matlab 软件进行信号与系统模拟和分析的方法。
信号的基本运算单元实验报告
信号的基本运算单元实验报告实验报告信号的基本运算单元实验目的:1. 理解信号的基本运算单元,并了解其在数字信号处理中的应用。
2. 学习运用MATLAB进行信号处理实验。
实验原理:1. 信号的基本运算单元共有四种:加法器、乘法器、可逆器和延时器。
2. 加法器用于将两个信号加和,乘法器用于对两个信号进行乘法运算,可逆器用于将信号取反,延时器用于将信号向右或向左平移。
3. 运用这些基本运算单元可以实现复杂的信号处理,如数字滤波、傅里叶变换等。
实验步骤:1. 打开MATLAB软件,新建一个.m文件。
2. 定义两个信号,分别为x1和x2,使用sin函数生成一个正弦波信号。
3. 将x1和x2送入加法器,实现信号的加法运算,得到y1。
4. 将x1和x2送入乘法器,实现信号的乘法运算,得到y2。
5. 将x1送入可逆器,取反信号后得到y3。
6. 将x1送入延时器,平移1个单位时间后得到y4。
7. 将x1和x2分别绘制在图像中,用subplot()函数将y1、y2、y3、y4放在同一张图像中显示。
8. 运行程序,观察输出结果。
实验结果:通过实验,我们成功实现了基本信号运算单元的运用。
在MATLAB中,加法器、乘法器、可逆器和延时器可以很方便地实现信号的加减乘除、取反和延时等操作,这为数字信号处理提供了极大的便利。
结论:通过这次实验,我们了解了信号的基本运算单元,并运用MATLAB进行了实验,成功实现了信号的加法、乘法、取反和延时等运算。
此外,我们还了解到这些基本运算单元可以组成复杂的信号处理系统,包括数字滤波、傅里叶变换等,有着广泛的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号与系统实验报告
实验一、信号基本运算的MATLAB 实现
一、实验目的
学习如何利用Matlab 实现信号的基本运算,掌握信号的基本运算的原理,加深对书本知识的理解。
二、实验材料
PC 机一台
三、实验内容
1、(1)编写如图Exercise1.1所示波形的MATLAB 函数。
(2)试画出f(t),f(0.5t),f(1-2t)的波形。
解:
程序如下: 实验结果: function yt = f2(t)
yt=tripuls(t,4,0.5); t=-3:0.01:5; subplot(311) plot(t,tx(t)) title('f£¨t£©') subplot(312) plot(t,tx(0.5*t)) title('f(0.5t)') subplot(313) plot(t,tx(-2*t)) title('f(-2t)') 2、画出如图exercise1.2所示序列f[2k]、f[-k]和f[k+2],f[k-2]的波形。
并求f[k]的和。
解:
程序如下:
function f=ls(k)
f=3.*(k==-2)+1.*(k==-1)+(-2).*(k==0)+(-1).*(k==1)+2.*(k==2)+(-
3).*(k==3);
Exercise 1.1
-3
f[k] k
Exercise1.2
k=-5:0.01:10;
subplot(321)
stem(k,ls(k)) 实验结果:
title('f[k]')
subplot(322)
stem(k,ls(2*k))
title('f[2k]')
subplot(323)
stem(k,ls(-1*k))
title('f[-k]')
subplot(324)
stem(k,ls(k+2))
title('f[k+2]')
subplot(325)
stem(k,ls(k-2))
title('f[k-2]')
subplot(326)
plot(k,sum(ls(-2:3)))
title('Sum f[k]')
3、解:
程序如下:
function y=tx(t)
y=0.*(t>=2|t<-1)+(2-t).*(t>=1&t<2)+1.*(t>=-1&t<1); t=-5:0.01:5; 实验结果:
ft1=tripuls(t-3,2,0.5);
subplot(311)
plot(t,ft1)
title('f(t)')
ft1=tripuls(-t-3,2,0.5);
subplot(312)
plot(t,ft1)
title('f(-t)')
ft1=tripuls(-2*t-2,2,0.5);
subplot(313)
plot(t,ft1)
title('f(1-2t)')。