信号与系统 MATLAB实验报告

时间:2019-05-12 12:57:10下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《信号与系统 MATLAB实验报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《信号与系统 MATLAB实验报告》。

第一篇:信号与系统 MATLAB实验报告

院系:

年级:

姓名:

实验时间:

实验地点:

MATLAB实验报告

专业:

班号:

学号:

《信号与系统》

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

实验题目:

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)(分别画出不同周期个数的波形)。

解题分析:

以上各类连续函数,先运用t = t1: p:t2的命令定义时间范围向量,然后调用对应的函数,建立f与t的关系,最后调用plot()函数绘制图像,并用axis()函数限制其坐标范围。

实验程序:

(1)f(t)(t)

t=-1:0.01:3 %设定时间变量t的范围及步长 f=dirac(t)%调用冲激函数dirac()plot(t,f)%用plot函数绘制连续函数 axis([-1,3,-0.5,1.5])%用axis函数规定横纵坐标的范围(2)f(t)(t)

t=-1:0.01:3 %设定时间变量t的范围及步长 f=heaviside(t)%调用阶跃函数heaviside()plot(t,f)%用plot函数绘制连续函数 title('f(t)=heaviside(t)')%用title函数设置图形的名称 axis([-1,3,-0.5,1.5])%用axis函数规定横纵坐标的范围(3)f(t)eat

a=1时:

t=-5:0.01:5 %设定时间变量t的范围及步长 f=exp(t)%调用指数函数exp()

plot(t,f)%用plot函数绘制连续函数 title('f=exp(t)')%用title函数设置图形的名称 axis([-5,5,-1,100])%用axis函数规定横纵坐标的范围 a=2时:

t=-5:0.01:5 f=exp(2*t)%调用指数函数exp()plot(t,f)title('f=exp(2*t)')axis([-5,5,-1,100])a=-2时: t=-5:0.01:5 f=exp(-2*t)plot(t,f)title('f=exp(-2*t)')axis([-5,5,-1,100])(4)f(t)R(t)

t=-5:0.01:5 f=rectpuls(t,2)%用rectpuls(t,a)表示门函数,默认以零点为中心,宽度为a plot(t,f)title('f=R(t)')axis([-5 5-0.5 1.5])(5)f(t)Sa(t)

ω=1时: t=-20:0.01:20 f=sin(t)./t %调用正弦函数sin(),并用sin(t)./t实现抽样函数 plot(t,f)title('f(t)=Sa(t)')axis([-20,-20,-0.5,1.1])3

ω=5时: t=-20:0.01:20 f=sin(5*t)./(5*t)plot(t,f)title('f(t)=Sa(5*t)')axis([-20,-20,-0.5,1.1])(6)f(t)Sin(2ft)

ω=1时: t=-10:0.01:10 f=sin(t)%plot(t,f);title('f=sin(t)')axis([-10,10,-2,2])ω=5时: t=-10:0.01:10 f=sin(5*t)plot(t,f);title('f=sin(5*t)')axis([-10,10,-2,2])

实验结果;

(1)

调用正弦函数sin()4

1.510.50-0.5-1-0.500.511.522.532)

f(t)=heaviside(t)1.510.50-0.5-1-0.500.511.522.533)((a=1时:

f=exp(t)***3020100-5-4-3-2-1012345a=2时:

f=exp(2*t)***3020100-5-4-3-2-1012345

a=-2时:

f=exp(-2*t)***3020100-5-4-3-2-1012345(4)

f=R(t)1.510.50-0.5-5-4-3-2-1012345

(5)ω=1时:

f(t)=Sa(t)10.80.60.40.20-0.2-0.4-20-15-10-505101520ω=5时:

f(t)=Sa(5*t)10.80.60.40.20-0.2-0.4-20-15-10-505101520(6)ω=1时:

f=sin(t)21.510.50-0.5-1-1.5-2-10-8-6-4-20246810

ω=5时:

f=sin(5*t)21.510.50-0.5-1-1.5-2-10-8-6-4-20246810

实验心得体会:(1)在 MATLAB中,是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在 MATLAB 中t = t1: p: t2的命令定义时间范围向量,t1为信号起始时间,t2为终止时间,p为时间间隔。

(2)plot()函数可用于连续函数的绘制。

(3)用axis()函数限制坐标范围,可使图像更加匀称美观。

改进想法:

本题中函数的表示方法都不只一种。如阶跃函数可以借助符号函数来实现可视化。其程序和结果如下: t=-5:0.05:5 f=sign(t)%调用符号函数sign()axis([-5,5,-1.1,1.1])

ff=1/2+1/2*f %运用阶跃函数与符号函数的关系,表示出阶跃函数ff plot(t,ff)axis([-5,5,-0.1,1.1])

f=heaviside(t)10.80.60.40.20-5-4-3-2-1012345

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

实验题目:

f(n)(n);f(n)(n);f(n)ean(分别取a0及a0);

f(n)RN(n)(分别取不同的N值);f(n)Sa(n); f(n)Sin(n)(分别取不同的值);

解题分析:

以上各类离散函数,可仿照连续函数的可视化,先运用n =n1: p: n2的命令定义自变量的范围及步长,然后调用对应的函数,建立f与t的关系,最后调用stem()函数绘制图像,并用axis()函数限制其坐标范围。

实验程序:

(1)f(n)(n)

n=-5:0.5:5 %设定时间变量n的范围及步长 f=dirac(n)stem(n,f)%调用stem()绘制离散函数 title('f=dirac(t)')axis([-5,5,-3,10])%用axis函数规定横纵坐标的范围(2)f(n)(n)

n=-5:0.5:5 f=heaviside(n)stem(n,f)title('f=Heaviside(t)')axis([-5,5,-0.5,1.5])(3)f(n)ean

a=1时:

n=-5:0.5:5 f=exp(n)stem(n,f)title('f=exp(n)')a=2时: n=-5:0.5:5 f=exp(2*n)stem(n,f)title('f=exp(2*n)')a=-2时: n=-5:0.5:5 f=exp(-2*n)stem(n,f)title('f=exp(-2*n)')(4)f(n)RN(n)

n=-5:0.5:5 f=rectpuls(n,2)stem(n,f)title('f=R(n)')axis([-5,5,-0.5,1.5])(5)f(n)Sa(n)

ω=1时: n=-20:0.5:20 f=sin(n)./(n)stem(n,f)title('f=Sa(n)')axis([-20,-20,-0.5,1.1])ω=5时: n=-20:0.5:20 f=sin(5*n)./(5*n)13

stem(n,f)title('f=Sa(5*n)')axis([-20,-20,-1,5])(6)f(n)Sin(n)

ω=1时: n=-5:0.5:5 f=sin(n)stem(n,f)title('f=sin(n)')axis([-5,5,-2,2])ω=5时: n=-5:0.5:5 f=sin(5*n)stem(n,f)title('f=sin(5*n)')axis([-5,5,-2,2])

实验结果;

(1)

f=dirac(t)1086420-2-5-4-3-2-10123452)

f=Heaviside(t)1.510.50-0.5-5-4-3-2-10123453)((a=1时:

f=exp(n)150100500-5-4-3-2-1012345a=2时:

2.5x 104f=exp(2*n)21.510.50-5-4-3-2-1012345

a=-2时:

4f=exp(-2*n)2.5x 1021.510.50-5-4-3-2-1012345(4)

f=R(n)1.510.50-0.5-5-4-3-2-1012345

(5)ω=1时:

f=Sa(n)10.80.60.40.20-0.2-0.4-20-15-10-505101520ω=5时:

f=Sa(5*n)0.250.20.150.10.050-0.05-0.1-0.15-0.2-20-15-10-505101520(6)ω=1时:

f=sin(n)21.510.50-0.5-1-1.5-2-5-4-3-2-1012345

ω=5时:

f=sin(5*n)21.510.50-0.5-1-1.5-2-5-4-3-2-1012345

实验心得体会: 用plot()函数可以绘制离散序列,但是与连续序列有所不同,需要在括号内加上'.'。但是plot()画出来的函数图像不直观,显得很凌乱。

改进想法:

(1)对于离散函数,如果使用stem(n,f, '.')函数,绘图效果更好。如抽样函数的程序: n=-20:0.5:20 f=sin(n)./(n)stem(n,f,'.')title('f=Sa(n)')axis([-20,-20,-0.5,1.1])绘图结果如下:

f=Sa(n)10.80.60.40.20-0.2-0.4-20-15-10-505101520

对比可知此法做出的图像更加清晰美观。

(2)MATLAB 可以自动地根据曲线数据的范围选择合适的坐标系,从而使得曲线尽可能清晰地显示出来,一般情况下不必选择坐标系。但是,如果对 MATLAB自动产生的坐标轴不满意,可以利用 axis 命令对坐标轴进行调整。

实验三 系统的时域求解

实验题目:

1.设h(n)(0.9)nu(n),x(n)u(n)u(n10),求y(n)x(n)*h(n),并画出x(n)、h(n)、y(n)波形。

y(n)0.81y(n2)x(n)x(n2)的单位

j2.求因果线性移不变系统抽样响应h(n),并绘出H(e)的幅频及相频特性曲线。

解题分析:

1.用heaviside()和exp()函数 表示出x(n)和h(n),然后调用conv()函数实现x(n)和h(n)的卷积y(n)。并且分别将三个函数图像绘出。

2.通过给矩阵a,b赋值,建立系统差分方程,然后调用impz()函数求系统的冲激响应,再用函数freqs(b,a)进行系统频率响应的分析。

实验程序:

(1)

n=-10:20 %设置变量范围,默认步长为1 f=heaviside(n)x=heaviside(n)-heaviside(n-10)%阶跃函数直接相减 figure(1)%产生图像窗口1 stem(n,x)%绘制函数x title('x(n)')h=0.9.^n.*f %函数h的表达式 figure(2)%产生图像窗口2 stem(n,h)%绘制函数h title('h(n)')n1=-20:40 y=conv(h,x)%调用conv()函数求h和x的卷积

figure(3)%产生图像窗口3 stem(y)%绘制函数y title('y(n)=x(n)*h(n)')(2)

a=[1 0-0.81] %描述系统的差分方程的系数 b=[1 0-1] %描述系统的差分方程的系数 figure(1)h=impz(n,m,-10:10)%调用impz()函数求系统的冲激响应 stem(h)%绘制函数h的离散序列 title('h(n)')figure(2)freqs(b,a)%对连续系统频率响应H(jw)进行分析的函数freqs()

实验结果;

(1)

x(n)10.90.80.70.60.50.40.30.20.10-10-505101520

h(n)0.90.80.70.60.50.40.30.20.10-10-505101520y(n)=x(n)*h(n)***05060702)

(h(n)1.210.80.60.40.20-0.20510152025

100.09udeti100.05agnM100.0110-210-1100101Frequency(rad/s)1)s0.5reeeg(d0e hasP-0.5-110-210-1100101Frequency(rad/s)

实验心得体会:

(1)计算离散序列的卷积时,应考虑其结果的横坐标范围的改变。(2)向量相乘时,注意用‘.’。

(3)借助MATLAB的内部函数conv()可以很容易地完成两个信号的卷积运算,并且其完成的是两个多项式的乘法运算,在MATLAB中它们的系数构成一个行向量来表示。

(3)表示系统的方法是用系统函数分子和分母多项式系数行向量来表示。

改进想法:

(1)n=-10:20 %f=heaviside(n)x=heaviside(n)-heaviside(n-10)%figure(1)%axis([-10,20,0,1])stem(n,x)%title('x(n)')h=0.9.^n.*f %figure(2)%stem(n,h)%axis([-10,20,0,1])title('h(n)')n1=-20:40 y=conv(h,x)%figure(3)%stem(y)%axis([0,62,0,7])title('y(n)=x(n)*h(n)')

运行结果:

设置变量范围,默认步长为1

阶跃函数直接相减 产生图像窗口1 绘制函数x 函数h的表达式 产生图像窗口2 绘制函数h 调用conv函数求h和x的卷积 产生图像窗口3 绘制函数y 26

x(n)10.90.80.70.60.50.40.30.20.10-10-505101520h(n)10.90.80.70.60.50.40.30.20.10-10-505101520

y(n)=x(n)*h(n)***405060

实验四 信号的DFT分析

实验题目:

计算余弦序列x(n)cos(8n)RN(n)的DFT。分别对N=10、16、22时计算DFT,绘出X(k)幅频特性曲线,分析是否有差别及产生差别的原因。

解题分析:

用矩阵代替门函数给变量n赋值,并设定不同的N值,然后调用fft()函数实现函数的傅里叶变换,然后用subplot()和stem()函数绘图。

实验程序:

(1)N=10时:

N=10 %设定N的值为10 n=[0:N-1] %用矩阵代替门函数给n赋值 x=cos((pi/8).*n)%调用cos()函数

y=fft(x)%调用fft()函数求x的傅里叶变换 subplot(2,1,1),stem(n,y)%绘制y的离散图 title('DFT[cos((pi/8)*n]')subplot(2,1,2),stem(n,abs(y))%绘制y的幅频特性曲线 title('X(k)')(2)N=16时:

N=16 %设定N的值为16 n=[0:N-1] %用矩阵代替门函数给n赋值 x=cos((pi/8).*n)%调用cos()函数

y=fft(x)%调用fft()函数求x的傅里叶变换 subplot(2,1,1),stem(n,y)%绘制y的离散图 title('DFT[cos((pi/8)*n]')subplot(2,1,2),stem(n,abs(y))%绘制y的幅频特性曲线

title('X(k)')(3)N=22时:

N=22 %设定N的值为22 n=[0:N-1] %用矩阵代替门函数给n赋值 x=cos((pi/8).*n)%调用cos()函数

y=fft(x)%调用fft()函数求x的傅里叶变换 subplot(2,1,1),stem(n,y)%绘制y的离散图 title('DFT[cos((pi/8)*n]')subplot(2,1,2),stem(n,abs(y))%绘制y的幅频特性曲线 title('X(k)')

实验结果;

(1)N=10时:

DFT[cos((pi/8)*n]3210-10123456789X(k)64200123456789(2)N=16时:

DFT[cos((pi/8)*n]1050-5051015X(k)864200510153)N=22时:

DFT[cos((pi/8)*n]6420-20510152025X(k)***1(实验结果分析:

由图可知,不同的N值所对应的DFT序列和幅频响应不同,是因为N代表DFT的变换区间长度,当N取不同的值时,函数所对应的离散傅里叶变换和幅频特性曲线也不同。

实验心得体会: MATLAB是计算机运算,无法实现无限时间信号和无限大数量的计算,故而周期信号只能取有限个谐波分量近似合成,即N值有限,且N值越大,仿真结果越接近。所以手工求取的傅里叶变换系数与MATLAB求取存在差别。

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

实验题目:

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

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)波形,分析是否有差别及产生差别的原因。

解题分析:

根据离散序列卷积及傅里叶变换的性质,可先求出两函数x(n)和h(n)的L点傅里叶变换,分别得到Xk和Yk,然后求Xk和Yk之积Hk的傅里叶反变换,即得到了x(n)和h(n)的卷积y(n)。

实验程序:

L=10时:

n1=[0:14] %用矩阵代替门函数给n1赋值 x=sin(0.4.*n1)%写出x的表达式 n2=[0:19] %给n2赋值 y=0.9.^n2 %写出y的表达式

Xk=fft(x,10)%调用fft()函数求x的L(=10)点傅里叶变换 Yk=fft(y,10)%求y的L点傅里叶变换 Hk=Xk.*Yk %写出Hk的表达式

h=ifft(Hk)%调用ifft()函数求Hk的傅里叶反变换 subplot(3,1,1),stem(x)%绘制x的离散图 title('x(n)')subplot(3,1,2),stem(y)%绘制y的离散图 title('y(n)')subplot(3,1,3),stem(h)%绘制h的离散图 title('h(n)')xlabel('L=10')%横坐标处做标注

(2)L=18时: n1=[0:14] x=sin(0.4.*n1)n2=[0:19] y=0.9.^n2 Xk=fft(x,18)Yk=fft(y,18)Hk=Xk.*Yk h=ifft(Hk)subplot(3,1,1),stem(x)title('x(n)')subplot(3,1,2),stem(y)title('y(n)')subplot(3,1,3),stem(h)title('h(n)')xlabel('L=18')(3)L=28时: n1=[0:14] x=sin(0.4.*n1)n2=[0:19] y=0.9.^n2 Xk=fft(x,28)Yk=fft(y,28)Hk=Xk.*Yk h=ifft(Hk)subplot(3,1,1),stem(x)title('x(n)')subplot(3,1,2),stem(y)title('y(n)')subplot(3,1,3),stem(h)title('h(n)')34

xlabel('L=28')(4)L=35时: n1=[0:14] x=sin(0.4.*n1)n2=[0:19] y=0.9.^n2 Xk=fft(x,35)Yk=fft(y,35)Hk=Xk.*Yk h=ifft(Hk)subplot(3,1,1),stem(x)title('x(n)')subplot(3,1,2),stem(y)title('y(n)')subplot(3,1,3),stem(h)title('h(n)')xlabel('L=35')

实验结果;

(1)L=10时:

x(n)10-1051015y(n)10.***1820h(n)42012345678910L=102)L=18时:

x(n)10-1051015y(n)10.***1820h(n)50-***8L=183)L=28时:

36((x(n)10-1051015y(n)10.***1820h(n)50-5051015202530L=284)L=35时:

x(n)10-1051015y(n)10.***1820h(n)50-***L=35

37(实验结果分析:

由图可知,当L取不同的值时,对应的y(n)波形形状相似,但是有所不同,产生这种差别的原因是L代表傅里叶变换区间长度,当L取不同的值时,所对应的函数波形也有所差别。

实验心得体会:(1)计算离散序列的卷积,虽然本实验的快速卷积方法看上去多次变换了变量的域,使过程变复杂了,但实际上减少了计算量,是一种快速而简单的方法。(2)用subplot绘图函数可将图形窗口分成若干等份,便于将多个图像进行分组或者比较。

改进想法:

当L取不同的值时,matlab自动生成的图像的横纵坐标范围不同,不便于相互比较,因此可以自己规定坐标轴范围,这样可以更加直观地看出各波形间的差别。

第二篇:MATLAB信号与系统实验报告19472

信号与系统实验陈诉(5)

MATLAB 综合实验 项目二

连续系统的频域阐发 目的:

周期信号输入连续系统的响应可用傅里叶级数阐发。由于盘算历程啰嗦,最适适用MATLAB 盘算。通过编程实现对输入信号、输出信号的频谱和时域响应的盘算,认识盘算机在系统阐发中的作用。

任务:

线性连续系统的系统函数为11)(jj H,输入信号为周期矩形波如图 1 所示,用MATLAB 阐发系统的输入频谱、输出频谱以及系统的时域响应。

-3-2-1 0 1 2 300.511.52Time(sec)

图 1

要领:

1、确定周期信号 f(t)的频谱nF。基波频率 Ω。

2、确定系统函数 )( jn H。

3、盘算输出信号的频谱

n nF jn H Y )( 

4、系统的时域响应

 nt jnn eY t y)(MATLAB 盘算为

y=Y_n*exp(j*w0*n“*t);

要求(画出 3 幅图):

1、在一幅图中画输入信号 f(t)和输入信号幅度频谱|F(j)|。用两个子图画出。

2、画出系统函数的幅度频谱|H(j)|。

3、在一幅图中画输出信号 y(t)和输出信号幅度频谱|Y(j)|。用两个子图画出。

解:(1)阐发盘算:

输入信号的频谱为

(n)输入信号最小周期为 =2,脉冲宽度,基波频率Ω=2π/ =π,所以

(n)系统函数为

因此

输出信号的频谱为

系统响应为

(2)步伐:

t=linspace(-3,3,300);

tau_T=1/4;

%

n0=-20;n1=20;

n=n0:n1;

%盘算谐波次数20

F_n=tau_T*Sa(tau_T*pi*n);

f=2*(rectpuls(t+1.75,0.5)+rectpuls(t-0.25,0.5)+rectpuls(t-2.25,0.5));

figure(1),subplot(2,1,1),line(t,f,”linewidth“,2);

%输入信号的波形 axis([-3,3,-0.1,2.1]);grid on

xlabel(”Time(sec)“,”fontsize“,8),title(”输入信号“,”fontweight“,”bold“)%设定字体巨细,文本字符的粗细

text(-0.4,0.8,”f(t)“)

subplot(2,1,2),stem(n,abs(F_n),”.“);

%输入信号的幅度频谱 xlabel(”n“,”fontsize“,8),title(”输入信号的幅度频谱“,”fontweight“,”bold“)

text(-4.0,0.2,”|Fn|“)

H_n=1./(i*n*pi+1);

figure(2),stem(n,abs(H_n),”.“);

%系统函数的幅度频谱 xlabel(”n“,”fontsize“,8),title(”系统函数的幅度频谱“,”fontweight“,”bold“)

text(-2.5,0.5,”|Hn|“)

Y_n=H_n.*F_n;y=Y_n*exp(i*pi*n”*t);

figure(3),subplot(2,1,1),line(t,y,“linewidth”,2);

%输出信号的波形 axis([-3,3,0,0.5]);grid on

xlabel(“Time(sec)”,“fontsize”,8),title(“输出信号”,“fontweight”,“bold”)

text(-0.4,0.3,“y(t)”)

subplot(2,1,2),stem(n,abs(Y_n),“.”);

%输出信号的幅度频谱 xlabel(“n”,“fontsize”,8),title(“输出信号的幅度频谱”,“fontweight”,“bold”)

text(-4.0,0.2,“|Yn|”)

(3)波形:

-3-2-1 0 1 2 300.511.52Time(sec)输 入 信 号f(t)-20-15-10-5 0 5 10 15 2000.10.20.30.4n输 入 信 号 的 幅 度 频 谱|Fn|-20-15-10-5 0 5 10 15 2000.10.20.30.40.50.60.70.80.91n系 统 函 数 的 幅 度 频 谱|Hn|

-3-2-1 0 1 2 300.10.20.30.4Time(sec)输 出 信 号y(t)-20-15-10-5 0 5 10 15 2000.10.20.30.4n输 出 信 号 的 幅 度 频 谱|Yn|

项目三

连续系统的复频域阐发 目的:

周期信号输入连续系统的响应也可用拉氏变更阐发。用 MATLAB 的标记盘算成果,通过编程实现对系统瞬态响应和稳态响应的阐发,加深理解拉氏变更在阐发系统中的作用。

任务:

线性连续系统的系统函数为11)(ss H,输入信号为周期矩形波如图2所示,用MATLAB阐发系统的响应和稳态响应。

0 1 2 3 4 5 6 700.511.52Time(sec)

图 2

要领:

1、确定第一个周期拉氏变更)(0s F。

2、确定前 6 个周期的拉氏变更)(s F。

3、盘算输出信号的拉氏变更)()()(s F s H s Y 

4、系统的时域响应)()(s Y t y 

MATLAB 盘算为

y=ilaplace(Y);5、系统的稳态响应和稳态值,即经过 4 个周期后,系统响应趋于稳态,两个稳态值可取为

t=8s 和 t=8.5s

要求:

1、画出输入信号 f(t)波形。

2、画出系统输出信号 y(t)的波形。

3、画出系统稳态响应 yss(t)的波形,4 个周期后。并盘算出稳态值。

解:(1)步伐 syms s;

H=1/(s+1);

F0=1/s*(1-exp(-0.5*s));

%输入信号第一个周期的laplace变更

F=F0+F0*exp(-2*s)+F0*exp(-4*s)+F0*exp(-6*s);

Y=H.*F;

Y0=H.*F0;

y=ilaplace(Y);

y=simple(y);

t=linspace(0,12,300);

f=2*(rectpuls(t-0.25,0.5)+rectpuls(t-2.25,0.5)+rectpuls(t-4.25,0.5)+rectpuls(t-6.25,0.5));

yn=subs(y);

%标记替换

figure(1),plot(t,f,“linewidth”,2);

axis([0,7,-0.2,2.2]),xlabel(“Time(sec)”,“fontsize”,8),title(“输入信号”,“fontweight”,“bold”)

text(3.0,1.0,“f(t)”)

figure(2),plot(t,yn,“linewidth”,2);

axis([0,7,-0.1,0.5]),xlabel(“Time(sec)”,“fontsize”,8),title(“输出信号”,“fontweight”,“bold”)

text(3.0,0.3,“y(t)”)

figure(3),plot(t,yn,“linewidth”,2);

axis([8,12,-0.1,0.5]),xlabel(“Time(sec)”,“fontsize”,8),title(“输出信号稳态响应”,“fontweight”,“bold”)

text(10.0,0.2,“ys(t)”)

t=8:0.5:8.5;

%取t=8s和t=8.5两个稳态值

ys=subs(y,t,“t”);

disp(“输入为周期信号的响应的第一个周期”);

y0=ilaplace(Y0);

pretty(y0);

%标记输出类似数值形式

disp(“输出稳态周期信号的两个值”);

ys

(2)波形

0 1 2 3 4 5 6 700.511.52Time(s ec)输 入 信 号f(t)

0 1 2 3 4 5 6 7-0.100.10.20.30.4Time(sec)输 出 信 号y(t)8 8.5 9 9.5 10 10.5 11 11.5 12-0.100.10.20.30.4Time(sec)输 出 信 号 稳 态 响 应ys(t)

命令窗口显示:

输入为周期信号的响应的第一个周期

heaviside(t-1/2)(exp(1/2-t)-1)-exp(-t)+ 1 输出稳态周期信号的两个值 ys =

0.1015

0.0616

第三篇:信号与系统实验报告,

实验三

常见信号得MATLAB 表示及运算 一、实验目得 1。熟悉常见信号得意义、特性及波形 2.学会使用 MATLAB 表示信号得方法并绘制信号波形 3、掌握使用MATLAB 进行信号基本运算得指令 4、熟悉用MATLAB 实现卷积积分得方法 二、实验原理 根据MATLAB 得数值计算功能与符号运算功能,在 MATLAB中,信号有两种表示方法,一种就是用向量来表示,另一种则就是用符号运算得方法。在采用适当得 MATLAB 语句表示出信号后,就可以利用 MATLAB中得绘图命令绘制出直观得信号波形了。

1、连续时间信号

从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB 中,就是用连续信号在等时间间隔点上得样值来近似表示得,当取样时间间隔足够小时,这些离散得样值就能较好地近似出连续信号。在 MATLAB 中连续信号可用向量或符号运算功能来表示。

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

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

得 常见信号得 M ATLA B表示

单位阶跃信号 单位阶跃信号得定义为:

方法一:

调用 H eaviside(t)函数 首先定义函数 Heaviside(t)得m函数文件,该文件名应与函数名同名即Heaviside、m.%定义函数文件,函数名为 Heaviside,输入变量为 x,输出变量为y function y= Heaviside(t)

y=(t>0);

%定义函数体,即函数所执行指令 %此处定义t>0 时 y=1,t<=0 时y=0,注意与实际得阶跃信号定义得区别.方法二:数值计算法 在MATLAB 中,有一个专门用于表示单位阶跃信号得函数,即 s te pfun()函数,它就是用数值计算法表示得单位阶跃函数.其调用格式为: st epfun(t,t0)

其中,t 就是以向量形式表示得变量,t0 表示信号发生突变得时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣得就是它同时还可以表示单位阶跃序列,这只要将自变量以及

取样间隔设定为整数即可。

符号函数 符号函数得定义为:

在 MATLAB 中有专门用于表示符号函数得函数 s ign(),由于单位阶跃信号(t)与符号函数两者之间存在以下关系:,因此,利用这个函数就可以很容易地生成单位阶跃信号.2、离散时间信号 离散时间信号又叫离散时间序列,一般用 表示,其中变量 k 为整数,代表离散得采样时间点(采样次数)。

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

单位序列

单位序列)得定义为

单位阶跃序列 单位阶跃序列得定义为 3、卷积积分 两个信号得卷积定义为:

MATLAB 中就是利用 conv 函数来实现卷积得.功能:实现两个函数与得卷积.格式:g=conv(f1,f2)

说明:f1=f 1(t),f2=f 2(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])

syms t;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)

syms t;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)”);grid on subplot(1,3,2),stem(kf2,f2,’*k“);xlabel('k’);ylabel(”f2(k)’);grid on subplot(1,3,3);stem(kg,g,'*k’);xlabel('k“); ylabel(”g(k)');grid on

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

实验四

连续时间信号得频域分析 一、实验目得 1。熟悉傅里叶变换得性质 2.熟悉常见信号得傅里叶变换 3。了解傅里叶变换得MATLAB 实现方法 二、实验原理 从已知信号求出相应得频谱函数得数学表示为:

傅里叶反变换得定义为:

在 MATLAB中实现傅里叶变换得方法有两种,一种就是利用 MATLAB 中得 Sy mbo lic Math Too lbox 提供得专用函数直接求解函数得傅里叶变换与傅里叶反变换,另一种就是傅里叶变换得数值计算实现法.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)

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

(2)三角脉冲

(3)单边指数信号

(4)

高斯信号

(1)

syms t w

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*pi 10*pi 0 2、2])

与得频谱比较,得频谱函数 F 1(jω)最大值就是其得1/2.(2)syms t w;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*pi 10*pi]);grid;

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

(3)syms t w

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

Fw=fourier(Gt,t,w);

FFw=maple(“convert”,Fw,’piecewise’);

FFP=abs(FFw);

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

axis([—10*pi 10*pi —1 2])

(4)syms t w

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

Fw=fourier(Gt,t,w);

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

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

axis([—30 30 —1 2])

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

(2)

(1)syms t w

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)

syms t 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'];

%

r g b y m c k(红,绿,蓝,黄,品红,青,黑)

for n=1:5

b=[0 alpha(n)];

% 分子系数向量

a=[alpha(n)-alpha(n)^2 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;

subplot(1,2,1)

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

hold on

subplot(1,2,2)

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

hold on

end

subplot(1,2,1)

hold off

xlabel(”特征角频率(timespi rad/sample)“)

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

subplot(1,2,2)

hold off

xlabel(’特征角频率(timespi rad/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);grid on xlabel(’特征角频率(timespi rad/sample)')title(’幅频特性曲线 |H(w)|(dB)’); subplot(1,2,2)plot(w,angh);grid on 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);grid on xlabel(“特征角频率(\times\pi rad/sample)')

title(’幅频特性曲线 |H(w)|(dB)’);subplot(1,2,2)plot(w,angh); grid on xlabel(”特征角频率(\times\pi rad/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); grid on xlabel(’特征角频率(timespi rad/sample)“)

title(”幅频特性曲线 |H(w)|(dB)’);subplot(1,2,2)plot(w,angh);grid on xlabel(’特征角频率(times\pi rad/sample)')title(’相频特性曲线 theta(w)

(degrees)“);

实验心得: :虽然之前用公式转换到频域上分析,但就是有时会觉得挺抽象得,不太好理解。根据这些图像结合起来更进一步对信号得了解。同时,这个在编程序时,虽然遇到一些问题,但就是总算解决了。

实验六

离散时间系统得 Z 域分析 一、实验目得 1.学习与掌握离散系统得频率特性及其幅度特性、相位特性得物理意义。

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

3.认识离散系统频率特性与系统参数之间得系统 4.通过阅读、修改并调试本实验所给源程序,加强计算机编程能力。

二、

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

(6 – 1)由于就是频率得周期函数,所以系统得频率特性也就是频率得周期函数,且周期为,因此研究系统频率特性只要在范围内就可以了.       n n nj jn n h j n n h e n h e H)sin()()cos()()()(  

(6 – 2)容易证明,其实部就是得偶函数,虚部就是得奇函数,其模得得偶函数,相位就是得奇函数。因此研究系统幅度特性、相位特性,只要在范围内讨论即可。

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

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

例如,下图所示离散系统,其数学模型由线性常系数差分方程描述:

系统函数: 系统函数频率特性:

幅频特性: 相频特性:

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

b)c)a)% design1、m b=[1,0,-1];

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

% 分母系数向量 printsys(b,a,”z“)[Hz,w]=freqz(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);grid on xlabel(’特征角频率(timespi rad/sample)')title(’幅频特性曲线 |H(w)|(dB)”);subplot(1,2,2)plot(w,angh);grid on xlabel(“特征角频率(times\pi rad/sample)”)title('相频特性曲线 theta(w)(degrees)“);

带通

b)% design1、m b=[0、1,—0、3,0、3,-0、1];

% 分子系数向量 a=[1,0、6,0、4,0、1];

% 分母系数向量 printsys(b,a,’z”)[Hz,w]=freqz(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);grid on xlabel(’特征角频率(timespi rad/sample)’)

title(“幅频特性曲线 |H(w)|(dB)”);subplot(1,2,2)plot(w,angh);grid on

xlabel(“特征角频率(\timespi rad/sample)’)title(”相频特性曲线 theta(w)

(degrees)’);

高通

c)% design1、m b=[1,—1,0];

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

% 分母系数向量 printsys(b,a,“z’)[Hz,w]=freqz(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);grid on xlabel(”特征角频率(\times\pi rad/sample)')title(“幅频特性曲线 |H(w)|(dB)”);subplot(1,2,2)

plot(w,angh);

grid on xlabel(’特征角频率(\timespi rad/sample)")title(’相频特性曲线 theta(w)

(degrees)’);

带通

实验心得: :本来理论知识不就是很强得,虽然已经编出程序得到相关图形,但就是不会辨别相关通带,这让我深刻地反省。

第四篇:信号与系统实验报告

中南大学

信号与系统试验报告

姓名:

学号:

专业班级:自动化

实验一

基本信号得生成1.实验目得

 学会使用 MATLAB 产生各种常见得连续时间信号与离散时间信号; 通过MATLAB 中得绘图工具对产生得信号进行观察,加深对常用信号得理解; 熟悉 MATLAB 得基本操作,以及一些基本函数得使用,为以后得实验奠定基础。2。

实验内容

⑴ 运行以上九个例子程序,掌握一些常用基本信号得特点及其MATLAB 实现方法;改变有关参数,进一步观察信号波形得变化.⑵ 在范围内产生并画出以下信号: a)

;b); c); d).源程序: k= — 10 0 :1 1 0;;

f1k=[ze r os(1,10), , 1 ,zer os(1 1,1 1 0)];;

subplot(2 2,2,1)

stem(k, , f 1k)

title(' f1[k ] ’)

f2k=[zer os s(1 ,8), 1,z z er r os s(1 1,12)];;

su b plot(2,2,2)

s te m(k k,f2k)

titl e(“f2 [k] ’)

f3k = [zeros(1 ,14), , 1,zer os s(1 1,6 6)];;

su bplot t(2 2,2 2,3)

st e m(k,f 3 k)

ti t le(”f3[k]“)

f 4k= 2*f2k k--f3 k;

su bpl ot(2,2 2,4)

s s t em(k,f4k)

t t i tle('f 4[k]”)

⑶ 在 范围内产生并画出以下信号: a);b);c)。

请问这三个信号得基波周期分别就是多少? 源程序: k= = 0:

f1 1 k= = sin(pi /4* k))、* cos(pi /4*k);;

subp lo t(3,1, 1))

st em(k,f1 1 k))

t itle(' f1[k ]“ ”)

f2 k=(cos(pi/4*k))、^ ^ 2;;

subp l ot(3, 1 ,2)

st t em m(k,f2 k))

ti i tl e('f2 [k ]“ ”)

f3 k =s in n(pi /4*k)、*cos s(p i/8 *k k);;

sub p lot(3,1 1,3)

st em m(k ,f3k)

tit le e(’f3 [k k ] ’)

其中f1[k]得基波周期就是4, f2[k]得基波周期就是4, f3[k]得基波周期就是 16. 实验 二

信号得基本运算1。

实验目得

 学会使用MATLAB完成信号得一些基本运算; 了解复杂信号由基本信号通过尺度变换、翻转、平移、相加、相乘、差分、求与、微分及积分等运算来表达得方法; 进一步熟悉 MATLAB 得基本操作与编程,掌握其在信号分析中得运用特点与使用方式. 2。

实验内容

⑴ 运行以上三个例题程序,掌握信号基本运算得MATLAB实现方法;改变有关参数,考察相应信号运算结果得变化特点与规律。

⑵ 已知信号如下图所示:

a)用 MATLAB 编程复现上图;%作业题2

a: t=-6:0、001 :6;ft1=t rip uls(t, 6,0、5);sub plot(2,1,1)

plot(t,ft1)t tit le(’f(t)’)

b)画出得波形;%b t= -6:0、00 1:6;f ft 1= tripuls(2 *(1 —t),6,0、5); %s ubp lot(1,1,1)

pl ot(t,ft 1)t it le(’f(2*(1-t)“)-4-3-2-1 0 1 2 3 400.20.40.60.811.21.41.61.82tf(t)给 定 信 号 f(t)

c)画出得波形;

%c h=0、00 1;t= —6: h:6;yt= tri pu ls(t,6,0、5); y 1= diff(yt)*1/h;plot(t(1:lengt h(t)—1),y1)

tit le(’df(t)/ dt ’)

d)画出得波形。

%d t=—6:0、1:6;for x=1:length(t)

y2(x)=quad(’tripuls(t,6,0、5)’,-3,t(x));

end plot(t,y2)

title(”integral of f(t)“)

实验 三

系统得时域分析1。

实验目得

 学习并掌握连续时间系统得零状态响应、冲激响应与阶跃响应得 MATLAB求解方法;  学习并掌握离散时间系统得零状态响应、冲激响应与阶跃响应得 MATLAB 求解方法; 进一步深刻理解连续时间系统与离散时间系统得系统函数零极点对系统特性得影响;学习并掌握卷积得 MATLAB 计算方法。

2.实验内容

⑴ 运行以上五个例题程序,掌握求解系统响应得 MATLAB分析方法;改变模型参数,考察系统响应得变化特点与规律。

⑵ 设离散系统可由下列差分方程表示:

计算时得系统冲激响应。

源程序:

k= — 20:100 ;

a= [1 1

--1 0、9] ;

b=[1];

h= i mpz(b b,a a,k k);;

stem(k, h);;

xla b el(’Ti me(sec)’)

y y lab el(’y(t)”)

⑶ 设,输入,求系统输出。

(取)

源程序: k=--1 1 0 :50 ;

u u k= = [z z e ro s(1,1 0), o nes(1, 51))];;

u 1k=[ z er o s(1,20),o o n es(1, , 41)];;

h k=0、9 9、^k、*uk;

fk=u k--u1k;

yk=co o nv v(hk,f k));

stem(0:length(yk)--1,yk);;

⑷ 已知滤波器得传递函数:

输入信号为为随机信号。试绘出滤波器得输出信号波形.(取)源程序: R=101 ;

d=rand(1 ,R)

—0 0、5;;

t=0:100 ;

s=2 * si n(0、05*pi*t);

f=s +d d ;

su bp lo t(2,1,1);

plot(t,d ,’ g--、',t t,s,’b--— “,t,f,”r--');

xl l ab b el l(“ ” Ti i m e in d ex t’);;

legend(“d [t t ] ”,“ s[ [ t]” “,”f[t ] ’);

tit t le e(“ ” 处理前得波形'))

b=[0、22 0 ];a=[ 1

-0 0、8];

y=fi lt er(b,a,f));

su bp p l ot(2 2,1,2);

pl ot t(t ,s,“b —--” “,t t,y,’r--’);

xl ab b e l(’ Ti i m e i nd ex t”);

leg e nd(“s [t t ] ’,’ y [t ]');;

title(” “ 滤波器输出波形’))

实验 四

周期信号得频域分析

1..实验目得

 掌握周期信号傅立叶级数分解与合成得计算公式  掌握利用 MATLAB实现周期信号傅立叶级数分解与综合方法  理解并掌握周期信号频谱特点

2、实验内容 1、仿照例程,实现下述周期信号得傅立叶级数分解与合成:

要求:

(a)首先,推导出求解,,得公式,计算出前 10 次系数;

(b)利用MATLAB 求解,,得值,其中,求解前 10 次系数,并给出利用这些系数合成得信号波形。

(a)设周期信号得周期为,角频率,且满足狄里赫利条件,则该周期信号可以展开成傅立叶级数。

(1)三角形式傅立叶级数

dt t n t fTbdt t n t fTadt t fTat n b t n a at b t a t b t a t b t a a t fTT nTT nTTnnnnn n n n           ***1 02 2 2 2 1 1 1 1 0111111sin)(2cos)(2)(1)sin()cos(...sin cos...sin cos sin cos)(      

(2)指数形式傅立叶级数

(b)求解,及合成信号波形所用程序: function [A_sym,B_sym]=CTFShchsym % 采用符号计算求一个周期内连续时间函数 f 得三角级数展开系数,再用这些 %

展开系数合成连续时间函数f、傅立叶级数 % 量值数是就都出输入输得数函ﻩ%

数阶得波谐 6=fNﻩ% Nn

数位确准得据数出输ﻩ% 数系开展项 soc 波谐次、、、3,2,1是就次依素元后其,项流直是就素元 1 第ﻩmys_Aﻩ% B_sym 第 2,3,4,、、、元素依次就是 1,2,3、、、次谐波 sin项展开系数 %

tao=1

tao/T=0、2 syms t n k x

T=4;tao=T/4;a=-1、5;if nargin<4

Nf=10; end if nargin<5

Nn=32;end

1-3-4 5 4 1 O

x=time_fun_x(t);A0=int(x,t,a,T+a)/T;

%求出三角函数展开系数A0 As=2/T*int(x*cos(2*pi*n*t/T),t,a,T+a);

%求出三角函数展开系数 As Bs=2/T*int(x*sin(2*pi*n*t/T),t,a,T+a);

%求出三角函数展开系数 Bs A_sym(1)=double(vpa(A0,Nn));

%获取串数组 A0 所对应得 ASC2码数值数组 for k=1:Nf A_sym(k+1)=double(vpa(subs(As,n,k),Nn));

%获取串数组A所对应得 ASC2码数值数组 B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));

%获取串数组B所对应得 ASC2 码数值数组 end;

if nargout==0

c=A_sym;disp(c);

%输出 c 为三角级数展开系数:第 1 元素就是直流项,其后元素依次就是 1,2,3、、、次谐波cos 项展开系数 d=B_sym;disp(d);

%输出 d 为三角级数展开系数:

第 2,3,4,、、、元素依次就是 1,2,3、、、次谐波sin 项展开系数

t=—3*T:0、01:3*T;

f 0= c(1);

%直流

f 1 = c(2)、* co s(2* p i* 1 * t /T)+ d(2)、* s i n(2 * pi* 1 * t /T);

% 基波

f 2= c(3)、* c o s(2*pi * 2 * t/T)+d(3)、*sin(2 * pi * 2* t /T);

% 2 次谐波

f3=c(4)、*cos(2*pi*3*t/T)+d(4)、*sin(2*pi*3*t/T);

% 3次谐波

f4=c(5)、*cos(2*pi*4*t/T)+d(5)、*sin(2*pi*4*t/T);

% 4次谐波

f5=c(6)、*cos(2*pi*5*t/T)+d(6)、*sin(2*pi*5*t/T);

% 5次谐波

f6=c(7)、*cos(2*pi*6*t/T)+d(7)、*sin(2*pi*6*t/T);

% 6 次谐波

f 7=c(8)、*cos(2*p i * 7 *t/T)

+d(8)、* sin(2 * p i * 7 *t/T);

% 7 次谐波

f8=c(9)、*cos(2*pi*8*t/T)+d(9)、*sin(2*pi*8*t/T);

% 8次谐波

f9 = c(1 0)、* c o s(2 * p i*9 * t /T)+d(10)、* s in(2 * p i * 9 *t/T);

% 9 次谐波

f 1 0=c(11)、*co s(2 * pi*10*t/T)

+d(1 1)、*s i n(2*pi * 1 0 *t/T);

% 10次谐波

f11=f0+f1+f2;

% 直流+基波+2 次谐波

f12=f11+f3;

% 直流+基波+2 次谐波+3 次谐波

f13=f12+f4+f5+f6;

% 直流+基波+2 次谐波+3次谐波+4次谐波+5 次谐波+6 次

谐波

f14=f13+f7+f8+f9+f10;

%0~10 次

subplot(2,2,1)

plot(t,f0+f1),hold on

y=time_fun_e(t);

%调用连续时间函数-周期矩形脉冲

plot(t,y,”r:“)

title(”直流+基波’)

axis([-8,8,-0、5,1、5])

subplot(2,2,2)

plot(t,f12),hold on

y=time_fun_e(t);

plot(t,y,’r:’)

title(“1—3 次谐波+直流”)

axis([—8,8,-0、5,1、5])

subplot(2,2,3)

plot(t,f13),hold on

y=time_fun_e(t);

plot(t,y,’r:’)

title(“1—6 次谐波+直流')

axis([-8,8,-0、5,1、5])

subplot(2,2,4)

plot(t,f14),hold on

y=time_fun_e(t);

plot(t,y,”r:’)

title(’1—10 次谐波+直流“)

axis([-8,8,-0、5,1、5])

hold off end function y=time_fun_e(t)% 该函数就是 CTFShchsym、m 得子函它由符号函数与表达式写成 a=1、5; T=4; h=1; tao=T/4;t=—3*T:0、01:3*T;e1=1/2+1/2、*sign(t—0、5+tao/2); e2=1/2+1/2、*sign(t—0、5—tao/2); y=h、*(e1—e2);

%连续时间函数—周期矩形脉冲 function x=time_fun_x(t)

% 该函数就是 CTFShchsym、m得子函数。它由符号变量与表达式写成.h=1;

x1=sym(”Heaviside(t)“)*h;x=x1-sym(’Heaviside(t-1)’)*h;

2、已知周期为T=4 得三角波,在第一周期(-2

function [A_sym,B_sym]=CTFSshbpsym(T,Nf)% 采用符号计算求[0,T]内时间函数得三角级数展开系数。

%

ﻩ 函数得输入输出都就是数值量 % Nn

输出数据得准确位数 % mys_Aﻩ 第1元素就是直流项,其后元素依次就是1,2,3、、、次谐波 cos项展开系数 % B_sym 数系开展项 nis 波谐次、、、3,2,1 是就次依素元、、、,4,3,2 第ﻩ%

T

T=m*tao, 信号周期 % ﻩ fNﻩ 谐波得阶数 %

m(m=T/tao)周期与脉冲宽度之比,如 m=4,8,16,100等 %

tao

脉宽:tao=T/m

syms t

n

if nargin<3

Nf=input(’please Input 所需展开得最高谐波次数:Nf=’);end

T=input(’please Input 信号得周期 T=”);if nargin〈5

Nn=32;end y=time_fun_s(t); A0=2/T*int(y,t,0,T/2);As=2/T*int(y*cos(2*pi*n*t/T),t,0,T/2);

Bs=2/T*int(y*sin(2*pi*n*t/T),t,0,T/2);A_sym(1)=double(vpa(A0,Nn));for k=1:Nf

A_sym(k+1)=double(vpa(subs(As,n,k),Nn));

B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));

end if nargout==0

An=fliplr(A_sym);

%对 A_sym 阵左右对称交换

An(1,k+1)=A_sym(1);

%A_sym 得 1*k 阵扩展为 1*(k+1)阵

An=fliplr(An);

%对扩展后得 S1阵左右对称交换回原位置

Bn=fliplr(B_sym);

%对 B_sym 阵左右对称交换

Bn(1,k+1)=0;

%B_sym得 1*k 阵扩展为1*(k+1)阵

Bn=fliplr(Bn);

%对扩展后得 S3阵左右对称交换回原位置

FnR=An/2—i*Bn/2;

% 用三角函数展开系数 A、B值合成付里叶指数系数

FnL=fliplr(FnR);

N=Nf*2*pi/T;

k2=—N:2*pi/T:N;

Fn=[FnL,FnR(2:end)];

%subplot(3,3,3)

%x=time_fun_e(t);

% 调用连续时间函数-周期矩形脉冲

subplot(2,1,1)

stem(k2,abs(Fn));

%画出周期矩形脉冲得频谱(T=M*tao)

title('连续时间函数周期三角波脉冲得双边幅度谱’)

axis([-80,80,0,0、12])

line([-80,80],[0,0],'color“,’r”)

line([0,0],[0,0、12],’color’,'r“)

end function x=time_fun_e(t)% 该函数就是CTFSshbpsym、m得子函数。它由符号变量与表达式写成。

% t

组数间时是就ﻩ% T 2、0=T/oat=ytud

期周是就ﻩﻩT=5;t=—2*T:0、01:2*T; tao=T/5;x=rectpuls(t,tao);

%产生一个宽度 tao=1 得矩形脉冲 subplot(2,2,2)

plot(t,x)

hold on x=rectpuls(t—5,tao);

%产生一个宽度tao=1 得矩形脉,中心位置在t=5处 plot(t,x)

hold on x=rectpuls(t+5,tao);

%产生一个宽度tao=1得矩形脉,中心位置在 t=—5处 plot(t,x)

title(”周期为 T=5,脉宽 tao=1得矩形脉冲')axis([-10,10,0,1、2])function y=time_fun_s(t)

syms t y=1—abs(t);x1=sym('Heaviside(t+2)’);x=x1—sym("Heaviside(t-2)’);y=y*x;ezplot(t,y,[—10,10])grid

第五篇:信号与系统实验报告总结

信号与系统实验

实验一常用信号的观察

方波:

正弦波:

三角波:

在观测中,虚拟示波器完全充当实际示波器的作用,在工作台上连接AD1为示波器的输入,输入方波、正弦波、三角波信号时,可在电脑上利用软件观测到相应的波形,其纵轴为幅值可通过设置实现幅值自动调节以观测到最佳大小的波形,其横轴为时间,宜可通过设置实现时间自动调节以观测到最佳宽度的波形。实验四非正弦周期信号的分解与合成

方波DC信号:

DC信号几乎没有,与理论相符合,原信号没有添加偏移。

方波基波信号:

基波信号为与原方波50Hz信号相对应的频率为50Hz的正弦波信号,是方波分解的一次谐波信号。

方波二次谐波信号:

二次谐波信号频率为100Hz为原方波信号频率的两倍,幅值较一次谐波较为减少。

方波三次谐波信号:

三次谐波信号频率为150Hz为原方波信号的三倍。幅值较一二次谐波大为减少。

方波四次谐波信号:

四次谐波信号的频率为200Hz为原方波信号的四倍。幅值较三次谐波再次减小。

方波五次谐波信号:

五次谐波频率为250Hz为原方波信号的五倍。幅值减少到0.3以内,几乎可以忽略。

综上可知:50Hz方波可以分解为DC信号、基波信号、二次、三次、四次、五次谐波信号…,无偏移时即无DC信号,DC信号幅值为0。分解出来的基波信号即一次谐波信号频率与原方波信号频率相同,幅值接近方波信号的幅值。二次谐波、三次谐波、四次谐波、五次谐波依次频率分别为原方波信号的二、三、四、五倍,且幅值依次衰减,直至五次谐波信号时几乎可以忽略。可知,方波信号可分解为多个谐波。方波基波加三次谐波信号:

基波叠加上三次谐波信号时,幅值与方波信号接近,形状还有一定差异,但已基本可以看出叠加后逼近了方波信号。

方波基波加三次谐波信号加五次谐波信号:

基波信号、三次谐波信号、五次谐波信号叠加以后,比基波信号、三次谐波信号叠加后的波形更加接近方波信号。

综上所述:方波分解出来的各次谐波以及DC信号,叠加起来以后会逼近方波信号,且叠加的信号越多,越是接近方波信号。说明,方波信号可有多个谐波合成。

三角波DC信号:

三角波基波信号:

三角波二次谐波信号:

三角波三次谐波信号:

三角波四次谐波信号:

三角波五次谐波信号:

三角波基波加三次谐波信号:

三角波基波加三次谐波加五次谐波信号:

三角波信号的分析与方波信号的分析基本一致,可以看出三角波也可以分解为多个谐波,并且相应的多个多次谐波可以合成三角波信号,且参与合成的波形越多,合成波越是逼近三角波信号。

综合两个波形来看,可知任何周期性函数均可分解为相应的傅里叶展开式里所包含的直流分量和各次谐波项。且任何周期性函数均可由锁对应的直流分量和各次谐波项所合成,参与合成的信号越多,结果越逼近周期性函数的图形。

实验思考题

1.什么样的周期性函数没有直流分量和余弦项;

答:无偏移的周期性函数没有直流分量,当周期性函数为奇函数时没有直流分量和余弦项。

2.分析理论合成的波形与实验观测到的合成波形之间误差产生的原因。

答:理论合成的波形不能把所有无限个谐波合成起来,故必然产生误差,且实验设备、实验方法也存在一定的误差。

实验二 零输入、零状态级完全响应

零输入响应下降沿采样:

零输入响应上升沿采样:

可见,零输入响应按照指数形式下降,最终降为零。其规律符合-1tU(t)=RCc2e。

下载信号与系统 MATLAB实验报告word格式文档
下载信号与系统 MATLAB实验报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    信号与系统仿真实验报告

    信号与系统 仿真 实 验 报 告班级: 学号: 姓名: 学院: 实验一 一、实验者姓名:二、实验时间:三、实验地点:四、实验题目: 5(s25s6)求三阶系统H(s)3的单位阶跃响应,并绘制响应波形图......

    信号与系统实验报告1

    第一个研究和测定重力加速度的是17世纪意大利物理学家伽利略(G.Galileo)。以后﹐比较准确地测定重力加速度的方法是利用摆仪。 19世纪末叶﹐匈牙利物理学家厄缶﹐L.von发明了扭秤......

    电信专业级信号与系统实验报告[范文大全]

    《信号与系统》实验报告 学 学院: 信息科学与工程学院 专业 班级: 通信 1401 班 学 学号: 201404163024 学生姓名: 严若茂 指导教师: 徐望明 2016年 06 月欢迎下载 实验一连......

    信号与系统标准实验报告-参考[推荐阅读]

    电 子 科 技 大 学 实 验 报 告 学生姓名: 学 号:指导教师: 一、实验室名称:信号与系统实验室 二、实验项目名称:三、实验原理: 四、实验目的: 五、实验内容: 六、实验器材(设备......

    matlab实验报告

    求解:1.模拟比赛车道曲线和选手速度曲线; 2.估计车道长度和所围区域面积; 3.分析车道上相关路段的路面状况(用不同颜色或不同线型标记出来); 4.对参加比赛选手提出合理建议。 四.合......

    matlab实验报告

    实验二特殊函数与图形 一、 实验目的及意义 掌握用Matlab软件绘制简单曲线、曲面图形,并通过绘制一些特殊函数的图形,更加深入地理解相关函数的性质,了解函数的性态。 二、实......

    信号与系统

    问题4:单侧可导与单侧连续、单侧极限的关系?单侧极限存在 并且极限值=函数值 可以推出单侧连续可导必连续,连续未必可导那么 单侧可导是否可以推出单侧连续?请证明;反之,单侧极限......

    信号和系统实验报告三[共5篇]

    机电学院实验报告课程名称: 信号与系统 实验项目名称:连续时间信号在 MATLAB 中的运算 实验时间:2018-11-11 班级:测控 172 姓名:梁宇 学号:201711501218一、实验目的 学会运用 MA......