bonjour, je dois filtrer un signal échantillonné à 5Khz en temps réel et récupérer le fondamental. je connais la fréquence du signal à peut prés ( de 10hz à 100 Hz) J'ai récupérer l'algorithme ( filtre de butterworth a 2 pôles)
formatting link
et ça marche super bien y[2] = (x[0] + x[2]) + 2 * x[1] + ( A* y[0]) + ( B * y[1]); Par contre le site me donne les coefficients recalculés mais pas l'algorithmes et comme les coefficients A et B dépendent de la fréquence du signal , je dois les recalculer moi même et je ne sais pas comment faire. Si quelqu'un a un site explicatif simplifié ou peut me dire les formules ça serait sympa.
"Fred Kap" a écrit dans le message de news: snipped-for-privacy@NOt.com...
Bonjour,
la transmittance isochrone d'un Butterworth d'ordre 2, c'est:
1/ (1 + j sqrt(2) w/w0 - (w/w0)^2)
si vous voulez le réaliser en numérique, l'approximation classique est jw #
2 / Te * (1-z^(-1)) / (1+z^(-1))
où z^(-1) est l'opérateur retard (implicitement de Te) et Te la période d'échantillonnage.
par exemple, z^(-1) * x(n) = x(n-1)
Donc dans la transmittance isochrone vous remplacez jw par son approximation....puis quelques lignes de maths pour arriver à l'équation de récurrence....
Si vous n'y arrivez pas je vous donnerai le résultat.
Cordialement
Vincent
PS: la réponse n'est pas la même, bien sûr. Notamment, fréquence de coupure numérique = fe / pi * arctan( pi * f0 / fe)...choisir f0 en conséquence...
exemple: coupure du filtre numérique désirée à 1 kHz, fe = 5 kHz
f0 = fe / pi * (pi * fdes / fe) = 1156 kHz
c'est ce f0 là qui doit être utilisé dans la transmittance isochrone pour les calculs.
Il manque des parentheses ou il y en a de trop y[2] = 1 / C * (x[0] + x[2]) + 2 * x[1] + A* y[0]) + B * y[1]) est ce que c'est ca ? y[2] = 1 / C * (x[0] + x[2] + 2 * x[1]) + A* y[0] + B * y[1]
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.