版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信信 号号 与与 系系 统统 实实验验指指导导 书书 长春工程学院电气与信息学院长春工程学院电气与信息学院 电工电子实验教学中心电工电子实验教学中心 二二八年二月十日八年二月十日 目目 录录 MATLAB 软件仿真实验部分软件仿真实验部分.1 实验一 信号的基本运算.1 实验二 周期信号的傅里叶级数及 GIBBS现象.12 实验三 信号抽样及信号重建 .19 实验四 信号与系统复频域分析 .26 EL-SS-III 实验箱硬件实验部分实验箱硬件实验部分.31 一、硬件资源.31 二、软件安装及使用 .34 三、实验系统部分 .40 实验一 滤波器.41 实验二 一阶电路的瞬态响应 .45 实验
2、三 一阶电路的零输入响应、零状态响应及完全响应.50 实验四 二阶电路的瞬态响应 .52 实验五 二阶网络函数的模拟 .55 实验六 方波信号的分解.59 实验七 方波信号的合成.62 实验八 抽样定理.64 实验九 数据采集.69 附录一 实验结果参考.70 附录二 AD/DA 卡调试说明.83 MATLAB 软件仿真实验部分软件仿真实验部分 实验一实验一 信号的基本运算信号的基本运算 一、实验目的一、实验目的 1、熟悉掌握常用的用于信号与系统时域仿真分析的 MATLAB 函数。 2、掌握用 MATLAB 描述连续时间信号和离散时间信号的方法,能够编写 MATLAB 程序进行 仿真。 3、熟
3、悉实现各种信号的时域变换和运算的原理和方法,并在 MATLAB 环境下仿真。 4、利用延拓的方法将时限信号变成一个周期函数。 5、利用 MATLAB 的卷积工具实现两个信号的卷积运算。 二、实验原理二、实验原理 1、在信号与系统课程中,单位阶跃信号 u(t) 和单位冲激信号 (t) 是二个非常有用的 信号。它们的定义如下 0, 0)( 1)( tt dtt t 1.1(a) 0, 0 0, 1 )( t t tu 1.1(b) 这里分别给出相应的简单的产生单位冲激信号和单位阶跃信号的扩展函数。产生单位冲激 信号的扩展函数为: function y = delta(t) dt = 0.01; y
4、 = (u(t)-u(t-dt)/dt; 产生单位阶跃信号的扩展函数为: % Unit step function function y = u(t) y = (t=0); % y = 1 for t 0, else y = 0 请将这二个 MATLAB 函数分别以 delta 和 u 为文件名保存在 work 文件夹中,以后,就可 以像教材中的方法使用单位冲激信号 (t) 和单位阶跃信号 u(t)。 2、离散时间单位阶跃信号 un定义为 0, 0 0, 1 n n nu 1.2 离散时间单位阶跃信号 un除了也可以直接用前面给出的扩展函数来产生,还可以利用 MATLAB 内部函数 ones(
5、1,N) 来实现。这个函数类似于 zeros(1,N),所不同的是它产生的矩阵 的所有元素都为 1。 值得注意的是,利用 ones(1,N) 来实现的单位阶跃序列并不是真正的单位阶跃序列,而是 一个长度为 N 单位门(Gate)序列,也就是 un-un-N。但是在一个有限的图形窗口中,我们看 到的还是一个单位阶跃序列。 3、信号的基本加法和乘法运算 信号 f1 与 f2 之和(瞬时和)是指同一瞬时两个信号之值对应相加所构成的“和信号”即 f3=f1+f2;信号 f1 与 f2 之积是指同一瞬时两信号之值对应相乘所构成的“积信号”即 f3= f1*f2;离散序列相加(或相乘)可采用对应样点的值分
6、别相加(或相乘)的方法来计算。 用 MATLAB 程序仿真下面运算:f1=sin(t),f2=sin(t),f3=f1+f2,f4=f1*f2;x=0 1 1 1 1 1, h=2 1 3 4 1 1,y=x+h,g=x.*h; 连续信号加法乘法实现程序 % Program t=0:0.01:4*pi; f1=sin(t); f2= sin(t); f3=f1+f2; f4=f1.*f2; subplot(221); plot(t,f1); title(f1 signal); subplot(222); plot(t,f2); title(f2 signal); subplot(223); p
7、lot(t,f3); title(f1+f2 signal); subplot(224); plot(t,f4); title(f1*f2 signal); 运行后的结果: 图 1-1 程序运行结果图 离散序列加法乘法实现程序 x=0 1 1 1 1 1; h=2 1 3 4 1 1; y=x+h,g=x.*h; subplot(221); stem(x); title(x signal); subplot(222); stem(h); title(h signal); subplot(223); stem(y); title(x+h signal); subplot(224); stem(g
8、); title(x.*h signal); 运行后的结果: 图 1-2 程序运行结果图 4、信号的时移 信号的时移可用下面的数学表达式来描述: 设一个连续时间信号为 x(t),它的时移 y(t) 表示为: y(t) = x(t - t0) 1.3 其中,t0为位移量。若 t0为正数,则 y(t)等于将 x(t)右移 t0秒之后的结果。反之,若 t0为 负数,则 y(t)等于将 x(t)左移 t0秒之后的结果。 在 MATLAB 中,时移运算与数学上习惯表达方法完全相同。 对给定一个连续时间信号 x(t) = e-0.5tu(t),对它分别左移 2 秒钟和右移 2 秒钟得到信号 x1(t) =
9、 e-0.5(t+2)u(t+2)和 x2(t) = e-0.5(t-2)u(t-2)。 实现程序: % Program 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
10、 get x2(t) subplot(311) plot(t,x) % Plot x(t) grid on, title ( x = exp(-0.5*t).*u(t) subplot (312) plot (t,x1) % Plot x1(t) grid on, title ( x1 = exp(-0.5*(t+2).*u(t+2) ) subplot (313) plot (t,x2) % Plot x2(t) grid on, title ( x2 = exp(-0.5*(t-2).*u(t-2) xlabel (Time t (sec) 程序运行结果: 图 1-3 程序运行结果图 注意
11、:在运行上面的程序时,一定在所在的路径下创建 u(t)的子函数: function y = u(t) y = (t=0); % y = 1 for t 0, else y = 0 保存名为 u.m 5、信号的时域反褶 对一个信号 xn的反褶运算在数学上表示为 yn = x-n 1.4 这种反褶运算,用 MATLAB 实现起来也是非常简单的。有多种方法可以实现信号的反褶 运算。 方法一方法一,修改绘图函数 plot(t,x)和 stem(n,x)中的时间变量 t 和 n,即用-t 和-n 替代原来的 t 和 n,这样绘制出来的图形,看起来就是原信号经时域反褶后的版本。 方法二方法二,直接利用原信
12、号与其反褶信号的数学关系式来实现。这种方法最符合信号反褶运 算的实际意义。 方法三方法三,使用 MATLAB 内部函数 fliplr()来实现信号的反褶运算。其用法如下: y = fliplr(x):其中 x 为原信号 x(t)或 xn,而 y 则为 x 的时域反褶。需要说明的是,函数 fliplr()对信号作时域反褶,仅仅将信号中各个元素的次序作了一个反转,这种反转处理是独立 于时间变量 t 和 n 的。因此,如果信号与其时间变量能够用一个数学函数来表达的话,那么建 议将时间变量 t 和 n 的范围指定在一个正负对称正负对称的时间区间即可。 分别编写程序实现 m=sin(t);n=sin(-
13、t);xn=1 2 3 4;x-n,分析所画信号波形, 程序如下: t=0:0.01:4*pi; n=0:1:3; m=sin(t); x=1 2 3 4; subplot(222); plot(t,m); title(sin(t) signal); subplot(221); plot(-t,m); title(sin(-t) signal); subplot(224); stem(n,x); title(xn signal); subplot(223); stem(-n,x); title(x-n signal); 程序运行结果: 图 1-4 程序运行结果图 6、信号的时域尺度变换 信号
14、x(t)的时域尺度变换在数学描述为 y(t) = x(at), 1.5 其中 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)在时间轴上的扩展同时翻转而得到
15、; 当 a 0 时 图形右移, t x = 1 2 3 4; h = 4 3 2 1; y=conv(x,h) 在屏幕上得到显示结果: y = 4 11 20 30 20 11 4 这表明,多项式 p1和 p2的乘积为: 411203020114 23456 3 ssssssp 正如前所述,用 MATLAB 处理连续时间信号时,独立时间变量 t 的变化步长应该是 很小的,假定用符号 dt 表示时间变化步长,那么,用函数 conv()作两个信号的卷积积分时, 应该在这个函数之前乘以时间步长方能得到正确的结果。也就是说,正确的语句形式应为:y = dt*conv(x,h)。 对于定义在不同时间段的
16、两个时限信号 x(t),t0 t t1,和 h(t),t2 t t3。 如果用 y(t)来 表示它们的卷积结果,则 y(t)的持续时间范围要比 x(t)或 h(t)要长,其时间范围为 t0+t2 t t1+t3。这个特点很重要,利用这个特点,在处理信号在时间上的位置时,可以很容易地将信号 的函数值与时间轴的位置和长度关系保持一致性。 根据给定的两个连续时间信号 x(t) = tu(t)-u(t-1)和 h(t) = u(t)-u(t-1),编写程序,完成这两 个信号的卷积运算,并绘制它们的波形图。范例程序如下: % Program t0 = -2; t1 = 4; dt = 0.01; t =
17、 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 speci
18、fy 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) 程序运行结果 图 1-7 程序运行结果图 在有些时候,做卷积和运算的两个序列中,可能有一个序列或者两个序列都非常长,甚至 是无限长,MATLAB 处理这样的序列时,总是把它看作是一个有限长序列,具体长度由编程 者确定。实际上,在信号与系统分析中所遇到的无限长
19、序列,通常都是满足绝对可和或绝对可 积条件的信号。因此,对信号采取这种截短处理尽管存在误差,但是通过选择合理的信号长度, 这种误差是能够减小到可以接受的程度的。若这样的一个无限长序列可以用一个数学表达式表 示的话,那么,它的长度可以由编程者通过指定时间变量 n 的范围来确定。 例如,对于一个单边实指数序列 xn = 0.5nun,通过指定 n 的范围为 0 n 100,则对应 的 xn的长度为 101 点,虽然指定更宽的 n 的范围,xn将与实际情况更相符合,但是,注意 到,当 n 大于某一数时,xn之值已经非常接近于 0 了。对于序列 xn = 0.5nun,当 n = 7 时, x7 =
20、0.0078,这已经是非常小了。所以,对于这个单边实指数序列,指定更长的 n 的范围是 没有必要的。当然,不同的无限长序列具有不同的特殊性,在指定 n 的范围时,只要能够反映 序列的主要特征就可以了。 9、关于 MATLAB 工具在信号处理中应用的补充 在绘制信号的波形图时,有时我们需要将若干个图形绘制在图一个图形窗口中,这就需要 使用 MATLAB 的图形分割函数 subplot(),其用法是在绘图函数 stem 或 plot 之前,使用图形 分割函数 subplot(n1,n2,n3),其中的参数 n1,n2 和 n3 的含义是,该函数将把一个图形窗口分 割成 n1xn2 个子图,即将绘制
21、的图形将绘制在第 n3 个子图中。 常用的图形控制函数 axis(xmin,xmax,ymin,ymax):图型显示区域控制函数,其中 xmin 为横轴的显示起点,xmax 为横轴的显示终点,ymin 为纵轴的显示起点,ymax 为纵轴的显示 终点。 有时,为了使图形具有可读性,需要在所绘制的图形中,加上一些网格线来反映信号的幅 度大小。MATLAB 中的 grid on/grid off 可以实现在你的图形中加网格线。 grid on:在图形中加网格线。 grid off:取消图形中的网格线。 x = input(Type in signal x(t) in closed form:) 三、
22、实验内容及步骤三、实验内容及步骤 实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。实验开始时,先在计算 机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序应该完成的工作,进一 步分析程序中各个语句的作用,从而真正理解这些程序。 实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实 验程序等事项。 练习练习 1:结合编写的阶跃函数编写一门函数(门宽为 4 幅度为 1)写出程序并会出门函 数信号的波形; 练习练习 2:结合实验原理的信号的基本运算的程序,编写程序绘制 m=sin(t);g=sin(2t-pi/2); xn=1 2 5 6 3 ;x(1
23、/2)n-1;的四个信号的波形,并分析图形的变换过程。 练习练习 3:根据周期函数的定义以及实验原理中延拓的方法实现脉冲函数(脉冲宽度 1 周期 2 幅度 1)并绘制其图形; 练习练习 4:利用 MATLAB 内部所带的卷积工具对两个门函数进行卷积,分别绘制出两 个门函数和卷积后的波形,并分析门函数卷积的规律, (一个门函数门宽为 1 幅度 1 另一个门函数门宽为 2 幅度为 1,进行两者卷积) 四、实验报告要求四、实验报告要求 1、按要求完整书写你所编写的全部 MATLAB 程序 2、详细记录实验过程中的有关信号波形图(存于自带的 U 盘中) ,图形要有明确的标题。 全部的 MATLAB 图
24、形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。 3、实事求是地回答相关问题,严禁抄袭。 实验二实验二 周期信号的傅里叶级数及周期信号的傅里叶级数及 Gibbs 现象现象 一、实验目的一、实验目的 1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法; 2、观察截短傅里叶级数而产生的“Gibbs 现象” ,了解其特点以及产生的原因; 3、掌握连续周期时间信号傅里叶变换的分析方法及其物理意义; 二、实验原理及方法二、实验原理及方法 1、连续时间周期信号的傅里叶级数 CTFS 分析 任何一个周期为 T1的正弦周期信号,只要满足狄利克利狄利克利条件,就可以展开成傅里叶级数。 其中
25、三角傅里叶级数三角傅里叶级数为: 1 000 )sin()cos()( k kk tkbtkaatx 2.1 或: 1 00 )cos()( k kk tkcatx 2.2 其中 1 0 2 T ,称为信号的基本频率基本频率(Fundamental frequency) , kk baa,和, 0 分别是 信号)(tx的直流分量直流分量、余弦分量幅度余弦分量幅度和正弦分量幅度正弦分量幅度, kk c、为合并同频率项之后各正弦谐 波分量的幅度和初相位,它们都是频率 0 k的函数,绘制出它们与 0 k之间的图像,称为信号 的频谱图频谱图(简称“频谱频谱” ) , k c 0 k图像为幅度谱幅度谱,
26、 k 0 k图像为相位谱相位谱。 三角形式傅里叶级数表明,如果一个周期信号 x(t),满足狄里克利条件,那么,它就可以 被看作是由很多不同频率的互为谐波关系谐波关系(harmonically related)的正弦信号所组成,其中每 一个不同频率的正弦信号称为正弦谐波分量正弦谐波分量 (Sinusoid component),其幅度幅度(amplitude)为 k c。也可以反过来理解三角傅里叶级数:用无限多个正弦谐波分量可以合成一个任意的非正 弦周期信号。 指数形式的傅里叶级数指数形式的傅里叶级数为: k tjk ke atx 0 )( 2.3 其中, k a为指数形式的傅里叶级数的系数,按
27、如下公式计算: 2/ 2/1 1 1 0 )( 1 T T tjk k dtetx T a 2.4 指数形式的傅里叶级数告诉我们,如果一个周期信号 x(t),满足狄里克利条件,那么,它 就可以被看作是由很多不同频率的互为谐波关系(harmonically related)的周期复指数信号所 组成,其中每一个不同频率的周期复指数信号称为基本频率分量,其复幅度(complex amplitude)为 k a。这里“复幅度(complex amplitude) ”指的是 k a通常是复数。 上面的傅里叶级数的合成式说明,我们可以用无穷多个不同频率的周期复指数信号来合成 任意一个周期信号。然而,用计算
28、机(或任何其它设备)合成一个周期信号,显然不可能做到 用无限多个谐波来合成,只能取这些有限个谐波分量来近似合成。 假设谐波项数为 N,则上面的和成式为: N Nk tjk ke atx 0 )( 2.5 显然,N 越大,所选项数越多,有限项级数合成的结果越逼近原信号 x(t)。本实验可以比 较直观地了解傅里叶级数的物理意义,并观察到级数中各频率分量对波形的影响包括 “Gibbs”现象:即信号在不连续点附近存在一个幅度大约为 9%的过冲,且所选谐波次数越多, 过冲点越向不连续点靠近。这一现象在观察周期矩形波信号和周期锯齿波信号时可以看得很清 楚。 例题 1、给定一个周期为 T1 = 2s 的连续
29、时间周期方波信号,如图所示,其一个周期内的 数学表达式为: 21, 0 10, 1 )( 1 t t tx 解:首先,我们根据前面所给出的公式,计 算该信号的傅里叶级数的系数。 2/ 2/ 1 1 1 1 0 )( 1 T T tjk k dtetx T a 1 0 0 2 1 dte tjk 1 0 0 0 )( 2 1 0 tjkde kj tjk 0 1 0 2 0 kj e tjk 0 2 1 0 kj e jk 0 22 2 2 00 0 kj ee e k j k j k j 0 2 0 0) 2 sin( k j e k k 因为:0 = 2/T1 = ,代入上式得到: k k
30、ja k k ) 2 sin( )( 在 MATLAB 命令窗口,依次键入: k = -10:10; 1 12 -1-2 x(t) t 0 图图 2.1 周期方波信号周期方波信号 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 throug
31、h 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 从 MATLAB 命令窗口,我们得到了该周期信号从 10 a到 10 a共 21 个系数。 紧接着再键入以下命令: subplot(221) stem(k,abs(ak),k.) title(The Fourier series
32、 coefficients) xlabel(Frequency index k) 就得到一幅如右图所示的描述 k a与 k 之间的关系的 图形。 以上是我们通过手工计算得到的这个周期信号的傅 里叶级数表达式及其频谱图,下面给出完成傅里叶级数 系数计算的相应 MATLAB 范例程序。 % Program2_1 % This program is used to evaluate the Fourier series coefficients ak of a periodic square wave clear, close all T = 2; dt = 0.00001; t = -2:dt:2
33、; 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*
34、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
35、 + 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 将这里
36、的 ak 之值同前面手工计算得到的 ak 比较,可见两者是完全相同的。 再次特别提示:程序中,时间变量的变化步长 dt 的大小对傅里叶级数系数的计算精度的 影响非常大,dt 越小,精度越高,本程序中的 dt 之所以选择 0.00001 就是为了提高计算精度。 但是,计算机所花的计算时间越长。 在程序 Program2_1 中添加相应的计算| ak |和绘图语句,就可以绘制出信号的幅度谱和相 位谱的谱线图。 2、周期信号的合成以及 Gibbs 现象 从傅里叶级数的合成式合成式(Synthesis equation) k tjk ke atx 0 )( 可以看出,用无穷多个不同频率和不同振幅的周期
37、复指数信号可以合成一个周期信号。然 而,我们无法用计算机实现对无穷多个周期复指数信号的合成。但是,用有限项来合成却是可 行的,在实际应用中,多半也就是这么做的。然而,这样做的一个必然结果,就是引入了误差。 如果一个周期信号在一个周期有内断点存在,那么,引入的误差将除了产生纹波之外,还 将在断点处产生幅度大约为 9%的过冲过冲(Overshot) ,这种现象被称为吉伯斯现象吉伯斯现象(Gibbs phenomenon) 。 为了能够观察到合成信号与原信号的不同以及 Gibbs 现象,我们可以利用前面已经计算出 的傅里叶级数的系数,计算出截短的傅里叶级数: N Nk tjk ke atx 0 )(
38、 这个计算可用 L = 2N+1 次循环来完成: tNrj k eraxx 0 )1( )(22 其中 r 作为循环次数,x2 在循环之前应先清零。完成这一计算的 MATLAB 程序为: x2 = 0; L = 2*N+1; for r = 1:L; x2 = x2+ak(r)*exp(j*(r-1-N)*w0*t); end; 完成了所有的计算之后,就可以用绘图函数:plot()和 stem()将计算结果包括 x1, x2, abs(ak)和 angle(ak)以图形的形式给出,便于我们观察。 观察吉伯斯现象的最好的周期信号就是图 2-1 所示的周期方波信号,这种信号在一个周期 内有两个断点
39、,用有限项级数合成这个信号时,吉伯斯现象的特征非常明显,便于观察。 例题 2:修改程序 Program2_1,使之能够用有限项级数合成例题 2-1 所给的周期方波信号, 并绘制出原始周期信号、合成的周期信号、信号的幅度谱和相位谱。 为此,只要将前述的 for 循环程序段和绘图程序段添加到程序 Program2_1 中即可,范例 程序如下: % Program2_2 % This program is used to compute the Fourier series coefficients ak of a periodic square wave clear,close all T = 2
40、; dt = 0.00001; t = -2:dt:2; x1 = u(t)-u(t-1-dt); x = 0; for m = -1:1 x = x + u(t-m*T) - u(t-1-m*T-dt); % Periodically extend x1(t) to form a periodic signal end w0 = 2*pi/T; N = input(Type in the number of the harmonic components N = :); L = 2*N+1; for k = -N:1:N; ak(N+1+k) = (1/T)*x1*exp(-j*k*w0*t
41、)*dt; end phi = angle(ak); y=0; for q = 1:L; % Synthesiz the periodic signal y(t) from the finite Fourier series y = y+ak(q)*exp(j*(-(L-1)/2+q-1)*2*pi*t/T); end; subplot(221), plot(t,x), title(The original signal x(t), axis(-2,2,-0.2,1.2), subplot(223), plot(t,y), title(The synthesis signal y(t), ax
42、is(-2,2,-0.2,1.2), xlabel(Time t), subplot(222) k=-N:N; stem(k,abs(ak),k.), title(The amplitude |ak| of x(t), axis(-N,N,-0.1,0.6) subplot(224) stem(k,phi,r.), title(The phase phi(k) of x(t), axis(-N,N,-2,2), xlabel(Index k) N=12 时,程序运行结果: 图 2-1 程序运行结果 在用这个程序观察吉伯斯现象时,可以反复执行该程序,每次执行时,输入不同之 N 值, 比较所的图形
43、的区别,由此可以观察到吉伯斯现象的特征。 三、实验内容和要求三、实验内容和要求 实验前,必须首先阅读本实验原理,读懂所给出的全部范例程序。实验开始时,先在计算 机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序应该完成的工作,进一 步分析程序中各个语句的作用,从而真正理解这些程序。 实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实 验程序等事项。 练习练习 1、周期信号的傅里叶级数 给定如下两个周期信号: (1) 、手工计算 x1(t)傅里叶级数的系数: 信号 x1(t) 在其主周期内的数学表达式为: 计算 x1(t) 的傅里叶级数的系数的计算过程如下
44、: t 11 1 22 )( 1 tx 仅供参考 2/ 2/ 1 1 1 1 0 )( 1 T T tjk k dtetx T a x1(t)=(t+1)*(u(t+1)-u(t)+(1-t)*(u(t)-u(t-1) 计算小程序: k = -10:10; ak = k a的表达式 % The expression of ak 通过计算得到的 x1(t)的傅里叶级数的系数的数学表达式是: (2) 、用 MATLAB 计算的傅里叶级数的系数 ak 从-10 到 10 共 21 个系数。仿照程序 Program2_1,编写程序以计算 x1(t)的傅里叶级数的系数。程序如下: 执行程序后,就完成了信
45、号的傅里叶级数的系数的计算,在命令窗口键入 ak 命令窗口就可以显示傅里叶级数的 21 个系数: (3) 、通过执行程序所得到的 x1(t)的傅里叶级数的 ak 从-10 到 10 共 21 个系数 与你手工计算的 ak 相比较,是否相同,如有不同,是何原因造成的? 答答: 练习练习 2、反复执行程序 Program2_2,每次执行该程序时,输入不同的 N 值,并观察所合成 的周期方波信号。分析吉伯斯现象的特点,观察合成的信号波形中,是否会产生 Gibbs 现象? 为什么?; 答答: 四、实验报告要求四、实验报告要求 1、按要求完整书写你所编写的全部 MATLAB 程序 2、详细记录实验过程中
46、的有关信号波形图(存于自带的 U 盘中) ,图形要有明确的标题。 全部的 MATLAB 图形应该用打印机打印,然后贴在本实验报告中的相应位置,禁止复印件。 3、实事求是地回答相关问题,严禁抄袭。 本实验完成时间: 年 月 日 )( 1 tx 实验三实验三 信号抽样及信号重建信号抽样及信号重建 一、实验目的一、实验目的 1、进一步理解信号的抽样及抽样定理; 2、进一步掌握抽样信号的频谱分析; 3、掌握和理解信号抽样以及信号重建的原理; 二、实验原理及方法二、实验原理及方法 1、信号的抽样及抽样定理 抽样(抽样(Sampling) ,就是从连续时间信号中抽取一系列的信号样本,从而,得到一个离散 时
47、间序列(Discrete-time sequence) , 图 3-1 给出了信号理想抽样的原理图: 上图中,假设连续时间信号是一个带限信号(Bandlimited Signal) ,其频率范围为 mm ,抽样脉冲为理想单位冲激串(单位冲激串(Unit Impulse Train) ,其数学表达式为: )()( s nTttp 3.1 由图可见,模拟信号 x(t)经抽样后,得到已抽样信号(已抽样信号(Sampled Signal)xs(t),且: )()()(tptxtxs 3.2 将 p(t)的数学表达式代入上式得到: )()()( sss nTtnTxtx 3.3 显然,已抽样信号 xs(
48、t) 也是一个冲激串,只是这个冲激串的冲激强度被 x(nTs) 加权了。 从频域上来看,p(t) 的频谱也是冲激序列,且为: )()( ss ntpF 3.4 )(tx )(tp )(txs )(jX m m 图图 3-1 (a) 抽样原理图,抽样原理图,(b) 带限信号的频谱带限信号的频谱 (a)(b) 根据傅里叶变换的频域卷积定理,时域两个信号相乘,对应的积的傅里叶变换等于这两 个信号的傅里叶变换之间的卷积。所以,已抽样信号 xs(t)的傅里叶变换为: n s s s njX T jX)( 1 )( 3.5 表达式 4.5 告诉我们,如果信号 x(t)的傅里叶变换为 X(j),则已抽样信号
49、 xs(t) 的傅里叶 变换 Xs(j)等于无穷多个加权的移位的 X(j)之和,或者说,已抽样信号的频谱等于原连续时 间信号的频谱以抽样频率s为周期进行周期复制的结果。如图 3-2 所示: 3.6 在 MATLAB 中,对信号抽样的仿真, 例题 设连续时间信号为一个正弦信号 x(t) = cos(0.5t),抽样周期为 Ts = 1/4 秒,编程序 绘制信号 x(t)和已抽样信号 xn的波形图。 范例程序 Sampling 如下: % Sampling clear, close all, t = 0:0.01:10; Ts = 1/4; % Sampling period n = 0:Ts:1
50、0; % Make the time variable to be discrete x = cos(0.5*pi*t); xn = cos(0.5*pi*n); % Sampling subplot(221) plot(t,x), title(A continuous-time signal x(t), xlabel(Time t) subplot(222) stem(n,xn,.), title(The sampled version xn of x(t), xlabel(Time index n) 执行该程序后,得到的波形图如图 3-3 所示。 )(tx )(tp )(txs )(jX
51、)(jP )(jXs s s s M M s T t t t s T/1 图图 3-2 信号抽样及其频谱图信号抽样及其频谱图 图图 3-3 连续时间信号及其抽样后的离散时间序列连续时间信号及其抽样后的离散时间序列 在这个范例程序中,先将连续时间 t 进行离散化,使之成为以 Ts = 1/4 秒的离散时间 n, 然后,将 n 代入到信号 x(t) 的数学表达式中计算,就完成了抽样过程,且得到了抽样后的离 散时间序列 xn。 2、 信号抽样过程中的频谱混叠信号抽样过程中的频谱混叠 为了能够观察到已抽样信号的频谱是否会存在混叠现象,或者混叠程度有多么严重,有 必要计算并绘制出已抽样信号的傅里叶变换。
52、 根据式 3.5 可计算出已抽样信号的频谱。其中,主要利用了一个 for 循环程序完成周期延 拓运算。 % Program clear, close all, tmax = 4; dt = 0.01; t = 0:dt:tmax; Ts = 1/10; ws = 2*pi/Ts; w0 = 20*pi; dw = 0.1; w = -w0:dw:w0; n = 0:1:tmax/Ts; x = exp(-4*t).*u(t); xn = exp(-4*n*Ts); subplot(221) plot(t,x), title(A continuous-time signal x(t), xlabel(Time t), axis(0,t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江事业单位统考衢州市开化县招聘17人(第2号)笔试参考题库及答案解析
- 2026贵州省第三人民医院招聘笔试备考题库及答案解析
- 2026金华东阳市事业单位招聘33人-统考笔试参考题库及答案解析
- 2026财达证券股份有限公司财富管理与机构业务委员会财富管理部招聘6人笔试备考题库及答案解析
- 2026年青山湖区人力资源和社会保障局下属事业单位招聘工作人员4人笔试备考试题及答案解析
- 四川省绵阳外国语学校2026年上半年公开考核招聘教师考试备考题库及答案解析
- 2026浙江衢州海关综合技术服务中心招聘检测工程师2人考试备考题库及答案解析
- 2026上半年衢州市属事业单位招聘44人-统考笔试参考题库及答案解析
- 2026全球环境基金中国野生动物保护管理与变革项目大熊猫国家公园四川省试点示范项目人员招聘1人考试备考题库及答案解析
- 2026青海西宁市湟中区第二人民医院招聘4人笔试备考题库及答案解析
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人考试备考试题及答案解析
- 2025年宿州职业技术学院单招职业技能考试试题及答案解析
- 工艺报警考核制度
- 2025年泰州职业技术学院单招职业倾向性考试题库带答案解析
- 2025年专升本管理学原理模拟试卷及答案
- 保密要害部门部位课件
- 山东省济南市2025-2026年高三上第一次模拟考试历史+答案
- 涉密机房培训
- 临潼介绍教学课件
- (正式版)DB61∕T 2103-2025 《砖瓦用页岩矿资源储量核实技术规范》
- 智能笔的行业分析报告
评论
0/150
提交评论