Message Boards Message Boards

[WSS16] Implementing Software-Defined Radio using Mathematica and Osmo-SDR

As a part of the Wolfram Summer School 2016 , I had the unique opportunity to work with the some of the best people in the field. My project was based on Software Defined Radios.I was introduced to the concept of Software Defined Radios by Stephen Wolfram himself and found the concept of signal processing using any ordinary computer very interesting. The main aim of the project was to use Mathematica to process raw data generated from the SDR receiver using Osmocom-SDR. My project was supervised by Ian Johnson of Wolfram Research.

What is SDR?

Software-defined radio is a radio communication system where components that have been typically implemented in hardware (e.g. mixers, filters, amplifiers, modulator/demodulator, etc.) are instead implemented by means of software on a personal computer. The rapidly evolving capabilities of digital electronics have made many processes which used to be only theoretically possible on computers now really easy.

Analysis using captured data from the receiver @ 101.1 MHz

allData[[;; 100]]

{128, 128, 130, 126, 129, 129, 126, 129, 129, 127, 127, 127, 131, \
123, 128, 125, 129, 126, 128, 127, 128, 127, 128, 129, 126, 130, 125, \
127, 131, 125, 131, 128, 128, 127, 126, 130, 128, 131, 128, 124, 127, \
126, 127, 132, 123, 127, 128, 122, 127, 128, 124, 128, 129, 132, 127, \
130, 129, 128, 126, 127, 131, 124, 130, 130, 126, 130, 126, 127, 127, \
128, 130, 130, 127, 132, 127, 129, 129, 124, 128, 127, 126, 129, 131, \
124, 133, 128, 124, 123, 125, 124, 127, 127, 126, 128, 128, 127, 127, \
127, 128, 125}
datas = Partition[allData, 2];

complexNumbers = #1 + I #2 & @@@ datas;

channels = Partition[complexNumbers, 2];

Plotting Various Data points

ListPlot[Abs[Fourier[channels[[All, 1]]]]^2, Filling -> Axis]

enter image description here

plotFFTIQ[
 Times @@@ 
  Transpose[{RotateRight[#, Floor[Length[#]/2]] &@exampleSignal, 
    Exp[-I 2 \[Pi] 0.178 10^6 Range[
        Length[exampleSignal]]/(2.5 10^6)]}], 1, .002*2.5 10^6, 2.5, \
101.1]

Plot after Decimation and demodulation

POSTED BY: Anshul Jain
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract