信号与系统 MATLAB实验报告材料Word格式文档下载.docx
《信号与系统 MATLAB实验报告材料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《信号与系统 MATLAB实验报告材料Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
%用plot函数绘制连续函数
axis<
[-1,3,-0.5,1.5]>
%用axis函数规定横纵坐标的X围
〔2〕
3%设定时间变量t的X围与步长
f=heaviside<
%调用阶跃函数heaviside〔〕
title<
'
f<
=heaviside<
>
%用title函数设置图形的名称
〔3〕
a=1时:
t=-5:
5%设定时间变量t的X围与步长
f=exp<
%调用指数函数exp〔〕
%用title函数设置图形的名称
[-5,5,-1,100]>
a=2时:
5
2*t>
a=-2时:
-2*t>
〔4〕
f=rectpuls<
t,2>
%用rectpuls<
t,a>
表示门函数,默认以零点为中心,宽度为a
f=R<
[-55-0.51.5]>
〔5〕
ω=1时:
t=-20:
20
f=sin<
./t%调用正弦函数sin〔〕,并用sin〔t〕./t实现抽样函数
=Sa<
[-20,-20,-0.5,1.1]>
ω=5时:
5*t>
./<
〔6〕
t=-10:
10
%调用正弦函数sin〔〕
;
[-10,10,-2,2]>
实验结果;
实验心得体会:
<
1>
在MATLAB中,是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号.在
MATLAB中t=t1:
t2的命令定义时间X围向量,t1为信号起始时间,t2为终止时间,p为时间间隔.
2>
>
函数可用于连续函数的绘制.
3>
用axis〔〕函数限制坐标X围,可使图像更加匀称美观.
改良想法:
此题中函数的表示方法都不只一种.如阶跃函数可以借助符号函数来实现可视化.其程序和结果如下:
0.05:
f=sign<
%调用符号函数sign〔〕
[-5,5,-1.1,1.1]>
ff=1/2+1/2*f%运用阶跃函数与符号函数的关系,表示出阶跃函数ff
t,ff>
[-5,5,-0.1,1.1]>
实验二离散时间信号的表示与可视化
〔分别取不同的N值〕;
〔分别取不同的
值〕;
以上各类离散函数,可仿照连续函数的可视化,先运用n=n1:
n2的命令定义自变量的X围与步长,然后调用对应的函数,建立f与t的关系,最后调用stem〔〕函数绘制图像,并用axis〔〕函数限制其坐标X围.
n=-5:
:
5%设定时间变量n的X围与步长
n>
stem<
n,f>
%调用stem〔〕绘制离散函数
[-5,5,-3,10]>
0.5:
f=Heaviside<
[-5,5,-0.5,1.5]>
2*n>
-2*n>
5
n,2>
n=-20:
f=Sa<
5*n>
[-20,-20,-1,5]>
[-5,5,-2,2]>
用plot〔〕函数可以绘制离散序列,但是与连续序列有所不同,需要在括号内加上'
.'
.但是plot〔〕画出来的函数图像不直观,显得很凌乱.
〔1〕对于离散函数,如果使用stem<
n,f,'
函数,绘图效果更好.如抽样函数的程序:
n,f,'
绘图结果如下:
比照可知此法做出的图像更加清晰美观.
〔2〕MATLAB可以自动地根据曲线数据的X围选择适宜的坐标系,从而使得曲线尽可能清晰地显示出来,一般情况下不必选择坐标系.但是,如果对MATLAB自动产生的坐标轴不满意,可以利用axis命令对坐标轴进展调整.
实验三系统的时域求解
1.设
求
并画出
、
波形.
2.求因果线性移不变系统
的单位抽样响应
并绘出
的幅频与相频特性曲线.
1.用heaviside〔〕和exp<
函数表示出x<
和h<
然后调用conv<
函数实现x<
的卷积y<
.并且分别将三个函数图像绘出.
2.通过给矩阵a,b赋值,建立系统差分方程,然后调用impz<
函数求系统的冲激响应,再用函数freqs<
b,a>
进展系统频率响应的分析.
n=-10:
20%设置变量X围,默认步长为1
x=heaviside<
-heaviside<
n-10>
%阶跃函数直接相减
figure<
%产生图像窗口1
n,x>
%绘制函数x
x<
h=0.9.^n.*f%函数h的表达式
%产生图像窗口2
n,h>
%绘制函数h
h<
n1=-20:
40
y=conv<
h,x>
%调用conv〔〕函数求h和x的卷积
%产生图像窗口3
y>
%绘制函数y
y<
=x<
*h<
a=[10-0.81]%描述系统的差分方程的系数
b=[10-1]%描述系统的差分方程的系数
h=impz<
n,m,-10:
10>
%调用impz〔〕函数求系统的冲激响应
h>
%绘制函数h的离散序列
freqs<
%对连续系统频率响应H<
jw>
进展分析的函数freqs<
〔1〕计算离散序列的卷积时,应考虑其结果的横坐标X围的改变.
〔2〕向量相乘时,注意用‘.’.
〔3〕借助MATLAB的内部函数conv<
可以很容易地完成两个信号的卷积运算,并且其完成的是两个多项式的乘法运算,在MATLAB中它们的系数构成一个行向量来表示.
〔3〕表示系统的方法是用系统函数分子和分母多项式系数行向量来表示.
〔1〕n=-10:
[-10,20,0,1]>
%调用conv函数求h和x的卷积
[0,62,0,7]>
运行结果:
实验四信号的DFT分析
计算余弦序列
的DFT.分别对N=10、16、22时计算DFT,绘出
幅频特性曲线,分析是否有差异与产生差异的原因.
用矩阵代替门函数给变量n赋值,并设定不同的N值,然后调用fft〔〕函数实现函数的傅里叶变换,然后用subplot〔〕和stem〔〕函数绘图.
〔1〕N=10时:
N=10%设定N的值为10
n=[0:
N-1]%用矩阵代替门函数给n赋值
x=cos<
pi/8>
.*n>
%调用cos〔〕函数
y=fft<
x>
%调用fft〔〕函数求x的傅里叶变换
subplot<
2,1,1>
stem<
n,y>
%绘制y的离散图
DFT[cos<
*n]'
2,1,2>
n,abs<
%绘制y的幅频特性曲线
X<
k>
〔2〕N=16时:
N=16%设定N的值为16
〔3〕N=22时:
N=22%设定N的值为22
实验结果分析:
由图可知,不同的N值所对应的DFT序列和幅频响应不同,是因为N代表DFT的变换区间长度,当N取不同的值时,函数所对应的离散傅里叶变换和幅频特性曲线也不同.
MATLAB是计算机运算,无法实现无限时间信号和无限大数量的计算,故而周期信号只能取有限个谐波分量近似合成,即N值有限,且N值越大,仿真结果越接近.所以手工求取的傅里叶变换系数与MATLAB求取存在差异.
实验五系统时域解的快速卷积求法
用快速卷积法计算系统响应
:
.要求取不同的L点数,并画出
波形,分析是否有差异与产生差异的原因.
根据离散序列卷积与傅里叶变换的性质,可先求出两函数x〔n〕和h〔n〕的L点傅里叶变换,分别得到Xk和Yk,然后求Xk和Yk之积Hk的傅里叶反变换,即得到了x〔n〕和h〔n〕的卷积y〔n〕.
L=10时:
n1=[0:
14]%用矩阵代替门函数给n1赋值
x=sin<
0.4.*n1>
%写出x的表达式
n2=[0:
19]%给n2赋值
y=0.9.^n2%写出y的表达式
Xk=fft<
x,10>
%调用fft〔〕函数求x的L〔=10〕点傅里叶变换
Yk=fft<
y,10>
%求y的L点傅里叶变换
Hk=Xk.*Yk%写出Hk的表达式
h=ifft<
Hk>
%调用ifft〔〕函数求Hk的傅里叶反变换
3,1,1>
%绘制x的离散图
3,1,2>
3,1,3>
%绘制h的离散图
xlabel<
L=10'
%横坐标处做标注
〔2〕L=18时:
14]
19]
y=0.9.^n2
x,18>
y,18>
Hk=Xk.*Yk
title<
L=18'
〔3〕L=28时:
x,28>
y,28>
L=28'
〔4〕L=35时:
x,35>
y,35>
L=35'
〔1〕L=10时:
由图可知,当L取不同的值时,对应的y〔n〕波形形状相似,但是有所不同,产生这种差异的原因是L代表傅里叶变换区间长度,当L取不同的值时,所对应的函数波形也有所差异.
〔1〕计算离散序列的卷积,虽然本实验的快速卷积方法看上去屡次变换了变量的域,使过程变复杂了,但实际上减少了计算量,是一种快速而简单的方法.
〔2〕用subplot绘图函数可将图形窗口分成假如干等份,便于将多个图像进展分组或者比拟.
当L取不同的值时,matlab自动生成的图像的横纵坐标X围不同,不便于相互比拟,因此可以自己规定坐标轴X围,这样可以更加直观地看出各波形间的差异.