You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
51 lines
1.5 KiB
#!/usr/bin/env octave
|
|
% Plot the spectrum and waveform coming off of the ADC
|
|
|
|
% Author: Brady O'Brien 28 June 2016
|
|
|
|
% Copyright 2016 Brady O'Brien
|
|
%
|
|
% All rights reserved.
|
|
%
|
|
% This program is free software; you can redistribute it and/or modify
|
|
% it under the terms of the GNU Lesser General Public License version 2.1, as
|
|
% published by the Free Software Foundation. This program is
|
|
% distributed in the hope that it will be useful, but WITHOUT ANY
|
|
% WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
|
% License for more details.
|
|
%
|
|
% You should have received a copy of the GNU Lesser General Public License
|
|
% along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
%adc_file_name = '/home/baobrien/workspace/freetel-code/codec2-dev/stm32/adc_samp'
|
|
adc_file_name = '/dev/ttyACM0'
|
|
%adc_file_name = 'infifo';
|
|
fs = 96000
|
|
sampsize = 19200
|
|
%graphics_toolkit('gnuplot')
|
|
|
|
fin = fopen(adc_file_name,'r')
|
|
first = 1
|
|
cont = 0
|
|
sampinc = (1/sampsize)*fs
|
|
|
|
[samps cont] = fread(fin,sampsize,'short');
|
|
y = (1:(sampsize/2));
|
|
yp = (1:sampsize/2)*(fs/(sampsize/2));
|
|
pltdat = plot(10*log10(abs(fft(samps)(y))));
|
|
pltx = 10*log10(abs(fft(samps)(y)));
|
|
axis([0 fs 30 80])
|
|
set (pltdat, "ydatasource", "pltx");
|
|
set (pltdat, "xdatasource", "yp");
|
|
%set (pltdat, "ydatasource", "y");
|
|
|
|
while(first || cont==sampsize)
|
|
first = 0;
|
|
%sleep(.001);
|
|
[samps cont] = fread(fin,sampsize,'short');
|
|
pltx = 10*log10(abs(fft(samps)(y)));
|
|
refreshdata
|
|
refresh
|
|
endwhile
|
|
|