当前位置:文档之家› MATLAB实验三 信号的表示(优选.)

MATLAB实验三 信号的表示(优选.)

MATLAB实验三 信号的表示(优选.)
MATLAB实验三 信号的表示(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word 文本 --------------------- 方便更改 赠人玫瑰,手留余香。

课程名称: Matlab 语言 开设时间:2016—2017学年第 2 学期

专业班级: 学生学号: 学生姓名: 实验名称: 实验三、信号的表示与运算 实验成绩: 指导教师: 批改时间:

一、实验目的和要求

掌握连续与离散信号的常见处理方法 掌握数值方法计算连续信号的卷积的方法

二、实验原理 2.1 MATLAB 基础

(具体内容见相关指导书)

2.2信号在MATLAB 中的表示

例1:用MATLAB 命令产生单边衰减指数信号)(2)(5.1t u e t f t -=,并绘出时间范围在30≤≤t 的波形图。

解:MATLAB 程序如下,产生的图形如图1所示。

t = 0: 0.01 : 3;

ft = 2 * exp(-1.5 * t);

plot(t,ft,'Linewidth',2);grid;axis([0,3,0 2.5]) xlabel('t(sec)');title('单边指数衰减信号');

t(sec)

单边指数衰减信号

图1 例1程序产生的图形

例2:用MATLAB 命令产生正弦信号)4

2sin(2)(π

π+=t t f ,并绘出时间范围

在30≤≤t 的波形图。

解:MATLAB 程序如下,产生的图形如图2所示。

t = 0:0.01:3;

ft = 2 * sin(2*pi*t + pi/4); plot(t,ft,'Linewidth',2); axis([0 3 -2.5 2.5]);grid title('正弦信号');xlabel('t(秒)');

正弦信号

t(秒)

图2 例2程序产生的正弦信号波形图

例3:用MATLAB 命令画出复指数信号t j e t f )105.1(2)(+-=的实部、虚部、模及相角随时间变化的曲线,并观察其时域特性。(时间范围:30≤≤t )

解:MATLAB 程序如下,产生的图形如图3所示。

t = 0:0.01:3;

ft = 2 * exp((-1.5 + j * 10) * t);

subplot(221); plot(t,real(ft),'Linewidth',2); title('实部');axis([0 3 -2 2]);grid;

subplot(222); plot(t,imag(ft),'Linewidth',2); title('虚部');axis([0 3 -2 2]);grid;

subplot(223); plot(t,abs(ft),'Linewidth',2); title('模');axis([0,3,0,2]);grid;

subplot(224); plot(t,angle(ft) / pi * 180,'Linewidth',2); title('相角(度)');axis([0 3 -200 200]);grid;

实部虚部

模相角(度)

例4:用MATLAB命令构建一个能够产生单位阶跃信号)

u的函数,函数名

(t

为uCT.m,并绘出时间范围在5

-t内的阶跃信号波形图。

1≤

解:先定义函数如下:

function f = uCT(t)

f = (t >= 0);

绘制阶跃信号波形图的程序如下,图形如图4所示。

t = -1:0.001:5; ft = uCT(t);

plot(t,ft,'Linewidth',2); grid; axis([-1 5 -0.5 1.5]);

title('单位阶跃信号'); xlabel('t(sec)');

单位阶跃信号

t(sec)

图4 例4产生的单位阶跃信号波形图

例5:用例4中构建的函数实现幅度为1、宽度为1的门函数)

g。

(t 解:MATLAB程序为:

t = -2:0.001:2;

ft = uCT(t + 0.5) - uCT(t - 0.5);

plot(t,ft,'Linewidth',2); grid;

axis([-1.5 1.5 -0.5 1.5]); title('门函数');

门函数

2.3信号在MATLAB 中的运算

关于信号相加、相乘、平移、反转、尺度变换等运算的基本原理请参阅教材p.8-11。

例6:已知t t f Ω=sin )(1,t t f Ω=8sin )(2,试用MATLAB 命令绘出

)()(21t f t f +和)()(21t f t f ?的波形图,其中Hz 12=Ω

=

π

f 。

(时间范围:30≤≤t )

解:MATLAB 程序如下,产生的图形如图6所示。

close all clear all f = 1; t = 0:0.01:3;

f1 = sin(2 * pi * f * t); f2 = sin(2 * pi * 8 * f * t);

subplot(211); plot(t,f1,t,f1 + f2,'Linewidth',2);grid;

legend('f_1','f_1+f_2');title('f_1(t) + f_2(t)');axis([0 3 -2 2]);

subplot(212);plot(t,f1,t,f1.*f2,'Linewidth',2);grid;

legend('f_1','f_1*f_2');title('f_1(t) * f_2(t)');axis([0 3 -2 2]);

图6 例6产生的波形

例7:已知信号)

(t

f的波形如图7所示,试用MATLAB命令画出)2

f、

(-

t

(-

3

-t

f的波形图。

f、)

f-和)2

)

3(t

(t

f(t)

f的波形

(t

解:先建立)

f函数:

(t

function f = funct1(t)

f = uCT(t+2) - uCT(t) + (-t+1) .* (uCT(t) - uCT(t-1));

调用上述函数来绘制所求信号的波形,程序如下。产生的图形如图8所示。

close all

clear all

t = -2:0.001:4;

ft1 = funct1(t - 2); ft2 = funct1(3 * t);

ft3 = funct1(-t); ft4 = funct1(-3 * t - 2);

subplot(221);plot(t,ft1,'Linewidth',2);grid;

title('f(t-2)');axis([-2 4 -0.5 2]);

subplot(222);plot(t,ft2,'Linewidth',2);grid

title('f(3t)');axis([-2 4 -0.5 2]);

subplot(223);plot(t,ft3,'Linewidth',2);grid;

title('f(-t)');axis([-2 4 -0.5 2]);

subplot(224);plot(t,ft4,'Linewidth',2);grid;

title('f(-3t-2)');axis([-2 4 -0.5 2]);

f(t-2)

f(3t)

f(-t)

f(-3t-2)

图8 例7产生的波形

三、实验要求:

1)用两种方法实现g 4(t).

2)用两种方法实现单位序列δ(n-5)

3) ()()60.5n x n R n =是一个6位离散序列,编程实现序列()n x ,延迟信号

()2x n -,周期延拓信号()()()6N x n R n ,延迟信号的周期延拓()()()62N x n R n -。

要求:1、程序开头有注释语句说明程序作用,参数作用,2、每个语句后面有注释语句会说明句子的作用或者原理或者方法。

四、实验结果与分析

1)用两种方法实现g4(t).

方法一:

先定义函数如下:

function f = uCT(t)

f = (t >= 0);

t = -2:0.001:2;

ft = uCT(t + 2) - uCT(t - 2);

plot(t,ft,'Linewidth',2); grid;

axis([-3 1.5 -0.5 3]); title('门函数');

方法二:

f=@(t)(heaviside(t+2)-heaviside(t-2));

>> ezplot(f,[-10, 10])

2)用两种方法实现单位序列δ(n-5)

方法一:

>> k1=0;k2=10;k0=-5;k=k1:k2;n=length(k); >> f=zeros(1,n);

>> f(1,-k0-k1+1)=1

>> stem(k,f,'filled');

>> axis([k1,k2,0,1.5])

方法二:

function(x,n)=impseq(5,-1,6);

n=[-1:6];x=[(n-5)==0];

3)

%编程实现序列x(n)、延迟信号x(n-2)、周期延拓x((n))_6、延迟信号的周期延拓信号x((n-2))_6

>> N=24;M=6;m=2; %对N、M、m赋值

>> n=0:N-1; %对矩阵n赋值

>> x1=(0.5).^n; %生成指数序列

>> x2=[(n>=0)&n

>> x=x1.*x2; %截取操作形成新序列x(n)

>> xm=zeros(1,N);

>> for k=m+1:m+M

xm(k)=x(k-m); %产生序列移位x(n-2)

end;

>> xc=x(mod(n,M)+1); %产生x(n)的周期延拓x((n))_6

>> xcm=x(mod(n-m,M)+1); %产生x(n-2)的周期延拓x((n-2))_6

>> subplot(4,1,1),stem(n,x,'.');ylabel('x(n)');%画出序列x(n)的图形,标注y轴“x(n)”

>> subplot(4,1,2),stem(n,xm,'.');ylabel('x(n-2)');%画出序列x(n-2)的图形,标注y轴“x(n-2)”>> subplot(4,1,3),stem(n,xc,'.');ylabel('x((n))_6');%画出序列x((n))的图形,标注y轴“x((n))_6”

>> subplot(4,1,4),stem(n,xcm,'.');ylabel('x((n-2))_6');%画出序列x((n-2))的图形,标注y轴“x((n-2))_6”

五、心得体会

在本次实验中,我学会了常见信号的表示如正弦信号、单位脉冲序列、单位阶跃序列等和信号的基本运算如信号的相加与相乘、序列延迟与周期延拓

运算。除此之外,门函数可以通过单位阶跃函数相减得到,如宽度为4的门函数可以通过ε(t+2)-ε(t-2)得到。信号可以进行移位运算,如δ(t-5)可以通过δ(t)右移5个单位。复杂信号可以通过简单信号的基本运算得到,如加减乘除、移位等基本运算。

最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改

赠人玫瑰,手留余香。

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