信号与系统实验报告 2.docx

上传人:b****4 文档编号:11717419 上传时间:2023-03-31 格式:DOCX 页数:27 大小:187.55KB
下载 相关 举报
信号与系统实验报告 2.docx_第1页
第1页 / 共27页
信号与系统实验报告 2.docx_第2页
第2页 / 共27页
信号与系统实验报告 2.docx_第3页
第3页 / 共27页
信号与系统实验报告 2.docx_第4页
第4页 / 共27页
信号与系统实验报告 2.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

信号与系统实验报告 2.docx

《信号与系统实验报告 2.docx》由会员分享,可在线阅读,更多相关《信号与系统实验报告 2.docx(27页珍藏版)》请在冰豆网上搜索。

信号与系统实验报告 2.docx

信号与系统实验报告2

实验三  常见信号得MATLAB表示及运算

一、实验目得

1。

熟悉常见信号得意义、特性及波形

2.学会使用MATLAB表示信号得方法并绘制信号波形

3、 掌握使用MATLAB进行信号基本运算得指令

4、熟悉用MATLAB实现卷积积分得方法

二、实验原理

根据MATLAB得数值计算功能与符号运算功能,在MATLAB中,信号有两种表示方法,一种就是用向量来表示,另一种则就是用符号运算得方法。

在采用适当得MATLAB语句表示出信号后,就可以利用MATLAB中得绘图命令绘制出直观得信号波形了。

1、连续时间信号

 从严格意义上讲,MATLAB并不能处理连续信号。

在MATLAB中,就是用连续信号在等时间间隔点上得样值来近似表示得,当取样时间间隔足够小时,这些离散得样值就能较好地近似出连续信号。

在MATLAB中连续信号可用向量或符号运算功能来表示。

⑴ 向量表示法

对于连续时间信号,可以用两个行向量f与t来表示,其中向量t就是用形如得命令定义得时间范围向量,其中,为信号起始时间,为终止时间,p为时间间隔。

向量f为连续信号在向量t所定义得时间点上得样值.

⑵ 符号运算表示法

如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍得符号函数专用绘图命令ezplot()等函数来绘出信号得波形。

⑶ 常见信号得MATLAB表示

   单位阶跃信号

单位阶跃信号得定义为:

 

方法一:

调用Heaviside(t)函数

首先定义函数Heaviside(t)得m函数文件,该文件名应与函数名同名即Heaviside、m.

%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y

functiony= Heaviside(t)

y=(t>0);%定义函数体,即函数所执行指令

%此处定义t>0时y=1,t<=0时y=0,注意与实际得阶跃信号定义得区别.

方法二:

数值计算法

在MATLAB中,有一个专门用于表示单位阶跃信号得函数,即stepfun()函数,它就是用数值计算法表示得单位阶跃函数.其调用格式为:

stepfun(t,t0)     

其中,t就是以向量形式表示得变量,t0表示信号发生突变得时刻,在t0以前,函数值小于零,t0以后函数值大于零。

有趣得就是它同时还可以表示单位阶跃序列,这只要将自变量以及取样间隔设定为整数即可。

    符号函数

符号函数得定义为:

     

在MATLAB中有专门用于表示符号函数得函数sign(),由于单位阶跃信号(t)与符号函数两者之间存在以下关系:

因此,利用这个函数就可以很容易地生成单位阶跃信号.

2、离散时间信号

离散时间信号又叫离散时间序列,一般用表示,其中变量k为整数,代表离散得采样时间点(采样次数)。

在MATLAB中,离散信号得表示方法与连续信号不同,它无法用符号运算法来表示,而只能采用数值计算法表示,由于MATLAB中元素得个数就是有限得,因此,MATLAB无法表示无限序列;另外,在绘制离散信号时必须使用专门绘制离散数据得命令,即stem()函数,而不能用plot()函数。

 单位序列

单位序列)得定义为   

单位阶跃序列

单位阶跃序列得定义为

3、卷积积分

两个信号得卷积定义为:

MATLAB中就是利用conv函数来实现卷积得.

功能:

实现两个函数与得卷积.

格式:

g=conv(f1,f2)

说明:

f1=f1(t),f2=f2(t) 表示两个函数,g=g(t)表示两个函数得卷积结果。

三、实验内容

1、分别用MATLAB得向量表示法与符号运算功能,表示并绘出下列连续时间信号得波形:

       ⑴  ⑵ 

(1)t=-1:

0、01:

10;

t1=-1:

0、01:

-0、01;

t2=0:

0、01:

10;

f1=[zeros(1,length(t1)),ones(1,length(t2))];

f=(2—exp(-2*t))、*f1;

plot(t,f)

axis([-1,10,0,2、1])

symst;

f=sym(’(2-exp(—2*t))*heaviside(t)');

ezplot(f,[-1,10]);

(2)

t=—2:

0、01:

8;

f=0、*(t<0)+cos(pi*t/2)、*(t>0&t〈4)+0、*(t〉4);

plot(t,f)

symst;

f=sym('cos(pi*t/2)*[heaviside(t)—heaviside(t—4)]');

ezplot(f,[-2,8]);

2、分别用MATLAB表示并绘出下列离散时间信号得波形:

       ⑵       ⑶ 

(2)t=0:

8;

t1=—10:

15;

f=[zeros(1,10),t,zeros(1,7)];

stem(t1,f)

axis([—10,15,0,10]);

(3) t=0:

50;

t1=—10:

50;

f=[zeros(1,10),sin(t*pi/4)];

stem(t1,f)

axis([—10,50,—2,2])

3、已知两信号,,求卷积积分,并与例题比较。

t1=—1:

0、01:

0;

t2=0:

0、01:

1;

t3=—1:

0、01:

1;

f1=ones(size(t1));

f2=ones(size(t2));

g=conv(f1,f2);

subplot(3,1,1),plot(t1,f1);

subplot(3,1,2),plot(t2,f2);

subplot(3,1,3),plot(t3,g);

与例题相比较,g(t)得定义域不同,最大值对应得横坐标也不同。

4、已知,求两序列得卷积与.

N=4;

M=5;

L=N+M—1;

f1=[1,1,1,2];

f2=[1,2,3,4,5];

g=conv(f1,f2);

kf1=0:

N-1;

kf2=0:

M-1;

kg=0:

L—1;

subplot(1,3,1),stem(kf1,f1,’*k’);xlabel('k');

ylabel(’f1(k)');gridon

subplot(1,3,2),stem(kf2,f2,’*k');xlabel('k’);

ylabel('f2(k)’);gridon

subplot(1,3,3);stem(kg,g,'*k’);xlabel('k');

ylabel('g(k)');gridon

实验心得:

第一次接触Mutlab这个绘图软件,觉得挺新奇得,同时,由于之前不太学信号与系统遇到一些不懂得问题,结合这些图对信号与系统有更好得了解。

实验四   连续时间信号得频域分析

一、 实验目得

1。

熟悉傅里叶变换得性质

2.熟悉常见信号得傅里叶变换

3。

了解傅里叶变换得MATLAB实现方法

二、 实验原理

从已知信号求出相应得频谱函数得数学表示为:

傅里叶反变换得定义为:

在MATLAB中实现傅里叶变换得方法有两种,一种就是利用MATLAB中得SymbolicMathToolbox提供得专用函数直接求解函数得傅里叶变换与傅里叶反变换,另一种就是傅里叶变换得数值计算实现法.

1、直接调用专用函数法

①在MATLAB中实现傅里叶变换得函数为:

        F=fourier(f)     对f(t)进行傅里叶变换,其结果为F(w)

         F=fourier(f,v)  对f(t)进行傅里叶变换,其结果为F(v)

        F=fourier(f,u,v) 对f(u)进行傅里叶变换,其结果为F(v)

②傅里叶反变换

        f=ifourier(F)    对F(w)进行傅里叶反变换,其结果为f(x)

         f=ifourier(F,U)  对F(w)进行傅里叶反变换,其结果为f(u)

        f=ifourier(F,v,u)  对F(v)进行傅里叶反变换,其结果为f(u)

 注意:

(1)在调用函数fourier()及ifourier()之前,要用syms命令对所有需要用到得变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。

对fourier()中得f及ifourier( )中得F也要用符号定义符sym将其说明为符号表达式。

(2)采用fourier()及fourier()得到得返回函数,仍然为符号表达式。

在对其作图时要用ezplot()函数,而不能用plot()函数.

(3)fourier( )及fourier()函数得应用有很多局限性,如果在返回函数中含有δ(ω)等函数,则ezplot( )函数也无法作出图来。

另外,在用fourier()函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达得式子,则此时当然也就无法作图了。

这就是fourier()函数得一个局限。

另一个局限就是在很多场合,尽管原时间信号f(t)就是连续得,但却不能表示成符号表达式,此时只能应用下面介绍得数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求得频谱函数只就是一种近似值。

2、傅里叶变换得数值计算实现法

严格说来,如果不使用symbolic工具箱,就是不能分析连续时间信号得。

采用数值计算方法实现连续时间信号得傅里叶变换,实质上只就是借助于MATLAB得强大数值计算功能,特别就是其强大得矩阵运算能力而进行得一种近似计算。

傅里叶变换得数值计算实现法得原理如下:

对于连续时间信号f(t),其傅里叶变换为:

        

其中τ为取样间隔,如果f(t)就是时限信号,或者当|t|大于某个给定值时,f(t)得值已经衰减得很厉害,可以近似地瞧成就是时限信号,则上式中得n取值就就是有限得,假定为N,有:

     

若对频率变量ω进行取样,得:

  

通常取:

其中就是要取得频率范围,或信号得频带宽度。

采用MATLAB实现上式时,其要点就是要生成f(t)得N个样本值得向量,以及向量,两向量得内积(即两矩阵得乘积),结果即完成上式得傅里叶变换得数值计算。

注意:

时间取样间隔τ得确定,其依据就是τ必须小于奈奎斯特(Nyquist)取样间隔。

如果f(t)不就是严格得带限信号,则可以根据实际计算得精度要求来确定一个适当得频率为信号得带宽。

三、 实验内容

1、编程实现求下列信号得幅度频谱

(1) 求出得频谱函数F1(jω),请将它与上面门宽为2得门函数得频谱进行比较,观察两者得特点,说明两者得关系。

(2)三角脉冲     

(3)单边指数信号

(4)高斯信号     

(1) symstw          

Gt=sym('Heaviside(2*t+1)—Heaviside(2*t-1)’);  

Fw=fourier(Gt,t,w);        

FFw=maple(’convert’,Fw,’piecewise');   

FFP=abs(FFw);          

ezplot(FFP,[—10*pi 10*pi]);grid;    

axis([-10*pi10*pi02、2])

与得频谱比较,得频谱函数F1(jω)最大值就是其得1/2.

(2)

symstw;

Gt=sym('(1+t)*(Heaviside(t+1)—Heaviside(t))+(1-t)*(Heaviside(t)—Heaviside(t—1))');

Fw=fourier(Gt,t,w);  

FFw=maple('convert',Fw,’piecewise'); 

FFP=abs(FFw);           

ezplot(FFP,[—10*pi10*pi]);grid; 

axis([—10*pi 10*pi 0 2、2])

(3)

symstw            

Gt=sym(’exp(-t)*Heaviside(t)’); 

Fw=fourier(Gt,t,w);         

FFw=maple('convert',Fw,’piecewise’);  

FFP=abs(FFw);         

ezplot(FFP,[—10*pi10*pi]);grid;        

axis([—10*pi 10*pi—12])

(4)

symstw              

Gt=sym(’exp(-t^2)');   

Fw=fourier(Gt,t,w);       

FFw=maple('convert’,Fw,’piecewise’);                 

ezplot(FFw,[-3030]);grid;     

axis([—30 30—1 2]) 

2、利用ifourier() 函数求下列频谱函数得傅氏反变换

(1)      

(2) 

(1)

syms tw       

Fw=sym(’-i*2*w/(16+w^2)’);    

ft=ifourier(Fw,w,t);      

ft

运行结果:

ft=

—exp(4*t)*heaviside(—t)+exp(—4*t)*heaviside(t)

(2)

symst w       

Fw=sym('((i*w)^2+5*i*w-8)/((i*w)^2+6*i*w+5)’);   

ft=ifourier(Fw,w,t);       

ft

运行结果:

ft=

dirac(t)+(-3*exp(-t)+2*exp(-5*t))*heaviside(t)

实验心得matlab不但具有数值计算能力,还能建模仿真,能帮助我们理解不同时间信号得频域分析。

实验五连续时间系统得频域分析

一、实验目得

1.学习由系统函数确定系统频率特性得方法.

2.学习与掌握连续时间系统得频率特性及其幅度特性、相位特性得物理意义.

3.通过本实验了解低通、高通、带通、全通滤波器得性能及特点。

二、实验原理及方法

频域分析法与时域分析法得不同之处主要在于信号分解得单元函数不同。

在频域分析法中,信号分解成一系列不同幅度、不同频率得等幅正弦函数,通过求取对每一单元激励产生得响应,并将响应叠加,再转换到时域以得到系统得总响应。

所以说,频域分析法就是一种变域分析法.它把时域中求解响应得问题通过Fourier级数或Fourier变换转换成频域中得问题;在频域中求解后再转换回时域从而得到最终结果.在实际应用中,多使用另一种变域分析法:

复频域分析法,即Laplace 变换分析法。

所谓频率特性,也称频率响应特性,就是指系统在正弦信号激励下稳态响应随频率变化得情况,包括幅度随频率得响应与相位随频率得响应两个方面.利用系统函数也可以确定系统频率特性,公式如下:

  

幅度响应用表示,相位响应用表示。

本实验所研究得系统函数H(s)就是有理函数形式,也就就是说,分子、分母分别就是m、n阶多项式。

     

要计算频率特性,可以写出

为了计算出、得值,可以利用复数三角形式得一个重要特性:

   

而,则

利用这些公式可以化简高次幂,因此分子与分母得复数多项式就可以转化为分别对实部与虚部得实数运算,算出分子、分母得实部、虚部值后,最后就可以计算出幅度、相位得值了。

三、实验内容

a),m取值区间 [0,1],绘制一组曲线m=0、1,0、3,0、5,0、7,0、9;

b)绘制下列系统得幅频响应对数曲线与相频响应曲线,分析其频率特性.

(1)

(2)

(3)

a)%design2、m

figure

alpha=[0、1,0、3,0、5,0、7,0、9];

 colorn=['r’ ’g’’b'’y''k'];% rgb ymck(红,绿,蓝,黄,品红,青,黑)

forn=1:

5

 b=[0alpha(n)];%分子系数向量

    a=[alpha(n)-alpha(n)^21];%分母系数向量

 printsys(b,a,'s')

  [Hz,w]=freqs(b,a);

   w=w、/pi;

   magh=abs(Hz);

  zerosIndx=find(magh==0);

  magh(zerosIndx)=1;

magh=20*log10(magh);

magh(zerosIndx)=-inf;

  angh=angle(Hz);

   angh=unwrap(angh)*180/pi;

 subplot(1,2,1)

  plot(w,magh,colorn(n));

  holdon

 subplot(1,2,2)

  plot(w,angh,colorn(n));

  hold on

 end

 subplot(1,2,1)

 hold off

 xlabel('特征角频率(\times\pirad/sample)')

title('幅频特性曲线|H(w)|(dB)');

  subplot(1,2,2)

holdoff

 xlabel(’特征角频率(\times\pirad/sample)’)

title('相频特性曲线\theta(w)(degrees)’);

b)

(1)%design1、m

b=[1,0];% 分子系数向量

a=[1,1];%分母系数向量

printsys(b,a,'s’)

[Hz,w]=freqs(b,a);

w=w、/pi;

magh=abs(Hz);

zerosIndx=find(magh==0);

magh(zerosIndx)=1;

magh=20*log10(magh); % 以分贝

magh(zerosIndx)=-inf;

angh=angle(Hz);

angh=unwrap(angh)*180/pi;%角度换算

figure

subplot(1,2,1)

plot(w,magh);

gridon

xlabel(’特征角频率(\times\pirad/sample)')

title(’幅频特性曲线|H(w)| (dB)’);

subplot(1,2,2)

plot(w,angh);

gridon

xlabel(’特征角频率(\times\pi rad/sample)’)

title(’相频特性曲线\theta(w)(degrees)’);

(2)%design1、m

b=[0,1,0];% 分子系数向量

a=[1,3,2];% 分母系数向量

printsys(b,a,’s’)

[Hz,w]=freqs(b,a);

w=w、/pi;

magh=abs(Hz);

zerosIndx=find(magh==0);

magh(zerosIndx)=1;

magh=20*log10(magh); %以分贝

magh(zerosIndx)=-inf;

angh=angle(Hz);

angh=unwrap(angh)*180/pi;% 角度换算

figure

subplot(1,2,1)

plot(w,magh);

gridon

xlabel('特征角频率(\times\pirad/sample)')

title(’幅频特性曲线|H(w)|(dB)’);

subplot(1,2,2)

plot(w,angh);

gridon

xlabel('特征角频率(\times\pirad/sample)')

title('相频特性曲线\theta(w)(degrees)’);

(3)% design1、m

b=[1,-1]; %分子系数向量

a=[1,1]; % 分母系数向量

printsys(b,a,'s')

[Hz,w]=freqs(b,a);

w=w、/pi;

magh=abs(Hz);

zerosIndx=find(magh==0);

magh(zerosIndx)=1;

magh=20*log10(magh);%以分贝

magh(zerosIndx)=-inf;

angh=angle(Hz);

angh=unwrap(angh)*180/pi;%角度换算

figure

subplot(1,2,1)

plot(w,magh);

gridon

xlabel(’特征角频率(\times\pirad/sample)')

title('幅频特性曲线|H(w)| (dB)’);

subplot(1,2,2)

plot(w,angh);

gridon

xlabel(’特征角频率 (\times\pirad/sample)')

title(’相频特性曲线\theta(w)(degrees)');

实验心得:

虽然之前用公式转换到频域上分析,但就是有时会觉得挺抽象得,不太好理解。

根据这些图像结合起来更进一步对信号得了解。

同时,这个在编程序时,虽然遇到一些问题,但就是总算解决了。

实验六离散时间系统得Z域分析

一、实验目得

1.学习与掌握离散系统得频率特性及其幅度特性、相位特性得物理意义。

2.深入理解离散系统频率特性与对称性与周期性。

3.认识离散系统频率特性与系统参数之间得系统

4.通过阅读、修改并调试本实验所给源程序,加强计算机编程能力。

二、实验原理及方法

对于离散时间系统,系统单位冲激响应序列得Fourier变换完全反映了系统自身得频率特性,称为离散系统得频率特性,可由系统函数求出,关系式如下:

  ( 6–1)

由于就是频率得周期函数,所以系统得频率特性也就是频率得周期函数,且周期为,因此研究系统频率特性只要在范围内就可以了.

(6 –2)

容易证明,其实部就是得偶函数,虚部就是得奇函数,其模得得偶函数,相位就是得奇函数。

因此研究系统幅度特性、相位特性,只要在范围内讨论即可。

综上所述,系统频率特性具有周期性与对称性,深入理解这一点就是十分重要得。

当离散系统得系统结构一定,它得频率特性将随参数选择得不同而不同,这表明了系统结构、参数、特性三者之间得关系,即同一结构,参数不同其特性也不同。

例如,下图所示离散系统,

其数学模型由线性常系数差分方程描述:

系统函数:

系统函数频率特性:

幅频特性:

相频特性:

容易分析出,当时系统呈低通特性,当时系统呈高通特性;当时系统呈全通特性.同时说明,在系统结构如图所示一定时,其频率特性随参数a得变化而变化.

三、实验内容

a)。

b)

c)

a)%design1、m

b=[1,0,-1];% 分子系数向量

a=[1,0,—0、81];  %分母系数向量

prints

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1