2016-10-03 271 views
0

我正在绘制矩形脉冲的脉冲串。如何在Matlab中改变矩形脉冲的脉冲振幅

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

我无法改变振幅用于所需的矩形脉冲。

我在做什么错误?

+0

如果你包含了定义't'和'w'的代码会很有帮助 – KQS

回答

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);