J'ai une carte d'acquisition de données (A / D + processeur de signal numérique) et je veux vérifier si un filtre passe-haut numérique (implémenté dans DSP) à une fréquence de coupure extrêmement basse (0,05 Hz) fonctionne réellement.
S'il s'agissait d'une fréquence que je pouvais générer avec un générateur de signaux, ce serait facile à vérifier, mais 0,05 Hz est trop faible et je ne peux pas la générer. Comment les ingénieurs vérifient-ils ce type de filtres?
digital-filter
doubleE
la source
la source
Réponses:
Je suppose que cela dépend de plusieurs facteurs, entre autres l'ordre du filtre, mais vous avez quelques possibilités:
Nous utilisons une variante de l'alternative 3 dans certaines de nos configurations de test, non pas parce que nous ne pouvons pas générer les formes d'onde lentes requises, mais parce que la coupure <0,01 Hz de nos filtres analogiques serait beaucoup trop longue à caractériser si nous essayions même un balayage de fréquence approximatif . Cela a réduit le temps de test de plus d'une heure à quelques minutes.
la source
Malheureusement, vous ne pouvez pas obtenir ce niveau avec des modules DDS bon marché (par exemple AD9850) car le mot de réglage n'est que de 32 bits et l'horloge est généralement de 125 MHz, ce qui fait une résolution de 0,03 Hz. Je suppose que cela vous donnerait quelques points de données (0,0291 / 0,0582 / 0,0873 Hz)
Vous pouvez également le nourrir une étape et regarder la réponse du domaine temporel.
la source
Option 1: test sur le PC.
Si votre code DSP est écrit en C, vous pouvez configurer un faisceau de test dans GCC ou Visual Studio. Vous connaissez la fréquence d'échantillonnage de votre code DSP, utilisez donc Excel pour générer un fichier CSV d'entrée de test et demandez à votre faisceau de test de vider une sortie de fichier CSV que vous pouvez vérifier.
Option 2: test sur le DSP avec une interface PC.
Si votre code DSP doit s'exécuter sur le DSP, vous pouvez toujours utiliser le PC pour le tester. Configurez un faisceau de test sur le DSP qui reçoit une valeur du PC, exécute une étape du filtre DSP, puis signale la sortie du filtre pour cette étape au PC (via USB, RS-232 ou TCP / IP selon comment vous vous connectez au DSP). Vous aurez également besoin d'un faisceau de test côté PC pour envoyer et recevoir ces valeurs. Encore une fois, vous pouvez configurer un fichier CSV d'entrée de test sur le PC, passer des échantillons successifs au code de filtre et vider une sortie de fichier CSV que vous pouvez vérifier.
Pour les deux...
Si vous filtrez à 0,05 Hz, il est probable que votre fréquence d'échantillonnage soit également assez lente. L'utilisation d'un faisceau de test vous permettra d'exécuter ces tests plus rapidement qu'en temps réel, ce qui rendra votre processus de test plus efficace.
la source
Si vous avez également un convertisseur N / A dans votre système DSP, vous pouvez générer ce signal extrêmement basse fréquence dans le logiciel et le renvoyer à votre entrée A / N. Vous pouvez également utiliser une carte D / A ou un adaptateur USB pour générer le signal. LabJack est un exemple de tels appareils, mais il y en a beaucoup d'autres avec des prix / capacités variables. Une autre possibilité serait d'utiliser un micro contrôleur + DAC pas cher comme Raspberry Pi ou Arduino
la source
Il existe trois bonnes façons de vérifier la réponse du filtre, l'une est une fonction delta dirac (une fonction d'impulsion ou une impulsion courte), l'autre est une entrée pas à pas et la dernière est un balayage de fréquence.
Avec les instruments que j'utilise, les expériences peuvent durer de quelques semaines à plusieurs mois, certains de nos systèmes physiques ont une réponse de l'ordre des jours. La meilleure façon de vérifier ces systèmes \ filtres est d'utiliser une entrée pas à pas, puis de mesurer la constante de temps. Si vous vous souvenez de la constante de temps pour une entrée de tension est:
Source: http://mit6002.blogspot.com/2011/05/1011-parallel-rc-circuit-step-input.html
(l'image a une source de courant avec une résistance parallèle qui équivaut à une source de tension avec une résistance série)
la source
Vous pourriez probablement générer un signal de 50 MHz assez lisse à la main à l'aide d'un potentiomètre et d'une montre-bracelet.
Vous pouvez également calculer la réponse échelonnée attendue de votre filtre. Donnez à votre matériel une entrée pas à pas en actionnant un commutateur. Tracez la sortie sur une minute environ (si la base de temps de votre oscilloscope ne va pas aussi lentement, enregistrez un multimètre sur bande vidéo et transcrivez les lectures à chaque seconde). Comparez la réponse mesurée par étape à ce que vous aviez prévu. S'ils correspondent (assez étroitement, en tenant compte des imprécisions ADC / DAC / timing), votre filtre fonctionne comme prévu.
la source