如何在Matlab中改变矩形脉冲的脉冲幅度

时间:2016-10-03 04:46:00

标签: matlab amplitude

我正在绘制一个矩形脉冲的脉冲列。

pulse_periods = [0:128]*period; %128 pps 
%works for Ampl. default  = 1, 
r1 = pulstran(t,pulse_periods,'rectpuls', w); 

矩形脉冲的默认幅度为1。

我需要将其更改为0.5

我试过

    pulse_periods = [[0:128]*period;0.5 * [0:128]]' %128 pps 
    %does not work for Ampl. = 0.5, 
    r1 = pulstran(t,pulse_periods,'rectpuls', w); 

这是对Matlab中给出的周期性高斯脉冲示例的修改 https://www.mathworks.com/help/signal/ref/pulstran.html?searchHighlight=pulstran

我无法改变所需矩形脉冲的幅度。

我在做什么错误?

1 个答案:

答案 0 :(得分:0)

pulse_periods的第二列应该是每个脉冲的幅度。在文档的例子中,他们希望脉冲幅度发生变化。如果你想让脉冲幅度保持在0.5,那么你应该这样做:

pulse_periods = [(0:128)*period; 0.5 * ones(1,129)]';

作为最低工作示例的一部分:

period = 1/128;
pulse_periods = [(0:128)*period; 0.5 * ones(1,129)]';
w = period * 0.5;
t = linspace(0, 1, 2e3)';
r1 = pulstran(t,pulse_periods,'rectpuls', w);
plot(t,r1);

请注意,您还可以简单地缩放"默认幅度为1"的输出。案件(即r1 = r1 * 0.5);