信号与系统仿真实验报告

更新时间:2024-06-07 18:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

实验一:连续时间信号的表示及可视化 .................................................................................. - 2 -

一、实验名称:连续时间信号的表示及可视化 .............................................................. - 2 - 二、实验目的:.................................................................................................................. - 2 - 三、解题分析:.................................................................................................................. - 2 - 四、实验程序:.................................................................................................................. - 3 - 五、结果分析及实验体会 .................................................................................................. - 6 - 实验二:离散时间信号的表示及可视化 .................................................................................. - 7 -

一、实验名称:离散时间信号的表示及可视化 .............................................................. - 7 - 二、实验目的:.................................................................................................................. - 7 - 三、解题分析...................................................................................................................... - 7 - 四、实验程序...................................................................................................................... - 8 - 五、结果分析及实验体会: ............................................................................................ - 13 - 实验三:系统的时域求解和频域分析 .................................................................................... - 13 -

一、实验名称:系统的时域求解 .................................................................................... - 13 - 二、实验目的:................................................................................................................ - 14 - 三、解题分析:................................................................................................................ - 14 - 四、实验程序.................................................................................................................... - 15 - 五、结果分析及实验体会 ................................................................................................ - 23 - 实验四:信号的DFT分析 ....................................................................................................... - 24 -

一、实验题目:信号的DFT分析.................................................................................... - 24 - 二、实验目的:................................................................................................................ - 24 - 三、解题分析:................................................................................................................ - 24 - 四、实验程序.................................................................................................................... - 25 - 五、结果分析及实验体会 ................................................................................................ - 27 - 实验五:系统时域解的快速卷积求法 .................................................................................... - 28 -

一、实验题目:系统时域解的快速卷积求法 ................................................................ - 28 - 二、实验目的:................................................................................................................ - 28 - 三、解题分析:................................................................................................................ - 28 - 四、实验程序.................................................................................................................... - 28 - 五、结果分析及实验体会 ................................................................................................ - 37 - 实验六:设计性实验信号的幅度调制与解调 ........................................................................ - 38 -

一、实验目的:................................................................................................................ - 38 - 二、实验原理:................................................................................................................ - 38 - 三、实验内容.................................................................................................................... - 39 - 四、实验结果:................................................................................................................ - 42 -

- 1 -

实验一:连续时间信号的表示及可视化

一、实验名称:连续时间信号的表示及可视化 ; f(t)??(t),f(t)??(t),f(t)?eat(分别取a>0和a<0)

f(t)?R(t),f(t)?Sa(?t),f(t)?Sin(2?ft)(分别画出不同周期个数的波形)二、实验目的:

(1)掌握应用matlab绘制连续时间信号图的基本方法 (2)复习《信号与系统》课程中有关连续时间信号的相关知识 (3)通过观察实验结果,对几个典型的连续时间信号图形有直观的理解

三、解题分析:

连续时间函数与离散时间函数在编程中的区别主要体现在如下两个方面:第一,自变量的取值范围不同,离散时间函数的自变量是整数,而连续时间函数的自变量为一定范围内的实数;第二,绘图所用的函数不同,连续函数图形的绘制不止一个,下面将以fplot函数为主进行编程和绘图。

- 2 -

四、实验程序:

1

f(t)??(t)

t=-5:0.001:5; x=rectpuls(t,0); plot(t,x)

xlabel('t'); ylabel('f(t)');

2

f(t)??(t)

t=-1:0.1:10; y=heaviside(t); plot(t,y)

- 3 -

3

f(t)?eat

t=-1:0.1:2; a=2;

y=exp(a*t); plot(t,y);

4

f(t)?R(t)

t=0:0.1:10;

y=heaviside(t-4)-heaviside(t-7); plot(t,y)

- 4 -

5

f(t)?Sa(?t)

t=-50:0.1:50;

y=sin(2*t)./(2*t); plot(t,y)

6

f(t)?Sin(2?ft)

t=-0.5:0.01:0.5; f=10;

y=sin(2*pi*f*t);

- 5 -

plot(t,y)

五、结果分析及实验体会 结果分析:

连续函数的自变量t为一定范围内的连续值,函数波形图为连续不间断的。

- 6 -

实验二:离散时间信号的表示及可视化

一、实验名称:离散时间信号的表示及可视化

f(n)??(n),f(n)??(n),f(n)?ean(分别取a<0和a>0)

,f(n)?Sa(n?),f(n)?Sin(n?)(分别f(n)?RN(n)(分别取不同的N值)取不同的?值) 二、实验目的:

(1)掌握应用matlab绘制离散时间信号图的基本方法 (2)复习《信号与系统》课程中有关离散时间信号的相关知识 (3)通过观察实验结果,对几个典型的离散时间信号图形有直观的理解

三、解题分析

本实验中要求绘制离散时间信号图,可以应用matlab中的stem函数来实现。用matlab表示一离散序列x[k]时,可用两个向量来表示。其中一个向量表示自变量k的取值范围,另一个向量表示序列x[k]的值。之后可用stem(k,f)画出序列波形。当序列是从k=0开始时,可以只用一个向量x来表示序列。由于计算机内寸的限制,matlab无法表示一个无穷长的序列。对于典型的离散时间信号,可用逻辑表达式来实现不同自变量时的取值。

- 7 -

四、实验程序

1

f(n)??(n)

n=-5:5; y=[n==0]; stem(n,y);

2

f(n)??(n)

n=-5:5; y=[n>=0]; stem(n,y);

- 8 -

3

f(n)?ean(分别取a?0及a?0)

(1)a=0.7 n=0:8;

y=exp(0.7*n); stem(n,y); grid on;

(2)a=-0.7 n=0:8;

y=exp(-0.7*n); stem(n,y); grid on;

- 9 -

4

f(n)?RN(n)(分别取不同的N值)

N=3

n=0:10;

y=[n>=4&n<=6]; stem(y); grid on;

N=5

n=0:10;

y=[n>=3&n<=7];stem(y); grid on;

- 10 -

5

f(n)?Sa(n?)

?=20

n=0:40;

y=sin(n*20)./(n*20); stem(y); grid on;

?=60

n=0:40;

y=sin(n*60)./(n*60); stem(y); grid on;

- 11 -

6

f(n)?Sin(n?)

?=100

n=0:20;

y=sin(n*100); stem(y); grid on;

?=50

n=0:20;

y=sin(n*50); stem(y); grid on;

- 12 -

五、结果分析及实验体会: 结果分析:

通过与上次实验进行对比,可明显地看出离散函数和连续函数的区别。离散时间信号只在n取整数的时候才取值,表现在图上就是一系列不连续的点。由(5)和(6)能明显地看出函数值的轮廓,可见他们是连续函数的抽样取值。对于f(n)?Sin(n?),当?取不同值是,函数在图形上表现的周期就不同。同样的n取值范围内,在?取0.64时,其波形比?取0.32时多出一个波形。

实验三:系统的时域求解和频域分析

一、实验名称:系统的时域求解

(1)设h(n)?(0.9)nu,求:y(n)?x(n)*h(n),并画(n),x(n)?u(n)?u(n10)?出x(n)、h(n)、y(n)的波形。

- 13 -

(2)求因果线性移不变系统y(n)?0.81y(n?2)?x(n)?x(n?2)的单位抽样响应h(n),并绘出H(ej?)的幅频及相频特性曲线。 二、实验目的:

(1)对《信号与系统》课程中有关时域求解的相关知识进行回忆巩固。

(2)学习用matlab对时域系统求解的方法。 (3)加深对卷积求解、幅频特性和相频特性的理解。 三、解题分析:

离散卷积是数字信号处理中的一个基本运算,MTLAB提供的计算两个离散序列卷积的函数是conv,其调用方式为 y=conv(x,h) 。其中调用参数x,h为卷积运算所需的两个序列,返回值y是卷积结果。 matlab函数conv的返回值y中只有卷积的结果,没有y的取值范围。由离散序列卷积的性质可知,当序列x和h的起始点都为k=0时,y的取值范围为k=0至length(x)+length(h)-2。 许多离散LTI都可用如下的线性常系数的差分方程描述

?ay[k?n]??bx[k?n]

nnn?0n?0NN其中x[k]、y[k]分别系统的输入和输出。在已知差分方程的N个初始状态y[k],和输入x[k],就可由下式迭代计算出系统的输出

y[k]???(an/a0)y[k?n]??(bn/b0)x[k?n]

n?1n?0NM

- 14 -

利用matlab提供的filter函数,可方便地计算出上述差分方程的零状态响应。filter函数调用形式为 y=filter(b,a,x) 。其中

a?[a0,a1,...,aN],b?[b0,b1,...,bM] ,分别表示差分方程系数。X表示输入

序列,y表示输出序列。输出序列的长度和序列相同。

当序列的DTFT可写成ej?的有理多项式时,可用matlab信号处理工具箱提供的freqz函数计算DTFT的抽样值。另外,可用matlab提供的abs、angle、real、imag等基本函数计算 DTFT的幅度、相位、实部、虚部。若X(ej?)可表示为

b0?b1e?j??...bMe?j?MB(ej?) X(e)??j??j??j?NA(e)a0?a1e?...?aNej?则freqz的调用形式为 X=freqz(b,a,w) ,其中的b和 a分别是表示前一个式子中分子多项式和分母多项式系数的向量,即

a?[a0,a1,...,aN] ,b?[b0,b1,...,bM]。w为抽样的频率点,向量w的长度至

少为2。返回值X就是DTFT在抽样点w上的值。注意一般情况下,函数freqz的返回值X是复数。 四、实验程序

nh(n)?(0.9)u(n),1.设

x(n)?u(n)?u(n?10),求:

y(n)?x(n)*h(n),并画出x(n)、h(n)、y(n)波形。

程序:

n=0:50; %自变量n的取值范围为0到50的整数值 h=(0.9.^n).*[n>=0]; %函数h用逻辑表达式和函数值表示 x=[n<=10]; %x为单位阶跃函数

y=conv(double(x),h); %求x和h的卷积,用y表示,注意x数据类型

- 15 -

y的运行结果:

程序:n=0:30; %自变量n的取值范围为0到50的整数值

h=(0.9.^n).*[n>=0]; %函数h用逻辑表达式和函数值表示 x=[n<=10]; %x为单位阶跃函数 y=conv(double(x),h);

结果

y =

Columns 1 through 13

1.0000 1.9000 2.7100 3.4390 4.0951 6.1258 6.5132 6.8619 6.1757 5.5581

Columns 14 through 26

5.0023 4.5021 4.0519 3.6467 3.2820 2.1533 1.9380 1.7442 1.5698 1.4128

Columns 27 through 39

1.2715 1.1444 1.0299 0.9269 0.8342 0.4161 0.3364 0.2646 0.2000 0.1418

Columns 40 through 52

0.0895 0.0424 0 0 0 0 0 0 0 0

Columns 53 through 61

0 0 0 0 0 0

stem(n,x,'.') %将x、h、y绘图显示 stem(n,h,'.') n=0:60;

stem(n,y,'.')

运行结果:

x(n)

- 16 -

4.6856 5.2170 2.9538 2.6584 0.7127 0.6033 0 0 0 0 5.6953 2.3926 0.5048 0 0

h(n):

y(n):

- 17 -

2.求因果线性移不变系统

y(n)?0.81y(n?2)?x(n)?x(n?2)

j?的单位抽样响应h(n),并绘出H(e

)的幅频及相频特性曲线。

源程序:

a=[1 0 -0.81]; %a为y的系数序列 b=[1 0 -1]; %b为x的系数序列 n=0:50; %n为自变量取值范围

x=[n<=0]; %输入函数x为单位抽样函数 y=filter(b,a,x) %求解差分方程的零状态响应

运行结果: y的求解结果:

y =

Columns 1 through 9

- 18 -

1.0000 0 -0.1900 0 -0.1539 0 -0.1247 0 -0.1010

Columns 10 through 18

0 -0.0818 0 -0.0662 0 -0.0537 0 -0.0435 0

Columns 19 through 27

-0.0352 0 -0.0285 0 -0.0231 0 -0.0152

Columns 28 through 36

0 -0.0123 0 -0.0099 0 -0.0081 0

Columns 37 through 45

-0.0053 0 -0.0043 0 -0.0035 0 -0.0023

Columns 46 through 51

0 -0.0018 0 -0.0015 0 -0.0012

源程序:

n=[0:50]; %将y绘图显示 stem(n,y,'.')

运行结果:

- 19 -

-0.0187 0 -0.0028 0 -0.0065 0

源程序:

c=zeros(1,50); %产生一个n=0时取1,其余取0的序列c,为下一步准备 c(1)=1

w=0:2*pi/30:2*pi %w在0到2*pi内取等间隔离散值 X=freqz(y,c,w) %X为所求频域函数H

运行结果:

将X的求解结果序列显示:

X =

Columns 1 through 5

0.0052 0.8900 + 0.4403i 1.0458 + 0.2476i 1.0820 + 0.1556i 1.0959 + 0.1034i

Columns 6 through 10

1.1009 + 0.0673i 1.1032 + 0.0375i 1.1052 + 0.0118i 1.1052 - 0.0118i 1.1032 - 0.0375i

- 20 -

Columns 11 through 15

1.1009 - 0.0673i 1.0959 - 0.1034i 1.0820 - 0.1556i 1.0458 - 0.2476i 0.8900 - 0.4403i

Columns 16 through 20

0.0052 - 0.0000i 0.8900 + 0.4403i 1.0458 + 0.2476i 1.0820 + 0.1556i 1.0959 + 0.1034i

Columns 21 through 25

1.1009 + 0.0673i 1.1032 + 0.0375i 1.1052 + 0.0118i 0.0375i

Columns 26 through 30

1.1009 - 0.0673i 1.0959 - 0.1034i 1.0820 - 0.1556i 0.4403i

Column 31

0.0052 - 0.0000i

源程序:

stem(abs(X),'.') %绘制幅频特性曲线 stem(angle(X),'.') %绘制相频特性曲线

运行结果: 幅频特性:

- 21 -

1.1052 - 0.0118i 1.0458 - 0.2476i 1.1032 - 0.8900 -

相频特性:

- 22 -

五、结果分析及实验体会 结果分析:

问题(1)中,从y的图形可以看出,x和h卷积的结果序列值随n的增大呈现先增大后减小的趋势。问题(2)中,从响应y的图形可以看出当自变量n取奇数时,y的值为零,当n取偶数时,y的值从某一负数值逐渐趋于零。通过对单位抽样响应的幅频特性进行分析可以得出,当频率在图形的一个周期以内的相当宽的一段范围内,幅度值较高,只有在图形的一个周期的起始和终止部分,幅度值较低。由相频特性曲线可以看出,在图形的一个周期开始的一段频率内,相位会出现一个正的峰值,在图形的一个周期快结束的一段频率内,相位会出现一个负的峰值。在图形的一个周期内中间的一段频率内,相位变化较为平缓,并且其绝对值普遍较低。

- 23 -

实验四:信号的DFT分析

一、实验题目:信号的DFT分析

计算余弦序列x(n)?cos(n)RN(n)的DFT。分别对N=10、16、22时计算

8?DFT,绘出X(k)幅频特性曲线,分析是否有差别及产生差别的原因。 二、实验目的:

(1)通过实验复习巩固课本中有关DFT的知识 (2)能够应用matlab绘制不同点的DFT图形 (3)能够根据所得图形化结果对信号进行分析 三、解题分析:

在matlab信号处理工具箱中,matlab提供了4个内部函数用于计算DFT和IDFT,它们分别是:fft(x),fft(x,N),ifft(X),ifft(X,N)。 fft(x) 计算M点的DFT。M是序列x的长度,即M=length(x)。 fft(x,N) 计算N点的DFT。若M>N,则将原序列截短为N点序列,再计算其N点DFT;若M

ifft(X) 计算M点的IDFT。M是序列X的长度。

ifft(X,N) 计算N点IDFT。若M>N,则将原序列截短为N点序列,再计算其N点IDFT;若M

- 24 -

四、实验程序

计算余弦序列x(n)?cos(?8n)RN(n)的DFT。分别对N=10、16、22时计算DFT,

绘出X(k)幅频特性曲线,分析是否有差别及产生差别的原因。

程序: 当取N=10时

n=0:9;

x=cos(n*(pi/8)); y=fft(x);

stem(abs(y)); grid on;

当取N=16时

n=0:15;

x=cos(n*(pi/8)); y=fft(x);

stem(abs(y)); grid on;

- 25 -

当取N=22时

n=0:21;

x=cos(n*(pi/8)); y=fft(x);

stem(abs(y)); grid on;

- 26 -

五、结果分析及实验体会 结果分析:

有上面3幅图可以看出,当N=10和N=22时,离散傅里叶变换函数值变化趋于平缓,均呈现两边高中间低的趋势,且22点比10点取值点多,更接近真实情况。而当取16点时,图形变化较大,与另外两种情况明显不同,在图形的中间部分出现了较多零值。再观察原函数,可见16为8的倍数,当N取16时,原函数x的取值呈现了较大的对称性,此时旋转因子也呈现了较大的对称性,这样当旋转因子矩阵和原函数向量点乘时,出现了抵消现象,导致了途中的情况。

- 27 -

实验五:系统时域解的快速卷积求法

一、实验题目:系统时域解的快速卷积求法 用快速卷积法计算系统响应y(n)?x(n)*h(n),已知:

要求取不同的L点数,并画出x(n)、x(n)?sin(0.4n)R15(n),h(n)?0.9nR20(n)。

h(n)、y(n)的波形,分析是否有差别及产生差别的原因。

二、实验目的:

(1)加深对课本中快速卷积相关知识的理解 (2)学会用matlab进行时域解的快速卷积求解 (3)能够对比分析快速卷积求解与普通求解方法的区别 三、解题分析:

根据实验四的解题方法,通过对参与卷积的两个序列进行DFT变换,然后求代数积,对乘积再进行IDFT变换便可得到结果。 四、实验程序

用快速卷积法计算系统响应

y(n)?x(n)*h(n),已知:

x(n)?sin(0.4n)R15(n),h(n)?0.9nR20(n)。要求取不同的L点数,并画出

x(n)、h(n)、y(n)波形,分析是否有差别及产生差别的原因。

程序:

n1=0:14;

x=sin(0.4*n1);

- 28 -

n2=0:19;

h=(0.9).^n2;

L=length(x)+length(h)-1;%所取的长度为两个序列长度之和减一 X=fft(x,L); H=fft(h,L); y=ifft(X.*H); figure(1); stem(x); grid on; figure(2); stem(h); grid on; figure(3); stem(y); grid on;

- 29 -

取N=10时

- 30 -

n1=0:14;

x=sin(0.4*n1); n2=0:19;

h=(0.9).^n2; L=10;%所取的长度为10 X=fft(x,L); H=fft(h,L); y=ifft(X.*H); figure(1); stem(x); grid on; figure(2); stem(h); gridon; figure(3); stem(y); grid on;

- 31 -

当N=20时

- 32 -

n1=0:14;

x=sin(0.4*n1); n2=0:19;

h=(0.9).^n2; L=20;%所取的长度为20 X=fft(x,L); H=fft(h,L); y=ifft(X.*H); figure(1); stem(x); grid on; figure(2); stem(h); grid on; figure(3); stem(y); grid on;

- 33 -

取N=30时

- 34 -

n1=0:14;

x=sin(0.4*n1); n2=0:19;

h=(0.9).^n2; L=30;%所取的长度为30 X=fft(x,L); H=fft(h,L); y=ifft(X.*H); figure(1); stem(x); grid on; figure(2); stem(h); grid on; figure(3); stem(y); grid on;

- 35 -

- 36 -

五、结果分析及实验体会 结果分析:

对两个不同序列进行快速卷积时,所取的长度至少要取两个序列长度之和减一,当恰巧取该值时,结果如第一幅图,所有有效点恰巧反映在图上;当所取点少于这个值时,会因为重叠而使一部分点不能显示出来,如图二;而当所取的值多于这个值时,就会在多于部分的点处补零,如图三。为使所有有效点正确地显示出来而不重叠消失,所取的长度应不小于两个序列长度之和减一。

- 37 -

实验六:设计性实验信号的幅度调制与解调

一、实验目的:

1.掌握调制和解调的基本概念

2.了解用MATLAB实现信号调制与解调的方法。 二、实验原理:

由于从消息变换过来的原始信号具有频率较低的频谱分量,这种信号在许多信道中不适宜传输。因此,在通信系统的发送端通常需要有调制过程,而在接收端则需要有反调制过程——解调过程。

所谓调制,就是按调制信号的变化规律去改变某些参数的过程。调制的载波可以分为两类:用正弦信号作载波;用脉冲串或一组数字信号作为载波。最常用和最重要的模拟调制方式是用正弦波作为载波的幅度调制和角度调制。本实验中重点讨论幅度调制。

幅度调制是正弦型载波的幅度随调制信号变化的过程。设正弦载波为

S(t)?Acos(?ct??o)

式中?c——载波角频率

?o——载波的初相位

A——载波的幅度

那么,幅度调制信号(已调信号)一般可表示为

Sm(t)?Am(t)cos(?ct??o)

式中,m(t)为基带调制信号。

- 38 -

在MATLAB中,用函数y=modulate(x,fc,fs,’s’)来实现信号调制。其中fc为载波频率,fs为抽样频率,’s’省略或为’am-dsb-sc’时为抑制载波的双边带调幅,’am-dsb-tc’为不抑制载波的双边带调幅,’am-ssb’为单边带调幅,’pm’为调相,’fm’为调频。 三、实验内容

已知信号f(t)?sin(4?t),当对该信号取样时,求能恢复原信号的最大取

?t样周期。设计MATALB 程序进行分析并给出结果。

1.有一正弦信号x(n)?sin(2?n/256), n=[0:256],分别以100000Hz的载波和1000000Hz的抽样频率进行调幅、调频、调相,观察图形。 2.对题1中各调制信号进行解调(采用demod函数),观察与原图形的区别

Matlab程序如下:

n=[0:256];Fc=100000;Fs=1000000;N=1000; xn=abs(sin(2*pi*n/256));

% x=abs(sin(2.0*pi*Fm*t));xf=abs(fft(x,N)); xf=abs(fft(xn,N));

y2=modulate(xn,Fc,Fs,'am'); subplot(211);

plot(n(1:200),y2(1:200));

xlabel('时间(s)');ylabel('幅值');title('调幅信号'); yf=abs(fft(y2,N));

- 39 -

subplot(212);stem(yf(1:200));xlabel('频率(H)');ylabel('幅值');

xo=demod(y2,Fc,Fs,'am'); figure subplot(211)

plot(n(1:200),xn(1:200)); title('原信号'); subplot(212)

plot(n(1:200),2*xo(1:200)); title('解调信号'); axis([1 200 0 1]); figure

y2=modulate(xn,Fc,Fs,'fm'); subplot(211);

plot(n(1:200),y2(1:200));

xlabel('时间(s)');ylabel('幅值');title('调频信号'); yf=abs(fft(y2,N));

subplot(212);stem(yf(1:200));xlabel('频率(H)');ylabel('幅值');

xo=demod(y2,Fc,Fs,'fm'); figure subplot(211)

- 40 -

本文来源:https://www.bwwdw.com/article/q8v6.html

Top