8
\$\begingroup\$

I am designing a circuit that is intended to capture audio samples from multiple channels for sound source localisation.

Each channel has the following 2 stage op-amp circuit, before going into a 13bit ADC:

enter image description here

I would like to be able to localise sound sources up to about 10KHz but the larger the bandwidth the better (I think the condenser mics can handle up to about 16KHz, not 100% sure)

The faster I sample the better the spatial resolution I can get. I am able to squeeze a sample rate of about 75KHz.

Question Do I need to worry about anti-aliasing filters before the ADC? As I understand it aliasing only occurs when you operate below the Nyquist limit, so a theoretical maximum frequency component of 75KHz/2 would be my limit, which is much higher than I need.

If I don't need any anti-aliasing filters is there anything else I should be doing to remove unwanted noise on the output? When I look on a scope it seems to be OK but this is only with 1 channel built, I am worried when I add all five channels on the same board that they are going to interfere with each other.

\$\endgroup\$
  • 1
    \$\begingroup\$ You are missing some dots in your schematic. One particular case makes it look like the only purpose for R2 / R4 pair is to add a 25 uA load on the +5V supply. \$\endgroup\$ – Michael Karas Sep 6 '15 at 14:39
  • 1
    \$\begingroup\$ Crosstalk between channels is not "noise". Filtering will not get rid of it. \$\endgroup\$ – Scott Seidman Sep 6 '15 at 14:46
  • 1
    \$\begingroup\$ I have updated the schematic. @ScottSeidman is there anything I can do to prevent/eliminate crosstalk? \$\endgroup\$ – david berliner Sep 6 '15 at 14:57
  • 1
    \$\begingroup\$ As drawn, R3 and R5 are pointless. You are missing a cap intended to be between the output of IC1A and the node between R5 and R3. \$\endgroup\$ – Olin Lathrop Sep 6 '15 at 16:20
  • 1
    \$\begingroup\$ Good spotting @OlinLathrop, I have added that in now. \$\endgroup\$ – david berliner Sep 6 '15 at 18:04
12
\$\begingroup\$

It is always good practices to use anti-aliasing filter before digitizing a signal. Although your target signal does not contain frequency components above the Nyquist rate, there might be other sources of noise which do.

First of all you need to decide which bandwidth you want to cover. If your ADC samples at 75kHz, then there should not be any frequencies above 37.5kHz. Next, we calculate the needed attenuation and order of your anti-aliasing filter. For this consider following figure:

Relationship between anti-aliasing filter and oversampling

This figure presents two cases one with a sampling rate fs and one with K * fs. Due to the sampling of the input signal (digital mixing), all frequency components higher than fs/2 will be "folded" back. Frequency components higher than fs-fa will then be aliased into the signal of interest (red).
In figure (A), we assume you want to sample a signal with a bandwidth (fa) close to the Nyquist rate (fs/2). To guarantee a certain dynamic range (DR) we need a steep roll-off e.g. a high filter oder which attenuates any noise with frequencies higher than fs-fa. In figure (B) we use a higher sampling rate (K * fs) which relaxes the required order of the filter and simplifies circuit design.

As you mentioned, your ADC has a resolution of 13dB. Your ideal SNR (Signal to Noise Ratio) or in this case your DR is then:

$$SNR=N \cdot 6.02 + 1.76[dB] = 80dB $$

So, in the ideal case your want an attenuation of at least 80dB at fs-fa. A basic first order low-pass filter has an attenuation of 20dB/dec. If you restrict your signal bandwidth to say 20kHz, your ideal sampling frequency lies then at 200MHz.

$$f_{-80dB} = f_a \cdot 10^{\frac{80dB}{20dB}} = 200MHz$$

To satisfy this restriction with your sampling rate of 75kHz you would need an low-pass filter 8th order. This is certainly a lot but all this calculations assume noise equal in amplitude as your signal of interest. In practice a second or third order filter is most likely sufficient.

For additional information see: W. Kester, Data conversion handbook: Analog devices. Amsterdam u.a.: Elsevier Newnes, 2005.

\$\endgroup\$
  • 1
    \$\begingroup\$ Thanks Martin. Do you perhaps have any link to where these equations come from so that I can read up a little bit more and understand them? \$\endgroup\$ – david berliner Sep 6 '15 at 16:57
  • 1
    \$\begingroup\$ @david W. Kester, Data conversion handbook from Analog devices is a great book about ADC's in general. The figure is from chapter 2 page 2.29. I added a link in my post above. \$\endgroup\$ – Martin Sep 6 '15 at 17:31
  • \$\begingroup\$ Just to be clear. An Anti Aliasing filter is essentially just a Low Pass Filter, yes? \$\endgroup\$ – Luke Sep 8 '15 at 15:08
  • 1
    \$\begingroup\$ @luke Correct. Frequencyies below fs/2 can pass while anything else sould be attenuated as much as possible. There is one exception. If your signal of interrest has a limited bandwith with all frequencies above zero (e.g bandpass signal), then you use undersampling and therefore need a bandpass-anti-aliasing-filter. See also undersampling \$\endgroup\$ – Martin Sep 8 '15 at 18:13
10
\$\begingroup\$

Do I need to worry about anti-aliasing filters before the ADC

Unless your ADC has a built-in anti-aliasing filter, then yes, you should take care about it even if you're only interested in frequencies below the nyqist limit.

The reason is, that frequencies higher than the nyquist limit fold (mirror) back into your frequency range of interest. For example if you're sampling at 20khz and your condenser mic picks up audio at 15khz you'll find a strong 5khz signal in your sampled data.

Since you're already using opamps you can easily add some cheap low-pass filter to the existing circuit. To do so just put a capacitor in parallel to R6 and R7. They will act as a low resistance to high frequencies and lower the overall gain while leaving the low frequencies unaffected. This will already help a bit to attenuate the high frequency components and lower the aliasing.

If you want better performance check out sallen-key low-pass filters. A third order filter can be built around a single opamp.

Regarding your circuit in general: If you're powering the TL64 opamps from just your single supply 5V that won't work. You exceed several parameters from the data-sheet. Most notable is, that you only have half the minimum supply voltage. Also the TL64 opamps have a minimum guaranteed output voltage range which is 4V away from the rails, so even with a 10V suppy your signal would be restricted to a small 2V band.

I suggest you pick an opamp for single supply operation like the LM358 (TSH80/TSH84 is a modern upgrade) or use a rail-to-rail opamp.

\$\endgroup\$
  • 2
    \$\begingroup\$ Thank you for the valuable feedback. I went and checked the datasheet for this opamp and you are correct, however my circuit works!? I am only giving it +5V and 0V and yet my wave starts to clip at around 3.5V peak-to-peak. most bizarre. I am not sure if I should change it on principle or leave it because it's working... \$\endgroup\$ – david berliner Sep 6 '15 at 18:00
  • 3
    \$\begingroup\$ The parameters in the data-sheet are worst-case values. The typical opamp may have better characteristics. Imho using the opamp out of spec is fine if it's for a personal project or a prototype. \$\endgroup\$ – Nils Pipenbrinck Sep 6 '15 at 18:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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