- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信号处理工具箱.
信号的表示
在信号处理中大多数信号是需要事先输入时间向量的,对于只有一个输入和一个输出的信号,MATLAB将通过向量的形式来表示它。
假设输入为时间t,输出信号为y。取t=t1:p:t2,其中t1表示时间信号的起始时间,t2表示时间信号的终止时间,p为时间间隔,那么输出信号y=sin(t)可以由时间向量t和t向量在f(t)对应时间点上的采样值表示。
e.g. y=sin(t)可以由时间向量t和向量y表示
t=-10:1:10 %输入时间向量,按下回车键显示时间向量如下
t =
Columns 1 through 11
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0
Columns 12 through 21
1 2 3 4 5 6 7 8 9 10
y=sin(t) %输入连续正弦信号,按下回车键显示y向量
y =
Columns 1 through 6
0.5440 -0.4121 -0.9894 -0.6570 0.2794 0.9589
Columns 7 through 12
0.7568 -0.1411 -0.9093 -0.8415 0 0.8415
Columns 13 through 18
0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570
Columns 19 through 21
0.9894 0.4121 -0.5440
使用绘图命令plot(t,y),可以看到由向量t和y表示的正弦信号如图1.1所示。
可见,其图像有些失真,这是因为plot命令是将图中间隔两点用直线连接的,若减小时间间隔p,将有效的恢复正弦函数原貌。
t=-10:0.01:10;
y=sin(t);
plot(t,y)
信号的生成
正弦波和余弦波
在MATLAB中利用函数sin和cos可以生成所需要的正弦波或余弦波。
e.g. 生成一个信号持续时长10s,频率为250Hz,幅度为0.75,初始相位为40°的余弦波,并画出其波形图。
问题分析:根据采样定理(采样速率大于等于模拟信号的最高频率的2倍,模拟信号可以由采样序列构成的时间离散信号无失真的表达),采样率至少为信号最高频率的两倍。采样频率必须大于500次/秒,为了产生光滑的曲线,本例中取采样频率为3000次/秒,信号持续时间为10秒,那么采样点数为10×3000=30000。
MATLAB命令生成。
Fs=3000; %采样频率
t=1/Fs:1/Fs:10; %信号的持续时间
f=250; %余弦波频率
A=0.75; %信号幅度
Ip=40/180*pi; %初始相位
y=A*cos(2*pi*f.*t+Ip); %余弦波计算
plot(t(1:100),y(1:100)) %画出余弦波前100个采样值
由余弦波前100点采样值绘出的图形
周期方波和锯齿波
square命令生成方波,sawtooth命令生成三角波,也称锯齿波。它们的调用格式如下:
square(T):产生一周期为2π,幅值为1的方波,采样频率由向量T指定;
square(T,DUTY):产生一个给定占空比,周期为2π,幅值为1的方波,占空比是1~100之间的数,如果占空比是30,表示一个方波的周期内正电平占30%;
sawtooth(T):产生周期为2π,幅值为1的三角波,采样时刻由向量T指定;
sawtooth(T,WIDTH):产生三角波,WIDTH指定最大值出现的地方,其取值在0到1之间。当T由0增大到WIDTH*2π时,函数值由-1增大到1,当T由WIDTH*2π增大到2π时,函数值由1减小到-1。
周期sinc函数
周期sinc函数在MATLAB中用diric命令实现,其又称为Dirichlet函数。
Dirichlet函数定义:d(x)=sin(N*x/2)./(N*sin(x/2))。
diric()函数的调用格式:Y=diric(X,N),其返回的是一个大小与X相同的矩阵,其元素为Dirichlet函数值。N必须为正整数,改函数将0到2π等间隔的分成N等份。
e.g. 生成sinc函数。
MATLAB程序实现。
x=0:0.03:3*pi;
y1=diric(x,5);
y2=diric(x,9);
subplot(121);
plot(x,y1);
xlabel(x);
文档评论(0)