1、1.1 市场与市场营销市场与市场营销1.2 我国汽车市场的发展与现状我国汽车市场的发展与现状复习思考题复习思考题实验2 时域离散信号的产生一、实验目的一、实验目的(1)了解常用的时域离散信号及其特点。(2)掌握MATLAB产生常用时域离散信号的方法。二、实验涉及的二、实验涉及的MATLAB子函数子函数1.axis功能:功能:限定图形坐标的范围。调用格式:调用格式:axis(x1,x2,y1,y2);在横坐标起点为x1、终点为x2,纵坐标起点为y1、终点为y2的范围内作图。2.length功能:功能:取某一变量的长度(采样点数)。调用格式:调用格式:Nlength(n);取变量n的采样点个数,赋
2、给变量N。3.real功能:功能:取某一复数的实部。调用格式:调用格式:real(h);取复数h的实部。xreal(h);取复数h的实部,赋给变量x。4.imag功能:功能:取某一复数的虚部。调用格式:调用格式:imag(h);取复数h的虚部。yimag(h);取复数h的虚部,赋给变量y。5.sawtooth功能:功能:产生锯齿波或三角波。调用格式:调用格式:xsawtooth(t);类似于sin(t),产生周期为2p,幅值从1到1的锯齿波。xsawtooth(t,width);产生三角波,其中width(0n0;%生成离散信号x(n)stem(n,x,filled);axis(n1,n2,0
3、,1.1*max(x);title(单位阶跃序列);xlabel(时间(n);ylabel(幅度x(n);运行结果如图2-3所示。图2-3 例2-3、例2-4生成的u(n)例例2-4 用zeros和ones函数来产生单位阶跃序列u(n)。解解 MATLAB程序如下(运行结果同图2-3):n12;n28;k0;nn1:n2;ntlength(n);%求样点n的个数nkabs(kn1)1;%确定k在n序列中的位置%生成离散信号x(n)。对前nk1点置0,从nk点至n2点置1xzeros(1,nk1),ones(1,ntnk1);下面作图部分的程序同例2-3。3)实指数序列实指数序列的表示式为x(n
4、)an 其中a为实数当|a|1时,x(n)的幅度随n的增大而增大,序列逐渐发散。例例2-5 编写产生a1/2和a2实指数连续信号和离散序列的程序。解解 MATLAB程序如下:n110;n210;a10.5;a22;na1n1:0;x1a1.na1;na20:n2;x2a2.na2;subplot(2,2,1),plot(na1,x1);title(实指数原信号(a1);subplot(2,2,3),stem(na1,x1,filled);title(实指数序列(a1);subplot(2,2,4),stem(na2,x2,filled);title(实指数序列(a1);运行结果如图2-4所示。
5、图2-4 例2-5生成|a|1的实指数连续信号与离散序列4)复指数序列复指数序列的表示式为当w0时,x(n)为实指数序列;当s0时,x(n)为虚指数序列,即ejwncos(wn)jsin(wn)由上式可知,其实部为余弦序列,虚部为正弦序列。0n00nex(n)nj(例例2-6 编写产生s0.1、w0.6复指数连续信号与离散序列的程序。解解 MATLAB程序如下:n130;a0.1;w0.6;n0:n1;xexp(aj*w)*n);subplot(2,2,1),plot(n,real(x);title(复指数原信号的实部);subplot(2,2,3),stem(n,real(x),filled
6、);title(复指数序列的实部);subplot(2,2,2),plot(n,imag(x);title(复指数原信号的虚部);subplot(2,2,4),stem(n,imag(x),filled);title(复指数序列的虚部);运行结果如图2-5所示。图2-5 例2-6复指数连续信号与离散序列的实部和虚部5)正(余)弦序列正(余)弦序列的表示式为x(n)Umsin(w0nq)连续时间信号与离散时间信号的联系可由下例程序清楚地反映出来。例例2-7 已知一时域周期性正弦信号的频率为1 Hz,振幅值幅度为1 V。在窗口上显示2个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号
7、。试显示原连续信号和其采样获得的离散信号波形。解解 MATLAB程序如下:f1;Um1;nt2;%输入信号频率、振幅和显示周期数N32;T1/f;%N为信号一个周期的采样点数,T为信号周期dtT/N;%采样时间间隔n0:nt*N1;%建立离散信号的时间序列tnn*dt;%确定时间序列样点在时间轴上的位置xUm*sin(2*f*pi*tn);subplot(2,1,1);plot(tn,x);%显示原连续信号axis(0nt*T1.1*min(x)1.1*max(x);%限定横坐标和纵坐标的显示范围ylabel(x(t);subplot(2,1,2);stem(tn,x);%显示经采样的信号ax
8、is(0nt*T1.1*min(x)1.1*max(x);ylabel(x(n);结果如图2-6所示。图2-6 时域连续的正弦信号与经采样获得的离散序列6)锯齿波(三角波)序列将sawtooth表示式中的t转换成n,且n取整数,则可以获得锯齿波或三角波序列。例例2-8 一个连续的周期性锯齿波信号频率为10 Hz,信号幅度在1 V到1 V之间,在窗口上显示3个周期的信号波形,用FS150 Hz的频率对连续信号进行采样。试显示原连续信号和其采样获得的离散信号波形。解解 MATLAB程序如下:f10;Um1;nt3;%输入信号频率、振幅和显示周期个数Fs150;NFs/f;%输入采样频率,求采样点数
9、NT1/f;%T为信号的周期dtT/N;%采样时间间隔n0:nt*N1;%建立离散信号的时间序列tnn*dt;%确定时间序列样点在时间轴上的位置xUm*sawtooth(2*f*pi*tn);%产生时域信号作图部分的程序参考例2-7。结果如图2-7所示。注意:直接用sawtooth子函数产生的信号波形,其幅度在11之间,因此本例在程序上不用做任何处理。图2-7 周期性锯齿波信号与其经采样获得的离散序列7)矩形波序列将square表示式中的t转换成n,且n取整数,则可以获得矩形信号序列。例例2-9 一个连续的周期性矩形波信号频率为5 kHz,信号幅度在02 V之间,脉冲宽度与周期的比例为14,且
10、要求在窗口上显示其2个周期的信号波形,并对信号的一个周期进行16点采样来获得离散信号。试显示原连续信号和其采样获得的离散信号波形。解解 MATLAB程序如下:f5000;nt2;N16;T1/f;dtT/N;n0:nt*N1;tnn*dt;xsquare(2*f*pi*tn,25)1;%产生时域信号,且幅度在02V之间作图部分的程序参考例2-7。结果如图2-8所示。注意:直接用square子函数产生的信号波形,其幅度在11之间。为使信号幅度改变为02 V之间,在程序上做了处理。图2-8 周期性矩形波信号与其经采样获得的离散序列8)sinc函数将sinc表示式中的t转换成n,且n取整数,则可以获
11、得sinc信号序列。例例2-10 求解解 MATLAB程序如下:n=20:20f=sinc(n/4);subplot(2,1,1),plot(n,f);subplot(2,1,2),stem(n,f);结果如图2-10所示。20)n20(,4n/4)sin(n/f(n)9)diric函数例例2-11 求n分别为7和8时的diric函数曲线。解解 MATLAB程序如下:n17;n28;x0:1/pi:4*pi;y1diric(x,n1);y2diric(x,n2);subplot(2,2,1),plot(x,y1,k);subplot(2,2,2),stem(x,y1,k);subplot(2,
12、2,3),plot(x,y2,k);subplot(2,2,4),stem(x,y2,k);结果如图2-10所示。图2-10 n分别为奇数(7)和偶数(8)时,diric函数曲线及其离散序列10)rand函数在实际系统的研究和处理中,常常需要产生随机信号。MATLAB提供的rand函数可以为我们生成随机信号。例例2-12 试生成一组41点构成的连续随机信号和与之相应的随机序列。解解 MATLAB程序如下:tn0:40;Nlength(tn);xrand(1,N);subplot(1,2,1),plot(tn,x);subplot(1,2,2),stem(tn,x);结果如图2-11所示。图2-
13、11 随机信号与随机序列四、实验任务四、实验任务(1)阅读并输入实验原理中介绍的例题程序,理解每一条语句的含义。改变例题中的有关参数(如信号的频率、周期、幅度、显示时间的取值范围、采样点数等),观察对信号波形有何影响。(2)编写程序,产生下列离散序列:f(n)d(n)(3n4)f(n)u(n)(5n5)f(n)e(0.1j1.6p)n(0n16)20)n(04nsin3f(n)20)n20(5n/5)sin(n/f(n)(3)一个连续的周期性三角波信号频率为50 Hz,信号幅度在02 V之间,在窗口上显示2个周期的信号波形,对信号的一个周期进行16点采样来获得离散信号。试显示原连续信号和采样获
14、得的离散信号波形。(4)一个连续的周期性方波信号频率为200 Hz,信号幅度在11 V之间,要求在窗口上显示其2个周期的信号波形。用Fs4 kHz的频率对连续信号进行采样,试显示原连续信号和其采样获得的离散信号波形。五、实验预习五、实验预习(1)认真阅读实验原理,明确本次实验任务,读懂各函数和例题程序,了解实验方法。(2)根据实验任务预先编写实验程序。(3)预习思考题:产生单位脉冲序列和单位阶跃序列各有几种方法?如何使用?六、实验报告六、实验报告(1)列写调试通过的实验程序,打印或描绘实验程序产生的曲线图形。(2)思考题:回答实验预习思考题。通过例题程序,你发现采样频率Fs、采样点数N、采样时间间隔dt在程序编写中有怎样的联系,使用时需注意什么问题?