Wednesday, 15 January 2020

operational amplifier - Adding an anti-aliasing filter to op-amp before ADC


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.



Answer



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.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...