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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

1 p  z, X5 J) s2 u1 }  J前两篇博文和这篇博文有些许联系:/ ^0 I$ n' C& N6 B

# z5 ~) [; p* {% Z" OMATLAB —— 认识一下信号处理工具箱之波形产生函数 rectpuls
' U& F  v/ G+ K: t5 v, h6 H4 y& X0 z5 b- z
MATLAB —— 再介绍一下信号处理工具箱之波形产生函数 tripuls4 w: N* ~, O5 o% i# j
( B- K0 u% J: S2 {) Y
MATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。
9 I% ^  C7 N# H# w
/ M9 B5 t8 _% B* Y1 H" j语法格式:3 E& H+ P5 i# \  F/ ~) I0 B

! ?: L# X: _6 q+ v4 q* i 2 Q3 V7 r1 d7 w( R" S) C2 {! F

# o# l4 k, l) f语法格式1:
5 L( b5 a) a* q- j; m) B. e( ?/ g& P! ^, f0 g
y = pulstran(t,d,'func')基于连续函数'func'的样本生成脉冲序列,其中'func'是
( I- Q) [+ ^+ g: A9 J; Q# v
) t( k, Q0 F: ?4 N- X; @" ~2 z$ @8 z'gauspuls',用于产生高斯调制的正弦脉冲
  L( ~8 `4 e6 t9 @+ a# g; Y; ['rectpuls',用于生成采样的非周期矩形+ o! o7 ^+ Q) |% q
'tripuls',用于生成采样的非周期三角形
8 [. o; i$ i( npulstran被评估长度(d)次并且返回评估的总和y = func(t-d(1))+ func(t-d(2))+ ...
% ^8 p( j) n" u; _
; l  O, i, ~' R% Y& A在移除从向量d获取的标量参数偏移之后,在数组t中指定的参数值范围内计算该函数。 请注意,func必须是一个矢量化函数,可以将数组t作为参数。
- B0 g) _" D' l" A( J2 U5 ~8 w4 `) n. |; F- y2 ]* [
通过将d指定为两列矩阵,可以将可选的增益因子应用于每个延迟的评估,其中第1列中定义的偏移和第2列中的相关增益。 请注意,行向量将被解释为仅指定延迟。
; W) _9 w. n! H0 ?4 p, x4 J8 ^. o2 K( }
使用上面这种格式,'func'的相关参数都是默认的。
. _9 V/ @- v* Q% Q
( g7 G0 w! O2 i3 b可以设定‘func’的相关参数,见语法格式2.
0 ]0 ?: P  D. I, U% s) v) i2 F. d+ f  m3 y# h
语法格式2:
( L* A1 V8 K( Y
3 I) Q2 e+ Q! ~- v9 x2 spulstran(t,d,'func',p1,p2,...)允许根据需要将其他参数传递给'func'。 例如:; V2 ?* @" [! C4 ?% W% I
* e! G. J! x4 T/ _$ c9 [6 V. ]
func(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ .../ @7 _* I5 c& y: S9 n# _5 g! m: f7 f
- o! {, Q9 x5 t) k% O/ `. f3 f
针对语法格式2举个例子:
/ z1 Y4 S/ G- V% C) I1 R8 ]. X% F+ x
  • % 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 Waveform3 t+ R* g2 H; h( ^$ U+ F
   ) E6 ~& k0 V* n

7 |9 V/ m1 b" C3 F  i4 Z' L
- x' b7 M% {* }) O7 p7 v- O2 Z$ y* g  z( l
y = pulstran(t,d,'tripuls',0.1,-1);
! c0 F" u# w6 r0 ^/ ^7 Z. n! H+ q2 D: D
这个函数中的0.1以及-1都是‘tripuls’的参数,例子0.1是脉宽,-1表示脉冲最高幅值在最左边,如果将-1去掉,则默认为0.5.图像如下:7 Z* @8 H4 N% _0 {, z  _) M: ~
! V4 x3 T6 @' n) w, e! r

$ Y+ ]! u% }6 K7 k$ b" e
& g* z+ U- m4 U4 [3 K可见,这是一个正三角锯齿波脉冲串。
0 R  ?# A# c( g. S: G  X
  H% y9 ?! O6 h如果将‘func’的所有参数都使用默认值的话,那么就成了语法格式1了。
) i$ N/ E2 E- x) ^$ W" Y. {- Z, s# [4 F# K' W
再举一个例子:0 y, j: |5 R: j
$ e: [; B# K; O; T0 P
要求都在程序开头的注释里,很简单,懒着翻译了。
1 j- y$ N9 I+ a+ o& T7 ]  ]+ n( ^: d, u. t  ^# R- K
  • % 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'% {( u1 i1 v( [7 R
   ; B! i4 U$ ?7 r4 `) T/ x

  ~, J! ~% Z6 F  D7 b
  G/ k+ p7 T# i+ J3 _; i& T* c" f7 m
语法格式3:
( G0 @& c1 b4 @! O1 _) ]
  _( F% {8 }3 o7 w$ y" P& Bpulstran(t,d,p,fs)生成一个脉冲序列,它是矢量p中原型脉冲的多个延迟插值之和,以fs速率采样,其中p跨越时间间隔[0,(length(p) -1)/ fs],其样本在此间隔之外相同。 默认情况下,线性插值用于生成延迟。( |7 e1 e, O4 y
4 b5 C, i, S  ^  U
不太明白,先放这里。/ h  t. _% R8 M

( @4 Y& G* |; c/ y9 p2 B. D# Epulstran(t,d,p)假设采样率fs等于1 Hz。
6 \1 ?$ l9 R# E; j
6 t( p+ R, `6 `: Y. L' S+ H8 y( U也就是说如果省略了fs,则默认为1Hz。
* p' y6 @3 _" N+ [( ~  ^
$ T! f2 R* r8 x. _2 z  w5 [pulstran(...,'func')指定替代插值方法。7 D  Z4 p' S, Z! c

9 a' v* |; m& y* \, j就这样吧!
" [* C7 g4 @+ }
6 X) P& q5 m3 v# a 9 G- e% H3 s- U& k0 z

/ H# ]0 z& b0 t9 ?! ?- S$ U, E
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 10:16 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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