通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  下士

注册:2015-10-23
跳转到指定楼层
1#
发表于 2016-3-21 08:22:20 |只看该作者 |倒序浏览
声明:本文系作者原创整理,转载请注明。
作者:jpjia
时间:2016-03-20
参考文献:http://blog.csdn.net/jtong06/article/details/8143301
第1章 matlab产生方波脉冲和周期性方波信号1.1 周期性矩形波(方波)信号square
在MATLAB中用square函数来表示,其调用形式为
y=square(t,DUTY)
                              其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的 MATLAB 参考程序如下:
t=-2*pi/100:pi/1024:2*pi/100;
y=square(2*pi*30*t,50);
plot(t,y);
grid
ylim([-1.5 1.5])
1.2 矩形脉冲信号rectpuls
在MATLAB中用rectpuls函数来表示,其调用形式为
y=rectpuls(t,width)
用以产生一个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中心向左右各展开width/2的范围,width的默认值为1。
例:画宽为2的矩形脉冲信号的MATLAB源程序如下:
width=2;
  t=-2:0.001:3;
ft=rectpuls(t,width);
plot(t,ft);
grid on;
ylim([-0.5 1.5])
第2章 tripuls
1).y=tripuls(t)产生非周期的三角波信号,三角波宽度为时间轴的一半;
2).y=tripuls(t,w,s)制定三角波的宽度为w,斜率为s(-1<s<1)。其中s的理解起初感觉很不明白,在网上找了跟多例子,最后总结发现,s说是斜率,其实代表了最大值在w区间内出现的最大值,比如s=0,则最大值出现在对称点上,s=0.5,最大值出现在右半区间的中点处,s=1,则出现在右半区间的右边界点处,也即最大值为出现在距离对称点w/2*s处。这样解释下来发现就好理解多了。
举例:
t=0:0.001:4;
y=tripuls(t);
subplot 211;
plot(t,y);
grid on;
y1=tripuls(t,3,0.577);
subplot 212;
plot(t,y1);
grid on;
我的理解:
理解:由于这里只画了正半轴,所以显示是0.5,全画出来实际长度应该是1。
第3章 pulstran
生成连续或离散的脉冲串
3.1y=pulstran(t,d,'func');
产生一个周期序列y,以t为时间轴(t一般是一个一维数组),展开的周期长度由d来定义,pulstran函数实质是返回一组信号的和,即:Y=func(t-d(1))+ func(t-d(2))+…,比如d=[0 1],那么y就应该等于func(t)+func(t-1)。d可以是两列(二维数组),第一列对应偏移量,第二列对应增益量以次类推。其中func可以自己定义,比如:
高斯调制正弦信号:gauspuls;
非周期的矩形信号:rectpuls;
非周期的三角信号:tripuls
3.2y=pulstran(t,d,'func',p1,p2...);
同一的用法一样,只不过这里的p1,p2...代表了func中的其他参数,比如若func为tripuls,那么这里的p1,p2就和前面所说的w和s对等了。类似的可得其他func。
举例:
t=0:0.001:8;
d=[0 0 ;0.5 1;1 1;1.5 0;2 1 ;2.5 1;3 0;3.5 0;4 0;4.5 1 ;5 1 ;5.5 0;6 1 ;6.5 1 ;7 0 ;7.5 0];
s=pulstran(t-0.25,d,'rectpuls',0.5);
plot(t,s) ;
axis([0 8 -0.5 1.5]);
grid on;
text(0.25,1.2,'0') ; text(0.75,1.2,'1') ; text(1.25,1.2,'1') ;text(1.75,1.2,'0') ;
text(2.25,1.2,'1') ; text(2.75,1.2,'1') ; text(3.25,1.2,'0') ;text(3.75,1.2,'0') ;
text(4.25,1.2,'0') ; text(4.75,1.2,'1') ; text(5.25,1.2,'1') ;text(5.75,1.2,'0') ;
text(6.25,1.2,'1') ; text(6.75,1.2,'1') ; text(7.25,1.2,'0') ;text(7.75,1.2,'0') ;
理解:d是二维数组,第一个是偏移量,第二个是增益。Pulstran矩形脉冲宽度为0.5,也就是说从0开始两边0.25的脉冲,t-0.25表示该脉冲向右平移0.25个单位,然后再由d进行周期拓展,并且因为这里d是二维数组,还要进行相应的倍数。这样就理解了。
   

第4章 参考文章

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-30 00:42 , Processed in 0.184230 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部