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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
( L8 ?4 O0 u7 l4 m3 z1 a0 R$ k9 K
前两篇博文和这篇博文有些许联系:
& K8 ?& ~+ j- n+ T% R1 \3 D
  q* Q7 V' {9 L% c2 rMATLAB —— 认识一下信号处理工具箱之波形产生函数 rectpuls
* a, O) t: t" W9 [* H
. @( B! |4 Y% Y% TMATLAB —— 再介绍一下信号处理工具箱之波形产生函数 tripuls" k' S* T. }9 T5 i7 D' n0 ?! F. i& V6 [
* @: ?* G- D% L3 e, @
MATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。9 N/ |% m; j" k: U9 E0 O& p, |. R

4 B6 V  E: ]5 d语法格式:
  Z0 [' ]. p0 [$ E; u7 L- y+ Z: Z* ~7 x$ }' k2 i# X

" F4 Q" T5 s& D0 \1 |
1 u$ Q6 a6 n8 I3 R1 E( B语法格式1:
3 [8 T( R! V8 V$ A) Y0 `8 c
/ x( a8 `' s4 T+ Sy = pulstran(t,d,'func')基于连续函数'func'的样本生成脉冲序列,其中'func'是
8 N, W, \/ I9 ^7 w+ `; k$ p0 E) \% x* j8 r$ ~# r7 k) \
'gauspuls',用于产生高斯调制的正弦脉冲
& ?2 z9 K, ?+ G- @& W3 K3 B  W7 L# O'rectpuls',用于生成采样的非周期矩形, _$ E6 \! y! T% b9 r7 ^
'tripuls',用于生成采样的非周期三角形- l8 k7 v  i, c+ }( e* @# Q
pulstran被评估长度(d)次并且返回评估的总和y = func(t-d(1))+ func(t-d(2))+ ...
* c  K6 |. }# A: N3 I( B( h8 ]6 h, F, }0 B) @+ n5 G0 i
在移除从向量d获取的标量参数偏移之后,在数组t中指定的参数值范围内计算该函数。 请注意,func必须是一个矢量化函数,可以将数组t作为参数。3 e8 |4 S, _* Q

& i/ H! p) E* Z8 f) R; a- a. }通过将d指定为两列矩阵,可以将可选的增益因子应用于每个延迟的评估,其中第1列中定义的偏移和第2列中的相关增益。 请注意,行向量将被解释为仅指定延迟。
% [! a' |& B9 V1 ^; n6 p/ @
6 |& Z2 P9 S1 c2 j6 c6 X使用上面这种格式,'func'的相关参数都是默认的。* G- @+ Q& G+ o5 N5 o+ [; E2 x
, A0 n$ G3 ?8 g. ~
可以设定‘func’的相关参数,见语法格式2.) i' y5 P& h7 t$ R9 x8 ?6 Q
8 _1 |; w  S# N8 P4 [  g3 D
语法格式2:
2 D, m# E( T# I
; @9 L/ d; v$ B9 F3 G/ [4 h& bpulstran(t,d,'func',p1,p2,...)允许根据需要将其他参数传递给'func'。 例如:
! t4 j% r6 l4 p- l. B+ L/ r. j) q: |7 {( u, V' N  \
func(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ ...* K7 ?5 j5 C( G2 P
. Q3 V8 |0 B+ }  S. D
针对语法格式2举个例子:
" d$ h+ Z- l2 t/ N5 L0 J
: @* j! b1 k  M4 m3 ?. 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
    * F7 r0 t% W6 K$ k/ {. I! t7 h, A
   
8 D* H( ?7 s2 L5 l% b 7 F7 M# m6 e, m" ?* p- H
; Y) l2 k1 Y+ D: e8 l" r  s
3 }9 _4 F: p4 E4 J6 x2 W' ~0 J
y = pulstran(t,d,'tripuls',0.1,-1);9 A# P; U, Q) Q& L

$ }# a) j5 ]6 p1 |这个函数中的0.1以及-1都是‘tripuls’的参数,例子0.1是脉宽,-1表示脉冲最高幅值在最左边,如果将-1去掉,则默认为0.5.图像如下:$ l! f( I# b* @0 g, O$ z* |
  p5 i) Z: w. g
% A) [, u& A! s4 M: S; F+ L, [

0 |9 G& W! C  u8 r5 E可见,这是一个正三角锯齿波脉冲串。. E: e5 C+ w* H. B. b$ k
3 C0 E+ J$ q. }7 L, c: Q4 p
如果将‘func’的所有参数都使用默认值的话,那么就成了语法格式1了。% w' Q0 t; K  c
4 z. j$ O+ ~4 e; Z" W  {
再举一个例子:
; e5 W! c) R  k. C& u
& P  }6 |5 K/ v# W要求都在程序开头的注释里,很简单,懒着翻译了。- _8 g( t- g! M. C

& `9 R- @# V9 K% i6 R
  • % 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'% V! @. h( K& A/ E
   
6 @4 ^, `. I/ K. y- C& E - e1 h6 L$ O; |" r' J  N3 s; A
9 G: J8 ?/ d; |4 ~9 i1 H. d+ D) o' x5 d

2 J& x; p7 {$ f1 D' z  K语法格式3:' u& o+ S9 P* h; `' G

; [! e/ o8 ^% L8 r1 ^4 tpulstran(t,d,p,fs)生成一个脉冲序列,它是矢量p中原型脉冲的多个延迟插值之和,以fs速率采样,其中p跨越时间间隔[0,(length(p) -1)/ fs],其样本在此间隔之外相同。 默认情况下,线性插值用于生成延迟。8 d) W) e9 k# j. N) e

( p2 J7 D4 V- H( L6 T$ h不太明白,先放这里。
0 L+ |1 W2 M% e3 N3 m7 W+ J. I1 T% V3 P$ L& X2 P
pulstran(t,d,p)假设采样率fs等于1 Hz。
8 ^4 b7 p  i2 l* T) q* Q3 p% }  T
' b0 d% D" j' W4 }3 q6 d; A也就是说如果省略了fs,则默认为1Hz。
& j. v) u$ L  G1 U. p+ d* t7 R3 U  p  G7 A) L6 G/ Q
pulstran(...,'func')指定替代插值方法。- ?/ D: v" J& u0 s/ W9 x9 w2 |

2 {- c& W- y1 W+ O* |9 U就这样吧!
. S5 I5 X; g9 v% ^
/ v" D2 N9 D6 r* U+ g' p+ \7 y
: R+ I6 z; d! u" q; k( p
$ j9 ^7 b& V& E  X- O7 E* K+ |' r
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 22:39 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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