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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
  z- t: O3 d& P4 Z
前两篇博文和这篇博文有些许联系:
8 r, n9 y- q) p/ V1 w* d, k
( j; n, Y- [* SMATLAB —— 认识一下信号处理工具箱之波形产生函数 rectpuls6 x$ ]  B$ s+ v, B" H6 `2 v1 W6 y
5 s6 ^& x; d" D4 y0 y$ w
MATLAB —— 再介绍一下信号处理工具箱之波形产生函数 tripuls
! y8 Z' L0 C" j* s; ?% l4 ~: U! d  l
MATLAB帮助文档称pulstran函数为:脉冲串(Pulse train)产生函数。 pulstran从连续函数或采样原型脉冲生成脉冲序列。
% v+ u/ `* I" d' F
% \. k6 }3 N  c# k( {语法格式:
6 R  ^8 {5 J3 n- L& V- T# _% w8 n, R7 D; r0 y/ c, f2 T" G. [1 i
8 y# M6 `4 {  ]2 U

8 z& d% ^5 l+ U语法格式1:, p8 h" f6 w! i) D" O
9 E, j5 t1 ^+ A' j/ a3 K2 Z/ y& Q
y = pulstran(t,d,'func')基于连续函数'func'的样本生成脉冲序列,其中'func'是
/ ?2 ]1 C: ]1 l, W7 L, E, @+ z- v: T3 F5 y( j. d
'gauspuls',用于产生高斯调制的正弦脉冲
4 X& ~+ E; m# t; u- y'rectpuls',用于生成采样的非周期矩形
9 H" f; B9 z. G$ _2 S'tripuls',用于生成采样的非周期三角形
4 \4 ]; M# a8 q  Jpulstran被评估长度(d)次并且返回评估的总和y = func(t-d(1))+ func(t-d(2))+ ...; c& ?; N% I% n: t, v3 }

, {2 s7 I( _9 ^在移除从向量d获取的标量参数偏移之后,在数组t中指定的参数值范围内计算该函数。 请注意,func必须是一个矢量化函数,可以将数组t作为参数。
& T9 B* f0 f) c0 V. B) e- |5 p$ Y  k6 j. ]& w
通过将d指定为两列矩阵,可以将可选的增益因子应用于每个延迟的评估,其中第1列中定义的偏移和第2列中的相关增益。 请注意,行向量将被解释为仅指定延迟。
& o% G% c9 B# q, a% ~- e; e& t- I+ z
使用上面这种格式,'func'的相关参数都是默认的。. @7 F& J  t& s( }& G

) d$ y6 R4 S/ s( `2 [可以设定‘func’的相关参数,见语法格式2.; `& v9 G! @& W& i4 t7 d7 O2 r) Z

# U, H& G& ~4 J: |语法格式2:7 {9 I4 ^" k0 `" f4 U

" v9 W+ ^9 Z6 J2 `- Qpulstran(t,d,'func',p1,p2,...)允许根据需要将其他参数传递给'func'。 例如:1 P, L  x- j& R

9 x  j0 p- c5 K' W9 x% @func(t-d(1),p1,p2,...)+ func(t-d(2),p1,p2,...)+ ...5 {0 Q4 y  W: s8 e) d

5 B: |7 R0 s3 n4 V# E% D针对语法格式2举个例子:
5 R% e6 Z5 ^3 l
3 h3 x( j" t- V% M& 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, S7 z% B% l. o' U3 e
   % I& L$ u) H- i" v

0 j+ x9 p& J+ f+ }
+ n  K: c( V0 J
% ]3 y' t! q& g8 Y' Ny = pulstran(t,d,'tripuls',0.1,-1);
$ U5 ~- m- p$ o0 p, h5 e! O1 u, I
这个函数中的0.1以及-1都是‘tripuls’的参数,例子0.1是脉宽,-1表示脉冲最高幅值在最左边,如果将-1去掉,则默认为0.5.图像如下:
2 X; g: x8 R8 M
( g  s- O( f/ k' k' \+ n0 g# \/ H
- ]* e0 o6 M& c! \
* N* I1 e. @4 z8 I6 j, s可见,这是一个正三角锯齿波脉冲串。
- Z. p$ S0 O6 L0 E9 U# o/ @. V
如果将‘func’的所有参数都使用默认值的话,那么就成了语法格式1了。
! B7 T& c$ c% S' d5 o8 p" o5 v
+ `" X7 [0 _9 I/ I7 F再举一个例子:$ T$ f: n  j% f$ u
, z  w8 R; F1 F3 {
要求都在程序开头的注释里,很简单,懒着翻译了。5 q' {' p2 g! _) z# p
1 c% r  ?& ~+ O1 ]  M2 A! O
  • % 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'
      z# o0 L1 S4 w; J8 k. ?7 b: _9 E
   
8 R, J6 o2 C- A% m6 f1 q' a+ i6 z, o
7 [7 ]7 o* B+ |& I/ m1 v- i. m8 \! `! q( a8 t/ s

( L/ F) {# r6 y语法格式3:9 F8 F, H1 i) ^; A4 p) y, l! ]; d
3 p. v. K) e: O# m7 \7 L
pulstran(t,d,p,fs)生成一个脉冲序列,它是矢量p中原型脉冲的多个延迟插值之和,以fs速率采样,其中p跨越时间间隔[0,(length(p) -1)/ fs],其样本在此间隔之外相同。 默认情况下,线性插值用于生成延迟。9 F+ b! d% k# j' K9 R
* g) k8 K7 {1 Z3 \
不太明白,先放这里。
$ ]4 j) w* f$ `. P2 i
  Z: G5 x* d+ P' Gpulstran(t,d,p)假设采样率fs等于1 Hz。
+ L% {. d/ h% q# v3 \6 X4 ^# R2 u5 Y. F) [1 Q1 L+ z1 Q
也就是说如果省略了fs,则默认为1Hz。' E0 J  Y& v- r2 N+ |% d! @9 T9 Z

5 F- ~# ~3 y, u% Q2 c( k& M* F0 ]pulstran(...,'func')指定替代插值方法。4 k1 w& R  a6 n# t4 _" R

- }) `2 `0 a& i& k$ n就这样吧!
" P' w6 V0 l. }* t3 {/ b) K
1 x5 u" W% Y/ j  g/ I* w 1 F4 T3 g8 I5 h2 N, _% m/ q% G
0 n/ @8 p1 Q+ C% o" J3 X' Q  v% ?' s
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 19:00 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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