找回密码
 注册
关于网站域名变更的通知
查看: 819|回复: 1
打印 上一主题 下一主题

MATLAB —— 这篇介绍的是信号处理工具箱之波形产生函数 pulstran

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-10-21 10:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

/ ^. R8 C3 {5 j- I  G5 @前两篇博文和这篇博文有些许联系:
5 k6 ]6 \9 ^; V" C' a5 O% o8 G$ h" v" S
MATLAB —— 认识一下信号处理工具箱之波形产生函数 rectpuls3 C# e4 q2 V; t4 N0 D# F' ?: r) Z3 ]: |

8 L! M( C0 J/ K6 K4 j) v/ _; a! O* WMATLAB —— 再介绍一下信号处理工具箱之波形产生函数 tripuls
% z8 V( ]5 n) v; p- V! h( R, S5 g! w
MATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。' j* v( a# E" u& ^* h
8 R8 ?. x7 l4 K+ Q& H2 o: {8 h
语法格式:; |7 g+ h2 I5 D* Z' _# e$ w( X

6 x5 }1 ~: {! E " w! l' l9 c$ T

" m+ W  P& n6 g' j- x, u# _语法格式1:3 D7 s6 E7 ^5 W% y6 @% z
) K3 b7 W, q" Y7 ]* T5 B- N
y = pulstran(t,d,'func')基于连续函数'func'的样本生成脉冲序列,其中'func'是
! M+ F1 m4 V- v& L0 {0 e& }' u$ E. f. X, C
'gauspuls',用于产生高斯调制的正弦脉冲
+ d" q" T+ E, g4 y' h/ z'rectpuls',用于生成采样的非周期矩形
. {  k3 k3 Z/ ]; @8 j'tripuls',用于生成采样的非周期三角形3 J9 e# R: R% [; m8 f
pulstran被评估长度(d)次并且返回评估的总和y = func(t-d(1))+ func(t-d(2))+ ...
% b2 L0 L+ |6 X2 C3 G  u' ~+ a& U% i
* `& a* j' T3 U. ]; q8 j在移除从向量d获取的标量参数偏移之后,在数组t中指定的参数值范围内计算该函数。 请注意,func必须是一个矢量化函数,可以将数组t作为参数。
0 a4 M0 T% F1 ^/ n$ t2 B% X/ b' c) R5 W/ V1 q
通过将d指定为两列矩阵,可以将可选的增益因子应用于每个延迟的评估,其中第1列中定义的偏移和第2列中的相关增益。 请注意,行向量将被解释为仅指定延迟。
% B9 h: ^" h/ H% ~! `' c
# y/ H, O# {. Y- @8 i使用上面这种格式,'func'的相关参数都是默认的。
4 W4 ^( i; o9 Q8 }9 z/ ]% q+ Y4 O$ s" O$ p) t# ^$ z
可以设定‘func’的相关参数,见语法格式2.3 ]7 N& j+ ~9 }. J: P3 l' ~
" n& L: {; i$ N% h
语法格式2:
2 o! I6 S2 c  P: J  D
! j; m# x+ K1 y" z5 P; kpulstran(t,d,'func',p1,p2,...)允许根据需要将其他参数传递给'func'。 例如:
! X; P+ A3 b: G+ F- S8 ?  s( K0 k0 G: p4 Z
func(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ ...% y* c, x- c" T4 |6 A5 s

+ I1 `# f& ]' R  z9 s7 O针对语法格式2举个例子:
3 g0 f& I8 i, M4 ^0 `2 w9 O
* S4 m0 V$ ?4 D$ F: m' ]
  • % This example generates an asymmetric sawtooth waveform with a repetition frequency of 3 Hz and a sawtooth width of 0.1 s.
  • % The signal length is 1 s and the sample rate is 1 kHz.
  • clc
  • clear
  • close all
  • t = 0 : 1/1e3 : 1;         % 1 kHz sample freq for 1 s
  • d = 0 : 1/3 : 1;           % 3 Hz repetition frequency
  • y = pulstran(t,d,'tripuls',0.1,-1);
  • plot(t,y)
  • xlabel 'Time (s)', ylabel Waveform2 ]3 ^2 z1 W* o7 ]; f: ^
   
1 }% ?+ z! U" ?' x/ F/ R $ H0 G" b! Q$ o0 k
3 j+ M! {% P. ^8 ~
0 N8 N/ W9 @& ^. j2 A& M5 T. m
y = pulstran(t,d,'tripuls',0.1,-1);
; f- m  x9 M) [, e
, c. L& B2 y. d7 N* J; @这个函数中的0.1以及-1都是‘tripuls’的参数,例子0.1是脉宽,-1表示脉冲最高幅值在最左边,如果将-1去掉,则默认为0.5.图像如下:
; T6 d3 T6 t  l! o1 u5 W
* A7 ~8 e7 y  C/ I. H
7 w8 G/ ^* @2 O# M( `
" W& L: {# H$ I/ b8 t可见,这是一个正三角锯齿波脉冲串。
  v% \. {0 N8 B# \4 X- w" _' ~! c
如果将‘func’的所有参数都使用默认值的话,那么就成了语法格式1了。
; q# h' V5 ]- N( |: }' S) F* G. u4 ]# T) T& J! M# d
再举一个例子:  K) W% |. `# X; G/ C' Q
9 ~4 l% \0 y9 I6 q
要求都在程序开头的注释里,很简单,懒着翻译了。
  d) G* w4 ?5 ~0 p9 w2 A7 r6 p# v
$ d! h8 Y5 P% ~
  • % This example generates a periodic Gaussian pulse signal at 10 kHz with 50% bandwidth.
  • % The pulse repetition frequency is 1 kHz, the sample rate is 50 kHz,
  • % and the pulse train length is 10 ms. Each pulse has 80% of the amplitude of the preceding pulse.
  • clc
  • clear
  • close all
  • t = 0 : 1/50e3 : 10e-3;
  • d = [0 : 1/1e3 : 10e-3 ; 0.8.^(0:10)]';
  • y = pulstran(t,d,'gauspuls',10e3,0.5);
  • plot(t,y)
  • xlabel 'Time (s)', ylabel 'Periodic Gaussian pulse'
    " `/ N- |7 @6 u6 G4 t
   
2 O: c, K9 E- E6 w: f, F
( X1 w0 U. Q2 \% O2 v, Q$ u4 w. t2 t
$ c. h. X+ Y# d3 a
! e2 u% j/ M; b" ]) U语法格式3:6 R' `* j" G3 E4 i" O

9 O5 x* F+ u/ w* e2 S% |8 x2 apulstran(t,d,p,fs)生成一个脉冲序列,它是矢量p中原型脉冲的多个延迟插值之和,以fs速率采样,其中p跨越时间间隔[0,(length(p) -1)/ fs],其样本在此间隔之外相同。 默认情况下,线性插值用于生成延迟。) Y. e9 Y7 }# o4 E

) P4 @8 K* d; E9 C! U3 x7 P不太明白,先放这里。
* p" M# X' z8 b3 Y9 ^5 o
) v) Q" Q* {' Q. m2 xpulstran(t,d,p)假设采样率fs等于1 Hz。/ z% D1 X4 z2 u* K
2 c; {6 `0 o9 t8 h
也就是说如果省略了fs,则默认为1Hz。" [4 o$ x9 k! t, k
9 }8 h' o( N% {  h* r7 U5 z
pulstran(...,'func')指定替代插值方法。) w7 F, M/ s6 _) Y" n# ~3 P

; A8 C; b5 |! C  z8 }- M$ U就这样吧!
/ h& Y" }- |1 W, x+ L" w# T7 ]1 h
# y$ M. K) |9 o5 z . ]& t! @& q# e% q' [- E4 Q5 w
/ ^+ a# T1 [% m; {+ t( }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 20:04 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表