# 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.