1、先看Matlab中的解释:
This MATLAB function returns a continuous, aperiodic, unity-height rectangular pulse at the sample times indicated in array t, centered about t = 0 and with a default width of 1.
y = rectpuls(t)
y = rectpuls(t,w)
即:此MATLAB函数在数组 t 所指示的采样时间处返回一个连续的,非周期的,单位高度的矩形脉冲,该脉冲以t = 0为中心,默认宽度为1。
2、先看具体数值
说明:t=-0.5和t=0.5的时候结果为1;
即8个时刻只有两个时刻的输出为1,由定义知道,该脉冲以t = 0为中心,默认宽度为1,即结果符合预期。
说明:由于 t 中没有0时刻,所以输出全部为0;
总结:rectpuls函数只认识t中的0,如果设置有宽度,则只有【-width/2 , width/2】为1,其余时刻全部为0;若没有设置宽度,则只有【-0.5 , 0.5】为1,其余时刻全部为0
3、具体应用:
(1)雷达发射脉冲信号,时宽为Tp,matlab时间轴为t=[0:ts:Tr],Signal = rectpuls(t-Tp/2,Tp).*exp(j*2*pi*f0*t)
rectpuls中的时间轴为【-Tp/2,Tr-Tp/2】,由门宽为Tp知,t属于【0,Tp】的时候,exp(j*2*pi*f0*t)的幅值为1;其余时间为0;
(2)雷达接收信号,时宽为Tp,matlab时间轴仍为t=[0:ts:Tr],但相较发射信号多出了时间延迟,
目标位置为R,则echo = rectpuls(t-2*R/C-Tp/2,Tp).*exp(1j*2*pi*f0*(t-2*R/C));
此时t属于【2*R/C,Tp+2*R/C】的时候,exp(j*2*pi*f0*(t-2*R/C))的幅值为1。
(3)图示如下