pulstran
脉冲序列
描述
例子
周期矩形脉冲
这个示例使用默认的单位宽度的矩形脉冲生成一个脉冲序列。重复频率为0.5 Hz,信号长度为60 s,采样率为1 kHz。增益系数是频率为0.05 Hz的正弦波。
T = 0:1/1e3:60;D = [0:2:60;sin(2*pi*0.05*(0:2:60))]';X = @rectpuls;Y = pulstran(t,d,x);情节(t, y)从包含(“时间(s)”) ylabel (“波形”)
非对称锯齿波形
本例生成重复频率为3hz的非对称锯齿波形。锯齿宽度为0.2秒,倾斜系数为-1。信号长度为1 s,采样率为1 kHz。绘制脉冲序列。
Fs = 1e3;T = 0:1/1e3:1;D = 0:1/3:1;X = tripuls(t,0.2,-1);Y = pulstran(t,d,x,fs);情节(t, y)从包含(“时间(s)”) ylabel (“波形”)
周期高斯脉冲
绘制一个带宽为50%的10khz高斯射频脉冲,以10mhz的频率采样。截断包络比峰值低40 dB的脉冲。
Fs = 1e7;高斯波(“截止”, 10 e3, 0.5, [], -40);T = -tc:1/fs:tc;X =高斯波(t,10e3,0.5);情节(t, x)包含(“时间(s)”) ylabel (“波形”)
脉冲重复频率为1 kHz,采样率为50 kHz,脉冲序列长度为25 ms。增益系数是频率为0.1 Hz的正弦波。
Ts = 0:1/50e3:0.025;D = [0:1/1e3:0.025;sin(2*pi*0.1*(0:25))]';Y = pulstran(ts,d,x,fs);
绘制周期高斯脉冲序列。
Plot (ts,y) xlim([0 0.01]) xlabel(“时间(s)”) ylabel (“波形”)
自定义脉冲列车
编写一个函数,生成由指数阻尼的正弦信号组成的自定义脉冲。脉冲是时间的奇函数。生成函数有第二个输入参数,用于指定正弦频率和阻尼因子的单个值。显示一个产生的脉冲,在1 kHz采样1秒,频率和阻尼值,都等于30。
FNX = @(x,fn) sin(2*pi*fn*x).*exp(-fn*abs(x));FFS = 1000;Tp = 0:1/ffs:1;Pp = fnx(tp,30);情节(tp,页)包含(“时间(s)”) ylabel (“波形”)
使用pulstran
函数生成一系列自定义脉冲。列车在2千赫频率下采样1.2秒。脉冲每三分之一秒出现一次,振幅呈指数下降。
最初将生成的脉冲指定为原型。在函数调用中包含原型采样率。在这种情况下,pulstran
在指定位置复制脉冲。
Fs = 2e3;T = 0:1/fs:1.2;D = 0:1/3:1;Dd = [d;4.^-d]';Z = pulstran(t,dd,pp,ffs);情节(t, z)包含(“时间(s)”) ylabel (“波形”)
再次生成脉冲序列,但现在使用生成函数作为输入参数。在函数调用中包含频率和阻尼参数。在这种情况下,pulstran
生成脉冲,使其以零为中心。
Y = pulstran(t,dd,fnx,30);情节(t、y)包含(“时间(s)”) ylabel (“波形”)
用自定义脉冲改变插值方法
编写一个函数,生成频率为0.25 Hz的自定义指数衰减锯齿波形。生成函数有第二个输入参数,用于指定锯齿频率和阻尼因子的单个值。显示生成的脉冲,以0.1 kHz采样1秒,频率和阻尼值等于50。
fnx = @ (x, fn)锯齿(2 *π* fn * 0.25 * x)。* exp (2 * fn * x ^ 2);Fs = 100;T = 0:1/fs:1;Pp = fnx(t,50);情节(t,页)
使用pulstran
函数生成一系列自定义脉冲。火车以0.1千赫的频率采样125秒。脉冲每25秒出现一次,振幅呈指数下降。
指定生成的脉冲作为原型。使用默认的线性插值、最近邻插值和分段三次插值方法生成三个脉冲串。比较单个图上的脉冲序列。
D = [0:25:25;exp (-0.015 * (0:25:125))];FFS = 100;Tp = 0:1/ffs:125;R = pulstran(tp,d,pp);Y = pulstran(tp,d,pp,“最近的”);Q = pulstran(tp,d,pp,“pchip”);情节(tp, r)在Plot (tp,y) Plot (tp,q) xlim([0 125])线性插值的,“最近邻插值”,“分段三次插值”)举行从
输入参数
t
- - - - - -时间值
向量
其时间值函数
求值,指定为向量。
d
- - - - - -抵消
行向量|两列矩阵
从数组值中移除的偏移量t
,指定为实向量。您可以通过指定将可选的增益因子应用于每个延迟计算d
作为两列矩阵,在第1列定义偏移量,在第2列定义相关增益。如果你指定d
作为行向量,这些值仅被解释为延迟。
函数
- - - - - -连续函数
“rectpuls”
|“gauspuls”
|“tripuls”
|函数处理
连续函数,用于根据脉冲序列的样本生成脉冲序列,指定为“rectpuls”
,“gauspuls”
,“tripuls”
,或函数句柄。
如果你使用函数
作为函数句柄,你可以这样传递函数参数:
Y = pulstran(t,d,“gauspuls”, 10 e3, 0.5);
这创建了一个使用10khz高斯脉冲和50%带宽的脉冲序列。
p
- - - - - -原型脉冲
向量
原型函数,指定为一个向量。的区间p
是由[0,(长度(p) 1) / fs]
,其样本在此区间外均为零。默认情况下,线性插值用于生成延迟。
fs
- - - - - -采样率
1
(默认)|真正的标量
采样率(以Hz为单位),指定为实标量。
intfunc
- - - - - -插值法
“线性”
(默认)|“最近的”
|“下一个”
|“以前”
|“pchip”
|“立方”
|“v5cubic”
|“makima”
|样条的
插值方法,指定为本表中的选项之一。
方法 |
描述 |
连续性 |
评论 |
---|---|---|---|
|
线性插值。查询点上的插值值基于每个维度上相邻网格点上的值的线性插值。这是默认的插值方法。 |
C0 |
|
|
最近邻插值。查询点上的插值值是最近的样本网格点上的值。 |
不连续 |
|
|
下一个邻居插值。查询点的内插值是下一个样本网格点的值。 |
不连续 |
|
|
以前的邻居插值。查询点上的插值值是前一个样例网格点上的值。 |
不连续 |
|
|
保形分段三次插值。查询点上的插值值基于相邻网格点上的值保持形状的分段三次插值。 |
C1 |
|
|
三次卷积在MATLAB中的应用®5. |
C1 |
点必须均匀间隔。 |
|
改进的Akima立方Hermite插值。在查询点上的插值值基于一次最多为3的多项式分段函数。Akima公式被修改以避免超调。 |
C1 |
|
|
样条插值使用非结结束条件。查询点上的插值值基于每个维度中相邻网格点上的值的三次插值。 |
C2 |
|
输出参数
y
-脉冲列车
向量
脉冲串由函数生成,作为矢量返回。
扩展功能
版本历史
R2006a之前介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。