【 MATLAB 】信号处理工具箱之波形产生函数 pulstran

举报
李锐博恩 发表于 2021/07/15 07:40:45 2021/07/15
【摘要】 前两篇博文和这篇博文有些许联系: 【 MATLAB 】信号处理工具箱之波形产生函数 rectpuls 【 MATLAB 】信号处理工具箱之波形产生函数 tripuls MATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。 语法格式: 语法格式1: y = puls...

前两篇博文和这篇博文有些许联系:

【 MATLAB 】信号处理工具箱之波形产生函数 rectpuls

【 MATLAB 】信号处理工具箱之波形产生函数 tripuls

MATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。

语法格式:

语法格式1:

y = pulstran(t,d,'func')基于连续函数'func'的样本生成脉冲序列,其中'func'是

'gauspuls',用于产生高斯调制的正弦脉冲
'rectpuls',用于生成采样的非周期矩形
'tripuls',用于生成采样的非周期三角形
pulstran被评估长度(d)次并且返回评估的总和y = func(t-d(1))+ func(t-d(2))+ ...

在移除从向量d获取的标量参数偏移之后,在数组t中指定的参数值范围内计算该函数。 请注意,func必须是一个矢量化函数,可以将数组t作为参数。

通过将d指定为两列矩阵,可以将可选的增益因子应用于每个延迟的评估,其中第1列中定义的偏移和第2列中的相关增益。 请注意,行向量将被解释为仅指定延迟。

使用上面这种格式,'func'的相关参数都是默认的。

可以设定‘func’的相关参数,见语法格式2.

语法格式2:

pulstran(t,d,'func',p1,p2,...)允许根据需要将其他参数传递给'func'。 例如:

func(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ ...

针对语法格式2举个例子:


  
  1. % This example generates an asymmetric sawtooth waveform with a repetition frequency of 3 Hz and a sawtooth width of 0.1 s.
  2. % The signal length is 1 s and the sample rate is 1 kHz.
  3. clc
  4. clear
  5. close all
  6. t = 0 : 1/1e3 : 1; % 1 kHz sample freq for 1 s
  7. d = 0 : 1/3 : 1; % 3 Hz repetition frequency
  8. y = pulstran(t,d,'tripuls',0.1,-1);
  9. plot(t,y)
  10. xlabel 'Time (s)', ylabel Waveform

y = pulstran(t,d,'tripuls',0.1,-1);

这个函数中的0.1以及-1都是‘tripuls’的参数,例子0.1是脉宽,-1表示脉冲最高幅值在最左边,如果将-1去掉,则默认为0.5.图像如下:

可见,这是一个正三角锯齿波脉冲串。

如果将‘func’的所有参数都使用默认值的话,那么就成了语法格式1了。


再举一个例子:

要求都在程序开头的注释里,很简单,懒着翻译了。


  
  1. % This example generates a periodic Gaussian pulse signal at 10 kHz with 50% bandwidth.
  2. % The pulse repetition frequency is 1 kHz, the sample rate is 50 kHz,
  3. % and the pulse train length is 10 ms. Each pulse has 80% of the amplitude of the preceding pulse.
  4. clc
  5. clear
  6. close all
  7. t = 0 : 1/50e3 : 10e-3;
  8. d = [0 : 1/1e3 : 10e-3 ; 0.8.^(0:10)]';
  9. y = pulstran(t,d,'gauspuls',10e3,0.5);
  10. plot(t,y)
  11. xlabel 'Time (s)', ylabel 'Periodic Gaussian pulse'


语法格式3:

pulstran(t,d,p,fs)生成一个脉冲序列,它是矢量p中原型脉冲的多个延迟插值之和,以fs速率采样,其中p跨越时间间隔[0,(length(p) -1)/ fs],其样本在此间隔之外相同。 默认情况下,线性插值用于生成延迟。

不太明白,先放这里。

pulstran(t,d,p)假设采样率fs等于1 Hz。

也就是说如果省略了fs,则默认为1Hz。

pulstran(...,'func')指定替代插值方法。


就这样吧!

 

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/82885891

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。