与
pulstran
现在。
关于pulstran
的简短文档。语法是:
y = pulstran(t, d, function_handle, p1, p2, ..)
和t
是用于计算脉冲(也总时间和输出的尺寸),d
是脉冲中心(移位增量)和p1, p2, ..
是附加参数的函数的时间步长。
所以输出结果类似于d
所有元素的总和function(t+d(i), p1, p2, ..)
。
下面是代码:
function Untitled()
[t, y] = FreqGen(5e2, 20e3, 1, 1, 0.01, 0.1);
figure;
plot(t(1:3e3), y(1:3e3));
xlabel('time [s]');
end
function [t, y] = FreqGen(f, fs, T, A, Pulseduration, Interpulseduration)
% f - frequency of sine wave [Hz], fs - sampling frequency [Hz], T - total
% duration [s], A - amplitude of sine wave, Pulseduration [s],
% Interpulseduration [s]
% time steps
t = 0 : (1/fs) : T;
% pulse center steps
d = 0 : Interpulseduration : T;
% use pulstrans
y = pulstran(t, d, @my_pulse, A, f, Pulseduration);
end
function y = my_pulse(t, A, f, Tend)
% Sine pulse from 0 to Tend
y = zeros(size(t));
tx = t > 0 & t < Tend;
y(tx) = A * sin(2 * pi * f * t(tx));
end
这虽然比previous answer慢一点。
这没有意义; 5kHz波形的周期是0.2ms,即0.0002秒。这与你引用的数字相符合的程度如何? – 2015-02-09 21:55:23
我可能是错的。 MOre的一般问题是如何使用pulsetran生成具有另一个自定义波函数的波形? – Foreverniu 2015-02-09 22:01:17
根据您的图表,您希望生成频率为10 Hz或0.1 s的波形。 – rayryeng 2015-02-09 22:10:31