I have been trying to build a gnuradio AM broadcast receiver, but without success. I have tried a lot of combinations, but all of them produce a very distorted audio. I have an NBFM receiver using the same FunCube input and USB audio output which works very well, so they don't seem to be the problem. Below are two flowgraphs of my attempts. Any help will be appreciated.

gnuradio AM broadcast rcvr

gnuradio AM broadcast rcvr 2

  • $\begingroup$ If you can share a recording of the audio, and/or the flowgraph files, that might be useful in identifying the problem. I don't see anything obvious. (Side note: the "add constant -1" in demodulation only makes sense if you're preceding it with an AGC block, otherwise it's not at the right scale — but that won't itself distort the audio, just leave it with a DC offset.) $\endgroup$ – Kevin Reid AG6YO Oct 26 '19 at 14:54
  • $\begingroup$ Hi Barry! Nice seeing you here! Since this is not a plain discussion forum, we prefer if you could cut and paste the "answer" part of your question to an actual answer post to this question – self-answering your question is strictly encouraged on this site! $\endgroup$ – Marcus Müller Oct 27 '19 at 10:33

OK, I have found the answer: the tuning is critical. Similar to tuning a SSB signal which shifts the voice frequencies, tuning an AM signal not only shifts the voice frequencies, but distorts the audio until you get right on the carrier frequency.

Another minor issue is audio overload. Turning down the volume eliminates that problem.

@Kevin Reid AG6YO I looked at the source code for the AM Demod block, and the Complex to Mag -> Add Const(-1) -> Low Pass Filter combination is what is inside the AM Demod block. I was just experimenting with making them separate.

| improve this answer | |
  • $\begingroup$ An AM receiver, sensitive to the amplitude and not the frequency of the incoming signal, should not "distort" the audio due to incorrect tuning, and definitely not like SSB does — only fade out to noise, as the signal is moved out of the channel filter passband. I don't know why you're getting the behavior you describe, but it's not right. I have personally implemented an AM receiver with wide bandwidth that doesn't care about tuning within that bandwidth. $\endgroup$ – Kevin Reid AG6YO Oct 29 '19 at 3:44
  • $\begingroup$ @Kevin Reid AG6YO My "final" design is here wiki.gnuradio.org/index.php/File:Complex_to_Mag.png<br> $\endgroup$ – Barry Duggan KV4FV Oct 30 '19 at 1:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.