Decoding AM station from SDR into sound?

  • Thread starter Thread starter Artlav
  • Start date Start date
  • Tags Tags
    Sound
Click For Summary
SUMMARY

This discussion focuses on decoding AM signals from I/Q samples into sound using software defined radio (SDR) techniques. The user successfully built an SDR that captures a local AM station at 731KHz, utilizing a local oscillator set to 700KHz. Two methods for audio output are presented: a simple but poor-quality beat frequency method and a superior method involving a Butterworth IIR band-pass filter that effectively extracts the audio envelope. Resources for further learning include DSP concepts and specific literature on real-time digital signal processing.

PREREQUISITES
  • Understanding of I/Q signal representation
  • Familiarity with software defined radio (SDR) concepts
  • Knowledge of digital signal processing (DSP) techniques
  • Experience with implementing filters, specifically Butterworth IIR filters
NEXT STEPS
  • Research "DSP, digital signal processing" for foundational knowledge
  • Read "C Algorithms For Real Time DSP" by Paul Embree for practical implementation techniques
  • Explore resources on band-pass filter design and implementation
  • Investigate the website http://www.arrl.org/dsp-digital-signal-processing for additional DSP insights
USEFUL FOR

Radio enthusiasts, software developers working on SDR applications, and anyone interested in digital signal processing and audio extraction techniques.

Artlav
Messages
161
Reaction score
1
In short, how do you decode AM signal from I/Q samples into sound?

In details, i made a software defined radio that uses a PC sound card as ADC.
The local oscillator on it is set to 700KHz, there is a radio station at 731KHz.
With existing software i verified that the hardware works - the station is here and i can hear it.

Now, the goal is to make my own SDR software.
I can read the I/Q signals, at 96K samples per second, into a program on a PC.
When i do FFT on them, i see the target station at 31KHz in there.

And that's where i ran out of knowledge.
There is a lot of info on the net on how to make SDR hardware, but i wasn't able to find anything on how to make SDR software.

So, i have two sets of numbers that are I/Q samples, 96000 of them per second, and a frequency of the station.

How do i get sound out of them?
Where to begin, what names to google for, what to read?
 
Engineering news on Phys.org
Figured it out.
Two ways to do it, good and bad.

1. The bad. Produce the sound as beat frequency of the carrier. Sound sample = input sample (as a complex number I,Q) multiplied by sin(wt)+i*cos(wt), where w is 2*PI*Fcarrier.
This results in a sound, but the sound is quite bad.
Also, you need to pick the frequency exactly, or the sound will overlap with noise and shifted carrier.
Only advantage is - it's simple to implement.
Might be useful for some other signal type, but not quite good enough for AM audio.

2. The good. Apply a band pass filter to the target's frequency (i.e. carrier+-4KHz). Now, the sound is the complex magnitude of the input sample - the envelope of the AM signal.
This gives clear audio.
The trick is to get a good enough band-pass filter, and these are two orders of magnitude harder to implement than both the first method and the rest of the receiver program combined.
I ended up using Butterworth IIR filter, for which there is good info on http://www-users.cs.york.ac.uk/~fisher/mkfilter .

In both cases it's a good idea to apply even simple low-pass and high-pass filters to the audio, to get rid of stuff at the edges.

Things to look for and google:
-DSP, digital signal processing
-C Algorithms For Real Time DsP, by Paul Embree, a book.
-http://www.arrl.org/dsp-digital-signal-processing

Perhaps this is better moved to Math section?
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
Replies
26
Views
3K
Replies
20
Views
2K
  • · Replies 3 ·
Replies
3
Views
5K
Replies
16
Views
8K
  • · Replies 22 ·
Replies
22
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K