diff --git a/src/generate_pulse.m b/src/generate_pulse.m index 2f9c316..54b735e 100644 --- a/src/generate_pulse.m +++ b/src/generate_pulse.m @@ -1,8 +1,8 @@ function x = generate_pulse(amplitude, frequency, phase, fs, duration, duty) -% GENERATE_puse: returns a matrix of sampled pulse wave +% GENERATE_pulse: returns a matrix of sampled pulse wave % CONTRIBUTORS: -% Brian Tran: Created the wave +% Brian Tran: Creator % DOCUMENTATION: % phase shift is in number of periods @@ -13,21 +13,13 @@ function x = generate_pulse(amplitude, frequency, phase, fs, duration, duty) % initialize local variables from input arguments n = fs * duration; % number of samples (length of matrix) dt = 1 / fs; % sampling period: time between two sample points + % initialize a one dimensional zero matrix to be populated x = zeros(1, n); - f0=1e+6; % 1MHz - Fs=3e+6; - Tf=0.001; % 1 millisecond - t=0:1/Fs:Tf-1/Fs; - td=0.1; % duty cycle - A0=10; % 10 Volts - F=0; - N=1000; % Number of points - + % populate the matrix - for n = 1:N - F=F+(1/n)*cos(n*2*pi*f0*t).*sin(n*pi*td); + for i = 1:n + t = i*dt; + x(i) = amplitude * (sin(3*pi*frequency*t-phase)/(cos(3*pi*frequency*t-phase))) end - F=F*(2*A0/pi); - F=F+A0*td; end \ No newline at end of file