基于Matlab的信号时域的描述及运算.docx

上传人:b****1 文档编号:1710167 上传时间:2022-10-23 格式:DOCX 页数:21 大小:245.40KB
下载 相关 举报
基于Matlab的信号时域的描述及运算.docx_第1页
第1页 / 共21页
基于Matlab的信号时域的描述及运算.docx_第2页
第2页 / 共21页
基于Matlab的信号时域的描述及运算.docx_第3页
第3页 / 共21页
基于Matlab的信号时域的描述及运算.docx_第4页
第4页 / 共21页
基于Matlab的信号时域的描述及运算.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于Matlab的信号时域的描述及运算.docx

《基于Matlab的信号时域的描述及运算.docx》由会员分享,可在线阅读,更多相关《基于Matlab的信号时域的描述及运算.docx(21页珍藏版)》请在冰豆网上搜索。

基于Matlab的信号时域的描述及运算.docx

基于Matlab的信号时域的描述及运算

实验一 基于Matlab的信号时域的描述及运算

 

实验目的:

通过利用MATLAB语言软件实现信号的描述和运算练习,熟悉掌握实现基本信号时域运算的方法。

实验内容:

1、对常见连续时间信号的描述及运算内容进行验证性操作练习,掌握用于实现正弦连续信号、方波信号、阶跃信号、白噪声、矩形脉冲等常见信号的基础程序方法,熟悉和掌握对连续信号进行移位、翻转、尺度变换等时域运算的程序方法。

2、对常见离散时间信号的描述及运算内容进行验证性操作练习,掌握用于实现正弦序列、周期方波序列、单位脉冲序列、单位阶跃序列、指数序列等常见信号的程序方法,熟悉和掌握对离散时间信号进行离散卷积、自相关函数、移位、翻转、尺度变换等时域运算的程序方法。

3、编程完成练习题。

需要完成的练习题(写出满足实现题目要求的MATLAB语言程序或命令)

1、结合后文准备内容中例1—3、在时间内,编程实现信号,并绘出结果图。

2、结合例1—9,在时间内,编程实现信号,并绘出结果图。

3、在时间内,编程实现信号,并绘出结果图。

4、结合例1—7,用tripluls函数生成右图所示的三角波,并进一步作如下信号变换,并绘出结果图。

参考【例1-11】

1)

2)

5、使用下面的信号合成公式,看看合成的信号是什么类型,并分析随着加入的谐波增加,信号波形有什么变化?

参考程序:

t=-8:

0.01:

8;

w=input('方波的频率w=');

A=input('幅值A=');

n=input('需要的谐波n=');

y=A/2;

fork=1:

n

y=y+(-1)^(k-1)*cos((2*k-1)*w*t)*2*A/(pi*(2*k-1));

end

plot(t,y),grid

5、使用MATLAB产生下列离散序列并作出一个图形,设

(1),。

(结合例2—5)

(2),,。

(结合例2—4)

(3)。

6、已知两信号,,(结合表2—1)

(1)求两信号的卷积运算;

(2)求出信号a的自相关函数;

(3)将信号b进行翻转;(4)求两信号的互相关函数;

实验报告要求:

1、简要介绍说明实验中用于实现常见信号的基本命令。

2、简要介绍说明实验中用于实现时域运算的程序方法基本命令。

3、独立完成实验练习题,写出满足实现题目要求的MATLAB语言程序或命令,给出相对应的结果图。

准备知识

一、常用连续时间信号

1、正弦信号

A*cos(w0*t+phi)产生一个频率为w0,相位为phi的余弦信号。

A*sin(w0*t+phi)产生一个频率为w0,相位为phi的正弦信号。

[例1—1]

在时间范围内产生一个幅度为2,频率为4Hz,初相位为的正弦信号。

clearall;

clc

%正弦信号x(t)=A*sin(w0*t+phi)

A=2;%信号幅度

f0=4;%信号频率

phi=pi/6;%信号初相位

w0=2*pi*f0;%信号角频率

t=0:

0.01:

1;%连续时间离散化

x=A*sin(w0*t+phi);%求出正弦信号

plot(t,x);%画出信号波形

ylabel('x(t)');xlabel('Time(s)');

title('sinusoidalsignal');

图1.1正弦信号

2、周期方波信号

square(w0*t)产生基本频率为w0(周期为的周期方波。

square(w0*t,DUTY)产生基本频率为w0(周期为、占空比DUTY=的周期方波。

为一个周期中信号为正的时间长度。

当,DUTY=50,square(w0*t,50)=square(w0*t)。

[例1—2]

在时间范围内产生一个幅度为1,基频为3Hz,占空比为20%的周期方波。

A=1;%幅度

f0=3;

t=0:

0.001:

2.5;%连续时间离散化(产生时间点),

w0=2*f0*pi;

duty=20;%占空比为20%

y=A*square(w0*t,duty);

plot(t,y);

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

ylabel('x(t)');xlabel('Time(s)');

title('squarewave')

图1.2周期方波信号

3、单位阶跃信号

[例1—3]

在时间范围内产生阶跃信号2。

t=-2:

0.02:

6;

x=2*(t>=0);

stairs(t,x);-1

axis([-2,6,0,2.5]);

ylabel('x(t)');xlabel('Time(s)');

title('stepsignal');

图1.3阶跃信号

4、单位冲激信号

[例1—4]

在时间范围内产生一个冲激信号。

t=-2:

0.02:

6;

x=2*((t-2)==0);

stairs(t,x);

axis([-2,6,0,2.5]);

ylabel('x(t)');xlabel('Time(s)');

title('impulsesignal');

图1.4冲激信号

5、矩形脉冲信号

rectpulse(t)产生高度为1、宽度为1、关于t=0对称的矩形脉冲信号。

rectpulse(t,w)产生高度为1、宽度为w、关于t=0对称的矩形脉冲信号。

rectpulse(t-t0,w)产生高度为1、宽度为w、关于t=t0对称的矩形脉冲信号。

[例1—5]

在时间范围内产生一个高度为1、宽度为3、延时2秒的矩形脉冲信号。

t=-2:

0.02:

6;

y=rectpuls(t-2,3);%对称中心在t=2处

plot(t,y);

axis([-2,6.5,0,1.5]);

ylabel('x(t)');xlabel('Time(s)');

title('rectangularpulse')

图1.5矩形脉冲信号

6、取样信号

取样函数信号定义为:

它是一个以为周期,幅度随但单调衰减的振荡信号。

它在信号分析和通信理论中有着广泛应用,与它变化规律非常相似的有辛格函数,其定义为

所以在MATLAB中,可以使用命令得到取样函数信号。

[例1—6]

在时间范围内产生取样信号。

t=-10:

.01:

10;

y=sinc(t/pi);%sa(t)=sin(t)/t

plot(t,y);

axis([-10,10,-1,1.5]);

ylabel('x(t)');xlabel('Time(s)');

title('samplefunction')

图1.6取样函数信号

7、三角波信号

tripuls(t)产生高度为1,底边宽度为1、关于t=0位置对称的等腰三角波信号。

tripuls(t,w)产生高度为1,底边宽度为w、关于t=0位置对称的等腰三角波信号。

tripuls(t,w,s)产生高度为1,底边宽度为w、底边中心t=0、斜度为s()的三角波信号。

s=0产生等腰三角波。

[例1—7]

在时间范围内产生一个高度为2、宽度为2,底边中心在2.5、斜度为的三角波信号。

t=-5:

0.01:

5;

x=2*tripuls(t-2.5,2,-1);

plot(t,x);

ylabel('x(t)');xlabel('Time(s)');

title('trianglesignal')

图1.7取样函数信号

8、噪声信号

rand产生在[0,1]区间均匀分布的白噪声。

randn产生高斯分布(均值为0,协方差为1)的白噪声。

[例1—8]

在时间范围内产生101个均匀分布的白噪声和高斯分布的白噪声。

t=0:

0.01:

1;

subplot(2,1,1);

plot(t,rand(1,length(t)));

ylabel('x(t)');

title('averagedistributionalnoise');

subplot(2,1,2);

plot(t,randn(1,length(t)));

ylabel('x(t)');xlabel('Time(s)');

title('guassdistributionalnoise');

图1.8白噪声信号

二、连续时间信号的常用运算

[例1—9]

在时间内生成幅度按指数衰减的正弦信号=。

A=5;f0=4;phi=0;

w0=2*pi*f0;

a=6;

t=0:

0.001:

1;

x=A*sin(w0*t+phi).*exp(-a*t);%注意这里是点乘

plot(t,x);

ylabel('x(t)');xlabel('Time(s)');

图1.9

[例1—10]

使用命令tripulse(t)生成一个三角形脉冲,设。

(1)计算该信号的微分并且画出波形。

(2)计算该信号在内的记分值。

(3)计算该信号的积分并画出波形

解:

1)使用diff函数计算信号的微分并画出波形,结果见图1-10(a)

t=-2:

0.02:

2;%共有201个数据点

x=tripuls(t);%产生单位高度、底边宽度为1、对称中心在t=0的等腰三角形

y=diff(x);%共有200个数据点

n=length(t)-1;

subplot(2,1,1);plot(t,x);

ylabel('x(t)');xlabel('Time(s)');

subplot(2,1,2);plot(t(1:

n),y,'r');

ylabel('dx(t)/dt');xlabel('Time(s)');

【例1-11】信号的平移

使用命令tripulse(t)生成一个三角形脉冲,其宽度为2,关于中心t=0对称,利用subs指令实现信号向左平移2个单位。

symst;

f=sym('tripuls(t,2,0)')

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

t=-4:

0.001:

4;

subplot(211)

ezplot(f,[-8,8]),grid

subplot(212)

ezplot(f1,[-8,8]),grid

title('信号的平移')

思考:

若将上面的f1=subs(f,t,t+2)换成f1=subs(f,t,-2*t+2),结果会怎样?

2)函数quad和quad8都是数值积分函数。

使用格式:

Q=quad(‘function_name’,a,b);

Q为定积分返回值,function-name为函数名,a和b指定定积分区间。

调用函数quad积分:

z=quad(‘tripuls’,-2,2)

返回:

z=

1.5000

3)调用函数quad积分:

(结果见图1—10(b))

t=-2:

0.02:

2;

x=tripuls(t,2,0);

foru=1:

length(t);

int_x(u)=quad('tripuls',-2,t(u));

end

subplot(2,1,1);plot(t,x);ylabel('x(t)');

subplot(2,1,2);plot(t,int_x);

ylabel('integralofx(t)');xlabel('time(s)');

title('showtheprocessofintegral');

图1.10(a)图1.10(b)

[例1—12]

计算信号在时间内的能量。

信号的能量:

信号的功率:

解:

首先做一个函数powert.m计算信号的瞬时能量

functionf=powert(t)

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

当前位置:首页 > 自然科学 > 化学

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

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