Mon plus grand défi avec cette question est son taux de roulement ridiculement élevé.
Je suppose que le signal est indétectable si son gain est de -20 dB. Cela signifie que, dans la bande de transition de 200 Hz, la puissance du signal doit chuter de 20 dB.
Si mes calculs sont corrects, ce filtre nécessite un taux de roll-off de 1200 dB / déc. Cela nécessite 60 pôles, ce qui n'est évidemment pas faisable.
Je voudrais utiliser un filtre actif analogique avec une ondulation minimale dans la bande passante. Un grand déphasage n'est pas trop important.
Une solution potentielle consiste à utiliser un filtre coupe-bande à 5,2 kHz. Cependant, les fréquences supérieures à la bande passante du filtre coupe-bande ne sont toujours pas suffisamment filtrées.
Veuillez signaler toute faille dans ma logique et / ou proposer des solutions potentielles. Je vous remercie.
Réponses:
Vous avez supposé un roll-off de 20 dB / déc par commande de filtre pour votre filtre. Ce n'est pas vrai pour tous les types de filtres.
Soit et . Alorsf s t o p = 5,2 k H z f s t o pf0=5kHz fstop=5.2kHz
Jetez un œil à ce filtre elliptique du quatrième ordre tiré de l'article Wikipedia .
Bien qu'il ne réponde pas tout à fait à vos besoins, vous pouvez voir que c'est faisable. Un filtre elliptique d'ordre supérieur peut atteindre ce que vous recherchez.
Vous devez garder à l'esprit que les filtres elliptiques peuvent perturber la phase du signal. Puisque vous n'avez rien mentionné au sujet de vos contraintes de phase, j'ai supposé qu'un filtre elliptique convient.
la source
Ce type de coupure nette nécessite un filtre numérique. Ne pensez même pas à l'analogique. Vous devez convoluer l'entrée avec une fonction sinc. La largeur de la fonction sinc (le nombre de points du noyau) définit l'atténuation de la bande d'arrêt.
Je n'ai pas fait le calcul, mais certains calculs très rapides (pourrait être désactivé, votre travail à faire correctement) indique que vous avez probablement besoin de quelques 100 points si vous échantillonnez à 20 kHz. 200 points à 20 kHz signifie un taux MAC de 4 MHz. C'est faisable, en fait bien en deçà de ce que les DSP modernes peuvent faire assez facilement. Cela signifie que votre problème est tout à fait traitable. Quelque chose comme un dsPIC de la série E peut le faire, et c'est plutôt bas de gamme si vous ne recherchez que la capacité DSP.
la source
Si vous autorisez un retard substantiel ou traitez un signal enregistré, vous pouvez simplement faire FFT, supprimer les composants indésirables et inverser la transformation. Vous devez tronquer le fft avec la fonction de fenêtre appropriée pour garder la sonnerie acceptable.
la source
Je choisirais une puce de codec audio (ADC + DAC), acheminer la sortie numérique ADC vers l'entrée DAC et définir la fréquence d'échantillonnage à 10 kHz.
Ces puces incluent déjà le moteur de filtre numérique dont vous avez besoin. Une vérification rapide de la fiche technique semble confirmer que vous obtiendrez les performances de filtre dont vous avez besoin.
la source
Vous avez déjà beaucoup de bonnes réponses avec de bonnes solutions traditionnelles, des filtres elliptiques, des FFT (de courte durée), etc., donc je pensais pouvoir ajouter quelque chose du monde du codage de sous-bande / transformation en ondelettes.
Le codage de sous-bande signifie de subdiviser le spectre de fréquences en "bacs", chacun de ces bacs a son propre filtre associé. Les bandes plus serrées, les filtres plus larges dans le domaine temporel (naturellement) - mais dans les zones où nous n'avons pas besoin de bandes très serrées, nous pouvons nous en tirer avec des filtres vraiment courts et peu coûteux à calculer.
Les ondelettes sont des fonctions qui sont le résultat d'un type spécifique de filtres de sous-bandes qui sont générés par un filtrage itéré suivi d'un sous-échantillonnage.
L'idée serait de trouver les sous-bandes d'intérêt qui nous permettraient de resserrer le plus les calculs, tout en obtenant une bonne granularité dans la bande d'intérêt.
Exemple de décomposition d'un paquet de 12 tap Daubechies en trois niveaux (Wikipedia):
Nous pouvons ensuite les résumer de manière sélective pour obtenir la réponse souhaitée. Et ceux que nous ne voulons pas ajouter - nous n'avons même pas besoin de calculer! Nous aurons besoin de plus minces plus proches de la bande 5-5,2 kHz pour pouvoir obtenir un comportement suffisamment raide. Mais d'un autre côté, loin de la bande 5-5,2 kHz, nous pouvons nous en sortir avec seulement quelques subdivisions.
la source
si vous pouvez GARANTIR une entrée sinusoïdale, alors un monostable à un coup (74121) peut suffire. Ou le 122/123 re-déclenchable.
Utilisez un comparateur avant le 74121/122/123
Certains MCU incluent des comparateurs analogiques comme périphériques; une fois converti en onde carrée, vous pouvez utiliser des minuteries, etc. pour détecter au-dessus / en dessous de 5000 Hz, si le MCU a une horloge stabilisée XTAL. Pas besoin d'un monostable sensible à la température.
la source