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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

! z& Y8 a0 I1 k3 R6 N前两篇博文和这篇博文有些许联系:
& [1 U6 E* H% V1 q: U, v/ m, J) ~3 a5 A2 Z4 c  {
MATLAB —— 认识一下信号处理工具箱之波形产生函数 rectpuls
+ m& W; n8 W/ I" e5 M" N" Y' b1 Y
5 o3 _! Z( t# g6 O$ z* XMATLAB —— 再介绍一下信号处理工具箱之波形产生函数 tripuls- ?" d1 }3 d3 g

* n# ^! y3 o% K7 i( `& bMATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。! Z5 [, [$ l" Z9 |% W

* v; I7 ^' j7 |) y2 N! o- n语法格式:' V) B' a% \) b2 w9 f8 J

2 F+ r6 `2 {5 {2 C  c6 f/ w % N3 [- I4 \; d; [9 t

$ a! t8 n% D+ j: ^$ B* w7 @( J语法格式1:3 C! ?3 H1 E2 E3 H/ f
* d9 T- W  _7 v
y = pulstran(t,d,'func')基于连续函数'func'的样本生成脉冲序列,其中'func'是8 I' h, P7 j2 F1 Y3 a8 o
. g" |1 R9 y. K' S
'gauspuls',用于产生高斯调制的正弦脉冲
4 k. F7 T0 {$ g* w4 j  s'rectpuls',用于生成采样的非周期矩形
) A& J5 a- I/ J5 Y* D'tripuls',用于生成采样的非周期三角形4 d% L: c  E6 N- S5 q- n6 o5 @$ z+ ^
pulstran被评估长度(d)次并且返回评估的总和y = func(t-d(1))+ func(t-d(2))+ ...- V- v" X# [! W2 r/ Z* p* {. L

0 L8 m& _& ?. [6 y2 {, g+ Q6 |在移除从向量d获取的标量参数偏移之后,在数组t中指定的参数值范围内计算该函数。 请注意,func必须是一个矢量化函数,可以将数组t作为参数。0 w  k5 M, G/ y
- C3 A+ P( y" z
通过将d指定为两列矩阵,可以将可选的增益因子应用于每个延迟的评估,其中第1列中定义的偏移和第2列中的相关增益。 请注意,行向量将被解释为仅指定延迟。1 q. o- S) @9 q. |9 b, f

/ l: e6 P! @( v) k1 {# Q! l5 G6 J使用上面这种格式,'func'的相关参数都是默认的。/ k/ V  ^& {3 l3 D" D
$ O1 S1 {4 B8 W+ s; ?* d6 p
可以设定‘func’的相关参数,见语法格式2.3 X& ~/ J* v8 P# B0 ^, ?

: `% I$ R+ C) O3 f语法格式2:2 U0 q# I/ ]/ y$ L, i5 l
2 n( B, i* k% q
pulstran(t,d,'func',p1,p2,...)允许根据需要将其他参数传递给'func'。 例如:
- n) Z" ^  W7 }( H- t$ u( q: e4 r0 p4 {7 x: O% q+ l" D
func(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ ...$ r* b! d$ E4 T6 ?( C+ C

% j* @6 D! g" @1 q+ i针对语法格式2举个例子:2 P+ ]# U1 K% {) v/ H0 Q# F0 _* j; T
0 K8 Z  p3 B0 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 Waveform
    2 q! k. u0 N; h% R# e4 t
   : T+ ]5 i" f, R

6 @9 E- M' d# @. G2 F' u# d6 m6 U, j+ |

$ X0 k& P! ]' T- s1 }5 _: my = pulstran(t,d,'tripuls',0.1,-1);* l$ u/ o) T; W1 j) u4 w' j( w
( X9 Y! T, n1 K7 p. K6 d
这个函数中的0.1以及-1都是‘tripuls’的参数,例子0.1是脉宽,-1表示脉冲最高幅值在最左边,如果将-1去掉,则默认为0.5.图像如下:9 R4 Y2 k4 T+ s

5 P' D. y+ A% T* V7 f+ _* \
. ]& x# z+ p  j8 r+ @1 j! C% N+ K
可见,这是一个正三角锯齿波脉冲串。
+ A! y+ B6 r7 E" U: q0 s$ |  c. r6 B/ Z$ w4 |' Y
如果将‘func’的所有参数都使用默认值的话,那么就成了语法格式1了。
( I) [9 }) ?7 [! Z
! C0 k; q" [5 P0 y0 @" d再举一个例子:# V& x: z& F8 a
3 o. {: r, o3 f/ M
要求都在程序开头的注释里,很简单,懒着翻译了。
" ]8 H9 X. f. o4 M# @) U  S3 ?
* g$ g" e/ C4 e; Z" H2 Y9 N
  • % 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'
    % L$ @: c  Z8 W9 [# T8 x. p" ?% D
   4 v* G& G1 t& C" ~
" k$ w8 N5 r. l# [) Q0 N5 f
' ]  O3 _+ Q3 m6 N8 A: w- a

) U, q1 Q" V# h8 t语法格式3:
3 g/ U$ m0 R. U* R8 h
$ p) D' l( X+ e  h+ k3 tpulstran(t,d,p,fs)生成一个脉冲序列,它是矢量p中原型脉冲的多个延迟插值之和,以fs速率采样,其中p跨越时间间隔[0,(length(p) -1)/ fs],其样本在此间隔之外相同。 默认情况下,线性插值用于生成延迟。
0 }- B- R: p1 T* l7 |" a3 X& Q9 n! l( p6 J7 _6 x/ O0 b& |* k& Y
不太明白,先放这里。& j, F, j" ^9 H

. F# N0 A1 P& V# Q+ gpulstran(t,d,p)假设采样率fs等于1 Hz。3 k2 b2 Q0 L9 M: I8 r; H
. x( Q0 g/ [+ \& |) a& i) Q4 N
也就是说如果省略了fs,则默认为1Hz。
: L+ T- F9 z; J- \6 Q4 d
6 m0 S: q7 T# O+ [: J. N* Epulstran(...,'func')指定替代插值方法。
# p3 R. N3 h5 S1 z
5 L. q3 M( ^0 Q/ D就这样吧!
2 H1 t+ x$ ?. _7 c1 m8 B# A/ b7 G$ k

/ V7 y3 ^3 q$ Q. o4 J; \# q( D
; |4 n# M2 w( `9 l  V& |: }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-31 18:11 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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