实验三常见信号的MATLAB 表示及运算
一、实验目的
1.熟悉常见信号的意义、特性及波形
2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法
二、实验原理
根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法;在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了;
1.连续时间信号
从严格意义上讲,MATLAB 并不能处理连续信号;在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号;在MATLAB 中连续信号可用向量或符号运算功能来表示; ⑴ 向量表示法
对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔;向量f 为连续信号()f t 在向量t 所定义的时间点上的样值; ⑵ 符号运算表示法
如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot 等函数来绘出信号的波形; ⑶ 常见信号的MATLAB 表示 单位阶跃信号
单位阶跃信号的定义为:10()0
t u t t >⎧=⎨
<⎩
方法一: 调用Heavisidet 函数
首先定义函数Heavisidet 的m 函数文件,该文件名应与函数名同名即;
%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y function y= Heavisidet
y=t>0; %定义函数体,即函数所执行指令
%此处定义t>0时y=1,t<=0时y=0,注意与实际的阶跃信号定义的区别;
方法二:数值计算法
在MATLAB 中,有一个专门用于表示单位阶跃信号的函数,即stepfun 函数,它是用数值计算法表示的单位阶跃函数()u t ;其调用格式为:
stepfunt,t0
其中,t 是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零;有趣的是它同时还可以表示单位阶跃序列()u k ,这只要将自变量以及取样间隔设定为整数即可; 符号函数
符号函数的定义为:10sgn()1
t t t >⎧=⎨
-<⎩
在MATLAB 中有专门用于表示符号函数的函数sign ,由于单位阶跃信号 t 和符号函数两者之间存在以
下关系:1122()sgn()t t ε=+,因此,利用这个函数就可以很容易地生成单位阶跃信号;
2.离散时间信号
离散时间信号又叫离散时间序列,一般用()f k 表示,其中变量k 为整数,代表离散的采样时间点采样次数;
在MATLAB 中,离散信号的表示方法与连续信号不同,它无法用符号运算法来表示,而只能采用数值计算法表示,由于MATLAB 中元素的个数是有限的,因此,MATLAB 无法表示无限序列;另外,在绘制离散信号时必须使用专门绘制离散数据的命令,即stem 函数,而不能用plot 函数; 单位序列()k δ
单位序列()k δ的定义为1
0()0
k k k δ=⎧=⎨
≠⎩
单位阶跃序列()u k
单位阶跃序列()u k 的定义为10()0
k u k k ≥⎧=⎨
<⎩
3.卷积积分
两个信号的卷积定义为:
MATLAB 中是利用conv 函数来实现卷积的;
功能:实现两个函数1()f t 和2()f t 的卷积;
格式:g=convf1,f2
说明:f1=f 1t,f2=f 2t 表示两个函数,g=gt 表示两个函数的卷积结果;
三、实验内容
1.分别用MATLAB 的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形: ⑴ 2()(2)()t
f t e u t -=- ⑵[]()cos(
)()(4)2
t
f t u t u t π=--
1 t=-1::10;
t1=-1::; t2=0::10;
f1=zeros1,lengtht1,ones1,lengtht2;
f=2-exp-2t.f1; plott,f
axis-1,10,0, syms t;
f=sym'2-exp-2theavisidet'; ezplotf,-1,10;
2
t=-2::8;
f=0.t<0+cospit/2.t>0&t<4+0.t>4; plott,f syms t;
f=sym'cospit/2heavisidet-heavisidet-4 '; ezplotf,-2,8;
2.分别用MATLAB 表示并绘出下列离散时间信号的波形: ⑵ []()()(8)f t k u k u k =-- ⑶()sin()()4
k f k u k π
= 2 t=0:8; t1=-10:15;
f=zeros1,10,t,zeros1,7; stemt1,f
axis-10,15,0,10; 3 t=0:50; t1=-10:50;
f=zeros1,10,sintpi/4; stemt1,f
axis-10,50,-2,2
3.已知两信号1()(1)()f t u t u t =+-,2()()(1)f t u t u t =--,求卷积积分12()()()g t f t f t =*,并与例题比较;
t1=-1::0; t2=0::1; t3=-1::1;
f1=onessizet1; f2=onessizet2; g=convf1,f2;
subplot3,1,1,plott1,f1; subplot3,1,2,plott2,f2; subplot3,1,3,plott3,g;
与例题相比较,gt 的定义域不同,最大值对应的横坐标也不同;
4.已知{}{}12()1,1,1,2,()1,2,3,4,5f k f k ==,求两序列的卷积和 ;
N=4; M=5; L=N+M-1; f1=1,1,1,2;
f2=1,2,3,4,5; g=convf1,f2; kf1=0:N-1; kf2=0:M-1; kg=0:L-1;
subplot1,3,1,stemkf1,f1,'k';xlabel'k'; ylabel'f1k';grid on
subplot1,3,2,stemkf2,f2,'k';xlabel'k'; ylabel'f2k';grid on
subplot1,3,3;stemkg,g,'k';xlabel'k'; ylabel'gk';grid on 实验心得:第一次接触Mutlab 这个绘图软件,觉得挺新奇的,同时 ,由于之前不太学信号与系统遇到一些不懂的问题,结合这些图对信号与系统有更好的了解;
实验四 连续时间信号的频域分析
一、实验目的
1.熟悉傅里叶变换的性质 2.熟悉常见信号的傅里叶变换
3.了解傅里叶变换的MATLAB 实现方法
二、实验原理
从已知信号()f t 求出相应的频谱函数()F j ω的数学表示为:()F j ω()j t f t e dt ω∞
--∞
=⎰
傅里叶反变换的定义为:1()()2j t f t F j e d ωωωπ
∞
-∞
=
⎰
在MATLAB 中实现傅里叶变换的方法有两种,一种是利用MATLAB 中的Symbolic Math Toolbox 提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法;
1.直接调用专用函数法
①在MATLAB 中实现傅里叶变换的函数为:
F=fourier f 对ft 进行傅里叶变换,其结果为Fw F =fourierf,v 对ft 进行傅里叶变换,其结果为Fv F=fourier f,u,v 对fu 进行傅里叶变换,其结果为Fv ②傅里叶反变换
f=ifourier F 对Fw 进行傅里叶反变换,其结果为fx f=ifourierF,U 对Fw 进行傅里叶反变换,其结果为fu f=ifourier F,v,u 对Fv 进行傅里叶反变换,其结果为fu 注意:
1在调用函数fourier 及ifourier 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对fourier 中的f 及ifourier 中的F 也要用符号定义符sym 将其说明为符号表达式;
2采用fourier 及fourier 得到的返回函数,仍然为符号表达式;在对其作图时要用ezplot 函数,而不能用plot 函数;
3fourier 及fourier 函数的应用有很多局限性,如果在返回函数中含有δω等函数,则ezplot 函数也无法作出图来;另外,在用fourier 函数对某些信号进行变换时,其返回函数如果包含一些不能直接
表达的式子,则此时当然也就无法作图了;这是fourier 函数的一个局限;另一个局限是在很多场合,尽管原时间信号ft 是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值;
2、傅里叶变换的数值计算实现法
严格说来,如果不使用symbolic 工具箱,是不能分析连续时间信号的;采用数值计算方法实现连续时间信号的傅里叶变换,实质上只是借助于MATLAB 的强大数值计算功能,特别是其强大的矩阵运算能力而进行的一种近似计算;傅里叶变换的数值计算实现法的原理如下: 对于连续时间信号ft,其傅里叶变换为:
其中τ为取样间隔,如果ft 是时限信号,或者当|t|大于某个给定值时,ft 的值已经衰减得很厉害,可以近似地看成是时限信号,则上式中的n 取值就是有限的,假定为N,有: 若对频率变量ω进行取样,得: 通常取:0
2k k k M
M ωπ
ωτ
=
=
,其中0ω是要取的频率范围,或信号的频带宽度;采用MATLAB 实现上式时,其要点是要生成ft 的N 个样本值()f n τ的向量,以及向量k j n e
ωτ
-,两向量的内积即两矩阵的乘积,结果
即完成上式的傅里叶变换的数值计算;
注意:时间取样间隔τ的确定,其依据是τ必须小于奈奎斯特Nyquist 取样间隔;如果ft 不是严格的带限信号,则可以根据实际计算的精度要求来确定一个适当的频率0ω为信号的带宽;
三、 实验内容
1.编程实现求下列信号的幅度频谱
1 求出1()(21)(21)f t u t u t =+--的频谱函数F 1jω,请将它与上面门宽为2的门函数
()(1)(1)f t u t u t =+--的频谱进行比较,观察两者的特点,说明两者的关系;
2 三角脉冲21||||1()0
||1
t t f t t -≤⎧=⎨
>⎩
3 单边指数信号3()()t
f t e t ε-=
4 高斯信号2
3()t f t e -=
1 syms t w Gt=sym'Heaviside2t+1-Heaviside2t-1'; Fw=fourierGt,t,w;
FFw=maple'convert',Fw,'piecewise'; FFP=absFFw; ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0
与()(1)(1)f t u t u t =+--的频谱比较,1()(21)(21)f t u t u t =+--的频谱函数F 1jω最大值是其的1/2; 2
syms t w;
Gt=sym'1+tHeavisidet+1-Heavisidet+1-tHeavisidet-Heavisidet-1'; Fw=fourierGt,t,w;
FFw=maple'convert',Fw,'piecewise'; FFP=absFFw; ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0 3
syms t w Gt=sym'exp-tHeavisidet';
Fw=fourierGt,t,w;
FFw=maple'convert',Fw,'piecewise'; FFP=absFFw; ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi -1 2 4
syms t w Gt=sym'exp-t^2';
Fw=fourierGt,t,w;
FFw=maple'convert',Fw,'piecewise'; ezplotFFw,-30 30;grid; axis-30 30 -1 2
2.利用ifourier 函数求下列频谱函数的傅氏反变换
12
2()16F j j ω
ωω=-+ 222()58()()65j j F j j j ωωωωω+-=++
1
syms t w Fw=sym'-i2w/16+w^2'; ft=ifourierFw,w,t; ft
运行结果: ft =
-exp4theaviside-t+exp-4theavisidet 2
syms t w
Fw=sym'iw^2+5iw-8/iw^2+6iw+5'; ft=ifourierFw,w,t; ft
运行结果: ft =
diract+-3exp-t+2exp-5theavisidet
实验心得matlab 不但具有数值计算能力,还能建模仿真,能帮助我们理解不同时间信号的频域分析;
实验五 连续时间系统的频域分析
一、实验目的
1. 学习由系统函数确定系统频率特性的方法;
2. 学习和掌握连续时间系统的频率特性及其幅度特性、相位特性的物理意义;
3.
通过本实验了解低通、高通、带通、全通滤波器的性能及特点;
二、实验原理及方法
频域分析法与时域分析法的不同之处主要在于信号分解的单元函数不同;在频域分析法中,信号
分解成一系列不同幅度、不同频率的等幅正弦函数,通过求取对每一单元激励产生的响应,并将响应叠加,再转换到时域以得到系统的总响应;所以说,频域分析法是一种变域分析法;它把时域中求解响应的问题通过 Fourier 级数或 Fourier 变换转换成频域中的问题;在频域中求解后再转换回时域从而得到最终结果;在实际应用中,多使用另一种变域分析法:复频域分析法,即 Laplace 变换分析法;
所谓频率特性,也称频率响应特性,是指系统在正弦信号激励下稳态响应随频率变化的情况,包括幅度随频率的响应和相位随频率的响应两个方面;利用系统函数也可以确定系统频率特性,公式如下:
幅度响应用()
ωj H 表示,相位响应用)(ωϕH 表示;
本实验所研究的系统函数Hs 是有理函数形式,也就是说,分子、分母分别是m 、n 阶多项式; 要计算频率特性,可以写出
为了计算出()ωj H 、)(ωϕH 的值,可以利用复数三角形式的一个重要特性: 而⎥⎦⎤⎢⎣
⎡+=2sin 2cos
ππ
ωωj j ,则()⎥⎦
⎤⎢⎣⎡+=2sin 2cos ππωωn j n j n n
利用这些公式可以化简高次幂,因此分子和分母的复数多项式就可以转化为分别对实部与虚部的实数运算,算出分子、分母的实部、虚部值后,最后就可以计算出幅度()ωj H 、相位)(ωϕH 的值了;
三、实验内容
a)
s
m m m
s H )(1)(2
-+=
,m 取值区间 0,1,绘制一组曲线 m=,,,,; b) 绘制下列系统的幅频响应对数曲线和相频响应曲线,分析其频率特性; a %
figure
alpha=,,,,;
colorn='r' 'g' 'b' 'y' 'k'; % r g b y m c k 红,绿,蓝,黄,品红,青,黑 for n=1:5
b=0 alphan; % 分子系数向量
a=alphan-alphan^2 1; % 分母系数向量 printsysb,a,'s' Hz,w=freqsb,a; w=w./pi; magh=absHz;
zerosIndx=findmagh==0; maghzerosIndx=1; magh=20log10magh; maghzerosIndx=-inf; angh=angleHz;
angh=unwrapangh180/pi; subplot1,2,1
plotw,magh,colornn;
hold on
subplot1,2,2
plotw,angh,colornn;
hold on
end
subplot1,2,1
hold off
xlabel'特征角频率\times\pi rad/sample' title'幅频特性曲线 |Hw| dB';
subplot1,2,2
hold off
xlabel'特征角频率 \times\pi rad/sample' title'相频特性曲线 \thetaw degrees';
b
1 %
b=1,0; % 分子系数向量
a=1,1; % 分母系数向量
printsysb,a,'s'
Hz,w=freqsb,a;
w=w./pi;
magh=absHz;
zerosIndx=findmagh==0;
maghzerosIndx=1;
magh=20log10magh; % 以分贝
maghzerosIndx=-inf;
angh=angleHz;
angh=unwrapangh180/pi; % 角度换算
figure
subplot1,2,1
plotw,magh;
grid on
xlabel'特征角频率\times\pi rad/sample'
title'幅频特性曲线 |Hw| dB';
subplot1,2,2
plotw,angh;
grid on
xlabel'特征角频率 \times\pi rad/sample'
title'相频特性曲线 \thetaw degrees';
2 %
b=0,1,0; % 分子系数向量
a=1,3,2; % 分母系数向量
printsysb,a,'s'
Hz,w=freqsb,a;
w=w./pi;
magh=absHz;
zerosIndx=findmagh==0;
maghzerosIndx=1;
magh=20log10magh; % 以分贝
maghzerosIndx=-inf;
angh=angleHz;
angh=unwrapangh180/pi; % 角度换算
figure
subplot1,2,1
plotw,magh;
grid on
xlabel'特征角频率\times\pi rad/sample'
title'幅频特性曲线 |Hw| dB';
subplot1,2,2
plotw,angh;
grid on
xlabel'特征角频率 \times\pi rad/sample'
title'相频特性曲线 \thetaw degrees';
3 %
b=1,-1; % 分子系数向量
a=1,1; % 分母系数向量
printsysb,a,'s'
Hz,w=freqsb,a;
w=w./pi;
magh=absHz;
zerosIndx=findmagh==0;
maghzerosIndx=1;
magh=20log10magh; % 以分贝
maghzerosIndx=-inf;
angh=angleHz;
angh=unwrapangh180/pi; % 角度换算
figure
subplot1,2,1
plotw,magh;
grid on
xlabel'特征角频率\times\pi rad/sample'
title'幅频特性曲线 |Hw| dB';
subplot1,2,2
plotw,angh;
grid on
xlabel'特征角频率 \times\pi rad/sample'
title'相频特性曲线 \thetaw degrees';
实验心得:虽然之前用公式转换到频域上分析,但是有时会觉得挺抽象的,不太好理解;根据这些图像结合起来更进一步对信号的了解;同时,这个在编程序时,虽然遇到一些问题,但是总算解决了;
实验六离散时间系统的Z域分析
一、 实验目的
1. 学习和掌握离散系统的频率特性及其幅度特性、相位特性的物理意义;
2. 深入理解离散系统频率特性和对称性和周期性;
3. 认识离散系统频率特性与系统参数之间的系统
4.
通过阅读、修改并调试本实验所给源程序,加强计算机编程能力; 二、 实验原理及方法
对于离散时间系统,系统单位冲激响应序列)(n h 的 Fourier 变换)(ω
j e H 完全反映了系统自身的
频率特性,称)(ω
j e
H 为离散系统的频率特性,可由系统函数)(z H 求出,关系式如下:
ω
ωj j e z z H e H ==)
()( 6 – 1
由于ω
j e
是频率的周期函数,所以系统的频率特性也是频率的周期函数,且周期为π2,因此研究
系统频率特性只要在πωπ≤≤-范围内就可以了;
∑∑∑∞-∞
=∞
-∞
=∞
-∞
=--=
=
n n n j j n n h j n n h e
n h e H )sin()()cos()()()(ωωω
ω
6 – 2
容易证明,其实部是ω的偶函数,虚部是ω的奇函数,其模ωj e H (的ω的偶函数,相位[
]
)
(arg ω
j e H 是ω的奇函数;因此研究系统幅度特性)(ωj e H 、相位特性[
]
)(arg ω
j e H ,只要在πω≤≤0范围内讨
论即可;
综上所述,系统频率特性)(ω
j e
H 具有周期性和对称性,深入理解这一点是十分重要的;
当离散系统的系统结构一定,它的频率特性)(ω
j e H 将随参数选择的不同而不同,这表明了系统
结构、参数、特性三者之间的关系,即同一结构,参数不同其特性也不同; 例如,下图所示离散系统,
其数学模型由线性常系数差分方程描述:)()1()(n x n ay n y +-=
系统函数:a z a
z z z H >-=
,)(
系统函数频率特性:ω
ωωωω
sin )cos 1(1
)(ja a a e e e H j j j +-=-=
幅频特性:ω
ω
cos 211)(2
a a e
H j -+=
相频特性:[]
ω
ω
ω
cos 1sin arctan
)(arg a a e