[fpc-pascal] Modems etc.

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Fri Jul 24 13:12:41 CEST 2015

Lukasz Sokol wrote:
> On 20/07/15 17:32, Mark Morgan Lloyd wrote:
>> Lukasz Sokol wrote:
>>> It's been years since I had anything to do with DSP, unfortunately,
>>> but with the FFT running on the sliding 26-sample-long window, and
>>> a /reverse/ FFT to produce the 26-long sample from just having a
>>> byte or 2 written to an array, the kind of SIMD processing probably
>>> won't be very time consuming... and, operating on a fixed size
>>> array, would be of fixed-processing-time, which is usually handy.
>> Thanks, noted. I must admit that I've never dabbled directly with
>> FFT, but perhaps now is the time to start. I need to do a couple of
>> test simulations first to demonstrate that working in the frequency
>> domain is more promising than the time domain (I'm having to fight
>> off the boss's suggestion that I simply time zero crossings).
>>> Just my £0.02p :) el es
>> Worth more than you think
>> http://www.bbc.co.uk/news/uk-england-berkshire-33586245 :-)
> :)
> Thinking about it some more, it could actually be true that FFT/DFT is overkill.
> For detection you need 4 specialized discrete band-pass (1 freq pass) filters,
> checking their output 'power' (side note : moving average can be used as detector on their outputs)
> and you can use them for sending too - just feed them white noise to the input :)
> there are some advantages to that which this email is too short to contain ;)

It turns out that there's a more-or-less off-the-shelf solution in 
SpanDSP http://www.soft-switch.org/ which is one of the libraries that 
underlies IAXmodem. It provides a function to process a block of 
samples, hence a callback to simulate the Rx side of a UART; since it's 
C (rather than C++) it should be possible to mix it with FPC code.

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the fpc-pascal mailing list