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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

7 V9 G1 l% ]. `) P7 u& X, {* k1 t5 d前两篇博文和这篇博文有些许联系:
8 D: h# `0 R5 y0 U3 [  t7 K  r1 M
, W5 G" M1 P! ZMATLAB —— 认识一下信号处理工具箱之波形产生函数 rectpuls# R# W4 s- Q6 j! F) O

. N: p- A  j  r4 o, _MATLAB —— 再介绍一下信号处理工具箱之波形产生函数 tripuls) W+ U3 Z0 R& D  G! C" d" M

2 S/ K; }& y) Q6 x/ j2 H! z) GMATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。
& j; O. ~5 l) ]. E$ N9 t' E; I8 j, d$ Z7 s
语法格式:
* e; ?* H( W. b( @7 _
+ D7 b' j$ I4 Z; ~. d7 m ) \. X& S% {) d$ m1 [) G; g, z6 r/ p

) }/ S% [9 h. i, E+ [0 t- T语法格式1:8 K0 E6 ]4 g: r' }, O) T

( U( g# @' Z8 D7 D2 w* ~y = pulstran(t,d,'func')基于连续函数'func'的样本生成脉冲序列,其中'func'是
; @' W6 S1 V) s7 s" f: t  U( e9 h0 W9 R! b3 g* v$ e; A
'gauspuls',用于产生高斯调制的正弦脉冲
, B( {  t( O5 Y/ ?'rectpuls',用于生成采样的非周期矩形! R% A2 F8 ]1 S6 [8 W* ~
'tripuls',用于生成采样的非周期三角形
# L0 G) r1 X8 M" Qpulstran被评估长度(d)次并且返回评估的总和y = func(t-d(1))+ func(t-d(2))+ ...# f1 F% f. P+ M* ?, K5 {- S: P

. @; R( I& S; _1 q' k3 a/ T在移除从向量d获取的标量参数偏移之后,在数组t中指定的参数值范围内计算该函数。 请注意,func必须是一个矢量化函数,可以将数组t作为参数。
: C! D2 A# Z4 a+ Z( Q% x% H
0 ?' r$ U+ d0 D: ^; u5 J通过将d指定为两列矩阵,可以将可选的增益因子应用于每个延迟的评估,其中第1列中定义的偏移和第2列中的相关增益。 请注意,行向量将被解释为仅指定延迟。
" d! U; [6 A* O  p/ D( q7 N1 C8 Y/ o/ C
使用上面这种格式,'func'的相关参数都是默认的。
& v" l0 ~: R; ]' E( j$ ]
* W" I/ T2 W7 F& g5 R可以设定‘func’的相关参数,见语法格式2.
  t0 J1 p* ~3 K
& h- Y6 [( z% k! U1 }; x语法格式2:5 v  Z8 y. N7 \% u) B$ P
- `7 u8 {- g. F
pulstran(t,d,'func',p1,p2,...)允许根据需要将其他参数传递给'func'。 例如:
! B! w7 _+ n: Z9 s" N/ O3 m$ J9 n, _. g* B
func(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ ...) d* L/ s7 c3 C* v4 n; S

1 F2 h4 f- p4 a; I) Y2 ^3 g针对语法格式2举个例子:. k, H; F$ t) w: l

. E7 `+ i: ]; C' f( [
  • % 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
    % R! B" Y3 }$ c: {+ A
     R. D; m2 ~6 t2 E4 {: ?
% n& ]: H# ~/ q  ~- n) r* h, F5 z

) W" o  k$ ?# s
7 c9 q4 u% A) |; O4 dy = pulstran(t,d,'tripuls',0.1,-1);* B9 O% x2 }+ N9 O0 ~5 ^/ e$ `& A
. E' h1 d% |3 T; ~2 P3 `+ y4 G$ g
这个函数中的0.1以及-1都是‘tripuls’的参数,例子0.1是脉宽,-1表示脉冲最高幅值在最左边,如果将-1去掉,则默认为0.5.图像如下:# Z/ N7 F0 T8 h/ j, N3 L

  Z8 q! p+ ]! s; f
$ y( T* S/ ]  a- O
$ S9 ~3 M& O! y可见,这是一个正三角锯齿波脉冲串。
) r! M; I( H; \1 D, ~. g4 s6 `5 }/ s  A- N: m1 e* w
如果将‘func’的所有参数都使用默认值的话,那么就成了语法格式1了。4 X( ~" t1 O* q0 `
. [4 d. P0 U* S* J; Z" s
再举一个例子:
' S) g" K  A+ b9 Y. I; F; _+ @4 Z
/ [! e  l% v8 j0 @要求都在程序开头的注释里,很简单,懒着翻译了。; p! u4 {' x% @4 _5 Z$ n
, n; ~! t2 b/ x* J; _
  • % 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'3 T* F! N  V8 D" J
   $ o9 Q) D) q/ ^: `6 C* a' y! M

/ C/ U( b! R+ U+ B0 P3 U5 ^: X7 W# Z, ]7 e( c6 z

% ]: V) m# }0 R语法格式3:. N2 f# V& i) s7 i# O1 H6 e, L
0 b9 j( S. V- _( \. |( R! U
pulstran(t,d,p,fs)生成一个脉冲序列,它是矢量p中原型脉冲的多个延迟插值之和,以fs速率采样,其中p跨越时间间隔[0,(length(p) -1)/ fs],其样本在此间隔之外相同。 默认情况下,线性插值用于生成延迟。- d9 n" u4 G; M7 g
" U7 }! |( z) o
不太明白,先放这里。
; t( t! _! X. V( _) }' q. u7 \9 k
8 e  ?+ {4 W3 Z9 f$ J# t7 B, `pulstran(t,d,p)假设采样率fs等于1 Hz。! J: b, j  d2 r8 j
* w) i2 }  k6 R) ^) o& A# s
也就是说如果省略了fs,则默认为1Hz。
1 a+ q- }7 o7 I& T1 ]9 E. o4 v) u
: c: g# H  J- E. o2 v2 opulstran(...,'func')指定替代插值方法。
+ }; ^/ q' T/ C' L& u! I5 q
' C  N! Y- L% V5 I0 k2 t就这样吧!
' [/ w- C2 a: Y0 K  P) }; `& n0 B! k; v$ g  ^7 }" N4 U9 i

5 N6 Z: D' F4 ^: e: |& A8 Q6 ^& _" r
) p0 A+ F) ^+ p! v
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-4 17:50 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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