信号与系统实验指导书

更新时间:2023-11-17 20:02:01 阅读量: 教育文库 文档下载

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

《信号与系统》实验指导书

武汉理工大学教材中心

2009年7月

实验一 常用连续时间信号的产生

一、实验目的

1、了解常用连续时间信号的产生方法; 2、掌握MATLAB程序的编程方法; 3、熟悉MATLAB函数的调用方法。

二、实验原理

在时间轴上连续取值的信号,称为连续时间信号。

常用的时域连续信号主要有单位冲激信号、单位阶跃信号、实指信号、复指信号、正(余)弦信号、方波信号、锯齿波信号、抽样信号等。

1、单位冲激信号

???????(t?t0)dt?1 ????(t?t0)?0????(t?t0)2、单位阶跃信号

?(t)??3、实指信号

?1????t?t0

?0????t?t0f(t)?Aeat

4、复指信号

f(t)?Ae(??j?0)t

5、正(余)弦信号

sin(2??t)、cos(2??t)

6、抽样信号

f(t)?Sa(t)?sint t三、实验用函数

1、plot

功能:绘制二维图形。 调用格式:

1

plot(t,y);t为横轴,y为纵轴的线性图形。 2、length

功能:计算某一变量的长度或采样点数。 调用格式:

N=length(t);计算时间向量t的个数并赋给变量N。 3、axis

功能:限定图形坐标的范围。 调用格式:

axis([x1,x2,y1,y2]);横坐标从x1—x2,纵坐标从y1—y2。 4、real

功能:取某一复数的实部。 调用格式:

x=real(h);取复数h的实部赋给x。 5、imag

功能:取某一复数的虚部。 调用格式:

y=imag(h);取复数h的实部赋给y。 6、abs

功能:求幅值或绝对值。 调用格式:

x=abs(h);取复数h的幅值x。 7、angel 功能:求相位。 调用格式:

y=angel(h);取复数h的相位赋给y。 8、square

功能:产生矩形波。 调用格式:

x=square(t);产生周期是2?,幅值从-1~1的方波。

2

x=square(t,duty);产生指定周期的矩形波,其中,duty用于指定脉冲宽度与整个周期的比例。

9、sawtooth

功能:产生锯齿波或三角波。 调用格式:

x=sawtooth(t);产生周期是2?,幅值从-1~1的锯齿波。

x=sawtooth(t,width);用于产生三角波,当width=0.5时,可产生对称的标准三角波;当width=1时,就产生锯齿波。

四、参考实例

例1.1 用Matlab产生一个单位阶跃信号。在?3?t?5的区间里,在t=1处跃变。

%先建立函数stepseq(t,t0) function y=stepseq(t,t0) y=(t-t0>=0); %编写主程序调用该函数 t=-3:0.01:5; t0=1;

y=stepseq(t,t0); plot(t,y)

axis([-3,5,-0.2,1.2])

程序运行结果如图1-1所示:

图1-1 阶跃波形

3

例1.2 产生A=2,a=-0.3或a=0.3的实指信号,并在?5?t?5的范围内显示波形。

Matlab程序如下: A=2; a1=-0.3; a2=0.3; t=-5:0.01:5; y1=A*exp(a1*t); y2=A*exp(a2*t);

subplot(2,1,1); plot(t,y1) subplot(2,1,2); plot(t,y2) 程序运行结果如图1-2所示

图1-2 实指信号波形

例1.3 绘制信号f(t)?e?3t?4jt????(0?t?3)的波形。

Matlab程序如下: t=0:0.01:3; a=-3; b=4; f=exp((a+j*b)*t);

subplot(2,2,1); plot(t,real(f)); title('实部'); subplot(2,2,2); plot(t,imag(f)); title('虚部') ; subplot(2,2,3); plot(t,abs(f)); title('幅值'); subplot(2,2,4); plot(t,angle(f)); title('相位'); 程序运行结果如图1-3所示

4

图1-3 复指信号波形

例1.4 周期矩形信号。一连续周期矩形信号频率为10Hz,信号幅度在-1~1之间,脉冲宽度与周期的比例是1:2,用128点采样,显示三个周期的信号波形。

Matlab程序如下: f1=10;Um=1;N=128; T=1/f1;nt=3;dt=T/N; t=0:dt:nt*T;

xt=Um*square(2*pi*f1*t); plot(t,xt)

axis([0,nt*T,-1.1,1.1]) 程序运行结果如图1-4所示

图1-4 周期矩形信号波形

例1.5 锯齿波信号。试绘制频率为10Hz,采样频率为100Hz,幅度在-1~1之间,两个周期的三角波和锯齿波。

Matlab程序如下: f1=10;Um=1;nt=2; fs=100;N=fs/f1;

5

T=1/f1;dt=T/N; t=0:dt:nt*T;

x1=Um*sawtooth(2*pi*f1*t); x2=Um*sawtooth(2*pi*f1*t,0.5); subplot(2,1,1);plot(t,x1) subplot(2,1,2);plot(t,x2) 程序运行的结果如图1-5所示

图1-5 周期锯齿波波形

五、实验任务

1、调试部分例题程序,掌握Matlab基本操作方法。 2、编写程序,完成下列函数波形:

1}f(t)?u(t?2)?u(t?4)????(?2?t?6) 2}f(t)?e?tcos(4?t)????(0?t?3) 3)f(t)?3e(0.2?j0.5?)t?????(0?t?4?)

六、实验报告

1、简述实验目的、原理。

2、写出上机调试通过的实验任务的程序并描述其图形曲线。 3、思考题:使用Matlab时需注意的问题。

6

实验二 连续系统的响应求解

一、实验目的

1、加深对LTI系统的频率基本概念的理解。

2、了解利用MATLAB进行连续时间系统研究的基本方法。 3、熟悉相关函数的使用方法,并能编写简单的程序实现响应求解。

二、实验原理

由连续时间系统的时域和频域分析方法可知,线性时不变系统的微分方程式为:

dnrdn?1rdrdmedm?1ede?a?...?a?ar?b?b?...?b?bme n?1m?11n01nn?1mm?1dtdtdtdtdtdt 对于复杂信号激励下的线性系统,可以将激励信号在时域中分解为单位脉冲信号或单位阶跃信号,把这些单位激励信号分别加在系统中求其响应,然后把这些响应叠加,即可得到复杂信号加在系统中的零状态响应。

三、实验用函数

1、impulse

功能:求解连续系统的冲激响应。 调用格式:

impulse(b,a):计算并显示出连续系统的冲激响应h(t)的波形。

impulse(b,a,t):当用户指定t值时,t为实数,将显示连续时间系统在0~t秒间的冲激响应波形,t为向量(t1:dt:t2),则显示指定时间范围内的冲激响应波形。

2、step

功能:求解连续系统的阶跃响应。 调用格式:

step(b,a):计算并显示出连续系统的阶跃响应g(t)的波形。

step(b,a,t):当用户指定t值时,t为实数,将显示连续时间系统在0~t秒间的阶跃响应波形,t为向量(t1:dt:t2),则显示指定时间范围内的阶跃响应波形。

3、lsim

功能:求解连续系统的零状态响应。 调用格式:

lsim(b,a,x,t):计算并显示出连续系统的零状态响应的波形。

7

四、实例

1、已知一个RLC串联振荡电路系统函数为

H(s)?1

s2LC?sRC?1其中L=22mH,C=2000pF,R=100?,求其时域的冲激响应和阶跃响应。 MATLAB程序如下:

L=22e-3; C=2e-9; R=100; a=[L*C,R*C,1]; b=[1]; t=0:1e-6:8e-4; ht=impulse(b,a,t); gt=step(b,a,t); subplot(1,2,1)

plot(t,ht); title('冲激响应 ') subplot(1,2,2)

plot(t,gt); title('阶跃响应 ') 程序运行结果如图2-1:

图2-1 冲激响应和阶跃响应

2、用仿真函数lsim计算连续系统的零状态响应。 例2.3 已知系统的微分方程为:

d2y(t)dy(t)?2?100y(t)?f(t) 2dtdt

8

系统的输入信号为:f(t)?10sin(2?t),求其零状态响应。

Matlab程序如下:

ts=0; te=5; dt=0.01; t=ts:dt:te; b=[1]; a=[1,2,100]; f=10*sin(2*pi*t); y=lsim(b,a,f,t); plot(t,y)

程序执行结果如图3-3所示

图2-2

五、实验任务

1、输入并运行例题程序,熟悉基本指令的使用。

2、已知某连续时间系统的微分方程为:r??(t)?2r?(t)?r(t)?e?(t)?2e(t),求当输入信号为e(t)?e?2t?(t),该系统的零状态响应r(t)。

六、实验报告

1、简述实验目的和原理。

2、列写上机调试通过的程序,并描绘其波形曲线。

9

实验三 连续系统的卷积应用

一、实验目的

1、熟悉Matlab卷积函数的调用方法;

2、掌握应用卷积求解连续时间系统响应的方法,通过实验加深对卷积定理的认识。

二、实验原理

卷积是信号与系统分析中一个重要的工具,它反映了求解系统响应的物理过程。 1、卷积的定义式:

f(t)?f1(t)*f2(t)??f1(?)f2(t??)d?

???2、卷积的图解法:

卷积的图解法能直观地理解卷积的计算过程,特别是对只有波形而不易写出其函数表达式的函数进行卷积运算时。

其运算步骤:

1)自变量t变换为?:将函数f1(t),f2(t)换成f1(?),f2(?); 2)反褶:将函数f2(?)以纵轴为对称轴反折,得到f2(??);

3)平移:将反褶后的信号f2(??)沿横轴平移t(t>0右移,t<0左移); 4)相乘:将函数f1(?)和f2(??)的重叠部分相乘; 5)积分:沿?轴对乘积函数积分。 3、卷积性质

交换律、分配律、结合律、时移、卷积的微分与积分等。

三、实验用函数

1、卷积函数conv

功能:进行两个序列的卷积运算。 调用格式:

y=conv(x,h);用于求解两有限长序列的卷积。 2、lsim

功能:对连续系统的响应进行仿真。 调用格式:

y=lsim(b,a,x,t);将输入信号x加在由b,a定义的连续时间系统,将求出的数值解存入变

10

量y中,如果单独调用函数lsim(b,a,x,t),则直接在图形区域显示零状态响应的时域仿真波形。

四、参考实例

1、在利用Matlab提供的卷积函数进行卷积运算时,主要是确定卷积结果的时间区间。conv函数默认两信号的时间序列从n=0开始,卷积结果对应的时间序列也从n=0开始。

例2.1 已知两信号分别为:

f1?e?0.6tu(t)????(0?t?10)

f2?u(t)????????(0?t?15)

求两信号的卷积和并画出卷积波形。

Matlab程序如下: t1=0:0.1:10; f1=exp(-0.6*t1); t2=0:0.1:15; f2=ones(1,length(t2)); y=conv(f1,f2);

subplot(3,1,1); plot(f1) subplot(3,1,2); plot(f2) subplot(3,1,3); plot(y) 程序运行结果如图3-1所示

图3-1

2、任意信号的卷积运算。由于conv函数默认信号的时间从0开始,如果有信号不是从0开始,则需要编程用两个向量来确定一个信号,一个是信号波形的非零幅度样值,一个是

11

其对应的时间向量。通过编写函数实现上述功能。

扩展函数为sconv,其代码如下: function [y,ny]=sconv(x1,x2,t1,t2,dt) y=conv(x1,x2); ny1=t1(1)+t2(1);

ny2=t1(length(x1))+t2(length(x2)); ny=ny1:dt:ny2; 例2.1 已知两信号分别为: f1(t)=0.5t (0

Matlab程序如下: p= 0.01;

t1= 0:p:2; f1= 0.5*t1; t2= -1:p:3; f2= 2*t2; [f,k]=sconv (f1,f2,t1,t2,p); subplot(3,1,1); plot(t1,f1) subplot(3,1,2); plot(t2,f2) subplot(3,1,3); plot(k,f) 程序运行结果如图3-2所示

图3-2

12

五、实验任务

1、调试运行参考程序,理解其基本意义。

2、设h[t]=(0.9)tu[t],输入x[t]=u[t]-u[t-10],求系统输出y[t]=x[t]*h[t] (其中 -5<=t<=10)

六、实验报告

1、简述实验目的、原理。

2、写出上机调试通过的实验任务的程序并描述其图形曲线。 3、思考题:运用卷积函数conv时需要注意什么问题。

13

实验四 连续时间信号的傅立叶分析

一、实验目的

1、熟悉傅立叶的基本概念。

2、掌握MATLAB中连续时间信号频谱的分析方法。 3、熟悉相关函数的使用方法。

二、实验原理

任一周期性连续时间信号如果满足狄利赫莱条件,可通过傅立叶级数求得其频谱

11T2F(n?1)??T1f(t)e?jn?1tdt

T1?2其逆变换表达式为

f(t)?n????F(n?)e1?jn?1t

而非周期信号不能直接由傅立叶级数表示。但可以借助傅立叶分析方法导出非周期信号的傅立叶变换。

一个非周期连续时间信号,其频谱可由傅立叶变换得

F(?)??f(t)e?j?tdt

???其逆变换表达式为

f(t)?12?????F(?)ej?td?

对连续时间信号进行处理时,首先要将其离散化,才能利用MATALB进行频谱分析。处理时一般把周期信号的一个周期作为窗口的显示内容,对非周期信号则将信号的非零部分作为窗口显示的内容。然后将窗口长度根据需要分成N份。

三、实验用函数

1、linspace

功能:对向量进行线性分割。 调用格式:

linspace(a,b,n):在a和b之间均匀产生n个值。 2、grid

功能:在指定的图形坐标上绘制分割线。

14

调用格式: grid 3、mesh

功能:绘制三维网格图。 调用格式:

mesh(x,y,z):绘制三维网格图。

四、实例

1、非周期信号的频谱

有一非周期方波信号x(t)的脉冲宽度为1ms,信号持续时间为2ms,在0~2ms区间外信号为0。试求其含有20次谐波的信号的频谱特性。求其逆变换并与原时间信号的波形进行比较。

解:取窗口长度为0~2ms,信号的傅立叶变换为

X(?)??x(t)e?j?tdt

02按MATLAB作数值计算的要求,将时间t分成N份,用相加来代替积分,

X(?)??x(tn)e?j?tn?t?[x(t1),...,x(tn)][e?j?t1,...,e?j?tn]'?t

n?1N求和问题转换为用x(t)行向量乘以eMATLAB程序:

?j?t列向量来实现。X=x*exp(-j*t’*w)*dt

T=2;f1=1/T;N=256; %输入窗口长度、频率和采样点数

t=linspace(0,T,N); %进行时间分割,在0~T之间均匀地产生N点 dt=T/(N-1);

x=[ones(1,N/2),zeros(1,N/2)]; %建立时间信号x(t)

f=linspace(-(20*f1),(20*f1),N); %进行频率分割,在-20~20次谐波间均匀产生N点 w=2*pi*f;

15

X=x*exp(-j*t'*w)*dt; %求信号的傅立叶变换

subplot(1,2,1); plot(f,abs(X)); grid; title('非周期信号的幅度谱') dw=(20*2*pi*f1)/(N-1); %求两个频率样点的间隔 x2=X*exp(j*w'*t)/pi*dw; %求傅立叶逆变换

subplot(1,2,2); plot(t,x,'r',t,x2); title('原信号与傅立叶逆变换比较') 程序运行结果如图4-1

图4-1

2、周期信号的频谱

设有一周期方波信号,幅度E=1.5V,周期T=100?s,脉冲宽度与周期之比为?t?1,

2时间轴上采样点数取1000点。试求其含有20次谐波的信号的频谱特性;求其傅立叶逆变换波形并与原时间波形进行比较。

解:取窗口长度为0~T,由题意信号的傅立叶级数为

X(n?1)?其傅立叶级数逆变换为

1T?T0x(t)e?jn?1tdt

16

x(t)??X(n?1)ejn?1t

?2020MATLAB程序: T=100;f1=1/T;N=1000; t=linspace(0,T,N); dt=T/(N-1);

x=1.5*[ones(1,N/2),zeros(1,N/2)]; n=[-20:20]; w1=2*pi*f1;

X=x*exp(-j*t'*n*w1)*dt/T;

subplot(1,2,1); stem(n,abs(X)); grid; title('周期信号的幅度谱') x2=X*exp(j*n'*w1*t);

subplot(1,2,2); plot(t,x,'r',t,x2); title('原信号与傅立叶逆变换比较') 程序运行结果如图4-2

图4-2

17

3、用MATLAB图形观察吉布斯效应。(提示:任意周期信号表示为傅立叶级数时,需要无限多项才能逼近原信号,但在实际应用中经常采用有限项级数来代替无限项级数。所选项数越多越接近原信号。当原信号是脉冲信号时,其高频分量主要影响脉冲的跳变沿,低频分量主要影响脉冲的顶部,因此,输出信号波形总是要发生失真,该现象称为吉布斯现象。)

一个以原点为中心奇对称的周期性方波,可以用奇次正弦波的叠加来逼近,即

111y(t)?sin?1t?sin3?1t?sin5?1t?...?sin(2k?1)?1t?...,假定方波的脉

352k?1冲宽度为400?s,周期为800?s,观察正弦波分别取不同次谐波的逼近情况。

MATLAB程序: T1=800;nf=19; t=0:1:T1/2; w1=2*pi/T1; N=round((nf+1)/2); y=zeros(N,max(size(t))); x=zeros(size(t));

for k=1:2:nf

x=x+sin(w1*k*t)/k; y((k+1)/2,:)=x; end mesh(y);

axis([0,T1/2,0,N,0,1])

五、实验任务

1、输入并运行例题程序,熟悉基本指令的使用。

2、已知一个脉冲信号,在窗口为100ms的范围内,脉冲宽度与信号的周期之比为1/4,进行256点的采样,显示原时域信号和0~20次谐波的频谱特性。

18

六、实验报告

1、简述实验目的、原理。

2、写出上机调试通过的实验任务的程序并描述其图形曲线。

19

实验五 连续系统的零极点分析

一、实验目的

1、观察连续系统的零极点对系统冲激响应的影响。 2、了解连续系统的零极点与系统因果性、稳定性的关系。 3、熟悉相关函数的使用方法。

二、实验原理

线性系统的稳定性

一个连续系统的稳定性由其自身的性质决定,与激励信号无关。系统的特性可以用系统函数H(s)和系统的冲激响应h(t)来表征。

因果系统可划分为三种情况:

1)稳定系统。当H(s)全部极点落在s左半平面,则系统是稳定的。

2)不稳定系统。当H(s)极点落在s右半平面,或在虚轴上具有二阶以上的极点,则经过足够长的时间后,h(t)在继续增大,则系统是不稳定的。

3)临界稳定系统。当H(s)极点落在虚轴上,且只有一阶,则经过足够长的时间后,h(t)趋于一个非零的数值或形成一个等幅振荡,则系统处于临界稳定。

三、实验用函数

1、roots

功能:求多项式的根。 调用格式:

r=roots(a):由多项式的分子和分母系数向量求根向量。其中,多项式的分子或分母系数向量按降幂排列,得到的根向量为列向量。

2、tf2zp

功能:将系统传递函数模型转换为系统零—极点增益模型。 调用格式:

[z,p,k]=tf2zp(num,den):输入传递函数分子、分母的系数向量,求得零—极点增益模型中零点向量、极点向量及增益系数。且均为列向量。

3、zp2tf

功能:将系统零—极点增益模型转换为传递函数模型。 调用格式:

20

[num,den]=zp2tf(z,p,k):输入零—极点增益模型的零点向量、极点向量及增益系数,求得传递函数分子、分母系数向量。

4、pzmap

功能:显示LTI系统的零极点分布图 调用格式:

pzmap(b,a):绘制由行向量b和a构成的系统函数所确定的零极点分布图。 pzmap(p,z):绘制由零点和极点构成的零极点分布图。

[p,z]=pzmap(b,a):由行向量b和a构成的系统函数确定零极点。

四、实例

1、已知系统函数:

H(s)?s?1 2s?2s?2求出该系统的零极点,并画出其零极点分布图。 解:由已知条件可得,其分子、分母的系数向量分别为:

b=[1,-1]; a=[1,2,2]; MATLAB实现: b=[1,-1]; a=[1,2,2]; zs=roots(b); ps=roots(a);

plot(real(zs),imag(zs),'o',real(ps),imag(ps),'kx','markersize',12) axis([-2,2,-2,2]); grid; legend('零点','极点');

21

程序运行结果如图5-1:

图5-1

2、已知系统函数分别为:

1????(??1)s??

1H2(s)?????(??1,??4)(s??)2??2H1(s)?求这些系统的零极点分布图及系统的冲激响应,并判断系统的稳定性。

解:由已知条件可得:

H1(s)?1 s?11 2s?2s?17该系统函数的系数向量分别为:b=[1];a=[1,1]

H2(s)? 该系统函数的系数向量分别为:b=[1];a=[1,2,17] MATLAB程序:

b1=[1]; a1=[1,1];

subplot(2,2,1); pzmap(b1,a1); axis([-2,2,-1,1]);

subplot(2,2,2); impulse(b1,a1); axis([0,5,0,1.2]);

22

b2=[1]; a2=[1,2,17];

subplot(2,2,3); pzmap(b2,a2); axis([-2,2,-6,6]);

subplot(2,2,4); impulse(b2,a2); axis([0,5,-0.1,0.2]); 程序运行结果如图5-2:

图5-2

由上图可看出,以上两个系统的极点均落在S的左半平面,且系统的冲激响应的曲线随着时间增长而收敛,所以可以判定该系统是稳定的。

五、实验任务

1、输入并运行例题程序,熟悉基本指令的使用。 2、已知系统函数分别为

1????(??1)s??

1H2(s)?????(??1,??4)22(s??)??H1(s)?求以上系统的零极点分布图以及系统的冲激响应,并判断系统的稳定性。

23

3、已知系统函数为

H(s)?1????(??4) 22s??求以上系统的零极点分布图以及系统的冲激响应,并判断系统的稳定性。

六、实验报告

1、简述实验目的、原理。

2、写出上机调试通过的实验任务的程序并描述其图形曲线。 3、思考题:研究S平面上多重极点对系统响应的影响。

24

实验六 连续系统的频率响应

一、实验目的

1、加深对连续系统的频率响应特性概念的理解。 2、掌握连续系统的零极点与频响特性之间的关系。 3、熟悉相关函数的使用方法。

二、实验原理

线性时不变系统的频域分析法是一种变换域分析法,它把时域中求解响应的问题通过傅立叶变换转换成频域中的问题。整个过程在频域内进行,因此它主要是研究信号频谱通过系统后产生的变化,利用频域分析法可分析系统的频率响应、波形失真、物理可实现等实际问题。

在时域分析中我们知道,系统的零状态响应等于输入信号与系统单位冲激响应的卷积积分,即

rzs(t)?e(t)*h(t)

若e(t)、h(t)的傅立叶变换均存在,由时域卷积定理可知

Rzs(j?)?E(j?)*H(j?)

H(j?)?Rzs(j?)

E(j?)H(j?)称为系统函数,由于它是频率的函数,故又称为频率响应函数。H(j?)一般为频率

的复函数,又可写为幅值与相位的形式,即

H(j?)?|H(j?)|ej?(?)

式中|H(j?)|为H(j?)的幅值,其随频率变化关系称为幅频响应;?(?)为其相位,其随频率变化关系称为相频响应。

三、实验用函数

1、freqs

功能:连续时间系统的频率响应。 调用格式:

25

h=freqs(b,a,w):用于计算连续时间系统的复频域响应,其中,w用于指定频率值。 [h,w]=freqs(b,a):自动设定200个频率点来计算频率响应,将200个频率值记录在w中。 [h,w]=freqs(b,a,n):设定n个频率点计算频率响应。

freqs(b,a):不带输出变量的freqs函数,将在当前图形窗口中描绘幅频和相频曲线。 2、abs

功能:求幅值。 调用格式:

m=abs(h):用于求取h的幅值。 3、angle 功能:求相角。 调用格式:

p=angle(h):用于求取h的相角(以弧度为单位),相角介于??~?之间。

四、实例

已知RC一阶高通电路图的系统函数H(s)为

H(s)?UR(s)RsRC ??U(s)R?1SRC?1sC其中:R=200?,C=0.47?F。求其幅度频率响应与相位频率响应。 MATLAB程序

r=200;c=0.47e-6; b=[r*c,0]; a=[r*c,1]; w=0:40000; h=freqs(b,a,w);

subplot(2,1,1); plot(w,abs(h)); grid; ylabel('幅度')

subplot(2,1,2); plot(w,angle(h)/pi*180); grid; ylabel('相位')

程序执行结果如图6-1:

26

图6-1

五、实验任务

1、输入并运行例题程序,熟悉基本指令的使用。

2、已知二阶RLC并联电路如图所示,其中R=200?,C=0.47?F,L=22mH。列写出该电路的系统函数,并求该系统的幅度频率响应、相位频率响应以及零极点分布图。(提示:系统函数Z(s)?U2(s)1s) ??1111I1(s)?Cs?Cs2?s?RLsRL

二阶RLC并联电路

六、实验报告

1、简述实验目的、原理。

2、写出上机调试通过的实验任务的程序并描述其图形曲线。 3、思考题:连续系统的零极点对系统幅频响应有何影响?

27

实验七 信号的时域抽样与重建

一、实验目的

1、加深对对信号时域抽样与重建基本原理的理解。 2、了解用MATLAB语言进行信号时域抽样与重建的方法。 3、观察信号抽样与重建的图形。

二、实验原理

离散时间信号大多数由连续时间信号进行抽样获的。在信号进行处理的过程中,要使有限带宽信号被抽样后能够不失真地还原出原模拟信号,抽样信号的周期Ts及抽样频率Fs的取值必须符合奈奎斯特定理。

如果Fs的取值大于两倍的信号最高频率fm,只要经过一个低通滤波器,抽样信号就能不失真地还原出原模拟信号。反之,则频谱将发生混叠,抽样信号将无法不失真地还原出原模拟信号。

三、实例

1、对连续信号进行采样

已知一个连续时间信号

1f(t)?sin(2?f0t)?sin(6?f0t)

3其中:f0=1HZ,取最高有限带宽频率fm=5f0。分别显示原连续时间信号波形和

Fs?2fm,Fs?2fm,Fs?2fm

3种情况下抽样信号的波形。

解:分别取Fs=fm、Fs=2fm、Fs=3fm三种抽样频率 MATLAB程序

f0=1;T=1/f0; fm=5*f0;Tm=1/fm; t=-2:0.1:2;

x=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); subplot(4,1,1);plot(t,x)

axis([min(t),max(t),1.1*min(x),1.1*max(x)]); title('原连续信号和抽样信号');

28

for i=1:3;

fs=i*fm;Ts=1/fs; n=-2:Ts:2;

xs=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); subplot(4,1,1+i);stem(n,xs,'filled');

axis([min(n),max(n),1.1*min(xs),1.1*max(xs)]); end

程序执行结果如图7-1:

图7-1

2、连续信号和抽样信号的频谱

根据理论可知,信号的频谱图可以直观地反映出抽样信号能否恢复原模拟信号波形。通过对上例中3种情况求振幅频谱,来进一步分析和证明时域抽样定理。

MATLAB程序: f0=1;T=1/f0; t=-2:0.1:2; N=length(t);

x=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); fm=5*f0;Tm=1/fm;

29

wm=2*pi*fm; k=0:N-1;w1=k*wm/N; X=x*exp(-j*t'*w1)*Tm;

subplot(4,1,1);plot(w1/(2*pi),abs(X))

axis([0,max(4*fm),1.1*min(abs(X)),1.1*max(abs(X))]); for i=1:3;

if i<=2 c=0;else c=1; end fs=(i+c)*fm;Ts=1/fs; n=-2:Ts:2;

xs=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); N=length(n); ws=2*pi*fs; k=0:N-1;w=k*ws/N; Xs=xs*exp(-j*n'*w)*Ts;

subplot(4,1,1+i);plot(w/(2*pi),abs(Xs));

axis([0,max(4*fm),1.1*min(abs(Xs)),1.1*max(abs(Xs))]); end

程序运行结果如图7-2所示:

图7-2

30

从图7-2可以看出,当Fs?2fm时,抽样信号的频谱没有混叠现象,反之,抽样信号的频谱发生了混叠,如图中第二幅图所示。

3、利用时域卷积重建例题信号

时域卷积是用时域抽样信号xs(t)与理想滤波器系统的单位冲激响应h(t)进行卷积积分来求解。卷积积分的公式通过推导化简为内插公式x(t)?MATLAB程序:

f0=1;T0=1/f0; %基波频率、周期 fm=5*f0;Tm=1/fm; %最高频率为基波的5倍 t=0:0.01:3*T0;

x=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); subplot(4,1,1);plot(t,x) for i=1:3;

fs=i*fm;Ts=1/fs; %设置不同采样频率、周期 n=0:(3*T0)/Ts; t1=0:Ts:3*T0;

xs=sin(2*pi*f0/fs*n)+1/3*sin(6*pi*f0/fs*n); %抽样信号 T_N=ones(length(n),1)*t1-n'*Ts*ones(1,length(t1)); x1=xs*sinc(2*pi*fs*T_N); %内插公式计算 subplot(4,1,1+i);plot(t1,x1)

axis([min(t1),max(t1),1.1*min(x1),1.1*max(x1)]) end

31

?x(nT)Sa[?(t?nT)]。

scs???

程序运行结果如图7-3所示:

图7-3

从图7-3可以看出,当Fs?2fm时,信号基本被还原,反之,信号出现失真,如图中第二幅图所示。

五、实验任务

1、输入并运行例题程序,熟悉基本指令的使用。 2、利由频域相乘重建信号。

(提示:满足奈奎斯特抽样定理的信号xs(t),只要经过一个理想的低通滤波器,其中

?1????|?|??m H(?)??0?????|?|??m?将原信号有限带宽以外的频率部分滤除,就可以重建x(t)信号,该方法从频域的角度进行处理,即用X(?)?Xs(?)H(?),则滤波器的输出端就会出现恢复的连续信号。)

六、实验报告

1、简述实验目的、原理。

2、写出上机调试通过的实验任务的程序并描述其图形曲线。

3、思考题:通过实验,总结信号抽样时需注意的问题,及使用那些方法进行信号的重建。

32

实验八 连续时间系统分析与设计(综合设计实验)

一、实验目的

1、理解连续时间系统的系统函数在分析连续系统的时域特性、频域特性及稳定性的重要作用及意义。

2、掌握利用MATLAB分析连续系统的时域响应、频率响应和零极点的基本方法。 3、掌握根据系统函数的零极点设计简单的滤波器的方法。

二、实验任务

根据系统零极点对幅频特性曲线影响设计下面系统

在S平面上配置零极点,并使用freqs命令绘出相应的幅频特性曲线,重复这个过程直至找到满足下面指标的零极点。并就观察零极点图与其对应的h(t)、 幅频响应之间的关系。

(1)设计一个2个零点、2个极点、具有实系数的高通滤波器,满足 0.8#H(jw)1.2,w>50p

(2)设计一个具有实系数的低通滤波器,满足 0.8#H(jw) H(jw)?0.1,1.2,w<10

w30

三、实验报告

1、简述实验目的、原理。

2、写出上机调试通过的实验任务的程序并描述其图形曲线。 3、总结本次设计所获得的经验与教训。

33

附录:

附录1、MATLAB的基本操作与使用方法

MATLAB的工作环境主要由命令窗口(Command Windows)、文本编辑器(File Editor)、图形显示窗口等组成。

命令窗口基本使用方法。在MATLAB命令窗口中输入一条命令,按键,该指令就被立即执行并在窗口中显示结果。如图1所示。

图1

如果一个程序比较复杂的话,则不适合在命令窗口中进行处理,而应采用文件方式,这将用到文本编辑器。在文本编辑器中把程序写成一个由多条语句构成的文件并存储起来,需要运行时,在命令窗口输入文件回车即可。如图2所示。

图2

文本编辑器除了可以编写程序以外,还可以编写函数,可以像系统的库函数一样被调用。为区别程序和函数,函数文件的第一行是函数申明行,关键字是function,如:

34

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

Top