IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Signal Discussion :

fir1 et fréquence d'échantillonage.


Sujet :

Signal

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur de recherche

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 5
    Points
    5
    Par défaut fir1 et fréquence d'échantillonage.
    Bonjour,

    Je ne comprends pas un point du code suivant. Comment le filtrage peut fonctionner alors que la fréquence d’échantillonnage Fs n'est pas donnée en entrée de fir1() ou/et de filter() ?
    On a la valeur 0.48 (la deuxième entrée de fir1) qui est la fréquence de coupure normalisée et équivaut à 0.48*Fs/2 . Comment ceci fonctionne puisque Fs peut changer et donc la fréquence de coupure 0.48*Fs/2 aussi ?

    Il faut que Fs soit connue pour connaitre la fréquence de coupure et ainsi connaitre la largeur de la réponse impulsionnel du filtre !? Ou bien je me trompe ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    t = (0:length(y)-1)/Fs;
     
    bhi = fir1(34,0.48,'high',chebwin(35,30));
    freqz(bhi,1)
     
    outhi = filter(bhi,1,y);

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur de recherche

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Personne pour m'aider?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    Déjà, je crois qu'il manque la commande suivante : Chirp est un fichier ".mat" contenant un signal pulsé, caractérisé par y et une fréquence d'échantillonnage Fs. Ce qui permet au code de fonctionner, au moins pour récupérer les informations de temps.
    Après, fir1 a l'air de fonctionner avec des rapports avec la fréquence d'échantillonnage, ce qui explique qu'il n'y ait pas besoin d'avoir Fs. (Je peux me tromper sur ce point).
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur de recherche

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    oui il manque "load chirp". Mais fir1 ne va tout de même pas chercher l'info dedans si ?

    Fs n'est mise en entrée ni de fir1(), ni de filter() et si j'utilise mon propre signal, la valeur Fs contenue dans "chirp.mat" ne sera plus correcte. Donc je saisie pas comment il récupère l'info.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    Fir1 utilise un rapport, donc si tu fais 0.48*Fs/Fs, tu obtiens 0.48 par exemple.

    Je me demande d'ailleurs, mais là aussi, ça serait à confirmer si le passage par fir1 et filter n'utilise pas le concept de synthèse de filtre (du moins normalisation du filtre). Plus d'infos ici => http://xcotton.pagesperso-orange.fr/..._de_filtre.pdf

    (Edit : en fait, non, là, seule la normalisation par rapport à la fréquence d'échantillonnage est présente dans FiR1, le lien n'a donc aucun rapport avec le schmilblick).
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur de recherche

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    excuse moi mais je comprends pas où tu veux en venir. Car dans tout les cas, normalisation ou pas, Fs doit être connue pour permettre un rapport et retrouver la fréquence de coupure. Mais je ne saisie pas comment fir1 et/ou filter s'en sortent sans demander Fs en entrée.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 230
    Points : 352
    Points
    352
    Par défaut
    Fir1 n'utilise pas la fréquence d'échantillonnage, mais il accepte en entrée des valeurs dite-normalisées (dans l'exemple que tu utilises, 0.48 est la fréquence de coupure normalisée par rapport à ta fréquence de sampling, le rapport est déjà fait par rapport à ta fréquence d'échantillonnage).

    D'ailleurs, si tu regardes les figures issus de l'exemple, on constate que l'axe des x n'est pas en fréquence, mais en fréquence normalisée. Si tu veux obtenir le signal avec un axe en fréquence, il te faut alors multiplier ton axe des x, par rapport à ta fréquence Fs.

    Si tu veux utiliser ton propre signal, il te faut connaitre Fs, mais il te faut aussi calculer les valeurs normalisées, pour pouvoir utiliser le filtre.
    Je ne réponds pas aux questions techniques via MP. Le but du forum est de permettre de trouver des solutions ensembles pour aider un ensemble de personnes.

    Loi du Chaos Informatique
    L’informatique, ça tient du chaos : une fois ça marche, une fois ça foire, tu sais pas pourquoi, c’est juste que tu viens de changer de lobe sur l’attracteur étrange.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur de recherche

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Mon point est là justement. J'ai bien compris ce que veux dire le 0.48, mais pour que cette valeur corresponde à la fréquence de coupure souhaité, il doit y avoir un calcul du type Fc = 0.48*x quelque part. Autrement le 0.48 ne veut rien dire.
    ors ici le x correspond à Fe/2 (la fréquence de coupure est calculé à partir de le fréquence de Nyquist ), mais je ne saisie pas ou cette infos est trouvé par fir1 ou filter.

    Ps : En réalité, l'exemple de Matlab montre l'axe des abscisses en (pi*radians)/sample allant de 0 à 1. Ce n'est donc pas la fréquence mais la pulsation qui est normalisé. Et ceci de 0 a pi (et pas de 0 à 2pi puis ce que l'information est redondante après pi), mais ça ne change pas le problème.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur de recherche

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    J'ai résolu mon problème je crois. Je ne sais pas si c'est ce que tu voulais dire, mais enfaite il n'y a jamais besoin de Fs, même si j'utilise mon propre signal.

    fir1 prend en entrée le 0.48 qui correspond (comme on l'a déjà dit) en version dénormalisé à Fc = 0.48*Fs/2=0.48*Fn avec respectivement les fréquences de coupure, d'échantillonnage et de Nyquist.
    Or, on peut calculer Fn/Fc = 1/0.48 = 2.08. Ce qui correspond à un nombre d'échantillon. Donc quelque soit la fréquence d'échantillonnage (et donc de coupure), ce nombre ne change pas.

    Ainsi, le modèle à moyenne mobile qui est utilisé pour le filtrage avec Fc = 0.48*Fn, sera toujours une porte contenant deux échantillons.

Discussions similaires

  1. Diminuer la fréquence d'échantillonage
    Par Muriellle dans le forum Signal
    Réponses: 1
    Dernier message: 10/12/2007, 20h58
  2. Question sur les fréquences de RAM
    Par zakfa dans le forum Composants
    Réponses: 18
    Dernier message: 03/02/2005, 11h23
  3. Problème de fréquence incompatible dans un Report
    Par Aeternus dans le forum Reports
    Réponses: 6
    Dernier message: 14/12/2004, 15h34
  4. [Radio fréquence] réalisation d'une application
    Par WriteLN dans le forum Développement
    Réponses: 14
    Dernier message: 05/06/2003, 14h36
  5. Récupérer fréquence refraichissement écran
    Par ddams dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 30/04/2003, 08h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo