SQUARE WAVE DEMO
% setup function generator clear_errors(); fprintf(fg,'APPLY:SQUARE 4000, 2'); fprintf(os,'AUTOSCALE');
%Setup scope FFT fprintf(os,'FUNC:OPER FFT'); fprintf(os,'FUNC:SOURCE CHAN1'); fprintf(os,'CHAN1:DISPLAY OFF'); fprintf(os,'FUNC:DISPLAY 1');
% set FFT parameters span = 50e3; center = 25e3; fprintf(os,'FUNC:SPAN %g',span); fprintf(os,'FUNC:CENTER %g',center); scale = 5; fprintf(os,'FUNC:SCALE %g',scale); offset = -15; fprintf(os,'FUNC:OFFSET %g',offset);
% ask user to identify peaks of various harmonics fprintf(os,'TIMEBASE:SCALE %gus',200); fprintf(os,'MARKER:MODE MAN'); % set cursors f0 = 4000; y = zeros(11,1); for k=1:2:11 fprintf(os,'MARKER:X1P %g',k*f0); disp('set marker Y1 to peak'); pause(); fprintf(os,'MARKER:Y1P?'); y(k) = fscanf(os,'%g'); fprintf('harmonic %g value %g dB\n',k,y(k)); end save square.mat y fprintf(os,'MARKER:X1P %g',f0); fprintf(os,'MARKER:X2P %g',3*f0);
%cycle through horizontal scales for scale = [ 100e-6 200e-6 500e-6]; fprintf(os,'TIMEBASE:SCALE %g',scale); fprintf('scale : %g us\n',scale*1e6); pause(); fprintf(os,'FUNC:DISPLAY OFF'); fprintf(os,'CHAN1:DISPLAY ON'); fprintf(os,'MARKER:MODE OFF'); pause(); fprintf(os,'CHAN1:DISPLAY OFF'); fprintf(os,'FUNC:DISPLAY ON'); fprintf(os,'MARKER:MODE MAN'); end fprintf(os,'TIMEBASE:SCALE %g',100e-6); fprintf('done\n');
clear_errors(); instr_clear();
Timebase 100 μs
Timebase 200 μs
Timebase 500 μs