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

Simulink Discussion :

[Débutant] Générer du bruit en 1/f


Sujet :

Simulink

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Points : 17
    Points
    17
    Par défaut [Débutant] Générer du bruit en 1/f
    Bonjour,
    j'aimerai trouver un moyen sur matlab simulink de générer du bruit en 1/f, ce bruit viendra ensuite s'ajouter à mon signal idéal.

    Je connais les caractéristiques de ce bruit (power spectral density et sa variance).

    J'ai vu pour l'instant deux idées :

    1) générer un bruit blanc puis le filtrer par un passe-bas
    2) générer des nbs aléatoires gaussiens, prendre la FFT de cette série, diviser la FFT obtenue par 'racine(fréquence)' , puis prendre la FFT inverse. On obtient alors une distribution gausienne de nbs aléatoires de 'power spectral density' en 1/f.

    Apparemment bruit blanc = nbs gaussiens aléatoires avec une moyenne a zéro.

    Voilà, je ne sais pas si ça vous parle ... moi j'aimerai juste générer mon bruit en 1/f ... comment faire ? y'a t'il des blocs sur simulink ?

    Merci pour votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Salut.
    un moyen sur matlab simulink de générer du bruit en 1/f,
    Effectivement, si tu veux un bruit en1/f, il faut attaquer un filtre passe-bas (ordre deux par exemple de pulsation de coupure égale à 2*pi*f) par un bruit blanc.
    Pour Simulink, tu as le block "Uniform Noise Generator" puis "Transfert Fcn").
    Pour Matlab tu as "rand".

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Ok merci !!!

    J'ai une question sans doute bete mais je n'arrive pas à savoir quoi mettre ... que vaut alors 'f' dans la fonction de transfert "Transfert Fcn"? faut lui mettre une valeur ...
    je dirais que c'est la variable frequentielle de mon signal de bruit ... mais elle a une infinité de valeurs ...

    j'ai trouvé ceci :
    We do not have any specific examples on how to go about creating pink noise in MATLAB or Simulink. However, you can use the 'rand' or 'randn' function to generate white noise and then filter it. Similarly in Simulink, you can use the band-limited white noise block. Although the design of the filter is specific to your application, we recommend designing a band-limited filter with magnitude of 1/sqrt(f). The easiest way to do this is to use the 'invfreqz' function which is available in the Signal Processing Toolbox. After filtering, you can obtain the magnitude of pink noise, 1/f, (note that phase does not contribute).
    Merci pour votre aide ...

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Salut.
    que vaut alors 'f' dans la fonction de transfert
    Tu mets la valeur de la fréquence du bruit désiré.
    Voici un exemple :
    Images attachées Images attachées  

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 39
    Points : 17
    Points
    17
    Par défaut
    Merci mais je ne pense pas que c'est la solution.
    Mon bruit blanc est un signal aléatoire crée par le bloc 'Gaussian noise generator' ... il contient toutes les fréquences par définition, pas une en particulier.

    Mon idée pour créer le bruit en 1/f est de faire la FFT du signal de bruit blanc, diviser chaque composante spectrale par la racine de la fréquence associée a cette composante, puis de retrouver mon signal par une IFFT (fourrier inverse).

    Qu'en pensez vous ?

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut
    Salut.
    bloc 'Gaussian noise generator'
    Tu peux prendre ce bloc.
    Fais un essai :
    Images attachées Images attachées  

Discussions similaires

  1. [Débutant] Générer les fichiers de mapping
    Par sylsau dans le forum Hibernate
    Réponses: 8
    Dernier message: 03/05/2007, 21h56
  2. [Débutant] Générer une liste de 1 à m
    Par Treuze dans le forum Prolog
    Réponses: 12
    Dernier message: 28/03/2007, 17h52
  3. Réponses: 18
    Dernier message: 28/04/2006, 11h00
  4. Réponses: 4
    Dernier message: 13/04/2006, 16h42

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