信号的表示与信号的运算.docx
- 文档编号:9003731
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:91.85KB
信号的表示与信号的运算.docx
《信号的表示与信号的运算.docx》由会员分享,可在线阅读,更多相关《信号的表示与信号的运算.docx(10页珍藏版)》请在冰豆网上搜索。
信号的表示与信号的运算
信号的表示与信号的运算
班级:
通信
序号:
学生姓名:
学号:
指导教师:
完成日期:
2016年6月22日
实验四:
信号的表示与信号的运算
一、实验目的
学习使用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)计算抽样信号,
函数sinc(x)的定义为,产生的MATLAB程序如下:
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+5),x(-t),x(3t)的波形。
MATLAB程序:
%x(t+5)
clc
t=-10:
1/500:
10;
x=sinc((t+5)/pi);
plot(t,x);
结果:
MATLAB程序:
%x(-t)
clc
t=-10:
1/500:
10;
x=sinc(t/pi);
y=fliplr(x);
plot(t,y);
结果:
MATLAB程序:
%%x(3t)
clc
t=-10:
1/500:
10;
x=sinc(3*t/pi);
plot(t,x);
结果:
(2)
x(t)=cos(100t)*cos(2000t)
MATLAB程序:
t=-0.1:
0.0001:
0.1;
x=cos(100*t)+cos(2000*t);
plot(t,x);
title('x=cos(100*t)+cos(2000*t)');
结果:
MATLAB程序:
t=-0.1:
0.0001:
0.1;
x=cos(100*t).*cos(2000*t);
plot(t,x);
title('x=cos(100*t)*cos(2000*t)');
结果:
(3)
MATLAB程序:
k=-14:
15;
x=[zeros(1,9),ones(1,11),zeros(1,10)];
stem(k,x)
结果:
(4)
,绘出波形并计算其总能量
MATLAB程序:
k=-19:
20;
x=((0.9).^k).*[sin(0.25*pi*k)+cos(0.25*pi*k)];
stem(k,x)
E=sum(abs(x).^2);
fprintf('E=%2.16f\n',E);
结果:
已知序列:
,计算离散序列的卷积和y[k]=x[k]*h[k],并绘出其波形;
MATLAB程序:
k=-2:
3;
x=[2,2,1,-1,4,2];
k=0:
2;
h=[2,-1,1];
y=conv(x,h);
k=-2:
5;
stem(k,y)
结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 表示 运算