Playing with radio

53 views
Skip to first unread message

Jesus Arias

unread,
Apr 4, 2025, 1:34:49 PMApr 4
to FPGAwars: explorando el lado libre
Hi,
Now for something completely different... An AM radio station...
Tune your AM receiver to 750kHz, attach a long wire to your FPGA output pin, and listen to out well known bells ;)

The trick here is a sigma-delta DAC, but of a different kind: This is a band-pass sigma-delta, that has a zero at 1/4 of the sampling rate in its noise transfer function (usually sigma-delta modulators have their zeroes at DC)

The problem with these low frequencies is the very short ranges we can achieve. This is because antennas are too short (a good antenna should be 100m high ;)

Nice day
audio.list
radioAM.v

Democrito

unread,
Apr 4, 2025, 4:05:52 PMApr 4
to FPGAwars: explorando el lado libre
I raised my eyebrows because I found it truly strange and amazing at the same time.

Thank you for giving us such curious inventions...

Democrito

unread,
Apr 4, 2025, 4:12:11 PMApr 4
to FPGAwars: explorando el lado libre
I forgot to mention that this type of inventions could be published in hackaday

charli va

unread,
Apr 4, 2025, 5:43:48 PMApr 4
to fpga-wars-explora...@googlegroups.com
Jesus, I thought this was brilliant. I'm a radio enthusiast and I'd never seen this before.

I thought it was a real checkmate that you came up with the idea of using a bandpass Sigma-Delta DAC with such a strategically placed zero. Not only does it optimize transmission and make it possible (I think it's an amazing educational experience around SDR), but it's also super efficient for the FPGA and simple to implement (also electronically).... Hats off to you.

I'll look into it and test it in detail in the coming days, in addition to learning how you've outlined it. I have a question right off the bat: given that the bandpass Sigma-Delta DAC has a zero at 750 kHz, which optimizes the signal-to-noise ratio around the carrier, how would performance be affected if we tried to transmit an AM signal with a different carrier, like 1 MHz, that doesn't match this zero? Would it be necessary to adjust the DAC's sampling frequency or redesign the NTF to shift the zeros?

Off-topic, and because I know you might like it and it's related to this. I was restoring my great-grandfather's radio (from the 70s and 80s) this past Christmas. The radio was completely ruined, apart from having a swarm of (live) bugs, broken tracks, some melted components, sulfated batteries, and a burned-out antenna (I had to start counting revs and rewinding it). In the end, after running it through the dishwasher (I'm attaching a photo after cleaning and replacing some damaged components), it worked :) I had it parked, and I think it'll come in handy again these days to test this ;)

clean-2.jpg.          clean-1.jpg

I found the schematic on this page and was surprised by the historical-electronic aspect surrounding this radio. Anyone who likes these topics will surely find it at least interesting:


Thank you so much for such an incredible project, have a great weekend!


--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/2fcca5d7-dcfa-4d3a-9f71-5e3964c1e96cn%40googlegroups.com.
radiobisa_work.mp4

Jesus Arias

unread,
Apr 5, 2025, 4:13:45 AMApr 5
to FPGAwars: explorando el lado libre
Hi, Carlos
First let me remark this is just a curiosity. I don't think something like this s going to get any practical use because it emits a lot of noise around the carrier and it would demand an strong analog bandpass filter before the antenna. (A filter that I ommited  ;)

If you want to use a carrier frequency other than 1/4 of the sampling rate it is still possible, but thing gets more complicated:
- The NTF of the sigma-delta DAC is:  1-2*cos(2*pi*f_notch/f_sampling)*z^-1 + z^-2
  for f_notch = 0 it becomes: 1 -2z^-1 +z^-2
  and for f_notch = 1/4 f_sampling: 1 + z^-2
  for any other frequency we are going to get a fractional coefficient for z^-1 and that means we will need some multipliers.

- The carrier samples for 1/4 of f_sampling are just (1, 0, -1, 0, ....), or (0.7, 0.7, -0.7, -0.7, ...) if we sample it 45degree apart. That means we just have to change signs, no multiplications are involved. But for other frequencies we are going to need multiplications in addition to the sine wave generation.

And the SANYO is a really cute one, with simple electronics that reminds the tube era. BTW, I think there is a mistake in the schematic: the second IF transformer is shown with its primary shorted (a capacitor must be there instead the short)

Nice day

charli va

unread,
Apr 8, 2025, 12:07:23 PMApr 8
to fpga-wars-explora...@googlegroups.com
Sorry I didn't reply. I had a spam problem a few weeks ago, and since then, many good messages have been going to my spam folder, and it had slipped through the net. I hope Google gets back on track these days, as it's driving me crazy.

Thanks for the very helpful and clarifying explanation. I know this isn't a "panacea" or possibly something super useful, but as a educational resource, I find it incredible. Having a mini SDR in a low-resource FPGA with a minimalist design allows anyone interested in these topics to see the entire lifecycle of an AM station (audio + modulation + conversion) and experiment with it without having to invest in expensive SDR devices, filters, etc. I think the potential implications of this little "curiosity" as a learning tool are incredible.

I haven't gotten around to it yet because I'm busy with other things and don't want to open new wormholes, XD, but I'll get around to it soon, at least to get it up and running and run some tests.

Thank you very much again.

Reply all
Reply to author
Forward
0 new messages