0
$\begingroup$

In dsp it is somewhat common that in filters require a buffered cache of data to fed into an array in order to process data.

Hold that thought.

In SSB demodulation a signal is passed through the IF mixer and heads straight though a filter and mixed again with the carrier VFO to make the AF components.

Back to dsp

Traditional dsp points to quadrature as the main focus when it comes to handling rf modulation or demodulation.

Instead of buffering IF results for filtering why cant I calculate the filter to mixer chain on a sample by sample baises without buffering a cache so that I get rid of any latency and have the AF frequency samples already at the DAC.

Is this a viable programing option or I am I missing something or is their a way to program without introducing huge buffers and caches that might lead to latency issues and avoiding the Hilbert transform.

$\endgroup$

1 Answer 1

1
$\begingroup$

In most DSP the problems the decision of frame based vs. sample-by-sample (stream based) processing comes down to practicalities and priorities. Stream based has lower latency and requires less memory but frame based is typically more efficient in terms of CPU usage. Some considerations

A lot of this depends on the hardware/software environment. Any processor that runs some sort of an operating system will take considerable time for context switching and hence stream processing is often too expensive (too many interrupts). Frame based processing amortizes the context switch over the frame size.

Hence stream-based processing is often limited to less flexible more "single purpose" devices: ASICs, FPGAs, special purpose DSPs (like Analog Devices SigmaDSP). They can often be often found as a "sidecar" processors paired with a more general-purpose CPU and its own dedicated high speed peripherals. Typically programming these devices will require specialized language as well, so it tends to be a lot more work.

Is this a viable programing option

It certainly is if the hardware and software environment is chosen accordingly and if the savings in latency and memory warrants the extra effort (which tends to be substantial)

A good example are Active Noise Cancelling (ANC) processor for headphones and in-ears. They typically use a dedicated high sample-rate low-latency processor with special AD/DA and a normal DSP/CPU and peripherals for the rest of the work. ANC requires VERY low latency, hence you have to use a special processor to handle it, but that processor is mainly a "one-trick-pony". It does ANC and little else.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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