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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

* I/ w3 d; h; V8 k' f) K0 i/ L前两篇博文和这篇博文有些许联系:
) H8 h9 |6 {) M0 M. e* C( J6 t9 |, L0 {8 r
MATLAB —— 认识一下信号处理工具箱之波形产生函数 rectpuls
5 q/ a9 I& Q" F6 d# I0 B& z# ?8 p  G
MATLAB —— 再介绍一下信号处理工具箱之波形产生函数 tripuls
- a) i% T9 \! K1 c* V5 o$ p: w! z; k/ q" B6 G
MATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。
7 c( O$ R% O# w( |* C, d9 [4 J+ a) ]/ A% J2 E$ D
语法格式:
& N" ^4 P  f  ~) d' P
! d) D; u% A8 h- S% N
) r- O" P. |; F) C
  U% D/ M+ T! j4 V7 a4 V语法格式1:
$ ^% l, z4 t# O, M4 Y; i
$ T3 u0 A0 ]5 C: B. J+ hy = pulstran(t,d,'func')基于连续函数'func'的样本生成脉冲序列,其中'func'是9 W& H1 F2 h9 e  X  j+ W- I

$ m& U" V; M& ^+ M4 x4 g/ f' a'gauspuls',用于产生高斯调制的正弦脉冲( }; p/ W, k) S" @' D4 J
'rectpuls',用于生成采样的非周期矩形+ a1 m1 o: C8 D+ N! }( a% z
'tripuls',用于生成采样的非周期三角形8 h9 f4 G9 o) l/ P' t: ?
pulstran被评估长度(d)次并且返回评估的总和y = func(t-d(1))+ func(t-d(2))+ ...4 a" w0 P+ i+ _. V+ H/ v
4 i  V) o( v+ q9 L! Y9 M# P
在移除从向量d获取的标量参数偏移之后,在数组t中指定的参数值范围内计算该函数。 请注意,func必须是一个矢量化函数,可以将数组t作为参数。: C6 h9 z$ o* E' f( c' J8 n% n

; |# c; |3 Z$ b7 \; J' o$ s7 n通过将d指定为两列矩阵,可以将可选的增益因子应用于每个延迟的评估,其中第1列中定义的偏移和第2列中的相关增益。 请注意,行向量将被解释为仅指定延迟。
: ~7 o) S; r8 I, ]7 I3 ~8 e2 L* R1 {, L
使用上面这种格式,'func'的相关参数都是默认的。( ~, v# T% C1 k3 [% H& o" Z

' X! i* J' ~) X. x, x2 w% _可以设定‘func’的相关参数,见语法格式2.
/ ?# T. D! P) c  b0 {3 b$ z6 B
. T  @3 B* B. Z  C5 Z2 Y语法格式2:6 ~+ C8 I/ g% w( D' e7 f1 z
1 K" W* a, U" H/ @8 R
pulstran(t,d,'func',p1,p2,...)允许根据需要将其他参数传递给'func'。 例如:
2 M$ p" u1 m2 S) m
8 I2 n9 A% V0 Gfunc(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ ...
3 s/ J! S0 z! \4 I  x
. c* J. Q6 L3 Z针对语法格式2举个例子:. x1 |7 S# h# ?8 s6 d4 R# N7 J

) s  u) k( \9 M% n6 a
  • % 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 Waveform/ x$ g( v( e# ?' `& O$ _  C/ ~& ^
   
) \2 I/ b9 W( K1 i, W- t
$ Z% O8 `8 q9 h$ [" c8 k  @/ g$ j( v' I" {5 J, @( B
0 Z, j5 n9 e, `) a; i
y = pulstran(t,d,'tripuls',0.1,-1);
4 P. R# b% u1 y& l' j) b2 i4 H  \; o9 ]0 V0 z" i6 A0 V& u
这个函数中的0.1以及-1都是‘tripuls’的参数,例子0.1是脉宽,-1表示脉冲最高幅值在最左边,如果将-1去掉,则默认为0.5.图像如下:6 |8 U" p' h* {8 z7 }/ g

( P% [5 ~* y$ u & p$ c9 m4 z( N8 X$ @8 p

5 d* I! e5 T# k可见,这是一个正三角锯齿波脉冲串。2 y9 w, \9 D0 R" C4 X& r+ ^

$ F- V  b- X3 p' R6 H7 A" w4 ^9 A如果将‘func’的所有参数都使用默认值的话,那么就成了语法格式1了。
  j# Y- r% m8 E/ M# s: x& O6 R3 e, D
再举一个例子:
, j# L) O1 r+ o' C/ _5 T, l' _! n& k6 o
要求都在程序开头的注释里,很简单,懒着翻译了。
- Z7 Z9 m0 G. p0 s2 P
  B, n$ I7 ^) x, {2 w" \2 m
  • % 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'
    * _  A% O% L3 p% V) |: {
   6 y- Y5 T( r; I0 R
5 ^2 T/ P3 T0 K: {

$ ]3 k6 X8 G, K) Y6 A  C3 C; s& \1 T  I3 t1 u/ `/ k# e$ _  ^( _; d
语法格式3:7 p: V" P% Q9 ]$ S6 ~3 L% E8 p
' {* W+ e" \- ~1 _# X6 e
pulstran(t,d,p,fs)生成一个脉冲序列,它是矢量p中原型脉冲的多个延迟插值之和,以fs速率采样,其中p跨越时间间隔[0,(length(p) -1)/ fs],其样本在此间隔之外相同。 默认情况下,线性插值用于生成延迟。- J& X2 o) k/ n7 V' Q- {6 ], i

( s1 |' v7 K: Z5 i不太明白,先放这里。
* P* K$ g; C! Y4 h* [: @) D. f
. V( o. d3 {5 ?, O' Tpulstran(t,d,p)假设采样率fs等于1 Hz。
/ a- E; }4 [: d0 C: C5 N3 a- r$ _1 V. `1 R7 X6 v
也就是说如果省略了fs,则默认为1Hz。
, M7 a  K% u: D5 j
# {  Q$ t6 e; w$ ~pulstran(...,'func')指定替代插值方法。
& d' }( g3 K& _- I! q0 C
! u; o; r. m, g6 Q: G) b* i就这样吧!
9 V9 x% _0 Q7 D$ h' {$ T; V& q* ]- C; R) J4 h

1 s9 ^7 Y/ j- V! X8 r+ g% I+ R5 Q
/ \' K( G9 f0 c$ M0 |, W# P( k' S
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-20 04:50 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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