实验一信号的表示与信号的运算 2

更新时间:2024-05-22 09:20:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验一:信号的表示与信号的运算

实验学时:2 实验类型:综合 实验要求:任选 一、实验目的

学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统分析奠定基础。 二、相关知识点

1.连续信号的产生

2.离散信号的产生及基本运算 三、实验原理、方法和手段

MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期矩形波信号等。这些基本信号是信号处理的基础。

1.连续信号的产生 (1)阶跃信号

产生阶跃信号的MATLAB程序如下: t= -2: 0.02: 6; x=(t>=0); plot(t,x);

axis([-2,6,0,1.2]); (2)指数信号

产生随时间衰减的指数信号的MATLAB程序如下: t = 0: 0.001: 5; x = 2*exp(-1*t); plot(t,x); (3)正弦信号

利用MATLAB提供的函数cos和sin可产生正弦和余弦信号。产生一个

幅度为2, 频率为4Hz, 相位为?/6的正弦信号的MATLAB程序如下:

f0=4; w0=2*pi*f0; t = 0: 0.001: 1; x = 2*sin(w0*t+ pi/6); plot(t,x);

(4)矩形脉冲信号

函数rectpulse(t,w)可产生高度为1、宽度为w、关于t=0对称的矩形脉冲信号。 产生高度为1、宽度为4、延时2秒的矩形脉冲信号的MATLAB程序如下:

t=-2: 0.02: 6; x=rectpuls(t-2,4); plot(t,x); (5)抽样信号

可使用函数sinc(x)计算抽样信号 x ( t ) ? sin( t ) / t ,

函数sinc(x)的定义为 c ( x ) ? sin( π x ,产生的MATLAB程序如下: sinπ x )/t= -10:1/500:10; x=sinc(t/pi); plot(t,x); 2.离散信号的产生

(1)单位脉冲序列和单位阶跃序列

函数zeros(1,n) 可以生成单位脉冲序列,产生1行n列的由0组成的矩阵。

产生单位脉冲序列的MATLAB程序如下: k= -4: 20;

x=[zeros(1,7),1,zeros(1,17)]; stem(k,x)

函数ones(1,n) 可以生成单位阶跃序列,产生1行n列的由1组成的矩阵。 产生单位阶跃序列的MATLAB程序如下: k= -4:20;

x=[zeros(1,7),ones(1,18)];

stem(k,x) (2)指数序列

产生离散指数序列的MATLAB程序如下: k = -5:15; x = 0.3*(1/2).^k; stem(k,x); (3)正弦序列

产生正弦序列的MATLAB程序如下: k=-10:10;

omega=pi/3;x = 0.5*sin(omega*k+ pi/5); stem(k,x); (4)白噪声序列

白噪声序列在信号处理中是常用的序列。

函数rand可产生在[0,1]区间均匀分布的白噪声序列, 函数randn可产生均值为0,方差为1的高斯分布白噪声。 N=20;k=0:N-1;

x=rand (1,N) stem(k,x);

3.离散序列的基本运算

信号的运算是数字信号处理的重要内容。对输入信号按指定的算法进行运算以提取有用信息,而这些算法可以分解为若干基本运算。离散信号的基本运算主要包括:信号的加、乘、移位、翻转、卷积、相关等。这些运算的MATLAB实现方法如下表:

四、实验条件

计算机一台,MATLAB软件。 五、实验步骤及结果测试

1.利用MATLAB产生下列信号并作图。 (1)x(t)??3u(t?1),?1?t?5

2(2)x(t)?e?0.1tsin(t),0?t?30

3(3)x(t)?cos(100t)?cos(2000t),?0.1?t?0.1

?1,?5?k?5(4)x[k]??,-15?k?15

?0,其它(5)x[k]?(0.9)k[sin(0.25?k)?cos(0.25?k)],?20?k?20 2.已知无限长序列x[k]?0.5ku[k] (1)计算信号的总能量;

(2)分别计算序列前10点、前20点和前30点的能量及占总能量的百分比。

3.已知序列:x[k]?[2,2,1,?1,4,2;k??2,?1,0,1,2,3],h[k]?2,?1,1;k?0,1,2] (1)计算离散序列的卷积和y[k]=x[k]*h[k],并绘出其波形; (2)计算离散序列的互相关函数Rxy[k]?k????x[k]y[k?n],并绘出其波形;

?(3)序列的相关与序列的卷积有何关系?

4.数字信号处理的应用之一是从含有加性噪声的信号中去除噪声。现有被噪声污染的信号 x[k]=s[k]+d[k],式中:s[k]?cos(0.08?k)为原始信号,d[k]为均匀分布的白噪声

(1)分别产生50点的序列s[k]和白噪声序列d[k],将二者叠加生成x[k],并在同一张图上绘出x[k],s[k]和d[k]的序列波形;

(2)均值滤波可以有效的去除叠加在低频信号上的噪声。已知3点滑动平均数字滤波器的单位脉冲响应为h[k]=[1,1,1;k=0,1,2],计算y[k]=x[k]*h[k],在同一张图上绘出前50点y[k]、s[k]和x[k]的波形,比较序列y[k]和s[k]。 六、实验报告要求

1.预习报告

复习连续信号和离散信号的概念及其基本运算的知识,预习信号的产生和基本运算的MATLAB实现的知识,按实验内容基本编写好实验的程序。

2.实验记录

编写、修改和调试好程序,存储各程序和结果图。 3.实验报告

(1)据实验内容,完成各部分实验程序,记录各实验结果; (2)对实验步骤3、4作结果分析。 七、思考题

1. 两个连续信号的卷积定义是什么?两个序列的卷积定义是什么?卷积的作用是什么?conv函数只输出了卷积结果,没有输出对应的时间向量,如何使时间向量和卷积结果对应起来?

2. 能够利用MATLAB产生单位冲激信号吗?

3. 产生连续信号时,首先要定义时间向量t = 0:T:Tp。 其中T和Tp是什么意思?

本文来源:https://www.bwwdw.com/article/k1v7.html

Top