(2014) RF demodulation using scope data
For kicks and giggles, I wanted to use my oscilloscope to analyze a RF-signal. I have a 500 MHz scope with 4 Gs/s and 140 million data-points of memory.
Ever wondered what you can do with an oscilloscope and a "bit" of data analysis? Well, probably not...
Random modulated 2-FSK 433MHz RF signal connected directly to the scope. RF-signal saved and all data exported to PC. Matlab used for data-processing.
The RF signal
If we zoom in, we can see the actual samples.
This is the digital signal modulated into the carrier. There's a bit of noise on the signal due to missing lowpass-filter.
By taking a fast fourier transformation of a small part of the signal, we can go from time-domain to frequency-domain. While the transformation gives the power vs frequency for a very large frequency-range (depending on the settings), I've only shown the interesting part around 433MHz here.
If we look at an even smaller part of the signal, we can get a more clean peak, as we look at a small time-interval, where only a logic 0 or 1 is present (meaning no frequency change). X-axis is frequency, just moved everything to a smaller array for simple data-manipulation.
The digital signal is modulated with approx 100 us per bit. Using a fast fourier transformation within a window of 10 us, we should be able to get a fairly good time-resolution and frequency accuracy. Doing this for the entire signal by dividing it into small pieces and performing a fourier transformation, we get the frequency content. Visualizing the power level for each frequency vs. time, we get actually see the modulated data by the change in the carrier.
- or image flipped.
If we compare the transformed signal with our original signal, there's a clear match. The green signal is just the picture showed earlier, but scaled to fit. (I know, the signal is "inverted")
Lets look at some more colorful 3D plots. The change in frequency due to the bit-pattern can be seen very slightly. Some weak peaks can be seen on the sidebands from the modulated signal and the carrier.
If we use log10 on all levels, we get something more or less comparable to dB scale - but note that the level is related to FFT length and measurements was in voltage. Anyway, some characteristics of the signal is a lot easier visible, mainly the sidebands.
If we zoom on the top-peak, we can still see the bit-pattern the was modulated into to carrier earlier.
Due to the FFT performed, the peaks are fairly weak. While a more accurate FFT would have been nice, my PC struggled with the huge amount of data. But as the peak value is fairly accurate, we can find the peak value for every FFT part. I we plot the signal with peak power vs. time, we can actually see the original signal that got modulated into the carrier.
By setting a limit "in the middle", we can get a logic 0 or 1 out.
If we compare directly with the signal before modulation and the final signal we got out, it sure looks like the original signal - wuhu!