Visualizing the spectrum II
Playing around with software defined radio and looking at spectrum visualizations.
100 Mhz at a Glance
![dev](/img/pages/radio-fun2/plot.png)
Above is a visualization of a 100 Mhz band, starting from 50 Mhz and stopping at 149 Mhz. The color represents signal strength.
Viz wireframe and Frequencies
![dev](/img/pages/radio-fun2/wireframe.png)
Each tile represents a 1 Mhz band. The numbers refer to the base frequency for each zone.
Tile by Tile
![dev](/img/pages/radio-fun2/tile.png)
Strong
![dev](/img/pages/radio-fun2/scale.png)
Weak
One tile is a 16x16 square containing a total of 256 inner cells. Each cell displays signal strength for a 0.0039 Mhz slice of 1 Mhz.
![dev](/img/pages/radio-fun2/signal.png)
The process
![dev](/img/pages/radio-fun2/process.png)
Three steps: GNU Radio captures radio signals and outputs samples with a magnitude ranging from 0 to ~1 (corresponding to about -90db to -60db). Matlab combines the samples to get peak values. Processing creates the visualization.
I Capturing data
![dev](/img/pages/radio-fun2/pass1.png)
GNU Radio captures the data from the radio receiver, the data undergoes a process called Fast Fourier Transform to convert time to frequencies, after this process is done the data is dumped in a file.
II Processing samples
![dev](/img/pages/radio-fun2/sample1.png)
![dev](/img/pages/radio-fun2/sample2.png)
![dev](/img/pages/radio-fun2/sample3.png)
Above are the plots for 3 different samples for 94.5 - 95.5Mhz. A single sample alone is not a good source of data, to have a more reliable source of data multiple samples have to be combined. Different techniques are out there, for this example, I am combining the samples by their peaks.
![dev](/img/pages/radio-fun2/peaks.png)
The peak plot looks way more realiable.
III Visualization
![dev](/img/pages/radio-fun2/bew.png)
Given the number of datapoints, which for a 100 Mhz slice is 100 * 256 = 25600 D3 and svg formats were ruled out. Processing did the job.
Expectation vs Reality
![dev](/img/pages/radio-fun2/radios.png)
![dev](/img/pages/radio-fun2/plot.png)
The picture on the left depicts the expectations I had for the viz, high activity around 89-108 Mhz and little activity elsewhere.
The diagram is fairly coherent with the prediction. It would be nice to understand the reason for high signal level around 52-56 Mhz.