中南大学 信号与系统matlab实验报告

合集下载

信号与系统matlab实验报告

信号与系统matlab实验报告

信号与系统MATLAB实验报告实验目的本实验旨在通过MATLAB软件进行信号与系统的相关实验,探究信号与系统的特性与应用。

实验步骤1. 准备工作在正式进行实验之前,我们需要做一些准备工作。

首先,确保已经安装好MATLAB软件,并且熟悉基本的操作方法。

其次,准备好实验所需的信号与系统数据,可以是已知的标准信号,也可以是自己采集的实际信号。

2. 信号的生成与显示使用MATLAB编写代码,生成不同类型的信号。

例如,可以生成正弦信号、方波信号、三角波信号等。

通过绘制信号波形图,观察不同信号的特点和变化。

t = 0:0.1:10; % 时间范围f = 1; % 信号频率s = sin(2*pi*f*t); % 正弦信号plot(t, s); % 绘制信号波形图3. 系统的建模与分析根据实验需求,建立相应的系统模型。

可以是线性时不变系统,也可以是非线性时变系统。

通过MATLAB进行模型的建立和分析,包括系统的时域特性、频域特性、稳定性等。

sys = tf([1, 2], [1, 3, 2]); % 系统传递函数模型step(sys); % 绘制系统的阶跃响应图4. 信号与系统的运算对于给定的信号和系统,进行信号与系统的运算。

例如,进行信号的卷积运算、系统的响应计算等。

通过MATLAB实现运算,并分析结果的意义与应用。

x = [1, 2, 3]; % 输入信号h = [4, 5, 6]; % 系统响应y = conv(x, h); % 信号的卷积运算plot(y); % 绘制卷积结果的波形图5. 实验结果分析根据实验数据和分析结果,对实验进行结果总结与分析。

可以从信号的特性、系统的特性、运算结果等方面进行综合性的讨论和分析。

实验总结通过本次实验,我们学习了如何在MATLAB中进行信号与系统的实验。

通过生成信号、建立系统模型、进行运算分析等步骤,我们深入理解了信号与系统的基本原理和应用方法。

通过实验数据和结果分析,我们对信号与系统有了更深刻的认识,并掌握了MATLAB在信号与系统实验中的应用技巧。

信号与系统实验matlab报告

信号与系统实验matlab报告

大连理工大学本科实验报告课程名称:信号与系统实验学院(系):电信学部专业:电子班级:学号:姓名:实验一信号的频谱图一、实验目的1. 掌握周期信号的傅里叶级数展开2. 掌握周期信号的有限项傅里叶级数逼近3. 掌握周期信号的频谱分析4. 掌握连续非周期信号的傅立叶变换5. 掌握傅立叶变换的性质二、习题:t=-3:0.01:3;n0=-3;n1=-1;t0=2;for i=0:2t1=n0:0.01:n0+t0/2;x1=t1-n0;t2=n1-t0/2:0.01:n1;x2=-t2+n1;plot(t1,x1,'r',t2,x2,'r');hold on;n0=n0+t0;n1=n1+t0;endn_max=[1 3 7 15 31];N=length(n_max);for k=1:Nn=1; sum=0;while (n<(n_max(k)+1))b=4./pi/pi/n/n;y=b*cos(n*pi*t);sum=sum+y;n=n+2;endfigure;n0=-3;n1=-1;t0=2;for i=0:2t1=n0:0.01:n0+t0/2;x1=t1-n0;t2=n1-t0/2:0.01:n1;x2=-t2+n1;plot(t1,x1,'r',t2,x2,'r');hold on; n0=n0+t0; n1=n1+t0; endy=sum+0.5; plot(t,y,'b');xlabel('t'),ylabel('wove'); hold off;axis([-3.01 3.01 -0.01 1.01]); grid on;title(['the max=',num2str(n_max(k))]) Endtw o v ethe max=1tw o v ethe max=7for k=1:3;n=-30:30;tao=k;T=2*k; w=2*pi/T; x=n*tao*0.5fn1=sinc(x/pi); fn=tao*fn1.*fn1; subplot(3,1,k),stem(n*w,fn);grid ontitle(['T=',num2str(2*k)]); axis([-30 30 0 k]); endtw o v ethe max=3ft=sym('sin(2*pi*(t-1))/(pi*(t-1))');Fw=fourier(ft); subplot(2,1,1); ezplot(abs(Fw)); grid on ;title('fudupu');phase=atan(imag(Fw)/real(Fw));subplot(2,1,2); ezplot(phase); grid on ;title('xiangweipu');ft=sym('(sin(pi*t)/(pi*t))^2'); Fw=fourier(ft); subplot(2,1,1); ezplot(abs(Fw)); grid on ; title('fudupu');phase=atan(imag(Fw)/real(Fw));subplot(2,1,2); ezplot(phase); grid on ; title('xiangweipu');-6-4-20246wfudupu-6-4-20246wxiangweipuwfudupu-6-4-20246wxiangweipu(1)syms tFw=sym('10/(3+i*w)-4/(5+i*w)')ft=ifourier(Fw,t)ezplot(ft);grid on2 heaviside(t) (-2 exp(-5 t)+5 exp(-3 t))t(2)syms tFw=sym('exp(-4*w^2)')ft=ifourier(Fw,t)ezplot(ft);grid on1/4/ 1/2 exp(-1/16 t2)tdt = 0.01; t = -0.5:dt:0.5;ft = uCT(t+0.5)-uCT(t-0.5); N = 2000; k = -N:N;W = 2*pi*k/((2*N+1)*dt); F = dt * ft*exp(-j*t'*W); plot(W,F), grid on三、 实验体会:这是第一次信号上机实验,在这次实验中第一次接触到了matlab 这个强大的工程软件,同时学会了对绘制时信号的时域波形和对信号进行频域分析。

中南大学Matlab实验报告(优选.)

中南大学Matlab实验报告(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改赠人玫瑰,手留余香。

Matlab实验报告姓名:班级:班学号:目录实验一熟悉MATLAB环境 (3)实验二数值数组创建、应用及可视化 ................................ 错误!未定义书签。

实验三字符串数组的使用、简单脚本文件和函数的编写错误!未定义书签。

实验四数据可视化方法 .. (22)Matlab实验报告实验室名称:综合实验楼4楼实验日期:2014年12月[实验目的]1 .熟悉 MATLAB 主界面,并学会简单的菜单操作。

2 .学会简单的矩阵输入与信号输入。

3 .掌握部分绘图函数。

[实验原理]MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。

它提供了各种矩阵的运算与操作,并有较强的绘图功能。

用户第一次使用 MATLAB 时,建议首先在屏幕上键入 demo 命令,它将启动 MATLAB 的演试程序,用户可在此演示程序中领略MATLAB 所提供的强大的运算与绘图功能。

也可以键入 help 进行进一步了解。

MATLAB 启动界面如图所示:操作界面主要的介绍如下:指令窗(Command Window ),在该窗可键入各种送给MATLAB 运作的指令、函数、表达式,并显示除图形外的所以运算结果。

历史指令窗( Command History ),该窗记录已经运行过的指令、函数、表达式;允许自己的编写文件。

MATLAB 工作时,基本搜索过程为:首先在工作空间,即MATLAB 内存中进行检查,看输入的指令是不是变量;如不是,则检查输入指令是不是内建函数(比如sin 函数等);如不是,则在当前目录上,检查是否有与输入指令相同的M 文件存在;如还没有,则在 MATLAB 定义的搜索路径其他目录中,检查是否有该 M 文件存在。

MATLAB实验报告(1-4)

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实验报告

信号与系统MATLAB实验报告

实验报告实验课程:信号与系统—Matlab综合实验学生姓名:学号:专业班级:2012年5月20日基本编程与simulink仿真实验1—1编写函数(function)∑=m n k n 1并调用地址求和∑∑∑===++10011-8015012n n n n n n 。

实验程序:Function sum=qiuhe(m,k)Sum=0For i=1:m Sum=sum+i^k End实验结果;qiuhe(50,2)+qiuhe(80,1)+qiuhe(100,-1)ans=4.6170e+004。

1-2试利用两种方式求解微分方程响应(1)用simulink对下列微分方程进行系统仿真并得到输出波形。

(2)编程求解(转移函数tf)利用plot函数画图,比较simulink图和plot图。

)()(4)(6)(5)(d 22t e t e d d t r t r d d t r d tt t +=++在e(t)分别取u(t)、S(t)和sin(20пt)时的情况!试验过程(1)(2)a=[1,5,6]; b=[4,1]; sys=tf(b,a); t=[0:0.1:10]; step(sys)连续时间系统的时域分析3-1、已知某系统的微分方程:)()()()()(d 2t e t e d t r t r d t r tt t +=++分别用两种方法计算其冲激响应和阶跃响应,对比理论结果进行验证。

实验程序:a=[1,1,1];b=[1,1];sys=tf(b,a);t=[0:0.01:10];figure;subplot(2,2,1);step(sys);subplot(2,2,2);x_step=zeros(size(t));x_step(t>0)=1;x_step(t==0)=1/2;lsim(sys,x_step,t);subplot(2,2,3);impulse(sys,t);title('Impulse Response');xlabel('Time(sec)');ylabel('Amplitude');subplot(2,2,4);x_delta=zeros(size(t));x_delta(t==0)=100;[y1,t]=lsim(sys,x_delta,t);y2=y1;plot(t,y2);title('Impulse Response');xlabel('Time(sec)');ylabel('Amplitude');运行结果如下:3-2;请编写一个自定义函数[F,tF}=intl(f,tf,a)实现数值积分,其中f和tf分别用列矢量表示待积函数的抽样值和抽样时间,a表示积分的起始时间,F和tF分别表示积分结果的抽样值和抽样时间。

MATLAB信号与系统实验报告

MATLAB信号与系统实验报告

信号与系统实验报告(5)MATLAB 综合实验项目二 连续系统的频域分析目的:周期信号输入连续系统的响应可用傅里叶级数分析。

由于计算过程烦琐,最适合用MATLAB 计算。

通过编程实现对输入信号、输出信号的频谱和时域响应的计算,认识计算机在系统分析中的作用。

任务:线性连续系统的系统函数为11)(+=ωωj j H ,输入信号为周期矩形波如图1所示,用MATLAB 分析系统的输入频谱、输出频谱以及系统的时域响应。

图1方法:1、确定周期信号f(t)的频谱nF 。

基波频率Ω。

2、确定系统函数)(Ωjn H 。

3、计算输出信号的频谱nn F jn H Y )(Ω= 4、系统的时域响应∑∞-∞=Ω=n tjn neY 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-1012300.511.52Time(sec)输入信号n输入信号的幅度频谱-20-15-10-55101520n系统函数的幅度频谱-3-2-112300.10.20.30.4Time(sec)输出信号n输出信号的幅度频谱项目三 连续系统的复频域分析目的:周期信号输入连续系统的响应也可用拉氏变换分析。

matlab信号与系统实验报告

matlab信号与系统实验报告

matlab信号与系统实验报告Matlab信号与系统实验报告引言:信号与系统是电子工程、通信工程等领域中的重要基础课程,对于理解和应用各种信号处理技术具有重要意义。

本实验报告旨在通过使用Matlab软件,对信号与系统的基本概念和实验进行探讨和分析。

实验一:信号的基本特性分析在信号与系统的研究中,我们首先需要了解信号的基本特性。

通过Matlab软件,我们可以方便地对不同类型的信号进行分析和处理。

在本实验中,我们选择了常见的正弦信号和方波信号进行分析。

首先,我们生成了一个频率为1kHz,幅度为2V的正弦信号,并绘制了其时域波形图和频谱图。

通过观察时域波形图,我们可以看到正弦信号具有周期性和连续性的特点。

而通过频谱图,我们可以看到正弦信号在频域上只有一个峰值,说明其是单频信号。

接下来,我们生成了一个频率为1kHz,幅度为2V,占空比为50%的方波信号,并绘制了其时域波形图和频谱图。

与正弦信号不同,方波信号具有分段常值的特点。

通过频谱图,我们可以看到方波信号在频域上存在多个谐波分量,说明其是由多个频率的正弦信号叠加而成。

实验二:系统的时域响应分析在信号与系统中,系统的时域响应是描述系统对输入信号进行处理的重要指标。

通过Matlab软件,我们可以方便地分析和绘制系统的时域响应。

在本实验中,我们选择了一个一阶低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。

通过绘制输入信号和输出信号的时域波形图,我们可以观察到系统对输入信号进行了滤波处理,输出信号的幅度和相位发生了变化。

此外,我们还可以通过改变系统的参数,如截止频率和阶数,来观察系统的时域响应的变化。

通过对比不同参数下的输出信号波形图,我们可以得出不同参数对系统响应的影响。

实验三:系统的频域响应分析除了时域响应,频域响应也是描述系统特性的重要指标。

通过Matlab软件,我们可以方便地进行系统的频域响应分析。

在本实验中,我们选择了一个二阶巴特沃斯低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。

Matlab实验报告

Matlab实验报告

Matlab实验报告院系名称:信息科学与工程学院专业班级:通信工程1303指导老师:陈科文,支国明,张金焕,周扬学生姓名:学号:目录实验一熟悉MATLAB环境 (3)实验二数值数组创建、应用及可视化 (7)实验三字符串数组的使用、简单脚本文件和函数的编写 (12)实验四数据可视化方法 (22)实验一一、实验目的1 .熟悉MATLAB 主界面,并学会简单的菜单操作;2 .学会简单的矩阵输入与信号输入;3 .掌握部分绘图函数。

二、实验内容及要求1.用户工作目录和当前目录的建立和设置;2.熟悉简单的矩阵输入;3.常用基本命令的使用;4.基本序列运算;三、实验步骤及结果测试1.用户工作目录和当前目录的建立和设置2.熟悉简单的矩阵输入四、实验体会及心得这是我第一次做Matlab实验,一打开页面就有很多地方都不明白,因为页面大部分是英文,由于上课时对Matlab操作页面还有一些记忆,感觉还可以:本次试验是我对Matlab这门课有了一定的了解,对矩阵在Matlab中的运用也有了初步的认识。

实验二一、 实验目的1 .掌握二维数组的创建、寻访,区分数组运算与矩阵运算的区别;2 .掌握标准数组生成函数和数组构造技法;3 .进一步熟悉 M 脚本文件编写的方法和技巧。

二、实验内容及要求1.数组的创建和寻访 ;2.编写如图所示波形的 MATLAB 脚本文件,图中虚线为正弦波,要求它分别在21 及22处削顶。

三、实验步骤及结果测试仿照问题 1 中方法找出数组⎥⎦⎤⎢⎣⎡----=5311342024A 中所有绝对值大于 3 的元素。

程序如下图:运行指令 rand(‘state ’,11),A=rand(3,10000);B=(A>0.5);C=2*B -1;首先预测( C*C’)/100 的运行结果,然后再在机器上验证。

(本方法提供了产生通信等仿真中常需若干独立的双随机码的方法原型。

)A :B :C :编写如图所示波形的 MATLAB 脚本文件,图中虚线为正弦波,要求它分别在21 及22处削顶。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一基本信号的生成1.实验目的⚫学会使用 MATLAB 产生各种常见的连续时间信号与离散时间信号;⚫通过 MATLAB 中的绘图工具对产生的信号进行观察,加深对常用信号的理解;⚫熟悉 MATLAB 的基本操作,以及一些基本函数的使用,为以后的实验奠定基础。

2.实验内容⑴ 运行以上九个例子程序,掌握一些常用基本信号的特点及其MATLAB 实现方法;改变有关参数,进一步观察信号波形的变化。

⑵ 在k = [-10:10] 范围内产生并画出以下信号:a)f1[k] =[k];b)f2[k]=[k+2];c)f3[k]=[k-4];d) f [k]=2[k+2]-[k-4]。

源程序:k=-10:10; f1k=[zeros(1,10),1,zeros(1,10)];subplot(2,2,1)stem(k,f1k)title('f1[k]') f2k=[zeros(1,8),1,zeros(1,12)];subplot(2,2,2)stem(k,f2k)title('f2[k]') f3k=[zeros(1,14),1,zeros(1,6)];subplot(2,2,3)stem(k,f3k)title('f3[k]')f4k=2*f2k-f3k;subplot(2,2,4)⑶ 在k =[0:31] 范围内产生并画出以下信号:a) f1[k]=sin(4k)cos(4k);b) f2[k]=cos2(4k);c) f3[k] = sin(4k)cos(8k) 。

请问这三个信号的基波周期分别是多少?源程序:k=0:31;f1k=sin(pi/4*k).*cos(pi/4*k); subplot(3,1,1)stem(k,f1k)title('f1[k]')f2k=(cos(pi/4*k)).^2;subplot(3,1,2)stem(k,f2k)title('f2[k]') f3k=sin(pi/4*k).*cos(pi/8*k); subplot(3,1,3)其中 f1[k]的基波周期是4, f2[k]的基波周期是 4, f3[k]的基波周期是16。

实验二信号的基本运算1.实验目的⚫学会使用 MATLAB 完成信号的一些基本运算;⚫了解复杂信号由基本信号通过尺度变换、翻转、平移、相加、相乘、差分、求和、微分及积分等运算来表达的方法;⚫进一步熟悉 MATLAB 的基本操作与编程,掌握其在信号分析中的运用特点与使用方式。

2.实验内容⑴ 运行以上三个例题程序,掌握信号基本运算的 MATLAB 实现方法;改变有关参数,考察相应信号运算结果的变化特点与规律。

⑵ 已知信号f (t)如下图所示:a) 用MATLAB 编程复现上图;%作业题2 a:t=-6:0.001:6; ft1=tripuls(t,6,0.5); subplot(2,1,1) plot(t,ft1) title('f(t)')b) 画出f(2- 2t) 的波形;%bt=-6:0.001:6;ft1=tripuls(2*(1-t),6,0.5);%subplot(1,1,1)plot(t,ft1)title('f(2*(1-t)')c) 画出df d(t t)的波形;%ch=0.001;t=-6:h:6;yt=tripuls(t,6,0.5); y1=diff(yt)*1/h; plot(t(1:length(t)-1),y1) title('df(t)/dt')d) 画出f()d的波形。

-%dt=-6:0.1:6;for x=1:length(t)y2(x)=quad('tripuls(t,6,0.5)',-3,t(x));endplot(t,y2)title('integral of f(t)')实验三系统的时域分析1.实验目的⚫学习并掌握连续时间系统的零状态响应、冲激响应和阶跃响应的 MATLAB 求解方法;⚫学习并掌握离散时间系统的零状态响应、冲激响应和阶跃响应的 MATLAB 求解方法;⚫进一步深刻理解连续时间系统和离散时间系统的系统函数零极点对系统特性的影响;学习并掌握卷积的 MATLAB 计算方法。

2.实验内容⑴ 运行以上五个例题程序,掌握求解系统响应的 MATLAB 分析方法;改变模型参数,考察系统响应的变化特点与规律。

⑵ 设离散系统可由下列差分方程表示:y[k]-y[k-1]+0.9y[k-2] = f[k]计算k =[-20:100]时的系统冲激响应。

源程序:k=-20:100; a=[1 -1 0.9]; b=[1]; h=impz(b,a,k);stem(k,h);xlabel('Time(sec)')⑶ 设h[k]=(0.9)k u(k),输入f[k]=u[k]-u[k-10],求系统输出y[k]=f[k]h[k]。

(取k =[-10:50])源程序:k=-10:50;uk=[zeros(1,10),ones(1,51)]; u1k=[zeros(1,20),ones(1,41)];hk=0.9.^k.*uk;fk=uk-u1k;yk=conv(hk,fk); stem(0:length(yk)-1,yk);输入信号为 f (t ) =2sin(0.05t )+(t ), (t ) 为随机信号。

试绘出滤波器的输出信号波形。

(取t =[0:100]) 源程序:R=101; d=rand(1,R)-0.5; t=0:100;s=2*sin(0.05*pi*t);f=s+d;subplot(2,1,1); plot(t,d,'g-.',t,s,'b--',t,f,'r-'); xlabel('Time index t'); legend('d[t]','s[t]','f[t]'); title('处理前的波形') b=[0.22 0];a=[1 -0.8];y=filter(b,a,f); subplot(2,1,2);plot(t,s,'b--',t,y,'r-'); xlabel('Time index t');legend('s[t]','y[t]'); title('滤波器输出波形')⑷ 已知滤波器的传递函数:H (z )= 0.22 1 - 0.8z -1实验四周期信号的频域分析1.实验目的⚫掌握周期信号傅立叶级数分解与合成的计算公式⚫掌握利用MATLAB 实现周期信号傅立叶级数分解与综合方法⚫理解并掌握周期信号频谱特点2.实验内容1、仿照例程,实现下述周期信号的傅立叶级数分解与合成:a)首先,推导出求解a,a,b的公式,计算出前10 次系数;b)利用MATLAB求解a,a,b的值,其中a,b求解前10次系数,并给出利用这些系数合成的信号波形。

2a )设周期信号 f (t )的周期为T ,角频率= 2f = 2,且满足狄里赫利条件,则该周期信号可以展开成傅立叶级数。

(1)三角形式傅立叶级数 f (t )=a 0 +a 1cos 1t +b 1sin 1t +a 2cos 2t +b 2sin 2t +...+a n cos n t +b n sin n t +...= a +a cos(n t )+ b sin(n t ) n =1 n =1a 0 = 1 2T f (t )dtT 1 - 22)指数形式傅立叶级数f (t )= F n e jn 1t , n = 0,1,2,3, (b )求解 a , a ,b 及合成信号波形所用程序:function [A_sym,B_sym]=CTFShchsym% 采用符号计算求一个周期内连续时间函数 f 的三角级数展开系数 , 再用这些 % 展开系数合成连续时间函数 f.傅立叶级数% 函数的输入输出都是数值量% Nf=6 谐波的阶数% Nn 输出数据的准确位数% A_sym 第 1 元素是直流项,其后元素依次是 1,2,3...次谐波 cos 项展开系数 % B_sym 第 2,3,4,... 元素依次是 1,2,3... 次谐波 sin 项展开系数% tao=1 tao/T=0.2syms t n k xT=4;tao=T/4;a=-1.5;if nargin<4Nf=10;endif nargin<5Nn=32;endx=time_fun_x(t);A0=int(x,t,a,T+a)/T; %求出三角函数展开系数 A0 1 T 1 F n = 1 -2T 1 f (t )e -jn 1t dtT - 2% 求出三角函数展开系数 Bs%获取串数组 A0所对应的ASC2 码数值数组for k=1:NfA_sym(k+1)=double(vpa(subs(As,n,k),Nn)); %获取串数组 A 所对应的 ASC2 码数值数组B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn)); %获取串数组 B 所对应的 ASC2 码数值数组end ; if nargout==0 c=A_sym; disp(c);%输出 c 为三角级数展开系数:第 1 元素是直流项,其后元素依次是 1,2,3...次谐波cos 项展开系数 d=B_sym;disp(d); %输出 d 为三角级数展开系数: 第 2,3,4,...元素依次是 1,2,3...次谐波 sin 项展开系 数 t=-3*T:0.01:3*T; f0=c(1);% 直流 f1=c(2).*cos(2*pi*1*t/T)+d(2).*sin(2*pi*1*t/T); % 基波f2=c(3).*cos(2*pi*2*t/T)+d(3).*sin(2*pi*2*t/T); % 2 次谐波 f3=c(4).*cos(2*pi*3*t/T)+d(4).*sin(2*pi*3*t/T); % 3 次谐波 f4=c(5).*cos(2*pi*4*t/T)+d(5).*sin(2*pi*4*t/T);% 4 次谐波f5=c(6).*cos(2*pi*5*t/T)+d(6).*sin(2*pi*5*t/T); % 5 次谐波 f6=c(7).*cos(2*pi*6*t/T)+d(7).*sin(2*pi*6*t/T); % 6 次谐波 f7=c(8).*cos(2*pi*7*t/T)+d(8).*sin(2*pi*7*t/T); % 7 次谐波 f8=c(9).*cos(2*pi*8*t/T)+d(9).*sin(2*pi*8*t/T);% 8 次谐波 f9=c(10).*cos(2*pi*9*t/T)+d(10).*sin(2*pi*9*t/T); % 9 次谐波f10=c(11).*cos(2*pi*10*t/T)+d(11).*sin(2*pi*10*t/T); % 10 次谐波 f11=f0+f1+f2; % 直流+基波+2 次谐波f12=f11+f3; % 直流+基波+2 次谐波+3 次谐波f13=f12+f4+f5+f6; % 直流+基波+2 次谐波+3 次谐波+4 次谐波+5 次谐波+6 次谐波 f14=f13+f7+f8+f9+f10; %0~10 次 subplot(2,2,1) plot(t,f0+f1),hold on y=time_fun_e(t); % 调用连续时间函数 - 周期矩形脉冲plot(t,y,'r:') title('直流+基波') axis([-8,8,-0.5,1.5]) subplot(2,2,2) plot(t,f12),hold on y=time_fun_e(t); plot(t,y,'r:')title('1-3 次谐波+直流') axis([-8,8,-0.5,1.5]) subplot(2,2,3) plot(t,f13),hold onAs=2/T*int(x*cos(2*pi*n*t/T),t,a,T+a); Bs=2/T*int(x*sin(2*pi*n*t/T),t,a,T+a); A_sym(1)=double(vpa(A0,Nn)); %求出三角函数展开系数 Asy=time_fun_e(t);plot(t,y,'r:') title('1-6 次谐波+直流') axis([-8,8,-0.5,1.5]) subplot(2,2,4) plot(t,f14),hold on y=time_fun_e(t); plot(t,y,'r:') title('1-10 次谐波+直流') axis([-8,8,-0.5,1.5]) hold offend function y=time_fun_e(t)% 该函数是CTFShchsym.m 的子函它由符号函数和表达式写成a=1.5;T=4;h=1;tao=T/4;t=-3*T:0.01:3*T; e1=1/2+1/2.*sign(t-0.5+tao/2);e2=1/2+1/2.*sign(t-0.5-tao/2);y=h.*(e1-e2); %连续时间函数-周期矩形脉冲function x=time_fun_x(t)% 该函数是CTFShchsym.m 的子函数。

相关文档
最新文档