Ajout d'un filtre anti-aliasing à l'ampli-op avant ADC

9

Je conçois un circuit qui est destiné à capturer des échantillons audio de plusieurs canaux pour la localisation de la source sonore.

Chaque canal possède le circuit d'ampli op à 2 étages suivant, avant de passer à un ADC 13 bits:

entrez la description de l'image ici

J'aimerais pouvoir localiser des sources sonores jusqu'à environ 10 kHz, mais plus la bande passante est grande, mieux c'est (je pense que les micros à condensateur peuvent gérer jusqu'à environ 16 kHz, pas sûr à 100%)

Plus j'échantillonne rapidement, meilleure est la résolution spatiale que je peux obtenir. Je suis capable de presser un taux d'échantillonnage d'environ 75 KHz.

Question Dois-je m'inquiéter des filtres anti-aliasing avant l'ADC? Si je comprends bien, l'aliasing ne se produit que lorsque vous opérez en dessous de la limite de Nyquist, donc une composante de fréquence maximale théorique de 75KHz / 2 serait ma limite, qui est beaucoup plus élevée que ce dont j'ai besoin.

Si je n'ai pas besoin de filtres anti-aliasing, y a-t-il autre chose que je devrais faire pour supprimer le bruit indésirable sur la sortie? Quand je regarde sur une portée, cela semble être correct mais ce n'est qu'avec 1 canal intégré, je suis inquiet lorsque j'ajoute les cinq canaux sur la même carte qu'ils vont interférer les uns avec les autres.

David berliner
la source
1
Il vous manque des points dans votre schéma. Un cas particulier donne l'impression que le seul but de la paire R2 / R4 est d'ajouter une charge de 25 uA sur l'alimentation + 5V.
Michael Karas
1
La diaphonie entre les canaux n'est pas du «bruit». Le filtrage ne s'en débarrassera pas.
Scott Seidman
1
J'ai mis à jour le schéma. @ScottSeidman, puis-je faire quelque chose pour empêcher / éliminer la diaphonie?
david berliner
1
Tels que dessinés, R3 et R5 sont inutiles. Il vous manque un plafond destiné à être entre la sortie de IC1A et le nœud entre R5 et R3.
Olin Lathrop
1
Bon repérage @OlinLathrop, je l'ai ajouté maintenant.
david berliner

Réponses:

13

Il est toujours recommandé d'utiliser un filtre anti-crénelage avant de numériser un signal. Bien que votre signal cible ne contienne pas de composantes de fréquence supérieures au taux de Nyquist, il peut y avoir d'autres sources de bruit.

Tout d'abord, vous devez décider quelle bande passante vous souhaitez couvrir. Si votre ADC échantillonne à 75 kHz, il ne devrait pas y avoir de fréquences supérieures à 37,5 kHz. Ensuite, nous calculons l'atténuation et l'ordre nécessaires de votre filtre anti-aliasing. Pour cela, considérez la figure suivante:

Relation entre le filtre anti-aliasing et le suréchantillonnage

Cette figure présente deux cas, l'un avec un taux d'échantillonnage fs et l'autre avec K * fs . En raison de l'échantillonnage du signal d'entrée (mixage numérique), toutes les composantes de fréquence supérieures à fs / 2 seront "repliées". Les composantes de fréquence supérieures à fs-fa seront alors repliées dans le signal d'intérêt (rouge).
Dans la figure (A), nous supposons que vous voulez échantillonner un signal avec une bande passante ( fa ) proche du taux de Nyquist ( fs / 2 ). Pour garantir une certaine plage dynamique (DR), nous avons besoin d'une atténuation abrupte, par exemple un filtre élevé qui atténue tout bruit avec des fréquences supérieures à fs-fa . Dans la figure (B), nous utilisons un taux d'échantillonnage plus élevé ( K * fs) qui assouplit l'ordre requis du filtre et simplifie la conception du circuit.

Comme vous l'avez mentionné, votre ADC a une résolution de 13 dB. Votre SNR (rapport signal / bruit) idéal ou dans ce cas votre DR est alors:

SNR=N6.02+1.76[dB]=80dB

Donc, dans le cas idéal, vous voulez une atténuation d'au moins 80 dB à fs-fa . Un filtre passe-bas de premier ordre de base a une atténuation de 20 dB / déc. Si vous limitez la bande passante de votre signal à 20 kHz, votre fréquence d'échantillonnage idéale se situe alors à 200 MHz.

f80dB=fa1080dB20dB=200MHz

Pour satisfaire cette restriction avec votre taux d'échantillonnage de 75 kHz, vous auriez besoin d'un filtre passe-bas de 8e ordre. C'est certainement beaucoup mais tous ces calculs supposent un bruit d'amplitude égale à votre signal d'intérêt. En pratique, un filtre du deuxième ou du troisième ordre est probablement suffisant.

Pour plus d'informations, voir: W. Kester, Manuel de conversion des données: Appareils analogiques. Amsterdam ua: Elsevier Newnes, 2005.

Martin
la source
1
Merci Martin. Avez-vous peut-être un lien vers la provenance de ces équations pour que je puisse en lire un peu plus et les comprendre?
david berliner
1
@david W. Kester, Manuel de conversion des données des appareils analogiques est un excellent livre sur les ADC en général. La figure est extraite du chapitre 2, page 2.29. J'ai ajouté un lien dans mon message ci-dessus.
Martin
Juste pour être clair. Un filtre anti-crénelage est essentiellement juste un filtre passe-bas, oui?
Luke
1
@luke Correct. Les fréquences inférieures à fs / 2 peuvent passer tandis que tout le reste doit être atténué autant que possible. Il y a une exception. Si votre signal d’intérêt a une bande passante limitée avec toutes les fréquences supérieures à zéro (par exemple le signal passe-bande), vous utilisez un sous-échantillonnage et avez donc besoin d’un filtre passe-bande anti-crénelage. Voir aussi le sous
Martin
10

Dois-je m'inquiéter des filtres anti-alias avant l'ADC

À moins que votre ADC ne dispose d'un filtre anti-aliasing intégré, alors oui, vous devriez en prendre soin même si vous n'êtes intéressé que par les fréquences inférieures à la limite nyqist.

La raison en est que les fréquences supérieures à la limite de nyquist se replient (miroir) dans votre gamme de fréquences d'intérêt. Par exemple, si vous échantillonnez à 20 kHz et que votre micro à condensateur capte l'audio à 15 kHz, vous trouverez un signal puissant de 5 kHz dans vos données échantillonnées.

Puisque vous utilisez déjà des amplificateurs opérationnels, vous pouvez facilement ajouter un filtre passe-bas bon marché au circuit existant. Pour ce faire, il suffit de mettre un condensateur en parallèle avec R6 et R7. Ils agiront comme une faible résistance aux hautes fréquences et réduiront le gain global tout en laissant les basses fréquences inchangées. Cela aidera déjà un peu à atténuer les composants haute fréquence et à réduire l'aliasing.

Si vous voulez de meilleures performances, consultez les filtres passe-bas sallen-key. Un filtre de troisième ordre peut être construit autour d'un seul opamp.

En ce qui concerne votre circuit en général: si vous alimentez les amplificateurs opérationnels TL64 à partir de votre seule alimentation 5V, cela ne fonctionnera pas. Vous dépassez plusieurs paramètres de la fiche technique. Le plus remarquable est que vous n'avez que la moitié de la tension d'alimentation minimale. Les amplificateurs opérationnels TL64 ont également une plage de tension de sortie minimale garantie qui est à 4 V des rails, donc même avec une tension de 10 V, votre signal serait limité à une petite bande de 2 V.

Je vous suggère de choisir un ampli-op pour une alimentation unique comme le LM358 (TSH80 / TSH84 est une mise à niveau moderne) ou d'utiliser un opamp rail-à-rail.

Nils Pipenbrinck
la source
2
Merci pour vos précieux commentaires. Je suis allé vérifier la fiche technique de cet opamp et vous avez raison, mais mon circuit fonctionne!? Je ne lui donne que + 5V et 0V et pourtant mon onde commence à se couper à environ 3,5V crête à crête. le plus bizarre. Je ne sais pas si je devrais le changer par principe ou le laisser parce que ça marche ...
David Berliner
3
Les paramètres de la fiche technique sont les valeurs les plus défavorables. L'opamp typique peut avoir de meilleures caractéristiques. À mon humble avis, utiliser l'opamp hors spécifications est très bien si c'est pour un projet personnel ou un prototype.
Nils Pipenbrinck