77范文网 - 专业文章范例文档资料分享平台

信号与系统matlab实验

来源:网络收集 时间:2018-10-20 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

编号:*********

《信号与线性系统仿真》

实验报告

实验时间: 2013/12/29 实验班级: ************* 实验报告总份(片)数:12份(片) 实验教师: *******

信息工程 学院 实验室

广东工业大学

学院:信息工程 专业班级:************* 学号:******** 姓名:********** 教师评定_________________ 实验题目

1:使用经典法解 课本 P79 2.1(2)

''??y?t??2y?t??5y?t??f?t?,y?0??2,y?0???2

一、 实验目的与要求

使用Matlab 通过经典法解方程,分别求出其零输入、零状态和全响应。要求

写出每一解的公式的作用,要输出经过整理的结果。

''

二、 实验方案 Matlab代码

close all close all clc

syms t

f =heaviside(t);

% 求通解(待定系数的齐次解与特解)

y = dsolve('D2y+2*Dy+5*y=heaviside(t)'); pretty(y);

% 齐次解

yh = dsolve('D2y+2*Dy+5*y=0'); pretty(yh); % 零输入响应

yzi = dsolve('D2y+2*Dy+5*y=0', 'y(0)=2', 'Dy(0)=-2'); pretty(yzi);

% 零状态响应 ff = f;

yzs = dsolve('D2y+5*Dy+6*y=heaviside(t)', 'y(0)=0', 'Dy(0)=0'); pretty(yzs);

% 全解

y = dsolve('D2y+5*Dy+6*y=heaviside(t)', 'y(0)=2', 'Dy(0)=-2'); pretty(y);

三、实验结果和数据处理

四、结论 : 化简后得

零输入响应:

= 2 cos(2 t)e t

-t

1-3t1-2t1 -e? te3261-3t1-2t1-t全响应:错误!未找到引用源。 = 2 cos(2 t)e+e-e?

326零状态响应:错误!未找到引用源。 =

五、问题与讨论

在Matlab可以使用 dsolve函数进行求导,从而根据求系统响应的公式将各

值求出。需要注意的是在MuPAD引擎下,heaviside无法进行计算,而本机的Matlab版本为R2010b,使用Maple,故正常。

实验题目

2:课本 P204 习题4.18 (5)

f?t???x-12?? 区间默认为[错误!未找到引用源。, 错误!

未找到引用源。]

一、实验目的与要求

通过FS求傅里叶级数的函数,给定原方程、展开项数及范围,调用Matlab

的Figure绘图工具来展示傅里叶方程及原函数方程对比的图像。而通过改变展开项数发现项数越大,傅里叶图像越加接近于原方程。

二、实验方案 Matlab代码:

1、首先先将下面的公式存为FS.m供调用

function [A, B, F] = FS1(f,x,n,a,b) %求傅立叶级数解析解 %输入参数:

% f:给定的待展开函数 % x:自变量 % n:展开项数

% a,b:x的区间(默认值为[-PI,PI] %输出参数:

% A,B:傅立叶系数 % F:傅立叶展开式 if nargin==3 a=-pi; b=pi; end

L=(b-a)/2;

A=int(f,x,-L,L)/L; B=[]; F=A/2; for k=1:n

ak=int(f*cos(k*pi*x/L),x,-L,L)/L; bk=int(f*sin(k*pi*x/L),x,-L,L)/L; A=[A,ak]; B=[B,bk];

F=F+ak*cos(k*pi*x/L)+bk*sin(k*pi*x/L); end

2、课本习题转化为代码

clear all close all clc

syms x f n;

% 原函数

f=heaviside(x*x-1);

% 展开项数为5 n=5;

[A,B,F]=FS1(f,x,n); x=-pi:pi/50:pi;

plot(x,subs(f),x,subs(F)); title('Fourier');

如图1

再将展开项数 n=10

% 展开项数改为10 n=10;

有图2

三、实验结果和数据处理

图1

图2

四、结论 : 可以看出,展开项数越大,图像越精确。

五、问题与讨论

由上述两幅图可知,傅里叶级数用来模拟,或者说是合成任意波形用的,

所以精度和展开项数有关,也就是展开项数越高,拟真效果越好,从图上便可以看出。

实验题目

3:

求函数

f?t???x-12??的傅里叶变换

一、实验目的与要求

通过Matlab中的fourier()函数将原函数转化为傅里叶函数

二、实验方案 Matlab代码:

clear all close all clc

syms x

% 定义原函数

f=sym('heaviside(x^2-1)') % 调用fourier函数 F=fourier(f); % 整理好后输出 pretty(F)

三、实验结果和数据处理

四、结论 :f(t) 错误!未找到引用源。F(jw) =

五、问题与讨论

通过简单地调用Matlab内部的fourier函数可以得到原函数的傅里叶级数,是

个非常使用的函数。

实验题目

4:课本 P266 5.16(1)

描述某LTI连续系统的微分方程为

y?t??3y?t??2y?t??f?t??4f(t)

''''已知输入

f(t)??(t),y?0???1,y?0???3'。求系统的全响应。

一、实验目的与要求

给出微分方程,使用Laplace变换求得原方程,并绘出图像。

二、实验方案 Matlab代码:

clear all close all clc

syms yt ft t s y0 yPie0 Ys Fs; % 初始状态 y0=1; yPie0=3;

% 输入信号

ft=heaviside(t);

% 输入信号拉普拉斯变换的分解因式 Fs=factor(laplace(ft,s));

% 方程的右边,符号表达式

FanChengYouBian=2*diff(sym('f(t)'))+4*sym('f(t)'); % 方程右边的单边拉普拉斯变换

YouBian_Ys=laplace(FanChengYouBian,s)

% 方程的左边,符号表达式

FanChengZuoBian=diff(sym('y(t)'),0)+3*diff(sym('y(t)'))+2*sym('y(t)');

% 方程左边的单边拉普拉斯变换

ZuoBian_Ys=factor(laplace(FanChengZuoBian,s))

% 整个变换方程,方程左边的单边拉普拉斯变换减去右边的z变换式,=0 ZongDeS=ZuoBian_Ys-Fs;

% 解变换方程,然后逆拉普拉斯变换

ZongDeS=subs(ZongDeS,'y(0)',0); ZongDeS=subs(ZongDeS,'D(y)(0)',1);

ZongDeS=subs(ZongDeS,'laplace(y(t), t, s)','Ys') % 解变换方程得y(t)的拉普拉斯变换式 Ys=solve(ZongDeS,Ys) % 逆变换式

yt=ilaplace(Ys) pretty(simple(yt)) ezplot(yt,[0,1])

三、实验结果和数据处理

四、结论 :

错误!未找到引用源。 错误!未找到

引用源。

=

五、问题与讨论

LTI连续系统的数学模型是常系数微分方程,而之前介绍的时域解法过于繁杂,而用拉普拉斯变换求解较为简单直白。 这个例子中,先分别对左右两边求其单边拉普拉斯变换,联立分解后得整个的,后带入初始条件可得零输入与零状态响应,而全响应为二者相加。之后使用拉普

拉斯逆变换ilaplace函数求得全响应。

实验题目

5:课本 P321 习题 6.17(有改动)

描述某LTI连续系统的差分方程为

y?k?2?-0.7y?k?1??0.1y?7f?k?1??2f?k?

已知y(-1) = -4,y(-2) = -38,f(k) = (0.4)?kε(k)。求系统全响应。

一、实验目的与要求

根据差分方程用z域分析方法求原方程。 二、实验方案 Matlab代码:

clear all close all clc

syms yk fk k z yFuYi yFuEr Yz Fz;

% 初始状态 yFuYi=-4; yFuEr=-38; % 输入信号

fk=(0.4)^k*heaviside(k); % 输入信号z变换的分解因式 Fz=factor(ztrans(fk,z));

% 方程右边,符号表达式

FanChengYouBian=sym('f(k)');

% 方程右边的单边z变换

YouBian_Yz=factor(ztrans(FanChengYouBian,z))

% 方程的左边,符号表达式

FanChengZuoBian=sym('y(k+2)')-0.7*sym('y(k+1)')-0.1*sym('y(k)'); % 方程左边的单边z变换

ZuoBian_Yz=factor(ztrans(FanChengZuoBian,z))

% 整个变换方程,方程左边的单边z变换减去右边的z变换式, =0 ZongDeZ=ZuoBian_Yz-Fz;

% 解变换方程,然后逆z变换

ZongDeZ=subs(ZongDeZ,'y(-1)',yFuYi); ZongDeZ=subs(ZongDeZ,'y(-2)',yFuEr);

ZongDeZ=subs(ZongDeZ,'ztrans(y(k), k, z)','Yz'); % 解变换方程得y(k)的z变换式 Yz=solve(ZongDeZ,Yz); % 逆变换式,可得出原方程 yk=iztrans(Yz) pretty(simple(yk))

三、实验结果和数据处理

五、问题与讨论

此例子为通过z变换解差分方程,步骤与前一例子很相似。

同样是先分别求出左右单边z变换式,后带入初始条件得出零输入与零状态响应,二者相加得全响应的z变换形式,使用iztrans函数求z逆变换。

由上两个例子可知,使用laplace变换和z变换求微分及差分方程是最好的实践方法。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库信号与系统matlab实验在线全文阅读。

信号与系统matlab实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/221866.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: