Re: Anti Aliasing of Arbitrary Waveforms



On Sep 27, 4:33 am, Donald Reay <d.s.r...@xxxxxxxx> wrote:
Work backwards from the analogue signal being generated. What analogue
waveform is required, and is the DAC being used capable of generating
it? Ignore for the moment any analogue 'smoothing' filters placed
after the DAC and consider _theoretical_ DAC characteristics.

If the waveform required is a 'perfect' sawtooth then most audio
codecs will be unable to produce this as they feature internal low
pass reconstruction filters and will not produce the harmonics that
represent a 'sharp' discontinuity. This, and the following, are
subjective insofar as what is considered 'sharp' will depend on the
ratio of sampling frequency to sawtooth fundamental frequency.

If the DAC has a zero order hold characteristic then the output
waveform will likewise be band limited but might be considered
'closer' to the perfect sawtooth. However, it will contain lots of
small steps - is that acceptable? It might be. 'Reset transition' will
be instantaneous but 'up ramp' will be piecewise continuous but it
might not reconstruct other waveforms quite the way we'd like.

Similarly, a DAC with a first order hold characteristic might give the
closest thing to a perfect sawtooth that is possible but might not be
what we want more generally. 'Up ramp' will be continuous, smooth and
'perfect', 'reset transition' will be a ramp of duration one sampling
period.

Instead of considering the phase-accumulated samples being generated
in this example as representing a perfect sawtooth - if only we could
extract it - rather, think of those samples as representing whatever
waveform the DAC will produce from them.

I'm still curious as to the DAC being used by the OP.

There is way too much confusion here. (At least I'm not alone.)

The DAC doesn't matter, as long as it's capable of reproducing any
waveform bandlimited to fs/2 (100 KHz in this case). What signal the
DAC produces when it's used out of spec is at best a sidebar
curiosity.

Upsampling, modifying, and downsampling is appropriate when applying a
nonlinear operation on an originally bandlimited signal. That's not
the case here. Given that the waveform is generated digitally,
upsampling is useless. The waveform needs to be generated at a sample
rate that is high enough so that no harmonics of significant amplitude
fold back into the final -- lowpassed to 100 KHz -- signal. The signal
so created will be (nearly) identical to one created by additive
synthesis.

Jerry
.



Relevant Pages

  • Re: Anti Aliasing of Arbitrary Waveforms
    ... Ignore for the moment any analogue 'smoothing' filters placed ... after the DAC and consider _theoretical_ DAC characteristics. ... If the waveform required is a 'perfect' sawtooth then most audio ... closest thing to a perfect sawtooth that is possible but might not be ...
    (comp.dsp)
  • Re: CEP and overshoots was Re: Dual mono vs. mono mono interrogative...
    ... May generate a wildly changed waveform. ... benign flat-topped clipping, but look like this: ... I Think the DAC designers have thought ... DAC to clip or distort any overshoots which are within scope of the ...
    (uk.rec.audio)
  • Re: Anti Aliasing of Arbitrary Waveforms
    ... Work backwards from the analogue signal being generated. ... after the DAC and consider _theoretical_ DAC characteristics. ... If the waveform required is a 'perfect' sawtooth then most audio ... closest thing to a perfect sawtooth that is possible but might not be ...
    (comp.dsp)
  • Re: Anti Aliasing of Arbitrary Waveforms
    ... Ignore for the moment any analogue 'smoothing' filters placed ... after the DAC and consider _theoretical_ DAC characteristics. ... If the waveform required is a 'perfect' sawtooth then most audio ... closest thing to a perfect sawtooth that is possible but might not be ...
    (comp.dsp)
  • Re: FPGA and DAC for wave generation
    ... wave, ramp, triangular and square wave generator which outputs ... The FPGA is connected with DAC thru I2C bus.. ... can be used as SCL input to DAC.. ... Changes in output frequency and waveform are made by altering ...
    (comp.arch.fpga)

Loading