信号与系统软件实验报告_第1页
信号与系统软件实验报告_第2页
信号与系统软件实验报告_第3页
信号与系统软件实验报告_第4页
信号与系统软件实验报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信号与系统软件实验报告姓名: 学号: 实验项目七:表示信号与系统的MATLAB函数一、实验项目名称:表示信号、系统的MATLAB函数二、实验目的与任务:目的:1、加深对常用离散信号的理解;2、熟悉表示信号的基本MATLAB函数。任务:基本MATLAB函数产生离散信号;基本信号之间的简单运算;判断信号周期。三、实验原理:利用MATLAB强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB函数来构成信号。常见的基本信号可以简要归纳如下:1、 单位抽样序列 在MATLAB中可以利用zeros()函数实现。如果在时间轴上延迟了k个单位,得到即: 2、单位阶跃序列 在MATLAB中可

2、以利用ones()函数实现。 3、正弦序列采用MATLAB实现4、复正弦序列采用MATLAB实现5、指数序列采用MATLAB实现四、 实验内容:MATLAB仿真实验步骤:1、 编制程序产生上述5种信号(长度可输入确定),并绘出其图形。1、单位抽样序列 : N=-5:5  x=zeros(1,5) 1 zeros(1,5)  stem(N,x)2、单位阶跃序列: N=-10:10  x=zeros(1,10) ones(1,11)  stem(N,x) 正弦序列 :requency=10

3、0  fai=pi/3  A=1  Fs=100  n=0:100  x=A*sin(2*pi*fai*n/Fs+fai)  stem(n,x) 复正弦序列 : N=100  w=100  n=0:N  x=exp(i*w*n)  stem(n,x)指数序列: N=10  A=3  n=0:N x=A.n  stem(n,x) 2、 在内画出下面每一个信号: pppp=  1)  a.源代码: N=31 

4、n=0:N  x1=sin(pi*n/4).*cos(pi*n/4)   stem(n,x1) b.输出结果如下:  2) a.源代码:  N=31  n=0:N  x1=cos(pi*n/4).*cos(pi*n/4)  stem(n,x1) b.输出结果如下3)  a.源代码:  N=31  n=0:N  x1=sin(pi*n/4).*cos(pi*n/8) stem(n,x1) B. 输出结果如下:思考问题: 每个信号的基波周期是什么?对

5、于这3个信号中的每一个,不依赖MATLAB,如何来确定基波周期?   答:第一个信号的基波周期是4,第二个信号的基波周期也是4,第三个信号的基波周期是32。如果不依赖于MATLAB,可根据周期公式进行计算即可。 五、项目需用仪器设备名称:计算机、MATLAB软件。实验项目八:离散系统的冲激响应、卷积和一、实验项目名称:离散系统的冲激响应、卷积和二、实验目的与任务:目的:加深对离散系统冲激响应、卷积和分析方法的理解。任务:利用MATLAB函数conv、filter计算卷积及系统输出。三、实验原理:在离散时间情况下,最重要的是线性时不变(LTI)系统。线性时

6、不变系统的输入输出关系可通过冲激响应表示: 其中表示卷积运算,MATLAB提供了求卷积函数conv,即y=conv(x,h)这里假设xn和hn都是有限长序列。如果xn仅在区间内为非零,而hn仅在上为非零,那么yn就仅在 内为非零值。同时也表明conv只需要在上述区间内计算yn的个样本值。需要注意的是,conv并不产生存储在y中的yn样本的序号,而这个序号是有意义的,因为x和h的区间都不是conv的输入区间,这样就应负责保持这些序号之间的联系。filter命令计算线性常系数差分方程表征的因果LTI系统在某一给定输入时的输出。具体地说,考虑一个满足下列差分方程的LTI系统: 式中xn是系统输入,y

7、n是系统输出。若x是包含在区间内xn的一个MATLAB向量,而向量a和b包含系数和,那么y=filter(b,a,x),就会得出满足下面差分方程的因果LTI系统的输出: 注意,和,因为MATLAB要求所有的向量序号都从1开始。例如,为了表示差分方程表征的系统,就应该定义a=1 2 和 b1 3。由filter产生的输出向量y包含了yn在与向量x中所在样本同一区间上的样本,即,以使得两个向量x和y中都包含了个样本。四、实验内容:MATLAB仿真实验步骤:1、 考虑有限长信号 ,(a) 首先用解析方法计算(b) 接下来利用conv计算的非零样本值,并将这些样本存入向量y中。构造一个标号向量ny,对

8、应向量y样本的序号。用stem(ny,y)画出这一结果。验证其结果与(a)是否一致。源代码:  N=0:10  x=1 1 1 1 1 1 h=1 1 1 1 1 1  y=conv(h,x)  stem(N,y) 输出结果如下:2、 对以下差分方程描述的系统分别利用filter计算出输入信号在区间内的响应yn。实验源代码分别如下: 1. a=1  b=0.5 1 2  x=1 2

9、60;3 4  nx=1:4  y=filter(b,a,x)  stem(nx,y)2. a=1 -0.8  b=2  x=1 2 3 4  nx=1:4  y=filter(b,a,x)  stem(nx,y)3. a=1 -0.8  b=0 2  x=1 2 3 4  nx=1:4  y=filter(b,a,x)  stem(nx,y)输出图形分别如下所示:思

10、考问题:考虑函数conv和filter之间的关系,试利用filter函数来实现离散时间信号的卷积。  答:其中y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度。Y=conv(x,h)是用来实现卷积的,对x序列和h序列进行卷积,输出的结果个数等于x的长度和h的长度之各减去1。 五、项目需用仪器设备名称:计算机、MATLAB软件。 实验项目十一:离散系统的转移函数一、实验项目名称:离散系统的转移函数,零、极点分布和模拟二、实验目的与任务:目的:1、加深对离散系统转移函

11、数、零极点概念的理解;2、根据系统转移函数求系统零极点分布。任务:利用MATLAB函数tf2zp、zplane求系统零极点及绘制零极点图;根据系统零极点图求系统的频率响应。三、实验原理:离散系统的时域方程为 其变换域分析方法如下:系统的频率响应为 Z域 系统的转移函数为 分解因式,其中和称为零、极点。在MATLAB中,可以用函数z,p,K=tf2zp(num,den)求得有理分式形式的系统转移函数的零、极点,用函数zplane(z,p)绘出零、极点分布图;也可以用函数zplane(num,den)直接绘出有理分式形式的系统转移函数的零、极点分布图。4、 实验内容:MATLAB仿真实验步骤:对系

12、统1、 编程实现系统的参数输入,绘出幅度频率响应曲线和零、极点分布图。2、 根据系统的零极点计算系统频率响应的幅值和相位。定义omega=0:511*pi/256和unitcirc=exp(j*omega)得到在单位圆上512个等分点,在这些点上将要对频率响应求值。(a)定义polevectors1是一个2×512的矩阵,其中每一行包含这样一些复数,这些复数是由unitcirc的相应列减去一个极点位置得到的。如果ps1是一个列向量,它包含了极点的位置,可以用下列命令来完成polevectors1 = ones(2, 1) * unitcirc ps1 * ones(1, 512)用a

13、bs和astan2定义polelength1和poleangle1作为polevectors1中每一元素的幅值和相位。(b)类似与polevectors1定义zerovectors1,使得它是2×512的矩阵,其中包含从零点位置到unitcirc元素的向量。定义zerolength1和zeroangle1分别是这些向量的幅值和相位。(c)画出polelength1和zerolength1对于omega的图。根据这些图,预计在哪里有最大值和最小值?(d)利用MATLAB命令H = freqz (b,a,512,whole) 导出幅值和相位,与(c)中的结果相比较。源代玛:  

14、b=1  a=1 -0.9 0.81  b,a=eqtflength(b,a)  z,p,k=tf2zp(b,a)  figure(1);  freqz(b,a,'whole')  title('原图像')  figure(2)  zplane(z,p)  title('零极点图) omega=0:511*pi/256  unitcirc=exp(i*omega)  x=real(unitcirc)  y=imag(

15、unitcirc)  psl=p  polevectorsl=ones(2,1)*unitcirc-ps1*ones(1,512)  p=polevectorsl  pabs=abs(p) pastan2=angle(p)  zs1=z zerpvectors1=ones(2,1)*unitcirc-zs1*ones(1,512)  z=zerpvectors1  zabs=abs(z) zastan2=angle(z)  figure(3)  x1=omega  y1=pa

16、bs plot(x1,y1,'rx') hold on figure(3)  y2=zabs plot(x1,y2,'bo') hold off title('polelength1和zerolength1对于omega的图')p1=pabs(1,:)  p2=pabs(2,:)  z1=zabs(1,:)  z2=zabs(2,:)  P1=pastan2(1,:) P2=pastan2(2,:) 

17、0;Z1=zastan2(1,:)  Z2=zastan2(2,:) Hlabs=z1.*z2./(p1.*p2)  Hlastan2=Z1+Z2-P1-P2  H=freqz(b,a,512,'whole') Habs=rot90(abs(H)  Hastan2=rot90(angle(H)  HF=fix(Hlastan2./pi)  for k=1:512 if HF(k)>0       

18、0; if rem(HF(k),2)=0             H1Rastan2(k)=Hlastan2(k)-HF(k)*pi         else             H2Rastan2(k)=Hlastan2(k)-HF(k)*pi-pi         end     elseif rem(HF(k),2)=0       

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论