3 ms·
The algorithm is an amusing nerd snipe. I’m not a DSP expert, but… The idea of transmitting lots of low-bit-rate signals on different evenly spaced subcarriers
by amluto 2y ago
The algorithm is an amusing nerd snipe. I’m not a DSP expert, but…
The idea of transmitting lots of low-bit-rate signals on different evenly spaced subcarriers is quite popular. OFDM is an example of exactly this, and the computation scales just fine. The same trick ought to work: compute in frequency space. You know what frequency-space signal you want to send on each subcarrier, so assemble the output in frequency space and iFFT it. I bet it can be done genuinely OFDM-style using transform lengths calculated to get the subcarrier spacing right with some additional care to get the boundary conditions right (conventional OFDM has a guard interval and doesn’t even try to transmit a continuous signal).
If all the songs are the same, there’s a much nicer solution. If the complex amplitude of the modulated song is A(t) (that’s just I + i⋅Q), then two copies are:
A(t) + A(t) ⋅ e^(2πit⋅200kHz)
Lots of copies makes:
A(t) ⋅ [1 + e^(2πit⋅200kHz) + … + e^(2πitn⋅200kHz)]
where n is the number of copies. The thing on the right is a geometric series and can be summed algebraically. So all that’s left is to upsample A, and it doesn’t need to be done especially precisely.