Effectivement il y a des grandes tendances donc tu peux appliquer un passe-bas, et tu devrais visualiser ca après une FFT (dans matlab /scilab par exemple) pour pouvoir comparer avant/après ton filtre.
Effectivement il y a des grandes tendances donc tu peux appliquer un passe-bas, et tu devrais visualiser ca après une FFT (dans matlab /scilab par exemple) pour pouvoir comparer avant/après ton filtre.
Dernière modification par Invité ; 07/07/2010 à 16h17.
Je pense qu'utiliser la Transformé de Fourier c'est utiliser la bombe atomique pour tuer une souris.
Vous voulez filtrer a combien? Sachant que dans le mode numérique on a accès uniquement à la bande situé entre -Fe/2 et Fe/2, où Fe est la fréquence échantillonnage.
Filtrer passe bas correspond à multiplier le spectre de votre signal par une porte qui vaut 1 entre -Fc et Fc et 0 ailleurs, où Fc est la fréquence de coupure de votre filtre.
Une multiplication dans le domaine fréquentiel correspond à une convolution dans le domaine temporel. Donc une filtrage correspond à effectuer le produit de convolution de la transformée de Fourier inverse du spectre de votre signal (cad le signal...), avec la transformée de Fourier inverse d'une porte (cad un sinus cardinal)
Commencer par implémenter une fonction qui effectuer le produit de convolution de 2 tableaux (c'est deux boucles for imbriquées)
A mon sens un sinus cardinal n'est pas nécessaire, faite une simple moyenne sur N échantillons et ca va couper passe-bas.
Remarque : une moyenne est équivalente à filtre contenant que des 1.
@mith06 :
De nos jours, la transformée de Fourier discrète n'est plus une bombe atomique. C'est un outil efficace, facile à mettre en oeuvre et dont on trouve facilement le codage dans le langage qu'on veut.Je pense qu'utiliser la Transformé de Fourier c'est utiliser la bombe atomique pour tuer une souris.
Ceci montre qu'un tel filtrage n'est pas réalisable dans le domaine analogique (filtre non causal). Dans le domaine discret, ce n'est pas un sinus cardinal ni une section d'un sinus cardinal échantillonnée.... par une porte qui vaut 1 entre -Fc et Fc et 0 ailleurs...avec la transformée de Fourier inverse d'une porte (cad un sinus cardinal)
Faire un produit de convolution dans le domaine temporel demande de connaitre la réponse impulsionnelle du filtre. Comme on aura des spécifications fréquentielles (une fois qu'elles seront déterminées!) pour le filtre à adopter, il faudra obtenir la réponse impulsionnelle par ... transformation de Fourier! Le calcul du produit de convolution ne se fera pas par deux simples boucles for imbriquées si le nombre de points est un peu conséquent. Il faudra se tourner vers des algorithmes de convolution rapide, dont par exemple, ceux basés sur ... la tranformation de Fourier rapide.Commencer par implémenter une fonction qui effectuer le produit de convolution de 2 tableaux (c'est deux boucles for imbriquées)
Comment peut-on donner des conseils utiles à partir de si peu d'informations sur le problème posé ?A mon sens un sinus cardinal n'est pas nécessaire, faite une simple moyenne sur N échantillons et ca va couper passe-bas.
On ne connait rien sur les particularités du signal à traiter. La seule chose qu'on sache est que le PO cherche à réduire une partie du spectre. On ne connait pas sa fréquence ou sa bande spectrale, de combien il faut la réduire, si le signal utile a des composantes dans la même bande de fréquence, quelle distorsion est tolérable sur le spectre du signal utile, ....
Publication : Concepts en C
Mon avatar : Glenn Gould
--------------------------------------------------------------------------
Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager