熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx

上传人:b****6 文档编号:7400420 上传时间:2023-01-23 格式:DOCX 页数:19 大小:308.39KB
下载 相关 举报
熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx_第1页
第1页 / 共19页
熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx_第2页
第2页 / 共19页
熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx_第3页
第3页 / 共19页
熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx_第4页
第4页 / 共19页
熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx

《熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx》由会员分享,可在线阅读,更多相关《熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx(19页珍藏版)》请在冰豆网上搜索。

熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.docx

熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形

 

实验目的:

熟悉MATLAB软件的相关函数的使用方法、各种信号的时域波形。

实验容:

1、用MATLAB软件绘制各类典型信号的时域波形并且给出程序源代码。

(1)指数信号、指数序列;

(2)单位阶跃函数、单位阶跃序列;

(3)单位脉冲信号;单位抽样序列;

(4)矩形信号,矩形序列信号,矩形宽度自定;

(5)正弦信号、正弦序列,其中振幅和频率自选;

2、假设存在一个单边离散指数序列

,参数自选;

为随机噪声,方差和均值自选;绘制

的图形

3、绘制你所采集的电信号的时域波形(部分即可),进行必要的说明和分析

4、选作提高:

编写一个程序,运行后可以在键盘上依次任意输入两个序列,计算两个序列的线性卷积,并输出计算结果。

(相关函数:

input,conv)

实现方案:

(1)指数信号、指数序列

1、指数信号分为实指数信号和复指数信号,其中实指数信号的基本形式为。

其中,K、a为实数。

当a>0时,实指数信号随时间按指数式增长;当a<0时,实指数信号随时间按指数式衰减;当a=0时,实指数信号不随时间变化,转化为直流信号。

MATLAB中用exp函数来表示实指数信号,语句表示为y=K*exp(a*t).

下面用MATLAB命令产生单边递增指数信号,当0<=t<=5的波形图。

MATLAB源程序为:

K=3;a=2;

t=0:

0.01:

5;

y=K*exp(a*t);

plot(t,y),gridon

程序运行后,产生如下图所示的波形。

2、复指数信号

复指数信号的基本形式为

其中,

是复变量;、为实数。

当=0时,为一个实指数信号;当时,的实部和虚部分别是按指数规律衰减的正弦振荡;当时,的实部和虚部均为等幅的正弦振荡。

下面用MATLAB生成复指数信号,0<=t<=3的波形。

源程序为:

t=0:

0.01:

5;

y=K*exp(a*t);

plot(t,y),gridon

t=0:

0.01:

3;

K=4;a=-3;b=10;

y=K*exp((a+i*b)*t);

plot(t,y),gridon

生成波形图如下图所示:

 

3、实指数序列

实指数序列定义为,其中n为正整数。

下面利用MATLAB分别绘制实指数序列、,源代码及波形图如下:

n=0:

10;

a1=1.2;a2=-1.2;

x1=a1.^n;x2=a2.^n;

subplot(221);

stem(n,x1,'fill'),gridon;

subplot(222);

stem(n,x2,'fill'),gridon

4、复指数序列

复指数序列定义为

当a=0时,得到虚指数序列,为正弦序列的数字域频率。

由欧拉公式知,复指数序列可进一步表示为:

当a>0时,复指数序列x(n)的实部和虚部分别是按指数规律增长的正弦振荡序列;

当a<0时,复指数序列x(n)的实部和虚部分别是按指数规律衰减的正弦振荡序列;

当a=0时,复指数序列x(n)的实部和虚部分别是按指数规律等幅的正弦振荡序列

下面用MATLAB绘制出复指数序列的实部、虚部、模及相角随时间变化的曲线。

源程序及波形图如下:

n=0:

30;

x=exp(-0.1+i*pi/6).^n;

xr=real(x);

xi=imag(x);

xm=abs(x);

xa=angle(x);

figure;

subplot(221);stem(n,xr);title('实部');

subplot(222);stem(n,xi);title('虚部');

subplot(223);stem(n,xm);title('模');

subplot(224);stem(n,xa);title('相角')

(2)单位阶跃函数,单位阶跃序列;

1、单位阶跃信号是信号分析中的基本信号之一,在信号与系统中有着十分重要的意义,常用于化简信号的时域数学表示。

单位阶跃信号用符号u(t)表示,定义为:

 

下面用MATLAB绘制出单位阶跃信号u(t).

MATLAB源程序为:

t=-1:

0.01:

5;

y=(t>=0);

plot(t,y),gridon;

axis([-15-0.51.5]);

2、单位阶跃序列

单位阶跃序列u(n)定义为:

单位阶跃序列的源程序及波形图如下:

n=-30:

30;

un=[zeros(1,30),ones(1,31)];

stem(n,un)

(3)单位脉冲信号、单位脉冲序列

1、单位脉冲信号的定义为

根据冲激函数的定义,可知冲激函数有如下性质:

(1)如果函数f(t)在处连续,其值为,则有

(2)筛选特性若f(t)在t=0处连续,则有

(3)为偶函数,即

(4)冲激函数与阶跃函数的关系为:

(5)尺度特性

用MATLAB绘制单位冲激函数的源程序及波形图如下:

x=-10:

0.1:

10;

y=(x==0);

plot(x,y)

 

2、单位抽样序列

单位抽样序列也叫单位样值信号或单位冲激序列,定义为:

用MATLAB绘制单位抽样序列的源程序及波形如下:

n=-3:

3;

y=(n==0);

stem(n,y),gridon

 

 

(4)矩形信号、矩形信号序列

矩形信号的定义为:

用MATLAB绘制矩形信号的源程序及波形图如下:

t=-3:

0.01:

3;

width=1;

y=rectpuls(t,width);

stem(t,y)

矩形序列的定义为:

矩形序列有一个重要参数,就是序列宽度N.与u(n)的关系为

=u(n)-u(n-N)

因此,用MATLAB表示矩形序列可以利用预先定义好的uDT函数。

定义函数的方法为在MATLAB中新建一个Editor编译文件,在空白处输入如下程序:

Functiony=uDT(n)

Y=n>=0;%表示当参数为非负的时候输入1

输入完成后点保存,一般会在我的文档MATLAB文件夹中生成一个文件名为uDT的文件,接下来的编程就是要调用uDT函数编程。

MATLAB源程序为:

n=-3:

8;

x=uDT(n)-uDT(n-5);

stem(n,x,'fill'),xlabel('n'),gridon

波形如下图:

 

(5)正弦信号、正弦序列

正弦信号的的基本形式为,或。

其中,

K是振幅;是角频率;是初相位。

这三个参数称为正弦信号的三要素。

下面我们利用MATLAB产生正弦信号,并绘制出0到3秒

的波形图。

MATLAB源程序为:

K=2;w=2*pi;phi=pi/4;

t=0:

0.01:

3;

y=K*sin(w*t+phi);

plot(t,y),gridon

axis([0,3,-2.2,2.2])

程序运行后,将产生如下波形:

2、正弦序列

正弦序列定义为:

其中,是正弦序列的数字域频率;为初相。

与连续的正弦信号不同,正弦序列

的自变量n必须为整数。

可以证明只有当为有理数时,正弦序列才具有周期性。

下面利用MATLAB绘制正弦序列的波形图。

MATLAB源程序为:

n=0:

39;

x=sin(pi/6*n);

stem(n,x,'fill'),xlabel('n'),gridon

title('正弦序列')

axis([0,40,-1.5,1.5]);

产生的波形图如下图:

 

(2)假设单边离散指数序列,其中n为正整数,下面用MATLAB绘制其

波形图并给出源程序

n=0:

10;

a=1.5;

s=a.^n;

stem(n,s,'fill'),gridon

 

而随机噪声指的是在未来任一给定时刻,其瞬时值都不能精确预知的噪声。

常见的随

机噪声主要分三类:

单频噪声、脉冲噪声和起伏噪声。

在MATLAB中噪声主要用

Randn函数实现。

Randn是求正态分布的随机数矩阵,下面我们用MATLAB生成一个

噪声信号。

源程序及波形如下:

N=10;

n=0:

N-1;

y=randn(1,N);

plot(n,y),gridon

下面通过MATLAB编程,实现2个信号的叠加,源程序及波形如下:

N=10;

>>n=0:

N-1;

>>x1=1.5.^n;

>>x2=randn(1,N);

>>x2=x2-mean(x2);%改变均值

x2=x2/std(x2);%改变方差

a=0.2;

b=sqrt(0.6);

>>x2=a+b*x2;%高斯噪声新的均值和方差

x3=x1+x2;%求和

subplot(2,2,1);stem(n,x1);title('s[n]');grid%绘图1

subplot(2,2,2);stem(n,x2);title('d[n]');grid%绘图2

subplot(2,1,2);stem(n,x3);title('s[n]+d[n]');grid%绘图3

mean(x2)%确认均值

var(x2)%确认方差

ans=

0.2000

 

ans=

0.6000

 

(3)绘制你所采集的电信号的时域波形(部分即可),进行必要的说明和分析

在做数字电子电路实验时,已知我们采集到一个芯片某管脚的高低电平序列为

01011100,下面我们用MATLAB绘制出其波形,程序及波形如下:

a=[01011100];

t=1:

length(a);

stairs(t-1,a);

axis([0length(a)min(a)-0.5max(a)+0.5])

由波形可知,芯片管脚输出电平信号刚好是01011100,与理论完全吻合,显示出

MATLAB工具的强大作用。

 

(4)写一个程序,运行后可以在键盘上依次任意输入两个序列,计算两个序列的线性卷积,并输出计算结果。

(相关函数:

input,conv)

先设定2个序列X、H的长度分别为N=5M=6,卷积后的平移量L=M+N-1

源程序如下:

N=5;

M=6;

L=N+M-1;

x=input('');

h=input('');

y=conv(x,h);

nx=0:

N-1;

nh=0:

M-1;

ny=0:

L-1;

subplot(231);

stem(nx,x,'.k');xlabel('n');ylabel('x(n)');gridon;

subplot(232);

stem(nh,h,'.k');xlabel('n');ylabel('h(n)');gridon;

subplot(233);

stem(ny,y,'.k');xlabel('n');ylabel('y(n)');gridon

在MATLAB中运行该程序几秒钟后,会提示输入2个序列,此时分别输入

【12345】和【234567】由MATLAB自动运算出2序列的卷积和。

序列图如下:

 

有5个值和6个值的序列卷积后刚好得到5+6-1=10个值的序列,这也是我们为什么

要定义平移量为L=N+M-1的原因。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1