fréquences et filtres
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

fréquences et filtres



  1. #1
    invite25dbae1e

    fréquences et filtres


    ------

    Salut,

    je progamme sous vb.net un logiciel de traitment de signal. dans la partie de filtrage je définie la periode d'un signal en 0.000001 (s) je stock cette valeur dans une variable T0 (donc la frequence est de 0.1 MHz) je calcul les valeurs du signal en fonction du temps t et du coup j'ai deux tableaux l'un pour les abcisses ( temps ) et l'autre les images du signal s(t). ce signal est à l'entrée d'un filtre passe bas qui a une frequence de coupure fc. le problème que j'ai est lorsque j'essaye de donner cette frequence de coupure de l'ordre d'un MHz et je la stock dans un tableau (puisque f = 1 / t et t varie de 1 à 1200) pendant l'execution pas a pas je remarque que t tend vers 0 et du coup f est infinie (f n'est pas la frequence de coupure mais celle de la fonction de transfert de filtre) donc pas de filtage. si c'était une erreur de programme pourquoi ça marche avec le signal d'entrée et la sortie ça marche pas ? est ce que le stockage dans un tableau n'est pas le même que pour une variable simple? je ne comprends pas d'ou vient l'erreur. c'est un problème de programmation plutot que d'électronique ??? j'éspere que vous avez compris le problème. aidez moi svp

    -----

  2. #2
    doul11

    Re : fréquences et filtres

    Bonjour,


    Tu fait du traitement numérique sans passer dans le domaine fréquentiel ? Tu connais la transformé de Fourrier discrète ? -> http://fr.wikipedia.org/wiki/Transfo..._discr%C3%A8te

    Les étapes a suivre sont :

    1-calcul et mémorisation du signal temporel
    2-transformé de Fourrier
    3-application de la fonction de transfert
    4-transformé de fourrier inverse

    Il est nécessaire d'avoir deux variables (une pour le domaine temporel, une pour le domaine fréquentiel) a deux dimensions ( <s(t),t> en temporel <norme,phase> en fréquentiel), soit 4 tableaux, soit 2 tableaux de structure a 2 élément, tableaux de la taille du nombre d’échantillons.

    Une fois dans le domaine fréquentiel c'est facile qu’appliquer la fonction de transfert d'un filtre puisque celle-ci est une fonction complexe de la fréquence.


    Ça parait compliqué mais ça ce fait en quelques lignes de codes : un exemple de transformé de Fourrier normalisé (c'est du c++)

    Code:
    void FFT::timeToFreq(void)
    {
    int k,n,N=fft_element;
    double a,b;
    
    for(k=N;k>N/2;k--)
    	{
    	
    	a=0;
    	for(n=0;n<N;n++)
    		{
    		a=a+(fft_time_data[n].rho * cos((-2*PI*k*n/N)+fft_time_data[n].phi) );
    		}
    	
    	b=0;
    	for(n=0;n<N;n++)
    		{
    		b=b+(fft_time_data[n].rho * sin((-2*PI*k*n/N)+fft_time_data[n].phi) );
    		}
    	
    	fft_freq_data[N-k].rho=sqrt((a*a)+(b*b));
    	fft_freq_data[N-k].phi=atan2(b,a);
    
    	fft_freq_data[N-k].rho=(1/sqrt(N))*fft_freq_data[N-k].rho;
    	
    	if(k!=N){fft_freq_data[N-k].rho=fft_freq_data[N-k].rho*2;}
    	}
    }
    Pour illustrer un peut tout ça donne un petit soft que j'ai fait :

    Nom : fft_viewer.png
Affichages : 53
Taille : 18,4 Ko
    Dernière modification par doul11 ; 21/04/2012 à 08h25.
    La logique est une méthode systématique d’arriver en confiance à la mauvaise conclusion.

  3. #3
    invite25dbae1e

    Re : fréquences et filtres

    bonjour,
    nous n'avons pas abordé dans le cours la transformée discrète donc cela m'a bien apparu complexe bien qu'il est faisable en quelques lignes du code en C++ mais pas en VB.NET sous lequel je programme. puisqu' il me reste plus beaucoup de temps pour donner ce logiciel y a t'il pas de moyen de résoudre le problème en domaine temps? ce qui me frein c'est pas le calcul (module du filtre * amplitude du signal et phase de filtre + phase de signal) mais c'est l'echelle et la fréquence qui varie entre 1 Hz et 1 MHz.

  4. #4
    doul11

    Re : fréquences et filtres

    Peut importe le langage trois boucles ça reste trois boucles, après on peut "tricher" pour ne pas passer par la transformé, si le signal est sinusoïdal et de fréquence connue on peut calculer le gain et la phase directement sur le signal temporel.

    Si en entrée tu as un signal en sortie tu auras un signal avec a le module de la fonction de transfert et b la phase
    La logique est une méthode systématique d’arriver en confiance à la mauvaise conclusion.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. [Vente] Filtres LRGB astrodon 31.75 et roue à filtres manuelle ATIK 31.75
    Par invite4c2d64ee dans le forum Petites annonces : astronomie
    Réponses: 2
    Dernier message: 22/07/2012, 21h02
  2. fréquences
    Par invite25dbae1e dans le forum Électronique
    Réponses: 1
    Dernier message: 20/04/2012, 17h52
  3. Fréquences.
    Par inviteb878cba4 dans le forum Électronique
    Réponses: 19
    Dernier message: 13/08/2011, 20h37
  4. Sons, fréquences et filtres ...
    Par invitea250c65c dans le forum Électronique
    Réponses: 16
    Dernier message: 28/10/2005, 10h22