20100208
I loaded data obtained from the Agilent Infiniium 54832D-MSO oscilloscope into Matlab and did some basic FFT analysis:
foo=csvread('sig24_tag150.2_J20062.csv');
Fs = 1000000 % 1 Msps
x = foo(1:1000000,2); % 1M samples.
N=length(x);
%this part of the code generates that frequency axis
if mod(N,2)==0
k=-N/2:N/2-1; % N even
else
k=-(N-1)/2:(N-1)/2; % N odd
end
T=N/Fs;
freq=k/T; %the frequency axis
%takes the fft of the signal, and adjusts the amplitude accordingly
X=fft(x)/N; % normalize the data
X=fftshift(X); %shifts the fft data so that it is centered
stem(freq,abs(X))
xlabel('Freq (Hz)')
ylabel('Amplitude')
title('FFT output')
grid
I used the guide at http://www.phon.ucl.ac.uk/courses/spsci/matlab/lect9.html to generate a specgram:
[SB, Sf, St] = specgram(x, 1024, Fs, 512, 384);
bmin = max(max(abs(SB)))/100; % 40dB
imagesc(St, Sf, 20*log10(max(abs(SB),bmin)/bmin));
axis xy;
xlabel('Time (s)');
ylabel('Frequency (Hz)');
lgrays = zeros(100,3);
for i=1:100
lgrays(i,:) = 1-i/100;
end
colormap(lgrays);
Using bmin of 300 (top 50dB)

Using bmin of 100 (top 40dB)

Try using [SB, Sf, St] = spectrogram(x, 32768, 16384, 32768, Fs); - window of 32ms. Only finds 3 of 5 samples.
Try using [SB, Sf, St] = spectrogram(x, 4096, 3072, 4096, Fs); - window of 4ms. Finds five, but they're not very clear. Possibly clear enough though! Slow - 25 seconds
Shorter window (128/96/128) - poor vertical resolution. Can see five if I look at 50dB, but three at 40dB.
1024/720/1024 - loads of noise at 50dB, but very clear at 40dB.
I need to:
- Use a ~20ms window and observe how this changes the result of the analysis - Done
- Find out how to quantify the output, perhaps by listing peaks, noise floor level, and an SNR
- Find out how to combine multiple inputs in an attempt to improve SNR
- See if I can see the peaks in the very low signal level captures.
Start writing up a DECC seeding grant application.
Apply for and receive a July 14 date for introductory talk.
Test sample depth on Rigol scope. Someone has written a script that reads Rigol waveforms into Matlab
- File contains 1048576 samples at 20MS/s (50ms)
- Possibly a bit low.. at one second, can do 1Msps, so 500 KHz - maybe just enough for my two lowest tags at baseband.
Buy some stuff from RS:
- SMA connectors
- SMA-BNC adaptors, unless I can get SMA antenna mounts
- Larger chip inductors that I don't have in my kit
- 4 * BNC connectors to connect box to DSO
Also try to source
- Magnetic antenna bases, brass tubes
- Write to Electric Bug
- Radiospecialists might also sell them, though their threaded ones aren't as cheap as the UHF connector ones.
- Need to get a tube cut and machined too.
