[sdiy] Audio Anti Aliasing Filter

Ullrich Peter Peter.Ullrich at kapsch.net
Fri Dec 21 17:01:35 CET 2012


You can find Adapters for example on Ebay:




-----Ursprüngliche Nachricht-----
Von: synth-diy-bounces at dropmix.xs4all.nl [mailto:synth-diy-bounces at dropmix.xs4all.nl] Im Auftrag von Scott Gravenhorst
Gesendet: Freitag, 21. Dezember 2012 15:55
An: synth-diy at dropmix.xs4all.nl
Betreff: Re: [sdiy] Audio Anti Aliasing Filter

Richie Burnett <rburnett at richieburnett.co.uk> wrote:
>I'd recommend looking at an all-in- one CODEC chip like the
>CS4270 from cirrus logic. This interfaces directly to the dspic's DCI 
>port and includes 24-bit stereo ADC and DAC. This will run at a whole 
>range of different sample rates and has all of the necessary 
>anti-aliasing and anti-imaging filters built in.
>It will guarantee pristine audio quality, save you a lot of design 
>effort, and leave you with more time to concentrate on developing cool 
>effects programs. You also still have the dspic ADC available to read 
>realtime control pots or external CVS, which it is much better suited 

Thanks, this looks like an option, probably the one of the highest quality options.

That Cirrus part looks interesting, but it comes only as surface mount.  And free samples are available.  I can probably solder that or my son perhaps with his 19 year old eyes, but I need to be able to experiment without etching a board.  Does anyone know of sources for some kind of pre-etched adapter boards that might take the 24 pin TSSOP arrangement?

>Sent from my Sony Ericsson Xperia ray
>Scott Gravenhorst <music.maker at gte.net> wrote:
>>Richie Burnett <rburnett at richieburnett.co.uk> wrote:
>>>Elliptic filters are a good choice to use for anti-aliasing and 
>>>anti-imaging filters. They can be designed with an arbitrarily flat 
>>>passband and have a *very* steep transition from the passband to the 
>>>stopband. This is particularly important if you want to pass audio 
>>>cleanly up to 20khz with a 44.1kHz sample rate. With these figures an 
>>>anti-aliasing filter doesn't have much room in which to work its 
>>>These days most audio ADCs have digital anti-aliasing filters built 
>>>in. Likewise audio DACs often have internal digital anti-imaging 
>>>filtering. The latter is sometimes referred to as a "reconstruction 
>>>filter." Some more info might help clarify if you could use one of 
>>>these chips.
>>>If you dont want the complexity of designing an elliptic filter, 
>>>something like a 6th or 8th order Butterworth made from cascaded 2nd 
>>>order Sallen-Key filters isn't a bad alternative. You can see this 
>>>circuit preceding and following the BBD chips in old Roland Juno 
>>>service notes. Just simulate tge circuit as-is, then scale capacitor 
>>>values to shift the cutoff frequency exactly where you want it to be.
>>Ah, Ok, this is more complex than I had considered.  Here's what I want to do:
>>This is an experiment which may fail. I have a dsPIC which has a
>built in 12 bit ADC which >I intend to attempt to use for audio 
>sampling of synthesizer output signals. It can easily >sample at
>44.1 kHz up to much more, but I see little reason to run it much 
>faster. Yes, I >realize that 12 bits is far from hifi. However, I'd 
>like to try it anyway for the ultimate >test - the human ear.
>I'm interested in making alias artifacts inaudible enough (good
>>enough). If it fails to sound good enough, I may have to move to
>an external ADC, >preferably 16 or more bits - I want to keep the cost 
>low, and I'd like to avoid that. The >internal ADC is far from complex, 
>from what I see in the dsPIC ADC docs, there is no anti >alias filter 
>built in. > >This is from the ADC PDF section describing external 
>connections to the ADC pins: > >"An external RC filter is sometimes 
>added for anti-aliasing of the input signal. The R >component should be 
>selected to ensure that the sampling time requirements are satisfied." 
>> >There is no mention of the type of signal that the ADC will acquire, 
>but the ADC is capable >of sampling rates up to 500 kHz. Lower sample 
>rates give me more clocks to play with for >the effects computations. 
>I've used high sample rates to reduce audible alias artifacts in
>>FPGAs, but this is impractical with a dsPIC, so I'd like to keep
>the rate reasonable. > >Since the ADC input requires being driven by a 
>low impedance output (200 ohms or less), I'll >have to buffer it 
>anyway, so making the buffer a filter makes sense to me
>- assuming I even >need the filter. > >I'm assuming that a Sallen-Key 
>would be an improvement over a simple RC filter. But given >that the 
>DAC from which I will collect the signal already has a single pole 
>filter with Fc >around 20 kHz, perhaps I don't even need to have an 
>anti alias filter on the ADC input? I'm
>>thinking that I don't even need the buffer, since the DAC
>outputs are already buffered. > >This initial experiment is part of 
>adding digital effects to a dsPIC-based Karplus-Strong >synth.
>I'd like the effects dsPIC to be portable to other designs. I know that 
>the >Karplus-Strong model could have alias artifacts generated 
>especially during the first few >milliseconds of a note start, but 
>these will quickly be attenuated by the reflection filter. > I had 
>considered transferring the audio stream to the effect dsPIC using SPI, 
>but the two >voice engine dsPICs operate from different xtals and 
>cannot be guaranteed synched. That's
>>why I'm cosidering a digital-audio-digital-audio technique. I'm
>looking for musically good >enough, not lab quality, so I think I've go 
>a lot of options. I suppose I could consider >using a single clock 
>oscillator to drive both voice engines and do this all digitally, but 
>>that isn't a solution for other kinds of synths I might want to use 
>this with, so I prefer >an audio input. > >I'd like the effect dsPIC to 
>be generic enough (in terms of it's design) so that it can be 
>>"slapped" onto other synthesizer designs without having to add more 
>stuff. > > >>Sent from my Sony Ericsson Xperia ray >> >>Scott 
>Gravenhorst <music.maker at gte.net> wrote: >> >>> >>>What are people here 
>using for audio anti-aliasing filters? >>> >>>I'm looking for something 
>simple. In my own mind, I'm thinking state >>>variable lowpass with 
>unity Q and cutoff of some 20 kHz for sample rates of
>>>>44.1 kHz and above. >>> >>>Are there better or simpler? >>>
>>>>-- ScottG
>>>>-- Scott Gravenhorst >>>-- FPGA MIDI Synth Info: 
>jovianpyx.dyndns.org:8080/public/FPGA_synth/ >>>-- FatMan Mods
>Etc.: jovianpyx.dyndns.org:8080/public/fatman/ >>>-- Some Random 
>Electronics Bits: jovianpyx.dyndns.org:8080/public/electronics/
>>>>-- When the going gets tough, the tough use the command line. 
>>>> >>>_______________________________________________
>>>>Synth-diy mailing list >>>Synth-diy at dropmix.xs4all.nl 
>>>>http://dropmix.xs4all.nl/mailman/listinfo/synth-diy >> > >--
>>-- Scott Gravenhorst >-- FPGA MIDI Synth Info: 
>jovianpyx.dyndns.org:8080/public/FPGA_synth/ >-- FatMan Mods
>Etc.: jovianpyx.dyndns.org:8080/public/fatman/ >-- Some Random 
>Electronics Bits: jovianpyx.dyndns.org:8080/public/electronics/
>>-- When the going gets tough, the tough use the command line. > 
>>_______________________________________________ >Synth-diy
>mailing list >Synth-diy at dropmix.xs4all.nl

-- ScottG
-- Scott Gravenhorst
-- FPGA MIDI Synth Info: jovianpyx.dyndns.org:8080/public/FPGA_synth/
-- FatMan Mods Etc.: jovianpyx.dyndns.org:8080/public/fatman/
-- Some Random Electronics Bits: jovianpyx.dyndns.org:8080/public/electronics/
-- When the going gets tough, the tough use the command line.

Synth-diy mailing list
Synth-diy at dropmix.xs4all.nl

The information contained in this e-mail message is privileged and
confidential and is for the exclusive use of the addressee. The person
who receives this message and who is not the addressee, one of his
employees or an agent entitled to hand it over to the addressee, is
informed that he may not use, disclose or reproduce the contents
thereof, and is kindly asked to notify the sender and delete the e-mail

More information about the Synth-diy mailing list