连续时间信号和系统时域分析及MATLAB实现[精编版]

连续时间信号和系统时域分析及MATLAB实现[精编版]
连续时间信号和系统时域分析及MATLAB实现[精编版]

连续时间信号和系统时域分析及MATLAB实

现[精编版]

MATLAB课程设计任务书

姓名:王** 学号:2010******010

题目:

连续时间信号和系统时域分析及MATLAB实现

初始条件:

MATLAB 7.5.0 ,Windows XP系统

实验任务:

一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。

1、单位阶跃信号,

2、单位冲激信号,

3、正弦信号,

4、实指数信号,

5、虚指数信号,

6、复指数信号。

二、用MATLAB实现信号的时域运算

1、相加,

2、相乘,

3、数乘,

4、微分,

5、积分

三、用MATLAB实现信号的时域变换(参数变化,分析波形变化)

1、反转,

2、使移(超时,延时),

3、展缩,

4、倒相,

5、综合变化

四、用MATLAB实现信号简单的时域分解

1、信号的交直流分解,

2、信号的奇偶分解

五、用MATLAB实现连续时间系统的卷积积分的仿真波形

给出几个典型例子,对每个例子,要求画出对应波形。

六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。

给出几个典型例子,四种调用格式。

七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。

目录

1.1 MATLAB设计目的 (1)

1.2 MATLAB语言特点 (1)

2常用连续时间信号的时域波形 (1)

2.1单位阶跃信号 (1)

2.2单位冲激信号 (2)

2.3正弦信号 (3)

2.4实指数信号 (4)

2.5虚指数信号 (5)

2.6复指数信号 (6)

3 连续时间信号的时域运算 (7)

3.1相加 (7)

3.2相乘 (8)

3.3数乘 (9)

3.4微分 (10)

3.5积分 (11)

4.1反转 (12)

4.2时移 (13)

4.3展缩 (14)

4.4倒相 (15)

4.5综合变化 (16)

5连续时间信号简单的时域分解 (17)

5.1信号的交直流分解 (17)

6连续时间系统的卷积积分的仿真波形 (20)

7连续时间系统的冲激响应、阶跃响应的仿真波形 (22)

7.1 IMPULSE()函数 (23)

7.2 STEP()函数 (27)

8连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形 (29)

8.1 正弦信号的零状态响应 (30)

8.2 实指数信号的零状态响应 (31)

9小结 (32)

1 MATLAB简介

1.1 MATLAB设计目的

深入研究连续时间信号和系统时域分析的理论知识。利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形

1.2 MATLAB语言特点

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的最重要特征使他拥有解决特定应用问题的程序组,也就是TOOLBOX(工具箱),如信号处理工具箱,控制系统工具箱、神经网络工具箱、模糊逻辑工具箱、通信工具箱和数据采集工具箱等许多专用工具箱,对大多数用户来说,要想灵活、高效地运用这些工具箱,通常都需要学习相应的专业知识。

2常用连续时间信号的时域波形

连续信号又称为模拟信号,其信号存在于整个时间范围内,包括单位阶跃信号,单位冲激信号,正弦信号,实指数信号,虚指数信号,复指数信号。

2.1单位阶跃信号

单位阶跃信号的定义如下:

单位阶跃信号的MATLAB程序:

>> t=-0.5:0.01:5;

>> t0=1.0;

>> q=stepfun(t,t0);

>> plot(t,q);

>> axis equal

其信号图如下:

2.2单位冲激信号MATLAB实现程序如下: >> t=-5:0.01:5;

>> a=(t==0);

>> plot(t,a);

信号图如下:

2.3正弦信号

正弦信号其MATLAB实现程序如下:>>t=-1:0.0001:1;

>>A=6;

>>f=5;

>>b=1;

>>u=A*sin(2*pi*f*t+b);

>>plot(t,u)

>>axis([-1 1 -6.5 6.5])

其信号图如下:

2.4实指数信号

实指数信号可由下面的表达式来表示:MATLAB实现程序如下:

>>t=0:0.002:3;

>>A=3;

>>a=0.5;

>>b=A*exp(a*t);

>>plot(t,b)

>>axis([-0.2 3.1 -0.2 14])

其信号图如下:

2.5虚指数信号

虚指数信号可由下面的表达式来表示:

A=2,的虚指数信号的MATLAB实现程序如下

>>t=0:0.001:20;

>>a=2;

>>w=pi/4;

>>b=a*exp(i*w*t);

>>subplot(221),plot(t,real(b)),axis([0, 20,-4,4]),title('实部') >>subplot(222),plot(t,imag(b)),axis([0,20,-4,4]),title('虚部') >>subplot(223),plot(t,abs(b)),axis([0,20,1,4]),title('模')

>>subplot(224),plot(t,angle(b)),axis([0,20,-4,4]),title('相角') 其信号图如下:

2.6复指数信号

复指数信号可由下面的表达式来表示:

MATLAB实现程序如下:

>>t=0:0.01:4;

>>a=-1;

>>A=1;

>>b=12;

>>c=A*exp((a+i*b)*t);

>>subplot(221),plot(t,real(c)),title('实部') >>subplot(222),plot(t,abs(c)),title('模') >>subplot(223),plot(t,imag(c)),title('虚部')

>>subplot(224),plot(t,angle(c)),title('相角')

其信号图如下:

3 连续时间信号的时域运算

3.1相加

要实现两信号的相加,即f(t)=f1(t)+f2(t)

f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相加的实现程序如下,>>t=-6:0.0001:10;

>>t0=2;

>>a=stepfun(t,t0);

>>b=sin(2*pi*t);

>>f=b+a;

>>plot(t,f)

>>axis([-6 10 -3 3])

其信号图如下:

3.2相乘

要实现两信号的相乘,即f(t)=f1(t)*f2(t)

f1(t)为单位阶跃信号,f2(t)为正弦信号,两信号相乘的实现程序如下:>>t=0:0.0001:5;

>>t0=0.5;

>>a=stepfun(t,t0);

>>b=sin(2*pi*t);

>>f=a.*b;

>>plot(t,f);

>>axis([0 5 -2 2]);

其信号图如下:

3.3数乘

要实现信号的数乘,即f(t)=A*f1(t)

A=3,f1(t)为单位阶跃信号,信号数乘的实现程序如下:>>t=0:0.0001:5;

>>a=3;

>>t0=1;

>>b=stepfun(t,t0);

>>f=a*b;

>>plot(t,f);

>>axis([-2 5 0 5]);

其信号图如下:

3.4微分

微分即求信号的导数。

对函数f(t)=t2求一阶微分的实现程序如下:>>t=-40:0.002:40;

>>a=t.*t;

>>d=diff(a);

>>subplot(211);

>>plot(t,a,'-');

>>subplot(212);

>>plot(d,'-');

其信号图如下:

3.5积分

对f(t)=t2函数的一次积分的实现程序如下:>>t=-2:0.1:2;

>>syms t;

>>f=t*t;

>>a=int(f);

>>subplot(211);

>>ezplot(f);

>>subplot(212);

>>ezplot(a);

其信号图如下:

4.1反转

信号的反转就是将信号的波形以某轴为对称轴翻转180?信号f(t)=t的反转MATLAB程序如下:

>>t=-10:1:10;

>>f=t;

>>a=fliplr(f);

>>h=flipud(f);

>>subplot(311);

>>plot(t,f);

>>axis([-2 2 -2 2]);

>>title('原');

>>subplot(312);

>>plot(t,a);

>>axis([-5 5 -5 5]);

>>title('上下');

>>subplot(313);

>>plot(t,h);

>>axis([-5 5 -5 5]);

>>title('左右’');

其信号图如下:

4.2时移

实现连续时间信号的时移即f(t-t0)或者f(t+t0),常数t0>0。余弦信号的时移实现程序如下:

>>t=0:0.0001:5;

>>y=cos(2*pi*t);

>>y1=cos(2*pi*(t-0.2));

>>plot(t,y,'-',t,y1);

>>axis([0 5 -1.5 1.5]);

其信号图如下:

4.3展缩

信号的展缩即将信号f(t)中的自变量t替换为at,a≠0。正切信号的展缩实现程序如下:

>>t=0:0.001:2;

>>a=1;

>>y=sin(2*pi*t);

>>y1=subs(y,t,a*t);

>>subplot(211);

>>ezplot(y);

>>subplot(212);

>>ezplot(y1);

其信号图如下:

4.4倒相

连续信号的倒相是指将信号f(t)以横轴为对称轴对折得到-f(t)。正弦信号的展缩实现程序如下:

>>t=0:0.0001:4;

>>y=cos(2*pi*t);

>>y1=-y;

>>subplot(211);

>>plot(t,y);

>>axis([0 4 -1.5 1.5]);

>>subplot(212);

>>plot(t,y1);

>>axis([0 4 -1.5 1.5]);

其信号图如下:

4.5综合变化

将f(t)=cos(t)/t通过反褶、移位、尺度变换由f(t)的波形得到f(-2t+3)的波形。该变化的实现程序如下

>>syms t;

>>f=sym('cos(t)/t');

>>f1=subs(f,t,t+2);

>>f2=subs(f1,t,1*t);

>>f3=subs(f2,t,-t);

>>subplot(221);ezplot(f,[-10,10]);

>>subplot(222);ezplot(f1,[-10,10]);

>>subplot(223);ezplot(f2,[-10,10]);

>>subplot(224);ezplot(f3,[-10,10]);

其信号图如下:

信号与系统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.数组的加减乘除和乘方运算 A=[1 2 3]; B=[4 5 6]; C=A+B; D=A-B; E=A.*B; F=A./B; G=A.^B; subplot(2,4,1);stem(A) subplot(2,4,2);stem(B) subplot(2,4,3);stem(C) subplot(2,4,4);stem(D) subplot(2,4,5);stem(E) subplot(2,4,6);stem(F) subplot(2,4,7);stem(G) 2.绘制函数波形 (1)t=0:0.001:10

x=3-exp(-t); plot(t,x) ylabel('f(t)'); xlabel('t'); title('(1)'); (2)t=0:0.001:10 x=5*exp(-t)+3*exp(-2*t); plot(t,x) ylabel('f(t)'); xlabel('t'); title('(2)');

(3)t=0:0.001:3 x=exp(-t).*sin(2*pi*t); plot(t,x) ylabel('f(t)'); xlabel('t'); title('(3)'); (4)t=0:0.001:3 x=sin(3*t)./(3*t);

plot(t,x) ylabel('f(t)'); xlabel('t'); title('(4)'); (5)k=1:1:6 x=(-2).^(-k); stem(k) xlabel('k'); ylabel('f(k)'); title('(5)');

信号分析与处理习题

2.1 有一个理想采样系统,其采样角频率Ωs =6π,采样后经理想低通滤波器H a (j Ω)还原,其中 ?? ???≥Ω<Ω=Ωππ 3032 1 )(,,j H a 现有两个输入,x 1(t )=cos2πt ,x 2(t )=cos5πt 。试问输出信号y 1(t ),y 2(t )有无失真?为什么? 分析:要想时域采样后能不失真地还原出原信号,则采样角频率Ωs 必须大于等于信号谱最高角频率Ωh 的2倍,即满足Ωs ≥2Ωh 。 解:已知采样角频率Ωs =6π,则由香农采样定理,可得 因为x 1(t )=cos2πt ,而频谱中最高角频率ππ π32621=< =Ωh ,所以y 1(t )无失真; 因为x 2(t )=cos5πt ,而频谱中最高角频率ππ π32 652=>=Ωh ,所以y 2(t )失真。 3.2 设x (n )的傅里叶变换为X (e j ω),试利用X (e j ω )表示下列序列的傅里叶变换: (1) )1()1()(1n x n x n x --+-= (2) )]()([2 1 )(2n x n x n x -+= * 分析:利用序列翻褶后的时移性质和线性性质来求解,即 )()(ωj e X n x ?,)()(ωj e X n x -?- )()(ωωj m j e X e n m x --?- 解:(1)由于)()]([ω j e X n x DTFT =,)()]([ωj e X n x DTFT -=-,则 )()]1([ωωj j e X e n x DTFT --=- )()]1([ωωj j e X e n x DTFT -=-- 故ωωωωω cos )(2])[()]([1j j j j e X e e e X n x DTFT ---=+= (2)由于)()]([ω j e X n x DTFT * * =- 故)](Re[2 ) ()()]([2ωωωj j j e X e X e X n x DTFT =+= * 3.7 试求下列有限长序列的N 点离散傅里叶变换(闭合形式表达式):

信号与系统 matlab答案

M2-3 (1) function yt=x(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); (2)function yt=x (t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); t=0:0.001:6; subplot(3,1,1) plot(t,x2_3(t)) title('x(t)') axis([0,6,-2,3]) subplot(3,1,2) plot(t,x2_3(0.5*t)) title('x(0.5t)') axis([0,11,-2,3]) subplot(3,1,3) plot(t,x2_3(2-0.5*t)) title('x(2-0.5t)') axis([-6,5,-2,3]) 图像为:

M2-5 (3) function y=un(k) y=(k>=0) untiled3.m k=[-2:10] xk=10*(0.5).^k.*un(k); stem(k,xk) title('x[k]') axis([-3,12,0,11])

M2-5 (6) k=[-10:10] xk=5*(0.8).^k.*cos((0.9)*pi*k) stem(k,xk) title('x[k]') grid on M2-7 A=1; t=-5:0.001:5; w0=6*pi; xt=A*cos(w0*t); plot(t,xt) hold on A=1; k=-5:5; w0=6*pi; xk=A*cos(w0*0.1*k); stem(k,xk) axis([-5.5,5.5,-1.2,1.2]) title('x1=cos(6*pi*t)&x1[k]')

实验连续时间信号与系统的基本表示与分析

实验1 连续时间信号与系统的基本表示与 分析 实验目的: 1. 了解并掌握用Matlab 分析信号与系统时用到的主要基本知识; 2. 掌握用matlab 表示常见的连续信号,并进行信号的基本运算 3. 熟悉使用Matlab 分析系统的方法。 实验内容: 1. 画出下列连续信号的波形 (1)()() 2()t x t e u t -=- (2)[](1) ()(1)(2)t x t e u t u t --=--- (3)()cos(10)()t x t e t u t π-= 2. 判断系统是否为线性系统,是否具有时不变特性。 (1)()(2)y t x t = (2)()2 ()y t x t = 指导资料: 1.1MATLAB 的基础知识 1.1.1数据的表示和运算 MATLAB 中,变量可以通过变大时直接赋值,例如直接输入 >>a=2+2 得到的结果为 a=4 如果输入的表达式后面加上分号“;”,那么结果就不会显示出来。由于MA TLAB 的变量名对字母大小写敏感,因此“a ”和“A ”是两个不同的变量名。 MATLAB 主要用到以下数值运算符: + 加 - 减 * 乘 / 除 ^ 乘方(幂)

' (矩阵)转置 这些符号可以对数值或已经定义过的变量进行运算,并给变量直接赋值。例如,假设变量“a”在上面已经定义过,则 >>b=2*a 得到的结果为 b=8 MATLAB中有一些预定义的变量可以直接使用。信号与系统中常用的变量有: i或j 1 pi π(3.1415926……) 在信号与系统中,常用以下函数进行计算和对变量的赋值: abs 数值的大小(实数的绝对值) angel 复数的角度,以弧度表示 real 求复数的实部 imag 求复数的虚部 cos 余弦函数,假设角度是弧度值 sin 正弦函数,假设角度是弧度制 exp 指数海曙 sqrt 求平方根 例如: >>y=2*(1+4*i) y=2.000+8.000i >>c=abs(y) c=8.2462 >>d=angle(y) d=1.3258 1.1.2矩阵的表示和运算 MATLAB是基于矩阵和向量的代数运算,甚至标量也可以看做是1×1 的矩阵,因此,MATLAB中对矩阵和向量的操作比较简单。 向量可以用两种方法定义。第一种是指定元素建立向量: v = [1 3 5 7]; 这个命令创建了一个1×4 的行向量,元素为1,3,5和7.可以用逗号代替空格来分隔元素: v = [1,3,5,7]; 如果要增加向量的元素,可以表示为 v(5) = 8 得到的向量为v = [1 3 5 7 8]。前面定义过的向量还可以用来定义新的向量,例如,前面已经定义过的向量v ,再定义向量a和b: a = [9 10]; b = [ v a]; 得到向量b为

matlab信号与系统代码整理

连续时间系统 (1) 离散时间系统 (2) 拉普拉斯变换 (4) Z变换 (5) 傅里叶 (7) 连续时间系统 %%%%%%%%%%向量法%%%%%%%%%%%%%%%% t1=-2:0.01:5; f1=4*sin(2*pi*t1-pi/4); figure(1) subplot(2,2,1),plot(t1,f1),grid on %%%%%%%%%符号运算法%%%%%%%%%%%% syms t f1=sym('4*sin(2*pi*t-pi/4)'); figure(2) subplot(2,2,1),ezplot(f1,[-2 5])跟plot相比,ezplot不用指定t,自动生成。axis([-5,5,-0.1,1])控制坐标轴的范围xx,yy; 求一个函数的各种响应 Y’’(t)+4y’(t)+2y(t)=f”(t)+3f(t) %P187 第一题 %(2) clear all; a1=[1 4 2]; b1=[1 0 3]; [A1,B1,C1,D1]=tf2ss(b1,a1); t1=0:0.01:10; x1=exp(-t1).*Heaviside(t1); rc1=[2 1];(起始条件) figure(1) subplot(3,1,1),initial(A1,B1,C1,D1,rc1,t1);title('零输入响应') subplot(3,1,2),lsim(A1,B1,C1,D1,x1,t1);title('零状态响应') subplot(3,1,3),lsim(A1,B1,C1,D1,x1,t1,rc1);title('全响应') Y=lsim(A1,B1,C1,D1,x1,t1,rc1);title('全响应')则是输出数值解 subplot(2,1,1),impulse(b1,a1,t1:t:t2可加),grid on,title('冲激响应') subplot(2,1,2),step(b1,a1,t1:t:t2可加),grid on,title('阶跃响应') 卷积 %第九题 P189 clear all; %(1) t1=-1:0.01:3;

连续时间信号傅里叶级数分析及MAtlAB实现

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 连续时间信号傅里叶级数分析及MATLAB实现 初始条件: MATLAB 6.5 要求完成的主要任务: 深入研究连续时间信号傅里叶级数分析的理论知识,利用MA TLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。 1.用MATLAB实现周期信号的傅里叶级数分解与综合。 2.用MATLAB实现周期信号的单边频谱及双边频谱。 3.用MATLAB实现典型周期信号的频谱。 4.撰写《MATLAB应用实践》课程设计说明书。 时间安排: 学习MATLAB语言的概况第1天 学习MATLAB语言的基本知识第2、3天 学习MATLAB语言的应用环境,调试命令,绘图能力第4、5天 课程设计第6-9天 答辩第10天 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要................................................................................................................................................ I Abstract .......................................................................................................................................... II 绪论. (1) 1 MATLAB简介 (2) 1.1 MATLAB语言功能 (2) 1.2 MATLAB语言特点 (2) 2 傅里叶级数基本原理概要 (4) 2.1 周期信号的傅里叶分解 (4) 2.2 三角形式和指数形式傅里叶级数及各系数间的关系 (4) 2.3 周期信号的频谱 (5) 3 用MATLAB实现周期信号的傅立叶级数分解与综合 (6) 3.1 合成波形与原波形之间的关系 (6) 3.2 吉布斯现象 (6) 4 用MATLAB实现周期信号的单边频谱及双边频谱。 (8) 4.1 单边,双边(幅度,相位)频谱及其关系 (8) 4.1.1单边,双边(幅度,相位) (8) 4.1.2 单边,双边频谱关系 (9) 4.2以单边幅度频谱为例,研究脉冲宽度与频谱的关系 (10) 4.3以单边幅度频谱为例,研究脉冲周期与频谱的关系 (11) 5用MATLAB实现典型周期信号的频谱 (13) 5.1 周期方波脉冲频谱的MATLAB实现 (13) 5.2 周期三角波脉冲频谱的MATLAB 实现 (14) 6 小结及心得体会 (17) 参考文献 (18) 附录: (19)

信号分析与处理课后习题答案

信号分析与处理课后习题答案 第五章快速傅里叶变换 1.如果一台通用计算机的速度为平均每次复乘需要50us ,每次复加需要10us ,用来就散N=1024点的DFT ,问: (1)直接计算需要多少时间?用FFT 计算呢? (2)照这样计算,用FFT 计算快速卷积对信号进行处理是,估计可实现实时处理的信号最高频率? 解: 分析:直接利用DFT 计算:复乘次数为N 2,复加次数为N(N-1); 利用FFT 计算:复乘次数为20.5log N N ,复加次数为2log N N ; (1) 直接DFT 计算: 复乘所需时间2215010245052.4288T N us us s =?=?= 复加所需时间2(1)101024(10241)1010.47552T N N us us s =-?=-?= 所以总时间1262.90432DFT T T T s =+= FFT 计算: 复乘所需时间3220.5log 500.51024log 1024500.256T N N us us s =?=???= 复加所需时间422log 101024log 1024100.1024T N N us us s =?=??= 所以总时间为340.3584FFT T T T s =+= (2) 假设计算两个N 长序列1()x n 和2()x n 的卷积 计算过程为如下: 第一步:求1()X k ,2()X k ;所需时间为2FFT T ? 第二步:计算12()()()X k X k X k =?,共需要N 次复乘运算 所需时间为501024500.0512To N us us s =?=?= 第三步:计算(())IFFT X k ,所需时间为FFT T 所以总时间为230.35840.0512 1.1264FFT T T To s s s =?+=?+= 容许计算信号频率为N/T=911.3Hz 2.设x(n)是长度为2N 的有限长实序列,()X k 为x(n)的2N 点得DFT 。

信号与系统MATLAB实验

《信号与系统及MATLAB实现》实验指导书

前言 长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MATLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。 MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB 再多了解一些。 MATLAB究竟有那些特点呢? 1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来; 2.完备的图形处理功能,实现计算结果和编程的可视化; 3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握; 4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具; MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。正是基于这些背景,我们编写了这本《信号与系统及MATLAB实现》指导书,内容包括信号的MATLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。通过这些练习,同学们在学习《信号与系统》的同时,掌握MATLAB的基本应用,学会应用MATLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、

难点及部分习题用MATLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。 实验一基本信号在MATLAB中的表示和运算 一、实验目的 1.学会用MATLAB表示常用连续信号的方法; 2.学会用MATLAB进行信号基本运算的方法; 二、实验原理 1.连续信号的MATLAB表示 MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。 表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。 例1-1指数信号指数信号在MATLAB中用exp函数表示。 如at )(,调用格式为ft=A*exp(a*t) 程序是 f t Ae

(完整word版)连续时间信号分析答案

实验一 连续时间信号分析 一、实验目的 (一)掌握使用Matlab 表示连续时间信号 1、学会运用Matlab 表示常用连续时间信号的方法 2、观察并熟悉常用信号的波形和特性 (二)掌握使用Matlab 进行连续时间信号的相关运算 1、学会运用Matlab 进行连续时间信号的时移、反褶和尺度变换 2、学会运用Matlab 进行连续时间信号微分、积分运算 3、学会运用Matlab 进行连续时间信号相加、相乘运算 4、学会运用Matlab 进行连续时间信号卷积运算 二、实验条件 一台电脑、winXP 系统、matlab7.0软件 三、实验内容 1、利用Matlab 命令画出下列连续信号的波形图。 (1))4/3t (2cos π+ 代码: clear all;close all;clc; K=2;a=3; t=0:0.01:3; ft=K*cos(a*t+pi/4); plot(t,ft),grid on axis([-5,5,-2.2,2.2]) title('2cos(3t+4π)')

-5 -4 -3 -2 -1 1 2 3 4 5 -2-1.5-1-0.500.511.5 22cos(3t+4π) (2) )t (u )e 2(t -- -3 -2-10123 -3 -2 -1 1 2 3 指数信号与阶跃信号的乘积

代码: 函数文件: function f=uCT(t) f=(t>=0); 命令文件: clear all;close all;clc; a=-1; t=-5:0.01:5; ft=(2-exp(a*t)).*uCT(t); %y=2-exp(a*t); %plot(t,y),grid on plot(t,ft),grid on axis([-3,3,-3,3]); title('指数信号与阶跃信号的乘积') (3))]2()(u )][t (cos 1[--+t u t π

《信号分析与处理》(第二版)-徐科军、黄云志-课后标准答案

《信号分析与处理》(第二版)-徐科军、黄云志-课后答案

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

Chap1. 1.4 ()()()()()()()()()()()() ()()()()()()()121 2 122 12112 2 121 2 2 2y 11102 y 0.5111 y 0.5 1.513y 0 13 013 y 0.5111 0.5 1.513t t t t t x t x t x x t d x x t x x t d t d t t t x x t d t d t t t t t or t t or t t t t t t t τττ ττττ τττττττττττ+∞ -∞ ----=*=-=-≤≤???=≤≤??=-= -=+-<≤=-= -=-++<<=≤-≥≤-≥??=+-<≤??-++<

()()[] ()()()[]()()()∑∞ =? ? ? ???Ω-Ω-+=- =-= =??? ??<≤<≤-=1002212 2 01cos cos cos 1cos 141cos 1cos 1 5 .0202 20 (a)n n n t n n n t n n n t x n n b n n a a T t t T t T t x πππππ πππ 代入公式得: ()() ()()() ()[] ()()[]()()∑∞ =Ω-? ? ? ???Ω-Ω-+=- =-= ==Ω=Ω-=1002222 2 012 212cos 1cos cos 11411cos 11 5.0cos 2 (b)n n n T jn t n n t n n n t x n b n n a a n n X e n X T t x t x πππππππ得到:根据时移性质: ()() ()()()[]()()[]() ∑?∑∞ =-∞ =Ω-+=-=Ω==Ω+=102232 20 2 0201 00 3cos cos 12 21cos 12cos 41 cos 2 (c)n T n n n t n n n t x n n dt t n t x T a a t n a a t x ππ ππ偶对称, 1.12 ()()dt e t x j X t j ?+∞ ∞ -Ω-=Ω频谱密度函数:

信号与系统MATLAB实验报告

实验报告 实验课程:信号与系统—Matlab综合实验学生姓名: 学号: 专业班级: 2012年5月20日

基本编程与simulink仿真实验 1—1编写函数(function)∑=m n k n 1并调用地址求和∑∑∑===++100 11-8015012 n n n n n n 。实验程序: Function sum=qiuhe(m,k)Sum=0For i=1:m Sum=sum+i^k End 实验结果; qiuhe(50,2)+qiuhe(80,1)+qiuhe(100,-1) ans=4.6170e+004。 1-2试利用两种方式求解微分方程响应 (1)用simulink对下列微分方程进行系统仿真并得到输出波形。(2)编程求解(转移函数tf)利用plot函数画图,比较simulink图和plot图。)()(4)(6)(5)(d 22t e t e d d t r t r d d t r d t t t +=++在e(t)分别取u(t)、S(t)和sin(20пt)时的情况! 试验过程 (1)

(2) a=[1,5,6]; b=[4,1]; sys=tf(b,a); t=[0:0.1:10]; step(sys)

连续时间系统的时域分析3-1、已知某系统的微分方程:)()()()()(d 2t e t e d t r t r d t r t t t +=++分别用两种方法计算其冲激响应和阶跃响应,对比理论结果进行验证。 实验程序: a=[1,1,1];b=[1,1];sys=tf(b,a);t=[0:0.01:10];figure;subplot(2,2,1);step(sys);subplot(2,2,2);x_step=zeros(size(t));x_step(t>0)=1;x_step(t==0)=1/2;lsim(sys,x_step,t);subplot(2,2,3);impulse(sys,t);title('Impulse Response');xlabel('Time(sec)');ylabel('Amplitude');subplot(2,2,4);x_delta=zeros(size(t));x_delta(t==0)=100;[y1,t]=lsim(sys,x_delta,t);y2=y1;plot(t,y2);title('Impulse Response');

信号与系统作业

实验一常用连续时间信号的实现 一、实验目的 (1)了解连续时间信号的特点; (2)掌握连续时间信号表示的向量法和符号法; (3)熟悉MA TLABPlot函数等的应用。 二、涉及的MATLAB函数 1.plot函数 功能:在X轴和Y轴方向都按线性比例绘制成二维图形。 2.ezplot函数 功能:绘制符号函数在一定范围内的二维图形,简易绘制函数曲线。 3.Sym函数 功能:定义信号为符号变量。 4.subplot函数 功能:产生多个绘图区间。 三、实验内容与方法 1.正弦交流信号f(t)=sin(ωt+φ) (1)符号推理法生成正弦交流信号。 MATLAB程序:. t=-0:0.001:1; f=sym('sin(2*pi*t)'); ezplot(f,[0,1]); xlabel('时间(t)'); ylabei('幅值(f)'); title(‘正弦交流信号'); 用符号法生成的正弦交流信号如图所示:

(2)数值法生成正弦交流信号。 MATLAB程序:. t=-0:0.001:1; y=sin(2*pi*t); plot(t,y,'k'); xlabel('时间(t)'); ylabei('幅值(f)'); title('正弦交流信号'); 用数值法生成的正弦交流信号如图所示: 2.单边衰减指数信号. MATLAB程序: t1=-1;t2=10;dt=0.1; t=t1:dt:t2; A1=1; %斜率 a1=0.5; %斜率 n=A1*exp(-a1*t); plot(t,n); axis([t1,t2,0,1]); xlabel('时间(t)'); ylabel('幅值(f)'); title('单边衰减指数信号'); 用数值法生成的单边衰减指数信号如图所示:

实验项目五:表示信号与系统的MATLAB函数、工具箱

电子科技大学 实 验 报 告 学生姓名: 学号: 指导老师: 日期:2016年 12月25 日

一、实验室名称: 科研楼a306 二、实验项目名称: 实验项目五:表示信号与系统的MATLAB 函数、工具箱 三、实验原理: 利用MATLAB 强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB 函数来构成信号。常见的基本信号可以简要归纳如下: 1、单位抽样序列 ???=01 )(n δ 00≠=n n 在MATLAB 中可以利用zeros()函数实现。 ; 1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-01)(k n δ 0≠=n k n 2、单位阶跃序列 ???0 1)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。 );,1(N ones x = 3、正弦序列 )/2sin()(?π+=Fs fn A n x 采用MATLAB 实现 )/***2sin(*1:0fai Fs n f pi A x N n +=-= 4、复正弦序列

n j e n x ?=)( 采用MATLAB 实现 )**exp(1 :0n w j x N n =-= 5、指数序列 n a n x =)( 采用MATLAB 实现 n a x N n .^1 :0=-= 四、实验目的: 目的:1、加深对常用离散信号的理解; 2、熟悉表示信号的基本MATLAB 函数。 任务:基本MATLAB 函数产生离散信号;基本信号之间的简单运算;判断信 号周期。 五、实验内容: MATLAB 仿真 实验步骤: 1、编制程序产生上述5种信号(长度可输入确定),并绘出其图形。 2、在310≤≤n 内画出下面每一个信号: 1223[]sin()cos() 44[]cos ()4 []sin()cos()48n n x n n x n n n x n πππππ=== 六、实验器材: 计算机、matlab 软件、C++软件等。 七、实验数据及结果分析: 实验1: 单位抽样序列

连续时间信号和系统时域分析及MATLAB实现[精编版]

连续时间信号和系统时域分析及MATLAB实 现[精编版] MATLAB课程设计任务书 姓名:王** 学号:2010******010 题目:

连续时间信号和系统时域分析及MATLAB实现 初始条件: MATLAB 7.5.0 ,Windows XP系统 实验任务: 一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。 1、单位阶跃信号, 2、单位冲激信号, 3、正弦信号, 4、实指数信号, 5、虚指数信号, 6、复指数信号。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘, 4、微分, 5、积分 三、用MATLAB实现信号的时域变换(参数变化,分析波形变化) 1、反转, 2、使移(超时,延时), 3、展缩, 4、倒相, 5、综合变化 四、用MATLAB实现信号简单的时域分解 1、信号的交直流分解, 2、信号的奇偶分解 五、用MATLAB实现连续时间系统的卷积积分的仿真波形 给出几个典型例子,对每个例子,要求画出对应波形。 六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。 给出几个典型例子,四种调用格式。 七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。 目录

1.1 MATLAB设计目的 (1) 1.2 MATLAB语言特点 (1) 2常用连续时间信号的时域波形 (1) 2.1单位阶跃信号 (1) 2.2单位冲激信号 (2) 2.3正弦信号 (3) 2.4实指数信号 (4) 2.5虚指数信号 (5) 2.6复指数信号 (6) 3 连续时间信号的时域运算 (7) 3.1相加 (7) 3.2相乘 (8) 3.3数乘 (9) 3.4微分 (10) 3.5积分 (11) 4.1反转 (12) 4.2时移 (13) 4.3展缩 (14) 4.4倒相 (15) 4.5综合变化 (16) 5连续时间信号简单的时域分解 (17) 5.1信号的交直流分解 (17)

信号与系统课后matlab作业.

(1) t=-2:0.001:4; T=2; xt=rectpuls(t-1,T); plot(t,xt) axis([-2,4,-0.5,1.5]) 图象为: (2) t=sym('t'); y=Heaviside(t); ezplot(y,[-1,1]); grid on axis([-1 1 -0.1 1.1]) 图象为:

A=10;a=-1;B=5;b=-2; t=0:0.001:10; xt=A*exp(a*t)-B*exp(b*t); plot(t,xt) 图象为: (4) t=sym('t'); y=t*Heaviside(t); ezplot(y,[-1,3]); grid on axis([-1 3 -0.1 3.1]) 图象为:

A=2;w0=10*pi;phi=pi/6; t=0:0.001:0.5; xt=abs(A*sin(w0*t+phi)); plot(t,xt) 图象为: (6) A=1;w0=1;B=1;w1=2*pi; t=0:0.001:20; xt=A*cos(w0*t)+B*sin(w1*t); plot(t,xt) 图象为:

A=4;a=-0.5;w0=2*pi; t=0:0.001:10; xt=A*exp(a*t).*cos(w0*t); plot(t,xt) 图象为: (8) w0=30; t=-15:0.001:15; xt=cos(w0*t).*sinc(t/pi); plot(t,xt) axis([-15,15,-1.1,1.1]) 图象为:

(1)function yt=x2_3(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); (2)function yt=x2_3(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); t=0:0.001:6; subplot(3,1,1) plot(t,x2_3(t)) title('x(t)') axis([0,6,-2,3]) subplot(3,1,2) plot(t,x2_3(0.5*t)) title('x(0.5t)') axis([0,11,-2,3]) subplot(3,1,3) plot(t,x2_3(2-0.5*t)) title('x(2-0.5t)') axis([-6,5,-2,3]) 图像为:

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

实验二 连续时间信号的频域分析 一、实验目的 1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法; 2、观察截短傅里叶级数而产生的“Gibbs 现象”,了解其特点以及产生的原因; 3、掌握连续时间傅里叶变换的分析方法及其物理意义; 4、掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质; 5、学习掌握利用Matlab 语言编写计算CTFS 、CTFT 和DTFT 的仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证CTFT 、DTFT 的若干重要性质。 基本要求:掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用Matlab 编程完成相关的傅里叶变换的计算。 二、原理说明 1、连续时间周期信号的傅里叶级数CTFS 分析 任何一个周期为T 1的正弦周期信号,只要满足狄利克利条件,就可以展开成傅里叶级数。 三角傅里叶级数为: ∑∞ =++=1000)]sin()cos([)(k k k t k b t k a a t x ωω 2.1 或: ∑∞ =++ =1 00)cos()(k k k t k c a t x ?ω 2.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 。

信号与系统实验(MATLAB版) (1)

《信号与系统MATLAB实现》实验指导书 电气信息工程学院 2014年2月

长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MA TLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。 MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB 再多了解一些。 MATLAB究竟有那些特点呢? 1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来; 2.完备的图形处理功能,实现计算结果和编程的可视化; 3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握; 4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具; MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。正是基于这些背景,我们编写了这本《信号与系统及MATLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。通过这些练习,同学们在学习《信号与系统》的同时,掌握MATLAB的基本应用,学会应用MATLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MATLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。

连续时间信号的频域分析(信号与系统课设).

福建农林大学计算机与信息学院 信息工程类 课程设计报告 课程名称:信号与系统 课程设计题目:连续时间信号的频域分析 姓名: 系:电子信息工程 专业:电子信息工程 年级:2008 学号: 指导教师: 职称: 2011 年 1 月10 日

福建农林大学计算机与信息学院信息工程类 课程设计结果评定

目录 1课程设计的目的 (1) 2课程设计的要求 (1) 3课程设计报告内容.....................................................................1-13 3.1连续信号的设计..................................................................1-11 3.2验证傅里叶变换的调制定理 (11) 3.3周期信号及其频谱 (12) 4总结 (13) 参考文献 (14)

连续时间信号的频域分析 1.课程设计的目的 (1)熟悉MATLAB语言的编程方法及MATLAB指令; (2)掌握连续时间信号的基本概念; (3)掌握门函数、指数信号和抽样信号的表达式和波形; (4)掌握连续时间信号的傅里叶变换及其性质; (5)掌握连续时间信号频谱的概念以及幅度谱、相位谱的表示; (6)掌握利用MATLAB进行信号的傅里叶变换以及时域波形和频谱的表示;(7)通过连续时间信号的频域分析,更深刻地理解了连续时间信号的时域和频域间的关系,加深了对连续时间信号的理解。 2.课程设计的要求 (1)自行设计以下连续信号:门函数、指数信号和抽样信号。要求:(a)画出以上信号的时域波形图; (b)实现以上信号的傅里叶变换,画出以上信号的幅度谱及相位谱,并对相关结果予以理论分析; (c)对其中一个信号进行时移和尺度变换,分别求变换后信号的傅里叶变换,验证傅里叶变换的时移和尺度变换性质。 (2)自行设计信号,验证傅里叶变换的调制定理。 (3)自行设计一个周期信号,绘出该信号的频谱,并观察周期信号频谱的特点。 3.课程设计报告内容 3.1(a)①门函数(矩形脉冲): MATLAB中矩形脉冲信号用rectpuls函数表示: y=rectpuls (t,width) %width缺省值为1 >> t=-2:0.001:2; T=2; yt=rectpuls (t,T); plot(t,yt); axis([-2,2,0,1.5]); grid on; %显示格线

相关文档
最新文档