I had heard of the rpitx program before - it uses a PLL on the Raspberry Pi to generate RF signals directly. I'm not sure what the bandwidth is, but I saw a reference to someone transmitting HDTV signals with one, which would imply 6 MHz of bandwidth, much more than I need. Now I have to dig a Pi out of a box or project... (to be continued)
So, after thinking a bit (instead of playing with rpitx), I decided dropping the bandwidth to the minimum required is probably a good first step. The AM broadcast band in the US covers frequencies between 525 and 1705 kHz, for a bandwidth of 1180 kHz (the end channels are 10 kHz wide centered on 530 and 1700). The band is centered on 1115 kHz, so using a local oscillator of 1115 kHz with IQ samples of at least 1180 kHz will provide enough bandwidth.
Since the speech synthesizer natively outputs audio samples at 16 kHz, a minimum upsampling factor of 73.75 is required before modulating the I and Q signals; in practice integer ratios are much easier, so 74 is probably the practical minimum, which yields a total bandwidth of 1.2 MHz. I'll have to test if rpitx can handle this (somehow, I'm skeptical).
This approach differs from my initial idea of baseband sampling, where I'd need 1.705 MHz of bandwidth - but If I end up using the teensy with a mid-speed DAC, baseband is still the easiest approach.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Running 1.2MSamples should work with rpitx.
Are you sure? yes | no
OK, thanks! Now I have to try it...
Are you sure? yes | no