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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

4 I4 G) c7 ?& u/ K; }/ I3 G前两篇博文和这篇博文有些许联系:
- z3 G: d! C' k1 c" a- o! r- z- `: D1 ]3 o2 y0 _0 Z( |
MATLAB —— 认识一下信号处理工具箱之波形产生函数 rectpuls
) U) f! J" x. L4 @) V! v
) x1 m; l6 t" G9 k1 ?MATLAB —— 再介绍一下信号处理工具箱之波形产生函数 tripuls0 Z5 t4 [* Z- W' s$ O2 m

' A* j/ e" t. P5 h+ _" wMATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。  n2 v1 W9 G% k" b* f" z

" U" g1 w1 R0 \: B3 A* f: m& A语法格式:( |& {$ k- m; j: ?* ^

3 m: }9 P1 y8 R
. m9 e) g. |4 X
7 X! G* q6 j2 \语法格式1:
' _( R5 _7 b# z7 ^8 l
0 D$ R: N7 o" \5 Dy = pulstran(t,d,'func')基于连续函数'func'的样本生成脉冲序列,其中'func'是
* k+ n8 t5 h, m4 n* {+ z1 r
) r3 l* E6 x8 A- P. U'gauspuls',用于产生高斯调制的正弦脉冲
+ h1 r& Y8 h8 f) B5 A'rectpuls',用于生成采样的非周期矩形! N% J3 z1 m6 I( E7 n
'tripuls',用于生成采样的非周期三角形' a2 {) F0 a: v
pulstran被评估长度(d)次并且返回评估的总和y = func(t-d(1))+ func(t-d(2))+ ...* T( L4 E# [, b3 n8 Y- m

. H9 ]: T: ]. r% W+ n在移除从向量d获取的标量参数偏移之后,在数组t中指定的参数值范围内计算该函数。 请注意,func必须是一个矢量化函数,可以将数组t作为参数。* k! v1 w: h, \# n4 d1 X. U

; B+ u, \5 {& I  K+ n; J6 P通过将d指定为两列矩阵,可以将可选的增益因子应用于每个延迟的评估,其中第1列中定义的偏移和第2列中的相关增益。 请注意,行向量将被解释为仅指定延迟。5 E1 d( ?' }/ w$ ?1 o
. K0 X- C5 c$ S! {7 a
使用上面这种格式,'func'的相关参数都是默认的。7 O+ _  I& ]2 ~# J
8 G# D  B& W' j) F  Z
可以设定‘func’的相关参数,见语法格式2.
' R6 k- Y) w7 }/ h5 X3 b1 C. ?: f' ?+ K. K: n5 V8 b  W
语法格式2:
& ?! w6 o4 H+ W/ ]$ U9 a: ]4 p# V9 p, b$ k; M6 C8 ]* m; Q- a; |) X
pulstran(t,d,'func',p1,p2,...)允许根据需要将其他参数传递给'func'。 例如:
7 ~1 e* b% P0 u+ P6 x9 W% P* ^* m1 V
$ B( ?9 _* v! z; ^  W& lfunc(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ ...
+ T& s9 _' T$ w, q/ m
( I" i% D: a  h1 R( R针对语法格式2举个例子:
* z" s6 M% w6 U* E  {/ L
6 d7 t+ U- M- s
  • % 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+ B: c7 x& z) u2 M; H( T
   
" w8 l* a: T% u( Z8 s5 X1 A) q' H. z
* A) \9 h* e9 ^+ r! S. D* K+ o! _3 X. E

2 a' H6 q! ?( q; dy = pulstran(t,d,'tripuls',0.1,-1);' M) ^, `: z. I' A. T+ Z' u
$ b  `" @- J+ S$ I. _3 |8 e5 P
这个函数中的0.1以及-1都是‘tripuls’的参数,例子0.1是脉宽,-1表示脉冲最高幅值在最左边,如果将-1去掉,则默认为0.5.图像如下:
& F( y3 k0 ]0 w3 h4 c& [7 G
+ |# m4 z$ h9 q; {
+ v5 k% @2 z: q8 R" f5 g) \3 \; \+ ^! |) M
可见,这是一个正三角锯齿波脉冲串。$ T7 V/ e+ r4 u, z/ T
) q# n" d/ A; a# u7 D
如果将‘func’的所有参数都使用默认值的话,那么就成了语法格式1了。: K  V5 @2 q/ Q, }  c
6 Y9 \4 z9 o, |% O
再举一个例子:
' E6 M2 Q' t) Y# @3 t; Y7 |1 _0 s
要求都在程序开头的注释里,很简单,懒着翻译了。! A% N) U3 o& g/ @& [% X
6 S( j6 e- d# P- ]2 {! z+ b
  • % 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'
    + F& Z) H) y3 |. P7 z
   ' h1 n  \" O3 c6 O8 ~7 m

4 J5 U4 m) C/ N9 Z; D
/ U2 J! n8 c1 b2 }; g, {  f, u6 ?: }% `+ @
语法格式3:+ o& @7 K5 A. w" S  h! }& A

4 `9 q! n! f: @pulstran(t,d,p,fs)生成一个脉冲序列,它是矢量p中原型脉冲的多个延迟插值之和,以fs速率采样,其中p跨越时间间隔[0,(length(p) -1)/ fs],其样本在此间隔之外相同。 默认情况下,线性插值用于生成延迟。
) }1 p3 j- d& O# p7 b7 _
4 V) J% f5 X8 q( y* }7 J6 z- D1 J不太明白,先放这里。4 T( r/ P0 u0 j. V

9 m6 J, l) r( N: C9 t6 u8 lpulstran(t,d,p)假设采样率fs等于1 Hz。
) C! g9 M6 c7 N6 p; o) u/ e& X# b' g3 ?; ]' q: `
也就是说如果省略了fs,则默认为1Hz。
% S! \2 q8 u9 v, ~; ^' z8 I4 O) D% y
pulstran(...,'func')指定替代插值方法。- x7 `8 ?, x3 v$ W8 X' l/ p/ r! A- s
/ I5 N. G* ]4 C4 ?' r5 z0 _
就这样吧!4 |# ]8 T+ N8 ?" X2 l- r

* N3 o6 ~- Y' U# x
/ s5 u$ `7 v) c# a

9 d# t4 W4 |8 d$ R! U+ x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-7 11:38 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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