江苏科技大学信号实验报告.docx

上传人:b****1 文档编号:10417995 上传时间:2023-05-25 格式:DOCX 页数:14 大小:137.37KB
下载 相关 举报
江苏科技大学信号实验报告.docx_第1页
第1页 / 共14页
江苏科技大学信号实验报告.docx_第2页
第2页 / 共14页
江苏科技大学信号实验报告.docx_第3页
第3页 / 共14页
江苏科技大学信号实验报告.docx_第4页
第4页 / 共14页
江苏科技大学信号实验报告.docx_第5页
第5页 / 共14页
江苏科技大学信号实验报告.docx_第6页
第6页 / 共14页
江苏科技大学信号实验报告.docx_第7页
第7页 / 共14页
江苏科技大学信号实验报告.docx_第8页
第8页 / 共14页
江苏科技大学信号实验报告.docx_第9页
第9页 / 共14页
江苏科技大学信号实验报告.docx_第10页
第10页 / 共14页
江苏科技大学信号实验报告.docx_第11页
第11页 / 共14页
江苏科技大学信号实验报告.docx_第12页
第12页 / 共14页
江苏科技大学信号实验报告.docx_第13页
第13页 / 共14页
江苏科技大学信号实验报告.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

江苏科技大学信号实验报告.docx

《江苏科技大学信号实验报告.docx》由会员分享,可在线阅读,更多相关《江苏科技大学信号实验报告.docx(14页珍藏版)》请在冰点文库上搜索。

江苏科技大学信号实验报告.docx

江苏科技大学信号实验报告

实验一连续信号的时域分析

 

一、实验目的

1.熟悉lsim、heaviside等函数的使用

2.熟悉信号的时移、尺度变换、反转、相加、相乘、卷积等

计算

3.熟悉impulse、step函数的使用

二、实验内容

1.利用Matlab的SymbolicMathToolbox中单位阶跃函数heaviside画出单位阶跃信号。

(1)实验代码:

clc;clear;

ut=sym('Heaviside(t)');

ezplot(ut,[-2,10])

(2)实验结果:

(3)实验原理分析:

在MATLAB的SymbolicMathToolbox中,有专门用于表示单位阶跃信号的函数,

即Heaviside(t)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,

并且可以方便地参加有关的各种运算过程。

如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数

专用绘图命令ezplot()等函数来绘出信号的波形。

2.已知信号f(t)=(t+1)[U(t+1)–U(t)]+[U(t)–U(t+1)],试画出f(-t/3+1)的波形。

(1)实验代码:

clc;clear;

symst;

y1=sym(t+1);

y2=sym('Heaviside(t+1)-Heaviside(t)');

y3=sym('Heaviside(t)-Heaviside(t+1)');

f=sym(y1*y2+y3);

subs(f,t,t+1);

subs(f,t,(1/3)*t);

subs(f,t,-t);

ezplot(f,[-4,6])

(2)实验结果:

(3)实验原理分析:

信号的时移可用数学表达式来描述,在MATLAB中,时移运算与数学上习惯表达方法完全相同。

若已知信号f(t),应用Matlab可进行下列运算

Ø时移f(t-t0)命令subs(f,t,t-t0)

Ø尺度变换f(at)命令subs(f,t,at)

Ø反转f(-t)subs(f,t,-t)

Ø相加f(t)=f1(t)+f2(t)Symadd(f1,f2)f1(t)+f2(t)

Ø相乘f(t)=f1(t)×f2(t)Symmul(f1,f2)f1(t)*f2(t)

Ø卷积f(t)=f1(t)*f2(t)conv(f1,f2)

此题调用subs()函数对ft进行变换,最后用ezplot()函数绘图。

3.若输入信号f(t)=cos(t)U(t),试求以下系统的零状态响应:

5y''(t)+4y'(t)+8y(t)=f''(t)+f(t)

(1)实验代码:

clear;clc;

a=[548];

b=[101];

t=0:

0.1:

5;

f=cos(t).*Heaviside(t);

impulse(b,a,10)

(2)实验结果:

(3)实验原理分析:

对于LTI连续系统,求解系统的冲激响应h(t)和阶跃响应g(t)对我们进行连续系统的分

析具有非常重要的意义。

MATLAB为用户提供了专门用于求连续系统冲激响应和阶跃响应

并绘制其时域波形的函数impulse()和step()。

在调用impulse()和step()函数时,我

们需要用向量来对连续系统进行分析。

设描述连续系统的微分方程为:

则我们可用向量a和b来表示该系统,即:

注意,向量a和b的元素一定要以微分方程中时间求导的降幂次序来排列,且缺项要用

0来补齐。

关于impluse函数:

函数impulse()将绘出由向量a和b表示的连续系统在指定时间X围内的冲激响应h(t)的时域波形图,并能求出指定时间X围内冲激响应的数值解。

Impulse()函数有如下几种调用格式:

(1)impulse(b,a):

该调用格式以默认方式绘出向量a和b定义的连续系统的冲激

响应的时域波形。

(2)impulse(b,a,t):

绘出系统在0~t时间X围内冲激响应的时域波形。

对上例,

若运行命令impulse(b,a,10),则绘出系统在0~10秒X围内冲激响应的时域波形。

(3)impulse(b,a,t1:

p:

t2):

绘出在t1~t2时间X围内,且以时间间隔p均匀取样的

冲激响应波形。

此题采用的是第二种调用形式。

实验二连续信号的频域分析

 

一、实验目的

1.熟悉门函数的傅氏变换

2.熟悉单边指数信号的傅氏变换

二、实验内容

1.求门函数g2(t)=U(t+1)-U(t-1)的傅氏变换

(1)实验代码:

clc;clear;

symst;

symsw;

g=sym('Heaviside(t+1)-Heaviside(t-1)');

gw=fourier(g)

(2)实验结果:

(3)实验原理分析:

傅里叶变换是信号分析的最重要的内容之一。

从已知信号f(t)求出相应的频谱函数

F(jw)的数学表示为:

f(t)的傅里叶变换存在的充分条件是f(t)在无限区间内绝对可积,即f(t)满足下式:

但上式并非傅里叶变换存在的必要条件。

在引入广义函数概念之后,使一些不满足绝对

可积条件的函数也能进行傅里叶变换。

傅里叶反变换的定义为:

在MATLAB语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB中实现。

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

此题使用的是fourier()函数。

2.求单边指数信号f(t)=e-2tU(t)的傅氏变换

(1)实验代码:

clc;clear;

symst;

symsw;

f=sym('exp((-2)*t)*Heaviside(t)');

fw=fourier(f)

(2)实验结果:

(3)实验原理分析:

Fourier()函数的调用:

F=fourier(f)是符号函数f的Fourier变换,默认返回是关于ω的函数。

如果f=f(ω),则fourier函数返回关于t的函数。

三、思考题

1.已知信号f(t)=cos(t)U(t)的拉普拉斯变换F(s)=s/(s2+1),

并绘制曲线图。

答:

clc;

clear;

x1=-0.4:

0.01:

0.4;

y1=-0.4:

0.01:

0.4;

[x,y]=meshgrid(x1,y1);

s=x+i*y;

fs=abs(s./(s^2+1));

mesh(x,y,fs);

surf(x,y,fs);

title('f(t)=cos(t)U(t)信号拉氏变换曲面图');

colormap(hsv);

axis([-0.4,0.4,-0.4,0.4,0,0.5]);

实验三离散信号的时域分析

 

一、实验目的

1.熟悉离散信号及其反转、平移

2.熟悉离散信号的单位值响应和阶跃响应

二、实验内容

1.已知信号f(n)={01233330},试画出f(-n+2)的波形。

(1)实验代码:

k=-3:

4;

f=[0,1,2,3,3,3,3,0];

stem(-k+2,f,'fill')

(2)实验结果:

 

(3)实验原理分析:

(a)离散时间信号:

一般来说,离散时间信号用f(k)表示,其中变量k为整数,代表离散的采样时间点,f(k)可表示为:

f(k)={„f(-2),f(-1),f(0),f

(1),f

(2)„}。

在用MATLAB绘制离散时间信号波形时,要使用专门绘制离散数据的stem命令,而不用plot命令。

(b) 序列的平移序列的平移可以看作是将序列的时间序号向量平移,而对应原时间序号的序列样值不变。

要将序列左移 k0 个单位时,则将时间序号向量都减小 k0 个单位;若要右移 k0 个单位时,

则将时间序号向量都增大 k0 个单位。

 

2.某离散系统的差分方程为6y(n)–5y(n-1)–y(n-2)=f(n),初始条件为y(0)=0,y

(1)=1,激励f(n)=cos(n*pi/2)U(n),

求其单位样值响应、零状态响应和全响应。

(1)实验代码:

a=[6-5-1];

b=[1];

h=impz(b,a);

subplot(2,2,1);

i=stem(h);

set(i,'MarkerFaceColor','blue')

n=-5:

0.1:

10;

f=cos(n*pi/2).*heaviside(n);

y=filter(b,a,f);

subplot(2,2,3);

stem(n,y,'fill')

n=0:

0.1:

10;

f=cos(n*pi/2).*heaviside(n);

y=[6,-30];

xic=filtic(b,a,y);

y1=filter(b,a,f,xic);

subplot(2,2,4);

stem(n,y1,'fill')

(2)实验结果:

(3)实验原理:

(a)离散时间系统的时域响应

(1) 求解单位脉冲响应函数 impz():

功能:

求离散系统的单位冲激响应。

 格式 1:

impz(b,a) 该调用格式以默认方式绘出向量 a 和 b 定义的离散系统的单

位响应的离散时间波形。

格式 2:

impz(b,a,n) 该调用格式将绘出由向量 a 和 b 定义的离散系统在 0~n(n 必须为整数)离散时间X围内单位响应 h(k)的时域波形。

 N—输出序列的取值X围;

 h—系统的单位响应;

 b,a—分别是差分方程右端和左端变量的系数。

格式 3:

impz(b,a,n1:

n2) 该调用格式将绘出由向量 a 和 b 定义的离散系统在

n1~n2(n1、n2 必须为整数,且 n1

格式 4:

y=impz(b,a,n1:

n2) 该调用格式并不绘出系统单位响应的时域波形,而是求出向量 a 和 b 定义的离散系统在 n1~n2 离散时间X围内的系统单位响应的数值解。

(2)求离散系统响应的专用函数 filter()

实验四离散信号的z域分析

 

一、实验目的

1.熟悉系统函数的零极图

2.熟悉系统函数的反变换

二、实验内容

1.某离散系统的系统函数为H(z)=(2z3+z)/(z4+z3+1),求其零点和极点。

(1)实验代码:

b=[201];

a=[11001];

[z,p,k]=tf2zp(b,a)

(2)实验结果:

(3)实验原理:

(一)离散系统的频率特性 

系统函数的零极点图的绘制,调用方式为:

zplane(b,a)

其中,b,a 分别为系统函数分子、分母多项式的系数向量。

作用:

作出零极点图 图中零点和极点分别用“○”,“×”表示。

在 MATLAB 中,可以借助 tf2zp 来直接得到系统函数的零点和极点的值。

2.已知离散系统的系统函数为H(z)=

(1-0.5z-1)/(1+3z-1/4+z-2/8),求其反变换。

(1)实验代码:

symskz

Fz=(1-0.5/z)/(1+3*z^-1/4+z^-2/8);

fk=iztrans(Fz,k)

(2)实验结果:

(3)实验原理:

MATLAB 语言中有专门对信号进行正反 Z 变换的函数 ztrans( ) 和 itrans( )。

调用格式分别如下:

 F=ztrans( f ) 对 f(n)进行 Z 变换,其结果为 F(z)

 F=ztrans(f,v) 对 f(n)进行 Z 变换,其结果为 F(v)

 F=ztrans(f,u,v) 对 f(u)进行 Z 变换,其结果为 F(v)

 f=itrans ( F ) 对 F(z)进行 Z 反变换,其结果为 f(n)

 f=itrans(F,u) 对 F(z)进行 Z 反变换,其结果为 f(u)

 f=itrans(F,v,u ) 对 F(v)进行 Z 反变换,其结果为 f(u)

注意:

 在调用函数 ztran( )及 iztran( )之前,要用 syms 命令对所有需要用到的变量注意:

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

 

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2