Home > On-Demand Archives > Talks >

Efficient DDC Implementation for Analytic Signal Processing

Jim Shima - Watch Now - DSP Online Conference 2024 - Duration: 46:41

Efficient DDC Implementation for Analytic Signal Processing
Jim Shima

Abstract: Most sampled systems rely on real-valued ADC data that is then converted to complex-valued (analytic) signals for processing. Examples include comm demodulators, channelizers, adaptive beamforming, phase interferometry, etc. Since conversion to complex-valued (I/Q) happens at the native sample rate post ADC, it uses an everly increasing number of MACs (multiply accumulates) per sec. This equates to more power draw for a given system, and efficient implementations bear the most fruit in mitigating computational load.

Description: Recall, analytic signals can be created using a Hilbert transform or using the modulation property of a half-complex mixer. Digital down converters are heavily used in SDRs and direct-sampled RF digital systems to mix signals to baseband, create analytic signals from real-valued inputs, and reduce the bandwidth of said signals (via resampling) to a more usable sample rate. Efficient filters such as the Hogenauer (CIC) were developed decades ago to help mitigate the use of multiplications during resampling. This talk goes over a very efficient implementation of a specific DDC that performs 2x decimation, does not use any multiplications for the mix operation, and only requires one FIR filter to create I/Q samples from real-valued inputs. This results in 4-8x reduction in computations compared to brute-force classical techniques.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

RichardLyons
Score: 0 | 1 month ago | 1 reply

Hi Jim. Your video is certainly a good one. For your viewer's information other methods for generating analytic signals can be found at:
https://www.dsprelated.com/showarticle/153.php

Jim ShimaSpeaker
Score: 0 | 1 month ago | no reply

Thanks Rick. That is a good resource in your link. I do see the Fs/4 DDC method included there as well. You can certainly update the diagram there to get rid of the quadrature-phase LPF to make it even more efficient!

AdamA
Score: 0 | 1 month ago | 1 reply

[25:10] for the multiplier-less mixer, I've also seen it done with 45 degree offsets, so 1+1j, 1-1j, and so on. Not sure why the original designers did it that way, but it still works and doesnt have multiplies. The version you have above has double the zeros of the 45 degree offset version though.

Jim ShimaSpeaker
Score: 0 | 1 month ago | no reply

You could use a 45 degree offset but you would also need a scalar since the magnitude of the mixer output would be sqrt(2) vice unity. So something down the chain would need to account for this to keep a unity gain signal path. As you stated, you dont get the zeros in the interleaved I/Q streams this way that help you out at the filtering stage. I cant think of a reason why they would do this off the top of my head. As a rule of thumb I will always take zeros over non zero values for potential efficiency reasons.
Thanks,
Jim

Harry
Score: 0 | 1 month ago | 1 reply

15:52: I have heard many people agree that real signals are more intuitive than analytic ones, but are they really? In the frequency domain, I find real signals quite strange. The need to accommodate conjugate symmetry creates a weird factor of 2 in the Nyquist-Shannon sampling theorem. Real mixers spew out an extra spectral component I didn't ask for. And I haven't even mentioned "phase" yet! Real signals are a nightmare!

Thanks for a most enjoyable presentation. I have used exactly the same DDC/DUC architecture in FPGA designs.

Jim ShimaSpeaker
Score: 0 | 1 month ago | no reply

I would agree that in the broad view, real signals are esoteric looking in the freq domain. Analytic signals are surely easier to understand. I agree phase with real signals is a head scratcher!

But for an EE student taking signals and systems, it is kind of ingrained "this is the way" it is. Thus when exposed to analytic signals later on, a crisis of conscience seems to set in.

Leonard
Score: 0 | 1 month ago | 1 reply

Is the code in a repo somewhere? Also in the video the left portion of the code was cut off. You could potentially paste the code here as a response.

Jim ShimaSpeaker
Score: 0 | 1 month ago | no reply

Yes sorry about that. You can try this repo for the code:
https://github.com/recreationalcombatant/DDC
If that doesnt work let me know and I can try to paste it here.

Gary
Score: 0 | 1 month ago | 1 reply

Your microphone is hypnotic!

Jim ShimaSpeaker
Score: 0 | 1 month ago | no reply

Ha! Thanks. Hopefully the talk isn't hypnotic enough to put you to sleep...

OUR PARTNERS