当前位置:文档之家› 12-13-1信号与系统matlab实验指导书

12-13-1信号与系统matlab实验指导书

12-13-1信号与系统matlab实验指导书
12-13-1信号与系统matlab实验指导书

实验一基本信号的波形

一、实验目的:

1.掌握matlab软件的基本操作。

2.熟悉matlab的基本命令的使用。

3.掌握用matlab绘出基本信号。

二、实验原理:

1. 信号的时域表示方法

1.1将信号表示成独立时间变量的函数

例如x(t)=sin(ωt) 和x[n]=n(0.5)n u[n]

分别表示一个连续时间信号和一个离散时间信号。在MA TLAB中有许多内部函数,可以直接完成信号的这种表达,例如:

sin():正弦信号

cos():余弦信号

exp():指数信号

1.2用信号的波形图来描述信号

用函数曲线表示一个信号,图1.1就是一个连续时间信号和一个离散时间信号的波形图。

图1.1 连续时间信号与离散时间信号的波形图

1.3将信号用一个数据序列来表示

对于离散时间信号,还可以表示成一个数的序列,例如:

x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}

↑n=0

在《信号与系统》和《数字信号处理》课程中,上述三种信号的描述方法是经常要使用的。

2 用MATLAB仿真连续时间信号和离散时间信号

在MATLAB中,无论是连续时间信号还是离散时间信号,MATLAB都是用一个数字序列来表示信号,这个数字序列在MATLAB中叫做向量(vector)。通常的情况下,需要与时间变量相对应。

如前所述,MA TLAB有很多内部数学函数可以用来产生这样的数字序列,例如sin()、

cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。

2.1连续时间信号的仿真

程序Program1_1是用MATLAB 对一个正弦信号进行仿真的程序,请仔细阅读该程

序,并在计算机上运行,观察所得图形。

% Program1_1

% This program is used to generate a sinusoidal signal and draw its plot clear, % Clear all variables

close all, % Close all figure windows

dt = 0.01; % Specify the step of time variable t = -2:dt:2; % Specify the interval of time x = sin(2*pi*t); % Generate the signal

plot(t,x) % Open a figure window and draw the plot of x(t) title('Sinusoidal signal x(t)') xlabel('Time t (sec)')

常用的图形控制函数

axis([xmin,xmax,ymin,ymax]):图型显示区域控制函数,其中xmin 为横轴的显示起点,xmax 为横轴的显示终点,ymin 为纵轴的显示起点,ymax 为纵轴的显示终点。

有时,为了使图形具有可读性,需要在所绘制的图形中,加上一些网格线来反映信号的幅度大小。MA TLAB 中的grid on/grid off 可以实现在你的图形中加网格线。

grid on %在图形中加网格线。 grid off %取消图形中的网格线。

hold on %图形显示窗口原来的图像保持。 hold off %关闭图形保持功能。 figure %打开新的显示窗口。

x = input(‘Type in signal x(t) in closed form:’)%接收键盘输入。 在绘制信号的波形图时,有时我们需要将若干个图形绘制在图一个图形窗口中,这就需要使用MA TLAB 的图形分割函数subplot(),其用法是在绘图函数stem 或plot 之前,使用图形分割函数subplot(n1,n2,n3),其中的参数n1,n2和n3的含义是,该函数将把一个图形窗口分割成n1×n2个子图,即将绘制的图形将绘制在第n3个子图中。

在《信号与系统》课程中,单位阶跃信号u(t) 和单位冲激信号δ(t) 是二个非常有用的信号。它们的定义如下

,0)(1

)(≠==?∞

-∞

=t t dt t t δδ 1.1(a)

??

?≤>=0

,

00

,1)(t t t u 1.1(b) 这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。产生单位冲激信号的扩展函数为:

function y = delta(t) dt = 0.01;

y = (u(t)-u(t-dt))/dt;

产生单位阶跃信号的扩展函数为:

function y = u(t)

y = (t>=0); % y = 1 for t > 0, else y = 0

请将这二个MATLAB函数分别以delta 和u为文件名保存在work文件夹中,以后,就可以像教材中的方法使用单位冲激信号δ(t) 和单位阶跃信号u(t)。

单位冲激信号:

x=-10:0.1:10;

y=(x==0); %就是个条件判断,只有x=0的时候,y才为“1”

plot(x,y);

如果是单位脉冲信号(离散的),改成stem(x,y);就行了

t = -5:0.01:5;

y = (t==0);

subplot(121);

plot(t, y, 'r');

n = -5:5;

x = (n==0);

subplot(122);

>> stem(n, x);

x=-2:0.01:2;

y=100*(x==0);

stairs(x,y)

练习产生正弦信号(sin、cos)、指数信号(exp)、符号函数(sign)、抽样函数(sinc)、矩形脉冲(rectpuls(t,width))、三角脉冲(tripuls(t,width,skew))

2.2离散时间信号的仿真

程序Program1_2用来产生离散时间信号x[n]=sin(0.2πn)。

% Program1_2

% This program is used to generate a discrete-time sinusoidal signal and draw its plot

clear, % Clear all variables

close all, % Close all figure windows

n = -10:10; % Specify the interval of time

x = sin(0.2*pi*n); % Generate the signal

stem (n,x) % Open a figure window and draw the plot of x[n]

title ('Sinusoidal signal x[n]')

xlabel ('Time index n')

请仔细阅读该程序,比较程序Program1_1和Program1_2中的不同之处,以便自己编程时能够正确使用这种方法方针连续时间信号和离散时间信号。

程序Program1_3用来仿真下面形式的离散时间信号:

x[n]={...., 0.1, 1.1, -1.2, 0, 1.3, ….}

↑n=0

% Program1_3

% This program is used to generate a discrete-time sequence

% and draw its plot

clear, % Clear all variables

close all, % Close all figure windows

n = -5:5; % Specify the interval of time, the number of points of n is

11.

x = [0, 0, 0, 0, 0.1, 1.1, -1.2, 0, 1.3, 0, 0]; % Generate the signal

stem(n,x,'.') % Open a figure window and draw the plot of x[n] grid on,

title ('A discrete-time sequence x[n]') xlabel ('Time index n')

由于在程序的stem(n,x,'.') 语句中加有'.'选项,因此绘制的图形中每根棒条线的顶端是一个实心点。

如果需要在序列的前后补较多的零的话,可以利用函数zeros(),其语法为: zeros(1, N):圆括号中的1和N 表示该函数将产生一个一行N 列的矩阵,矩阵中的所有元素均为零。利用这个矩阵与序列x[n]进行组合,从而得到一个长度与n 相等的向量。

例如,当 x[n]={ 0.1, 1.1, -1.2, 0, 1.3} 时,为了得到程序Program1_3中的序列, ↑n=0

可以用这个MA TLAB 语句x = [zeros(1,4) x zeros(1, 2)] 来实现。用这种方法编写的程序如下:

% Program1_4

% This program is used to generate a discrete-time sinusoidal signal % and draw its plot

clear, % Clear all variables

close all, % Close all figure windows n = -5:5; % Specify the interval of time

x = [zeros(1,4), 0.1, 1.1, -1.2, 0, 1.3, zeros(1,2)]; % Generate the sequence stem (n,x,'.') % Open a figure window and draw the plot of x[n] grid on,

title ('A discrete-time sequence x[n]') xlabel ('Time index n')

离散时间单位阶跃信号u[n]定义为 ??

?<≥=0

,

00

,1][n n n u 1.2 离散时间单位阶跃信号u[n]除了也可以直接用前面给出的扩展函数来产生,还可以利用MATLAB 内部函数ones(1,N) 来实现。这个函数类似于zeros(1,N),所不同的是它产生的矩阵的所有元素都为1。

单位冲激序列: n=-10:10;

y=[zeros(1,10),1,zeros(1,10)]; stem(n,y)

单位阶跃序列: n=-10:10;

y=[zeros(1,10),ones(1,11)];

stem(n,y)

值得注意的是,利用ones(1,N) 来实现的单位阶跃序列并不是真正的单位阶跃序列,而是一个长度为N单位门(Gate)序列,也就是u[n]-u[n-N]。但是在一个有限的图形窗口中,我们看到的还是一个单位阶跃序列。

三、实验内容及步骤

Q1-1:修改程序Program1_1,将dt改为0.2,再执行该程序,保存图形,看看所得图形

的效果如何?

dt = 0.01时的信号波形dt = 0.2时的信号波形此处粘贴图形此处粘贴图形

这两幅图形有什么区别,哪一幅图形看起来与实际信号波形更像?

答:

Q1-2:修改程序Program1_1,并以Q1_2为文件名存盘,产生实指数信号x(t)=e-2t。要求

在图形中加上网格线,并使用函数axis()控制图形的时间范围在0~2秒之间。然后执行该程序,保存所的图形。

修改Program1_1后得到的程序Q1_2如下:信号x(t)=e-2t的波形图

Q1-3:将实验原理中所给的单位冲激信号和单位阶跃信号的函数文件在MATLAB文件编辑器中编写好,并分别以以文件名delta和u存入work文件夹中以便于使用。

抄写函数文件delta如下:抄写函数文件u如下:

Q1-4:修改程序Program1_4,并以Q1_4为文件名存盘,利用axis()函数,将图形窗口的

横坐标范围改为-2≤n≤5,纵坐标范围改为-1.5≤ x ≤1.5。

修改Program1_4后得到的程序Q1_4如下:信号的波形图

此处粘贴图形

实验二连续系统的时域分析

一、实验目的

1.掌握信号的时域变换。

2.信号的时域运算。

3.掌握卷积的计算。

4.掌握微分方程的求解。

二、实验原理

1信号的时域变换

1.1 信号的时移

信号的时移可用下面的数学表达式来描述:

设一个连续时间信号为x(t),它的时移y(t) 表示为:

y(t) = x(t - t0) 2.1

其中,t0为位移量。若t0为正数,则y(t)等于将x(t)右移t0秒之后的结果。反之,若t0为负数,则y(t)等于将x(t)左移t0秒之后的结果。

在MA TLAB中,时移运算与数学上习惯表达方法完全相同。

程序Program2_1对给定一个连续时间信号x(t) = e-0.5t u(t),对它分别左移2秒钟和右移2秒钟得到信号x1(t) = e-0.5(t+2)u(t+2)和x2(t) = e-0.5(t-2)u(t-2)。

% Program2_1

% This program is used to implement the time-shift operation

% on a continuous-time signal and to obtain its time-shifted versions

% and to draw their plots.

clear,close all,

t = -5:0.01:5;

x = exp(-0.5*t).*u(t); % Generate the original signal x(t)

x1 = exp(-0.5*(t+2)).*u(t+2); % Shift x(t) to the left by 2 second to get x1(t)

x2 = exp(-0.5*(t-2)).*u(t-2); % Shift x(t) to the right by 2 second to get x2(t)

subplot(311)

plot(t,x) % Plot x(t)

grid on,

title ('Original signal x(t)')

subplot (312)

plot (t,x1) % Plot x1(t)

grid on,

title ('Left shifted version of x(t)')

subplot (313)

plot (t,x2) % Plot x2(t)

grid on,

title ('Right shifted version of x(t)')

xlabel ('Time t (sec)')

1.2 信号的时域反褶

对一个信号x[n]的反褶运算在数学上表示为

y[n] = x[-n] 2.2 这种反褶运算,用MATLAB实现起来也是非常简单的。有多种方法可以实现信号的反褶运算。

方法一,修改绘图函数plot(t,x)和stem(n,x)中的时间变量t和n,即用-t和-n替代原来的t和n,这样绘制出来的图形,看起来就是原信号经时域反褶后的版本。

方法二,直接利用原信号与其反褶信号的数学关系式来实现。这种方法最符合信号反褶运算的实际意义。

1.3 信号的时域尺度变换

信号x(t)的时域尺度变换在数学描述为

y(t) = x(at), 2.3

其中a为任意常数。根据a的不同取值,这种时域尺度变换对信号x(t)具有非常不同的影响。

当a = 1时,y(t) = x(t);

当a = -1时,y(t) = x(-t),即y(t)可以通过将x(t)反褶运算而得到;

当a > 1时,y(t) = x(at),y(t)是将x(t)在时间轴上的压缩而得到;

当0 < a < 1时,y(t) = x(at),y(t)是将x(t)在时间轴上的扩展而得到;

当-1 < a < 0时,y(t) = x(at),y(t)是将x(t)在时间轴上的扩展同时翻转而得到;

当a < -1时,y(t) = x(at),y(t)是将x(t)在时间轴上的压缩同时翻转而得到;

由此可见,信号的时域尺度变换,除了对信号进行时域压缩或扩展外,还可能包括对信号的时域反褶运算。实际上,MATLAB完成式2.3的运算,并不需要特殊的处理,按照数学上的常规方法即能完成。

1.4周期信号

在《信号与系统》课程中,周期信号是一类非常重要的信号。给定一个信号x(t)或x[n],如果满足

x(t) = x(t+kT) 2.4

x[n] = x[n+kN] 2.5

则该信号叫做周期信号。其中,k为任意整数,T和N为常数,通常称为信号的基本周期或最小周期。

周期信号可以看作是一个时限的非周期信号经过周期延拓之后形成的。在数字信号处理中,周期延拓这一信号处理方法非常重要。

下面的程序段,就是将一个非周期信号x1(t) = e-2t[u(t)-u(t-2)]经过周期延拓之后而得到一个周期信号:

clear, close all;

t = -4:0.001:4;

T = 2; x = 0;

for k = -2:2;

x = x+exp(-2*(t-k*T)).*(u(t-k*T)-u(t-(k+1)*T));

end

plot(t,x)

仔细阅读该程序,可以发现其算法就是:

∑∞-∞=-

=

k

kT

t

x

t

x)

(

)(

1

2.6

由于k无法计算到无穷,而是以有限值加以替代,反映到有限宽度图形窗口中得到的效果完全符合要求。

2 信号的时域运算

2.1相加

syms x

f1=sin(x)

f2=x^2

f= f1+f2

ezplot(f)

%f1、f2是符号表达式。

2.2 相乘

syms x

f1=sin(x)

f2=x^2

f= f1*f2

ezplot(f)

%f1、f2是符号表达式。

2.3微分

syms x

f=sin(x^2)

h=diff(f)

ezplot(h)

2.4积分

syms x

f=sin(x)

h=int(f,x) %h=int(f,x,a,b)为定积分

ezplot(h)

3卷积的计算

卷积的计算通常可按下面的五个步骤进行(以卷积积分为例):

1)该换两个信号波形图中的横坐标,由t改为τ,τ变成函数的自变量;

2)把其中一个信号反褶,如把h(τ)变成h(-τ);

3)把反褶后的信号做移位,移位量是t,这样t是一个参变量。

在τ坐标系中,t > 0时图形右移,t < 0时图形左移。

4)计算两个信号重叠部分的乘积x(τ)h(t-τ);

5)完成相乘后图形的积分。

对于两个时限信号(Time-limited signal),按照上述的五个步骤,作卷积积分运算时,关键是正确确定不同情况下的积分限。只要正确地确定了积分限都能得到正确定积分结果。

尽管如此,在时域中计算卷积积分,总体上来说是一项比较困难的工作。

借助MA TLAB 的内部函数conv()可以很容易地完成两个信号的卷积积分运算。其语法为:y = conv(x,h)。其中x 和h 分别是两个作卷积运算的信号,y 为卷积结果。

为了正确地运用这个函数计算卷积,这里有必要对conv(x,h)做一个详细说明。conv(x,h)函数实际上是完成两个多项式的乘法运算。例如,两个多项式p 1和p 2分别为:

432231+++=s s s p 和 1234232+++=s s s p

这两个多项式在MA TLAB 中是用它们的系数构成一个行向量来表示的,如果用x 来表示多项式p 1,h 表示多项式p 2,则x 和h 分别为 x = [1 2 3 4] h = [4 3 2 1] 在MA TLAB 命令窗口依次键入

>> x = [1 2 3 4]; >> h = [4 3 2 1]; >> y=conv(x,h)

在屏幕上得到显示结果:

y = 4 11 20 30 20 11 4 这表明,多项式p 1和p 2的乘积为:

411203020114234563++++++=s s s s s s p

正如前所述,用MATLAB 处理连续时间信号时,独立时间变量t 的变化步长应该是很小的,假定用符号dt 表示时间变化步长,那么,用函数conv()作两个信号的卷积积分时,应该在这个函数之前乘以时间步长方能得到正确的结果。也就是说,正确的语句形式应为:y = dt*conv(x,h)。

对于定义在不同时间段的两个时限信号x(t),t 0 ≤ t ≤ t 1,和h(t),t 2 ≤ t ≤ t 3。 如果用y(t)来表示它们的卷积结果,则y(t)的持续时间范围要比x(t)或h(t)要长,其时间范围为t 0+t 2 ≤ t ≤ t 1+t 3。这个特点很重要,利用这个特点,在处理信号在时间上的位置时,可以很容易地将信号的函数值与时间轴的位置和长度关系保持一致性。

根据给定的两个连续时间信号x(t) = t[u(t)-u(t-1)]和h(t) = u(t)-u(t-1),编写程序,完成这两个信号的卷积运算,并绘制它们的波形图。范例程序如下:

% Program2_2

% This program computes the convolution of two continuou-time signals clear;close all;

t0 = -2; t1 = 4; dt = 0.01; t = t0:dt:t1; x = u(t)-u(t-1); h = t.*(u(t)-u(t-1));

y = dt*conv(x,h); % Compute the convolution of x(t) and h(t) subplot(221)

plot(t,x), grid on, title('Signal x(t)'), axis([t0,t1,-0.2,1.2]) subplot(222)

plot(t,h), grid on, title('Signal h(t)'), axis([t0,t1,-0.2,1.2]) subplot(212)

t = 2*t0:dt:2*t1; % Again specify the time range to be suitable to the

% convolution of x and h.

plot(t,y), grid on, title('The convolution of x(t) and h(t)'), axis([2*t0,2*t1,-0.1,0.6]), xlabel('Time t sec')

在有些时候,做卷积和运算的两个序列中,可能有一个序列或者两个序列都非常长,甚至是无限长,MATLAB 处理这样的序列时,总是把它看作是一个有限长序列,具体长度由编程者确定。实际上,在信号与系统分析中所遇到的无限长序列,通常都是满足绝对可和或绝对可积条件的信号。因此,对信号采取这种截短处理尽管存在误差,但是通过选择合理的信号长度,这种误差是能够减小到可以接受的程度的。若这样的一个无限长序列可以用一个数学表达式表示的话,那么,它的长度可以由编程者通过指定时间变量n 的范围来确定。

例如,对于一个单边实指数序列x[n] = 0.5n u[n],通过指定n 的范围为0 ≤n ≤ 100,则对应的x[n]的长度为101点,虽然指定更宽的n 的范围,x[n]将与实际情况更相符合,但是,注意到,当n 大于某一数时,x[n]之值已经非常接近于0了。对于序列x[n] = 0.5n u[n],当n = 7时,x[7] = 0.0078,这已经是非常小了。所以,对于这个单边实指数序列,指定更长的n 的范围是没有必要的。当然,不同的无限长序列具有不同的特殊性,在指定n 的范围时,只要能够反映序列的主要特征就可以了。

4 用线性常系数微分方程描述LTI 系统

线性常系数微分方程或差分方程是描述LTI 系统的另一个时域模型。一个连续时间LTI 系统,它的输入信号x(t)输出信号y(t)关系可以用下面的微分方程来表达

∑∑===M k k k k

N

k k k k dt t x d b dt t y d a 0

0)

()( 2.7 式2.7中,max (N, M)定义为系统的阶。式2.7描述了LTI 系统输入信号和输出信号的一种

隐性关系(Implicit relationship )。为了求得系统响应信号的显式表达式(Explicit expression ),必须对微分方程和差分方程求解。

在MATLAB 中,一个LTI 系统也可以用系统微分方程的系数来描述,例如,一个LTI 连续时间系统的微分方程为

)()(2)

(3)(2

2t x t y dt t dy dt t y d =++ MATLAB 则用两个系数向量num = [1]和den = [1 3 2]来描述该系统,其中num 和den

分别表示系统微分方程右边和左边的系数,按照微分运算的降阶排列。

MATLAB 的内部函数impulse(),step(),initial(),lsim() 可以用来计算并绘制连续时间LTI 系统的单位冲激响应,单位阶跃响应,零输入响应和任意信号作用于系统的零状态响应。这些函数的用法描述如下:

h= impulse(num, den, T) 和 impulse(num, den, T) s = step(num, den, T) 和 step(num, den, T)

y = lsim(num, den, x, t) 和 lsim(num, den, x, t)

函数impulse(),step()用来计算由num 和den 表示的LTI 系统的单位冲激响应和单位阶跃响应,响应的时间范围为0~T ,其中den 和num 分别为系统微分方程左右两边的系数向量,T 为指定的响应的终点时间。h 和s 的点数默认值为101点。由此可以计算时间步长为

dt = T/(101-1)。不带返回值的函数如impulse(num, den, T)和step(num, den, T)将直接在屏幕上绘制系统的单位冲激响和单位阶跃响应曲线。带返回值的函数如y = lmis(num, den, x, t)和y = lmis(num, den, x, t),用来计算由num 和den 表示的LTI 系统在输入信号x 作用下的零状态响应。其中t 为指定的时间变化范围,x 为输入信号,它们的长度应该是相同的。如带返回参数y ,则将计算的响应信号保存在y 中,若不带返回参数y ,则直接在屏幕上绘制输入信号x 和响应信号y 的波形图。

微分方程(课本42页,例题2.1-2)的全解计算: y=dsolve('D2y+5*Dy+6*y=10*cos(t)','y(0)=2,Dy(0)=0') 所得结果为:

y =2/exp(2*t) - 1/exp(3*t) + cos(t) + sin(t)

yht=dsolve('D2y+5*Dy+6*y=0') % 求齐次通解

yt=dsolve('D2y+5*Dy+6*y=10*cos(t)') % 求非齐次通解

yp=yt-yht % 求特解,即强迫响应 yh=y-yp % 求齐次解,即自由响应 求零输入响应和零状态响应

>> yzi=dsolve(' D2y+5*Dy+6*y =0',' y(0)=2,Dy(0)=0')

>> yzs=dsolve(' D2y+5*Dy+6*y=10*cos(t)','y(0)=0,Dy(0)=0')

例如,编写程序,计算并绘制由下面的微分方程表示的系统的单位冲激响应h(t),单位阶跃响应s(t)。

)(8)(2)

(3)(2

2t x t y dt t dy dt

t y d =++ MATLAB 范例程序如下:

% Program2_3

% This program is used to compute the impulse response h(t) and the step response s(t) of a

% continuous-time LTI system clear, close all;

num = input('Type in the right coefficient vector of differential equation :'); den = input('Type in the left coefficient vector of differential equation :'); t = 0:0.01:8;

subplot(211), impulse(num,den,8); subplot(212), step(num,den,8) 命令窗口为:

Type in the right coefficient vector of differential equation :[8] Type in the left coefficient vector of differential equation :[1,3,2] 三、实验内容及步骤

Q2-1:编写一个MATLAB 程序,以Q2_1为文件名存盘,使之能够在同一个图形窗口中

的两个子图中分别绘制信号x(t)=0.5|t| 和x(t)=cos(2πt)[u(t)-u(t-3)]。要求选择的时间窗能够表

现出信号的主要部分(或特征)。

编写的程序Q2_1如下:

信号x(t)=0.5|t|的波形图和信号x(t)=cos(2πt)[u(t)-u(t-3)]的波形图

Q2-2:根据示例程序的编程方法,编写一个MATLAB程序,以Q2_2为文件名存盘,由

给定信号

x(t) = e-0.5t u(t)

求信号y(t) = x(1.5t+3),并绘制出x(t) 和y(t)的图形。

编写的程序Q2_2如下:

信号x(t)的波形图和信号y(t) = x(1.5t+3) 的波形图

此处粘贴图形此处粘贴图形

Q2-3:给定一个离散时间信号x[n] = u[n] – u[n-8],仿照示例程序Program2_1,编写程序

Q2_3,产生x[n]的左移序列x1[n] = x[n+6]和右移序列x2[n] = x[n-6],并在同一个图形窗口的三个子图中分别绘制这三个序列的图形。

编写的程序Q2_3如下:

n=-10:15;

x=u(n)-u(n-8);

x1=u(n+6)-u(n-2);

x2=u(n-6)-u(n-14);

subplot(311)

stem(n,x)

subplot(312)

stem(n,x1)

subplot(313)

stem(n,x2)

信号波形图

此处粘贴图形

Q2-4:编写程序Q2_4,使之能够接受以键盘方式输入的定义在不同时间段的两个不同连续时间信号并完成卷积运算,分别绘制这两个信号及其卷积的结果的图形,图形按照2 2分割成四个子图。

编写的程序Q2_4如下:

t0=input('信号x1的开始时间:');

t1=input('信号x1的结束时间:');

t2=input('信号x2的结束时间:');

t3=input('信号x2的结束时间:');

dt=0.01;

tx1=t0:dt:t1;

x1=exp(-0.5*tx1);

tx2=t2:dt:t3;

x2=sin(2*pi*tx2);

x=dt*conv(x1,x2);

subplot(221)

plot(tx1,x1)

subplot(222)

plot(tx2,x2)

tx=(t0+t2):dt:(t1+t3);

subplot(212)

plot(tx,x)

信号x (t)、h(t)和x (t)*h(t)的波形图

此处粘贴图形

Q2-5 仿照范例程序Program2_3,编写程序Q2_5,计算并绘制由如下微分方程表示的系统

在输入信号为x(t) = (e -2t - e -3t )u(t)时的零状态响应和你手工计算得到的系统零状态响应曲线。

)(8)(2)

(3)(2

2t x t y dt t dy dt

t y d =++ 编写的程序Q2_5如下: 执行程序Q2_5得到的系统响应

此处粘帖执行程序Q2_5得到的系统响应

clear, close all ; num = [8] den = [1 3 2]; t = 0:0.01:10;

x=(exp(-2*t)-exp(-3*t)).*u(t); y=lsim(num,den,x,t) plot(t,y)

实验三、连续系统的频域分析

一、实验目的

1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法;

2、观察截短傅里叶级数而产生的“Gibbs 现象”,了解其特点以及产生的原因;

3、掌握连续时间傅里叶变换的分析方法及其物理意义;

4、掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质;

5、学习掌握利用MATLAB 语言编写计算CTFS 和CTFT 的仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证CTFT 的若干重要性质。

基本要求:掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用MATLAB 编程完成相关的傅里叶变换的计算。

二、实验原理及方法

1、连续时间周期信号的傅里叶级数CTFS 分析

任何一个周期为T 1的正弦周期信号,只要满足狄利克利条件,就可以展开成傅里叶级数。

其中三角傅里叶级数为:

∑∞

=++=1000)]sin()cos([)(k k k t k b t k a a t x ωω 3.1

或: ∑∞

=++

=1

00)cos()(k k k

t k c

a t x ?ω 3.2

其中1

02T π

ω=

,称为信号的基本频率(Fundamental frequency ),k k b a a ,和,0分别是信号)(t x 的直流分量、余弦分量幅度和正弦分量幅度,k k c ?、为合并同频率项之后各正弦谐波分量的幅度和初相位,它们都是频率0ωk 的函数,绘制出它们与0ωk 之间的图像,称为信号的频谱图(简称“频谱”),k c -0ωk 图像为幅度谱,k ?-0ωk 图像为相位谱。 三角形式傅里叶级数表明,如果一个周期信号x(t),满足狄里克利条件,那么,它就可以被看作是由很多不同频率的互为谐波关系(harmonically related )的正弦信号所组成,其中每一个不同频率的正弦信号称为正弦谐波分量 (Sinusoid component),其幅度(amplitude )为k c 。也可以反过来理解三角傅里叶级数:用无限多个正弦谐波分量可以合成一个任意的非正弦周期信号。

指数形式的傅里叶级数为:

∑∞

-∞

==

k t

jk k

e

a t x 0)(ω 3.3

其中,k a 为指数形式的傅里叶级数的系数,按如下公式计算:

?--=

2

/2

/1

110)(1

T T t

jk k dt e

t x T a ω 3.4

指数形式的傅里叶级数告诉我们,如果一个周期信号x(t),满足狄里克利条件,那么,它就可以被看作是由很多不同频率的互为谐波关系(harmonically related )的周期复指数信号所组成,其中每一个不同频率的周期复指数信号称为基本频率分量,其复幅度(complex amplitude )为k a 。这里“复幅度(complex amplitude )”指的是k a 通常是复数。

上面的傅里叶级数的合成式说明,我们可以用无穷多个不同频率的周期复指数信号来合成任意一个周期信号。然而,用计算机(或任何其它设备)合成一个周期信号,显然不可能做到用无限多个谐波来合成,只能取这些有限个谐波分量来近似合成。

假设谐波项数为N ,则上面的和成式为:

∑-==

N

N

k t

jk k

e

a t x 0)(ω 3.5

显然,N 越大,所选项数越多,有限项级数合成的结果越逼近原信号x(t)。本实验可以比较直观地了解傅里叶级数的物理意义,并观察到级数中各频率分量对波形的影响包括“Gibbs ”现象:即信号在不连续点附近存在一个幅度大约为9%的过冲,且所选谐波次数越多,过冲点越向不连续点靠近。这一现象在观察周期矩形波信号和周期锯齿波信号时可以看得很清楚。

2、连续时间信号傅里叶变换----CTFT

傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。

傅里叶变换和其逆变换定义如下:

?∞

--=

dt e

t x j X t

j ωω)()( 3.6

?

-=

ωωπ

ωd e j X t x t

j )(21)( 3.7 连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。按照教材中的说法,任

意非周期信号,如果满足狄里克利条件,那么,它可以被看作是由无穷多个不同频率(这些频率都是非常的接近)的周期复指数信号e j ωt 的线性组合构成的,每个频率所对应的周期复指数信号e j ωt 称为频率分量(frequency component ),其相对幅度为对应频率的|X(j ω)|之值,其相位为对应频率的X(j ω)的相位。

X(j ω)通常为关于ω的复函数,可以按照复数的极坐标表示方法表示为:

X(j ω)=| X(j ω)|e j ∠ X(j ω)

其中,| X(j ω)|称为x(t)的幅度谱,而∠X(j ω)则称为x(t)的相位谱。

给定一个连续时间非周期信号x(t),它的频谱也是连续且非周期的。对于连续时间周期信号,也可以用傅里变换来表示其频谱,其特点是,连续时间周期信号的傅里叶变换时有冲激序列构成的,是离散的——这是连续时间周期信号的傅里叶变换的基本特征。

3、连续周期信号的傅里叶级数CTFS 的MATLAB 实现

3.1 傅里叶级数的MATLAB 计算

设周期信号x(t)的基本周期为T 1,且满足狄里克利条件,则其傅里叶级数的系数可由式3.4计算得到。式3.4重写如下:

?

--=

2

/2

/1

110)(1T T t

jk k dt e t x T a ω 基本频率为: 1

02T πω=

对周期信号进行分析时,我们往往只需对其在一个周期内进行分析即可,通常选择主周期(Principle period )。假定x 1(t)是x(t)中的主周期,则

?

--=

2

/2

/11

110)(1

T T t

jk k dt e t x T a ω 计算机不能计算无穷多个系数,所以我们假设需要计算的谐波次数为N ,则总的系数个

数为2N+1个。在确定了时间范围和时间变化的步长即T 1和dt 之后,对某一个系数,上述系数的积分公式可以近似为:

∑?---==n

t jk n T T t jk k T dt e t x dt e t x T a 12

/2/11/)()(101

10ωω 121/],,[)](),(),([0201

0T dt e e e

t x t x t x M t jk t jk t jk M ??=---ωωω

对于全部需要的2N+1个系数,上面的计算可以按照矩阵运算实现。MATLAB 实现系

数计算的程序如下:

dt = 0.01;

T = 2; t = -T/2:dt:T/2; w0 = 2*pi/T;

x1 = input('Type in the periodic signal x(t) over one period x1(t)='); %u(t)-u(t-0.3) N = input('Type in the number N='); %30 for k = -N:N;

ak(N+1+k) = x1*exp(-j*k*w0*t')*dt/T;%1×n 矩阵与n ×1矩阵相乘=一个数。 end k=-N:N; stem(k,ak)

需要强调的是,时间变量的变化步长dt 的大小对傅里叶级数系数的计算精度的影响

非常大,dt 越小,精度越高,但是,计算机计算所花的时间越长。

例题3-1:给定一个周期为T 1 = 2s 的连续时间周期方波信号,如图所示,其一个周期内

的数学表达式为:

??

?<<≤≤=2

1,

01

0,1)(1t t t x

解:首先,

我们根据前面所给出的公式,计算该信

图3.1 周期方波信号

号的傅里叶级数的系数。

?--=2

/2/1

111

)(1T T t

jk k dt e t x T a ω?-=1

21dt e t jk ω?--=-1

000)(210t jk d e k j t jk ωωω01020

ωωk j e t jk -=-0

21

ωωk j e jk --=

-0

2

2

2

200

ωωωωk j e e

e

k j k j k j --=--0

20

0)2sin(ωωωk j e k k

-= 因为:ω0 = 2π/T 1 = π,代入上式得到:π

πk k j a k

k )2sin(

)(-=

在MA TLAB 命令窗口,依次键入:

>> k = -10:10;

>> ak = ((-j).^k).* (sin((k+eps)*pi/2)./((k+eps)*pi)) % The expression of ak ak =

Columns 1 through 4

-0.0000 0 + 0.0354i -0.0000 0 + 0.0455i Columns 5 through 8

-0.0000 0 + 0.0637i -0.0000 0 + 0.1061i Columns 9 through 12

-0.0000 0 + 0.3183i 0.5000 0 - 0.3183i Columns 13 through 16

-0.0000 0 - 0.1061i -0.0000 0 - 0.0637i Columns 17 through 20

-0.0000 0 - 0.0455i -0.0000 0 - 0.0354i Column 21

-0.0000 从MA TLAB 命令窗口,我们得到了该周期信号从10-a 到10a 共21个系数。 紧接着再键入以下命令:

>> stem(k,abs(ak),'k.')

>> title('The Fourier series coefficients') >> xlabel('Frequency index k')

就得到一幅如右图所示的描述k a 与k 之间的关系的

图形。

以上是我们通过手工计算得到的这个周期信号的傅里叶级数表达式及其频谱图,下面给出完成傅里叶级数系数计算的相应MA TLAB 范例程序。

% Program3_1

% This program is used to evaluate the Fourier series coefficients ak of a periodic square

wave

clear, close all

T = 2; dt = 0.001; t = -2:dt:2; x1 = u(t) - u(t-1-dt); x = 0;

for m = -1:1 % Periodically extend x1(t) to form a periodic signal x = x + u(t-m*T) - u(t-1-m*T-dt); end

w0 = 2*pi/T;

N = 10; % The number of the harmonic components L = 2*N+1;

for k = -N: N; % Evaluate the Fourier series coefficients ak ak(N+1+k) = (1/T)*x1*exp(-j*k*w0*t')*dt; end

phi = angle(ak); % Evaluate the phase of ak

执行程序Program2_1后,就完成了信号的傅里叶级数的系数的计算,在命令窗口键入

>> ak

命令窗口就可以显示傅里叶级数的21个系数:

ak =

Columns 1 through 4

0.0000 + 0.0000i 0.0000 + 0.0354i 0.0000 - 0.0000i 0.0000 + 0.0455i Columns 5 through 8

0.0000 - 0.0000i 0.0000 + 0.0637i 0.0000 - 0.0000i 0.0000 + 0.1061i Columns 9 through 12

0.0000 - 0.0000i 0.0000 + 0.3183i 0.5000 0.0000 - 0.3183i Columns 13 through 16

0.0000 + 0.0000i 0.0000 - 0.1061i 0.0000 + 0.0000i 0.0000 - 0.0637i Columns 17 through 20

0.0000 + 0.0000i 0.0000 - 0.0455i 0.0000 + 0.0000i 0.0000 - 0.0354i Column 21

0.0000 - 0.0000i

将这里的ak 之值同前面手工计算得到的ak 比较,可见两者是完全相同的。

再次特别提示:程序中,时间变量的变化步长dt 的大小对傅里叶级数系数的计算精度

的影响非常大,dt 越小,精度越高,本程序中的dt 之所以选择0.001就是为了提高计算精度。但是,计算机所花的计算时间越长。

在程序Program3_1中添加相应的计算| ak |和绘图语句,就可以绘制出信号的幅度谱和相位谱的谱线图。在程序最后加上:

m=-N:N;

stem(m,abs(ak)) figure

stem(m,phi)

3.2 周期信号的合成以及Gibbs 现象

从傅里叶级数的合成式(Synthesis equation )

∑∞

-∞

==

k t

jk k

e

a t x 0)(ω

信号与线性系统实验二

实验二、信号与系统时域分析的MATLAB 实现 一、实验目的 掌握利用Matlab 求解LTI 系统的冲激响应、阶跃响应和零状态响应,理解卷积概念。 二、实验内容 1、 卷积运算的MA TLAB 实现: (1) 计算连续信号卷积用MATLAB 中的函数conv ,可编写连续时间信号卷积通用函 数sconv , function [f,n]=sconv(f1,f2,n1,n2,p) f=conv(f1,f2);f=f*p; n3=n1(1)+n2(1); n4=n1(end)+n2(end); n=n3:p:n4; 例2.1 )()()(21t f t f t f *= p=0.01; n1=-1:p:1; f1=ones(1,length(n1)); n2=0:p:1; f2=2*n2; [f,n]=sconv(f1,f2,n1,n2,p); subplot(3,1,1),plot(n1,f1), axis([-1.5,1.5,0,2]),grid on subplot(3,1,2),plot(n2,f2), axis([-0.1,1.2,0,3]),grid on subplot(3,1,3),plot(n,f),axis([-1.5,5,0,2]),grid on 利用此例验证两个相同的门函数相卷积其结果为一个等腰三角形,两个不同的门函数相卷积

其结果为一个等腰梯形: <1>相同: p=0.01; n1=-1:p:1; f1=ones(1,length(n1)); n2=-1:p:1; f2=ones(1,length(n2)); [f,n]=sconv(f1,f2,n1,n2,p); subplot(3,1,1),plot(n1,f1), axis([-1.5,1.5,0,2]),grid on subplot(3,1,2),plot(n2,f2), axis([-0.1,1.2,0,3]),grid on subplot(3,1,3),plot(n,f),axis([-5,5,0,2]),grid on <2>、不同: p=0.01; n1=-1:p:1; f1=ones(1,length(n1)); n2=-3:p:1; f2=ones(1,length(n2)); [f,n]=sconv(f1,f2,n1,n2,p); subplot(3,1,1),plot(n1,f1), axis([-1.5,1.5,0,2]),grid on subplot(3,1,2),plot(n2,f2), axis([-4,1.2,0,3]),grid on subplot(3,1,3),plot(n,f),axis([-5,5,0,5]),grid on

Matlab实验指导书

实验一 Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句; 3、熟悉Matlab绘图命令及基本绘图控制; 4、熟悉Matlab程序设计的基本方法。 二、实验内容 1、帮助命令 2、矩阵运算 (1)矩阵的乘法和乘方 已知A=[1 2;3 4]:B=[5 5;7 8]:求A^2*B ( 2 )矩阵除法 已知A=[1 2 3:4 5 6:7 8 9]:B=[1 0 0:0 2 0:0 0 3],求矩阵左除A\B,右除A/B。 ( 3 )矩阵的转置及共轭转置 已知A=[5+i,2-i,1;6*i,4,9-i],求该复数矩阵的转置A',共轭转置A.' ( 4 )使用冒号选出指定元素 已知:A=[1 2 3:4 5 6:7 8 9];求A中第3列前2个元素;A中第2、3行元素。 ( 5 )方括号[] 用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列 3、多项式 (1)求多项式P(x)=x3-2x-4的根 ( 2 )已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4].,构造多项式,并计算多项式值为20的解。 4、基本绘图命令 ( 1 ) 绘制余弦曲线 ] 2,0[ ), cos(π ∈ =t t y 。 ( 2 ) 在同一坐标系中绘制曲线 ] 2,0[ ), 5.0 sin( ), 25 .0 cos( yπ ∈ - = - =t t y t 5、基本绘图控制 绘制 ] 4,0[π 区间上的y=10sint曲线,并要求: (1)线形为点划线,颜色为红色,数据点标记为加号; (2)坐标轴控制:显示范围,刻度线,比例,网络线; (3)标注控制:坐标轴名称,标题,相应文本。 6、基本程序设计 (1)编写命令文件:计算1+2+....+n<2000时的最大n值; (2)编写函数文件:分别用n和which循环结构编写程序,求2的0到n次幂的和. n=input('输入正数n:') ji=1: for i=1:n; ji=ji+2^i: end ji input('输入正数n:') ji-1:i-1: While i<=n ji=ji+2^i; i=i+1; end ji (3)如果想对一个变量x赋值,当从键盘输入y或Y时,x自动赋为1;当从键盘输入n或N时,x自 动赋为0;输入其他字符时终止程序。 k=input('shuruX:'.'s'): if k=='y' k=='Y' x=1 ; else k=='n' k=='N' x=0; else ruturn end >> n=input('输入正数n:') 输入正数n:20 n =20

信号与系统matlab实验及答案

产生离散衰减正弦序列()π0.8sin 4n x n n ?? = ??? , 010n ≤≤,并画出其波形图。 n=0:10; x=sin(pi/4*n).*0.8.^n; stem(n,x);xlabel( 'n' );ylabel( 'x(n)' ); 用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。观察并分析a 和0t 的变化对波形的影响。 t=linspace(-4,7); a=1;

t0=2; y=sinc(a*t-t0); plot(t,y); t=linspace(-4,7); a=2; t0=2; y=sinc(a*t-t0); plot(t,y);

t=linspace(-4,7); a=1; t0=2; y=sinc(a*t-t0); plot(t,y);

三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移 某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1 s f T = 表示抽样频率,即单位时间内抽取样值的个数。抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。可能用到的函数为plot, stem, hold on 。 fs = 40; t = 0 : 1/fs : 1 ; % ?μ?ê·?±e?a5Hz,10Hz,20Hz,30Hz f1=5; xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)'); (2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t); >> plot(t,x);

>> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)'); 因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]); (3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔: t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕') >> t=-0.1:0.0001:0.1; x=cos(100*t)+cos(3000*t); >> plot(t,x);title('杨婕婕朱艺星'); >> xlabel('x=cos(100*t)+cos(3000*t)');

信号与线性系统分析实验报告~~

信号与线性系统分析 实验报告 学院:xxxxxxxxxxxxxxx 班级: xxxxxxxxxxxxxx 学号: xxxxxxxxxxxx 姓名: xxxxxxxx 2011-12-13

实验一1. 产生-100); 调用阶跃函数代码:

f=heaviside(t); plot(t,f) axis([-1,3,-0.2,1.2]) 阶跃波形图: 3.画出f=exp(-2*t) .*heaviside(t). 代码: f=exp(-2*t) .*heaviside(t); plot(t,f) axis([-1,5,-0.1,0.4]) 波形图:

3. 正弦函数程序函数单数代码:t=-pi:pi/40:pi; f=sin(2*pi*50*t); plot(t,f) axis([-3,3,-1.5,1.5]) 波形图:

实验二 连续信号的时域描述与运算 一.信号的平移和反转 1.将函数u(t)=heaviside(t); 代码: function f=u(t); f=heaviside(t); 2.画出f(t)=t*[u(t)-u(t-1)] 代码: f=t.*[u(t)-u(t-1)]; plot(t,f) axis([-3,3,-0.1,1.2])

波形图: 定义initialsignal(t)= t*[u(t)-u(t-1)]; 代码: function f=initialsignal(t); f=t.*[u(t)-u(t-1)]; 波形的平移和反转过程: 代码: t=-2:0.01:2; f=initialsignal(t); subplot(231) plot(t,f) f1=initialsignal(t+1);

MATLAB实验指导书

实验一MATLAB 工作环境熟悉及简单命令的执行 一、 实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。 二、 实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单 (Menu )、工具条(T oolbar )、命令窗口(Command Window)、历史命令窗口、工作 空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。 三、实验步骤: 1、启动MATLAB ,熟悉MATLAB 的桌面。 2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。 (1)(365-52?2-70)÷3; (2)area=pi*2.5^2; (3)已知x=3,y=4,在MATLAB 中求z : ()23 2y x y x z -= ; (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。 m1=???? ? ???? ???11514412679810115133216 执行以下命令 >>m1( 2 , 3 ) >>m1( 11 ) >>m1( : , 3 ) >>m1( 2 : 3 , 1 : 3 ) >>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) (5)执行命令>>help abs 查看函数abs 的用法及用途,计算abs( 3 + 4i ); (6)执行命令 >>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y) (7)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。 四、思考题 1、以下变量名是否合法?为什么? (1)x2; (2)3col ; (3)_row ; (4)for ;

信号(MATLAB)实验指导书

《信号与系统》实验指导书 张建奇骆崇编写 浙江工业大学之江学院信息工程分院 2012年2月

目录 实验一MATLAB的基本使用 (1) 一、实验目的 (1) 二、实验原理 (1) 三、实验内容与要求 (8) 四、实验报告 (9) 实验二时域波形的MATLAB实现 (10) 一、实验目的 (10) 二、预习要求 (10) 三、实验原理 (10) 四、实验内容与要求 (18) 五、实验报告 (19) 实验三用MATLAB对系统时域分析 (20) 一、实验目的 (20) 二、预习要求 (20) 三、实验原理 (20) 四、实验内容与要求 (29)

实验一MATLAB的基本使用 一、实验目的 1、了解和掌握MATLAB的基本操作 2、了解MATLAB的库函数 3、会用MATLAB进行简单的操作。 二、实验原理 1、界面操作 MATLAB是“MATrix LABoratory”的缩写(矩阵实验室),它是由美国Mathworks公司于1984年正式推出的一种科学计算软件,由于其强大的功能,在欧美的一些大学里MATLAB已经成为许多诸如数字信号处理、自动控制理论等高级教程的主要工具软件,同时也成为理工科学生,必须掌握的一项基本技能。 当需要运行程序时,只需选择桌面上(或开始)中的MATLAB6.5应用程序图标即可 通常情况下,MATLAB的工作环境主要由一下几个窗口组成: 命令窗口(Command Window)

工作区间浏览器(Workspace) 历史命令窗口(Command History) 图形窗口(Figure) 文本编辑窗口(Editor) 当前路径窗口(Current Directory) MATLAB的命令窗与命令操作 当用户使用命令窗口进行工作时,在命令窗口中可以直接输入相应的命令,系统将自动显示信息。 例如在命令输入提示符“>>”后输入指令: >>t=[1,2,3;4,5,6;7,8,9]; 按回车键(Enter)后,系统即可完成对变量t的赋值。 MATALB提供了非常方便的在线帮助命令(help),它可提供各个函数的用法指南,包括格式、参数说明、注意事项及相关函数等内容。 2、图形窗 MATLAB图形窗(Figure)主要用于显示用户所绘制的图形。 通常,只要执行了任意一种绘图命令,图形窗就会自动产生。

信号与系统实验报告1

学生实验报告 (理工类) 课程名称:信号与线性系统专业班级:M11通信工程 学生学号:1121413017 学生姓名:王金龙 所属院部:龙蟠学院指导教师:杨娟

20 11 ——20 12 学年第 1 学期 金陵科技学院教务处制 实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:常用连续信号的表示 实验学时: 2学时 同组学生姓名: 无 实验地点: A207 实验日期: 11.12.6 实验成绩: 批改教师: 杨娟 批改时间: 一、实验目的和要求 熟悉MATLAB 软件;利用MATLAB 软件,绘制出常用的连续时间信号。 二、实验仪器和设备 586以上计算机,装有MATLAB7.0软件 三、实验过程 1. 绘制正弦信号)t Asin t (f 0?ω+=(),其中A=1,πω2=,6/π?=; 2. 绘制指数信号at Ae t (f =),其中A=1,0.4a -=; 3. 绘制矩形脉冲信号,脉冲宽度为2; 4. 绘制三角波脉冲信号,脉冲宽度为4;斜度为0.5; 5. 对上题三角波脉冲信号进行尺度变换,分别得出)2t (f ,)2t 2(f -; 6. 绘制抽样函数Sa (t ),t 取值在-3π到+3π之间; 7. 绘制周期矩形脉冲信号,参数自定; 8. 绘制周期三角脉冲信号,参数自定。 四、实验结果与分析 1.制正弦信号)t Asin t (f 0?ω+=(),其中A=1,πω2=,6/π?= 实验代码: A=1;

信号与系统MATLAB实验报告

《信号与系统》MATLAB实验报告 院系:专业: 年级:班号: 姓名:学号: 实验时间: 实验地点:

实验一 连续时间信号的表示及可视化 实验题目: )()(t t f δ=;)()(t t f ε=;at e t f =)((分别取00<>a a 及); )()(t R t f =;)()(t Sa t f ω=;)2()(ft Sin t f π=(分别画出不同周期个数 的波形)。 解题分析: 以上各类连续函数,先运用t = t1: p:t2的命令定义时间范围向量,然后调用对应的函数,建立f 与t 的关系,最后调用plot ()函数绘制图像,并用axis ()函数限制其坐标范围。 实验程序: (1) )()(t t f δ= t=-1:0.01:3 %设定时间变量t 的范围及步长 f=dirac(t) %调用冲激函数dirac () plot(t,f) %用plot 函数绘制连续函数 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的范围 (2) )()(t t f ε= 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) at e t f =)( a=1时: t=-5:0.01:5 %设定时间变量t 的范围及步长 f=exp(t) %调用指数函数exp ()

实验1 用MATLAB进行信号频谱分析(推荐文档)

实验1 用MATLAB 进行信号频谱分析 一、实验目的 ㈠ 初步掌握MATLAB 产生常用离散时间信号的编程方法。 ㈡ 学习编写简单的FFT 算法程序,对离散信号进行幅频谱分析。 ㈢ 观察离散时间信号频谱的特点。 二、实验原理 ㈠ 常用的离散时间信号 在 MATLAB 语言主要是研究离散信号的。常用的离散信号有: 1.单位取样序列 ???≠==000 1)(n n n δ 2.单位阶跃序列 ?? ?<≥=0 01 )(n n n u 3.实指数序列 R a n a n x n ∈?=;)( 4.复指数序列 n e n x n j ?=+)(0)(ωσ 5.正(余)弦序列 )c o s ()(0θω+=n n x n ? 6.周期序列 n N n x n x ?+=)()( ㈡ 离散信号的产生 离散信号的图形显示使用stem 指令。 在 MATLAB 中的信号处理工具箱中,主要提供的信号是离散信号。

由于MATLAB 对下标的约定为从1开始递增,例如x=[5,4,3,2,1,0],表示x(1)=5,x(2)=4,X(3)=3… 因此要表示一个下标不由1开始的数组x(n),一般应采用两个矢量,如 n=[-3,-2,-1,0,l ,2,3,4,5]; x=[1,-l ,3,2,0,4,5,2,1]; 这表示了一个含9个采样点的矢量:X(n)={x(-3),x(-2),x(-1),x(0),x(1),x(2),x(3),x(4),x(5)}。 1.单位取样序列 ?? ?≠==δ0 001)(n n n 这一函数实现的方法有二: 方法一:可利用MATLAB 的zeros 函数。 x=zeros(1,N); %建立一个一行N 列的全零数组 x(1)=1; %对X (1)赋1 方法二:可借助于关系操作符实现 n=1:N; x=[n==1]; %n 等于1时逻辑关系式结果为真,x=1;n 不等于1时为假,x=0 如要产生 ?????≤<<=≤≤=-δ2 0210 100)(10)(n n n n n n n n n n n n 则可采用MATLAB 实现: n=n1:n2; x=[(n-n0)==0];%n=n0时逻辑关系式结果为真,x=1;n ≠n0时为

信号与线性系统课程设计报告分析

信号与线性系统课程设计 报告 课题五基于FIR滤波的语音信号处理系统设计 班级: 姓名: 学号: 组号及同组人: 成绩: 指导教师: 日期:

课题五基于FIR滤波的语音信号处理系统设计 摘要:MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB特点:1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4)功能丰富的应用工具箱,为用户提供了大量方便实用的处理工具。 关键词:GUI界面,信号采集,内插恢复,重采样,滤波器 一、课程设计目的及意义 本设计课题主要研究数字语音信号的初步分析方法、FIR数字滤波器的设计及应用。通过完成本课题的设计,拟主要达到以下几个目的: (1)熟悉Matlab软件的特点和使用方法。 (2)熟悉LabVIEW虚拟仪器的特点以及采用LabVIEW进行仿真的方法。 (3)掌握信号和系统时域、频域特性分析方法。 (4)掌握FIR数字滤波器的设计方法(窗函数设计法、频率采样设计法)及应用。 (5)了解语音信号的特性及分析方法。 (6)通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。 二、课题任务 (一)简单数字语音信号处理系统的Matlab设计。 使用GUI进行系统的图形用户界面设计,在该界面中包括对语音信号的读取,对信号的时域,频域分析,添加噪声,设计FIR数字滤波器(利用窗函数设计法、频率采样设计法任选)实现噪声滤除。具体任务如下: (1)对语音信号进行采集(读取),对数字语音信号加入干扰噪声,画出原始信号及带噪信号的时域波形,利用FFT进行频域分析,画出相应波形,并对语音进行播放。 (3)根据对语音信号及噪声的实际情况分析,选择适当的FIR数字滤波器进行设计,并对噪声进行滤除。

(完整word版)信号与系统matlab实验

习题三 绘制典型信号及其频谱图 1.更改参数,调试程序,绘制单边指数信号的波形图和频谱图。观察参数a对信号波形 及其频谱的影响。 程序代码: close all; E=1;a=1; t=0:0.01:4; w=-30:0.01:30; f=E*exp(-a*t); F=1./(a+j*w); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|';

E=1,a=1,波形图频谱图更改参数E=2,a=1;

更改参数a,对信号波形及其频谱的影响。(保持E=2)上图为a=1图像 a=2时

a=4时 随着a的增大,f(t)曲线变得越来越陡,更快的逼近0,而对于频谱图,随着a增大,图像渐渐向两边张开,峰值减小,陡度减小,图像整体变得更加平缓。 2.矩形脉冲信号 程序代码: close all; E=1;tao=1; t=-4:0.1:4; w=-30:0.1:30;

f=E*(t>-tao/2&tao/2)+0*(t<=-tao/2&t>=tao/2); F=(2*E./w).*sin(w*tao/2); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|') ; figure; plot(w,20*log10(abs(F))); xlabel('\omega');ylabel('|F(\omega)| in dB'); figure; plot(w,angle(F));xlabel('\omega');ylabel('\phi(\omega )');

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2 sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');

(2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t); >> plot(t,x); >> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');

因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]);

(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕')

信号与线性系统实验指导书syzds

信号与线性系统实验指导书 《信号与线性系统》课程组 2006年9月修订

《信号与系统》实验箱简介 信号与系统实验箱有TKSS-A型、TKSS-B型和TKSS-C型三种。其中B型和C型实验箱除实验项目外,还带有与实验配套的仪器仪表。 TKSS-A型实验箱提供的实验模块有:用同时分析方法观测方波信号的频谱、方波的分解、各类无源和有源滤波器(包括LPF、HPF、BPF、BEF)、二阶网络状态轨迹的显示、抽样定理和二阶网络函数的模拟等。 TKSS-B型实验箱提供的实验模块与“TKSS-A型”基本一样,增加了函数信号发生器(可选择正弦波、方波、三角波输出,输出频率范围为20Hz~100KHz)、频率计(测频范围0~500KHz)、数字式交流电压表(测量范围10mV~20mV,10Hz~200KHz)等仪器。 TKSS-C型实验箱的实验功能和配备与“TKSS-B型”基本一样,增加了扫频电源(采用可编程逻辑器件ispLSI1032E和单片机AT89C51设计而成),它可在15Hz~50KHz的全程范围内进行扫频输出,亦可选定在某一频段(分9段)范围内的扫频输出,提供11档扫速,亦可选用手动点频输出,此外还有频标指示,亦可作频率计使用。 实验一无源和有源滤波器 一、实验目的 1、了解RC无源和有源滤波器的种类、基本结构及其特性。 2、对比研究无源和有源滤波器的滤波特性。 3、学会列写无源和有源滤波器网络函数的方法。 二、原理说明 1、滤波器是对输入信号的频率具有选择性的一个二端口网络,它允许某 些频率(通常是某个频带范围)的信号通过,而其他频率的信号受到 衰减或抑制,这些网络可以是由RLC元件或RC元件构成的无源滤 波器,也可以是由RC元件和有源器件构成的有源滤波器。 2、根据幅频特性所表示的通过或阻止信号频率范围的不同,滤波器可分 为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)和 带阻滤波器(BEF)四种。我们把能够通过的信号频率范围定义为通 带,把阻止通过或衰减的信号频率范围定义为阻带。而通带与阻带的 分界点的频率f c称为截止频率或称转折频率。图1-1中的A up为通 带的电压放大倍数,f0为中心频率,f cL和f cH分别为低端和高端截止 频率。

信号与系统MATLAB实验

2016-2017学年第一学期 信号与系统实验报告 班级: 姓名: 学号: 成绩: 指导教师:

实验一常见信号的MATLAB 表示及运算 一.实验目的 1.熟悉常见信号的意义、特性及波形 2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法 二.实验原理 信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。 根据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 所定义的时间点上的样值。 说明:plot 是常用的绘制连续信号波形的函数。 严格说来,MATLAB 不能表示连续信号,所以,在用plot()命令绘制波形时,要对自变量t 进行取值,MATLAB 会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t 的取样间隔。t 的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。

信号与系统实验指导书

实验一基本信号的产生与运算 一、实验目的 学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算。 二、实验原理 MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1.连续信号的产生 (1)阶跃信号 产生阶跃信号)(t u的MATLAB程序如下,运行结果如图1-1所示。 t=-2:0.02:6; x=(t>0); plot(t,x); axis([-2,6,0,1.2]); 图1-1 阶跃信号 (2)指数信号 产生随时间衰减的指数信号t e =2 )(的MATLAB程序如下,运行结果如图 x- t 1-2所示。 t=0:0.001:5; x=2*exp(-1*t); plot(t,x);

图1-2 指数信号 (3)正弦信号 利用MATLAB提供的函数cos和sin可产生正弦和余弦函数。产生一个幅度 的正弦信号的MATLAB程序如下,运行结果如图为2,频率为4Hz,相位为 6 1-3所示。 f0=4; w0=2*pi*f0; t=0:0.001:1; x=2*sin(w0*t+pi/6); plot(t,x); 图1-3 正弦信号

(4)矩形脉冲信号 函数rectpulse(t)可产生高度为1、宽度为1、关于t=0对称的矩形脉冲信号; 函数rectpulse(t,w) 可产生高度为1、宽度为w、关于t=0对称的矩形脉冲信号。 产生高度为1、宽度为4、延时2秒的矩形脉冲信号的MATLAB程序如下,运行结果如图1-4所示。 t=-2:0.02:6; x=rectpuls(t-2,4); plot(t,x); axis([-2,6,0,1.2]); 图1-4 矩形脉冲信号 (5)周期方波 函数square(w0*t)产生基本频率为w0的周期方波。 函数square(w0*t,DUTY)产生基本频率为w0、占空比DUTY=100 τ的 T /* 周期方波。τ为一个周期中信号为正的时间长度。 产生一个幅度为1,基本频率为2Hz,占空比50%的周期方波的MATLAB 程序如下,运行结果如图1-5所示。 f0=2; t=0:0.0001:2.5; w0=2*pi*f0; Y=square(w0*t,50); plot(t,Y); axis([0,2.5,-1.5,1.5]);

昆明理工大学MATLAB实验指导书(第二次实验)

************************ MATLAB上机指导书 ************************ 昆明理工大学机电学院 彭用新 2015年3月

实验三符号计算 一、操作部分:在命令窗口执行命令完成以下运算,记录运算结果。 1.findsym:帮助我们获取系统定义的自变量 f= sym('sin(a*x+b*y)'); findsym(f) 2.numden(获取分子分母), sym2poly,(获取多项式时系数)poly2sym(根据多项式系 数获得符号表达式) [n,d]=numden(sym('x*x+y')+sym('y^2')) p=sym('2*x^3+3*x^2+4'); sym2poly(p) x=[2,3,0,4]; poly2sym(x) 3. collect :合并同类项;expand:展开多项式;horner: 分解成嵌套形式;factor:因式 分解;simplify: 对表达式化简 syms x y; collect(x^2*y+y*x-x^2-2*x) collect((x+y)*(x^2+y^2+1), y) syms x y; expand((x-2)*(x-4)) syms x;horner(x^3-6*x^2+11*x-6) syms x;factor(x^3-6*x^2+11*x-6) syms x;simplify((x^2+5*x+6)/(x+2)) 4. finverse :求得符号函数的反函数。 syms x y; finverse(1/tan(x)) f= x^2+y; finverse(f,y) finverse(f) https://www.doczj.com/doc/9e16137419.html,pose 求符号函数的复合函数 syms x y; f = 1/(1 + x^2); g = sin(y); compose(f,g) 6. subs :表达式替换。 syms a b;subs(a+b,a,4)

信号与系统MATLAB实验总汇

实验一、MATLAB 编程基础及典型实例 一、实验目的 (1)熟悉MATLAB 软件平台的使用; (2)熟悉MATLAB 编程方法及常用语句; (3)掌握MATLAB 的可视化绘图技术; (4)结合《信号与系统》的特点,编程实现常用信号及其运算。 示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。编制一个函数型m 文件,实现这个功能。function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2) a=min(min(n1),min(n2)); b=max(max(n1),max(n2)); n=a:b; f1_new=zeros(1,length(n)); f2_new=zeros(1,length(n)); tem1=find((n>=min(n1))&(n<=max(n1))==1); f1_new(tem1)=f1; tem2=find((n>=min(n2))&(n<=max(n2))==1); f2_new(tem2)=f2; 四、实验内容与步骤 (2)绘制信号x(t)=)3 2sin(2t e t ?的曲线,t 的范围在0~30s ,取样时间间隔为0.1s 。t=0:0.1:30; y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);

(3)在n=[-10:10]范围产生离散序列:?? ?≤≤?=Other n n n x ,033,2)(,并绘图。n=-10:1:10; z1=((n+3)>=0); z2=((n-3)>=0); x=2*n.*(z1-z2); stem(n,x);(4)编程实现如下图所示的波形。 t=-2:0.001:3; f1=((t>=-1)&(t<=1)); f2=((t>=-1)&(t<=2)); f=f1+f2; plot(t,f); axis([-2,3,0,3]);

基带信号眼图实验——matlab仿真

基带信号眼图实验——matlab 仿真

————————————————————————————————作者:————————————————————————————————日期: ?

数字基带信号的眼图实验——matla b仿真 一、实验目的 1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法; 2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度; 3、熟悉MATL AB 语言编程。 二、实验预习要求 1、复习《数字通信原理》第七章7.1节——奈奎斯特第一准则内容; 2、复习《数字通信原理》第七章7.2节——数字基带信号码型内容; 3、认真阅读本实验内容,熟悉实验步骤。 三、实验原理和电路说明 1、基带传输特性 基带系统的分析模型如图3-1所示,要获得良好的基带传输系统,就应该 () n s n a t nT δ-∑() H ω() n s n a h t nT -∑基带传输抽样判决 图3-1?基带系统的分析模型 抑制码间干扰。设输入的基带信号为()n s n a t nT δ-∑,s T 为基带信号的码元周期,则经过基 带传输系统后的输出码元为 ()n s n a h t nT -∑。其中 1 ()()2j t h t H e d ωωωπ +∞ -∞ = ? ?(3-1) 理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足: 10()0,s k h kT k =?=? ? , 为其他整数 ?? ?(3-2) 频域应满足:

信号与线性系统课程设计报告概要

信号与线性系统课程设计报告有源滤波器设计与分析

源滤波器设计与分析 摘要:实验主要研究采用运算放大器,分别设计参数可调的源低通、高通、带通、全通滤波器的设计,并使用multisim软件仿真和焊接电路板进行实际电路测试,并与仿真结果比较分析。掌握滤波器的设计原理,通过仿真分析各种滤波器的频率响应和时域响应,改变不同的电路参数来观察滤波器的性能,分析比较设计出优化滤波器。在实验过程中锻炼学生的分析解决问题的能力和动手操作能力,达到理论与实践相结合的目的,并相应地了解滤波器在实际生活中的应用,将所学的内容运用到实际中。 关键词:滤波器,截止频率,仿真,电路测试 1课程设计的目的、意义 本课题研究有源低通、高通、带通、全通滤波器的设计,并通过仿真和实际电路测试,分析各种滤波器的频率响应和时域响应。通过本课题的设计,主要达到以下几个目的、意义: 1.掌握有源滤波器的基本原理及设计方法。 2.深入理解信号频谱和信号滤波的概念,理解滤波器幅频响应和相频响应对信号的影响,了解不同类型滤波器时域响应的特点。 3.掌握模拟滤波器频域响应的测试方法。 4.掌握利用Multisim软件进行模拟滤波器设计及仿真的方法。 5.了解有源滤波器硬件电路的设计、制作、调试过程及步骤。 6.掌握新一代信号与系统硬件实验平台及虚拟示波器、虚拟信号发生器的操作使用方法。 7.培养运用所学知识分析和解决实际问题的能力。 2 课程设计任务 本课题的任务包括有源滤波器电路设计、电路(系统)仿真分析、电路板焊接、电路调试与测试、仿真和测试结果分析等内容,主要工作有:

1. 采用运算放大器,分别设计参数可调的有源低通、带通、高通、全通滤波器,并用Multisim 软件进行仿真验证,并测试其时域和频率响应。 2. 列出所设计各滤波器的系统函数,用Matlab 软件分析其频率响应、时域响应,并与Multisim 电路仿真的结果进行比较分析。 3. 在Multisim 仿真软件中,给各滤波器分别输入适当的信号,测试分析各种滤波器频率响应对信号的影响。 4. 根据所设计的滤波器元件参数,在PCB 板上完成各有源滤波器电路的焊接。 5. 利用新开发的信号与系统实验平台,对焊接好的电路进行调试,确保其工作正常。 6. 采用适当的方法,调整相关元件参数,测试各滤波器的时域响应和频率响应,与相关仿真分析结果进行比较,并分析误差产生的原因。 7. 将适当信号输入滤波器,测试分析各种滤波器频率响应对信号的影响,并与仿真结果进行比较,分析其差异产生的原因。 3.课程设计要求 利用运算放大器,设计二阶压控电压源型(VCVS )有源低通、高通、带通、全通滤波器,滤波器原型电路参见参考文献。滤波器主要技术指标要求:截止频率在100~20kHz 范围内连续可调(用两个可调电阻实现);滤波器通带增益设计为约等于2;其余指标自定。 4.设计方案及论证(设计原理、电路设计、滤波器参数设计等) 仿真调试步骤、结果及分析 电路制作调试步骤、调试结果 1.二阶有源低通滤波器 1.1设计原理图 参数计算 其中可调电阻Ra1,Rb1的选择,参考公式 C R '211α= ) ''(' 222 2βαα+=C R 'α=α*2πc f 、'β=β*2πc f 其中'α、'β分别是极点坐标的实部和虚部, C=0.01uF ,α、β通过查表得知为α=0.6104、β=0.7106 选取c f =1000Hz ,计算得 Ra1=13.037K Ω,Rb1=22.141K Ω,

相关主题
文本预览
相关文档 最新文档