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

T�l�chargez Discussion :

Calcul du SNR (Signal Noise Ratio)


Sujet :

T�l�chargez

  1. #1
    Membre �prouv�
    Avatar de mihaispr
    Inscrit en
    D�cembre 2008
    Messages
    1 025
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2008
    Messages : 1 025
    Par d�faut Calcul du SNR (Signal Noise Ratio)
    Voici des scripts permettant de faire le calcul du rapport signal-bruit dans matlab ou SNR(Signal Noise Ratio):

    Citation Envoy� par adrian07 Voir le message
    Salut � tous,

    Est ce que quelqu'un peut m'indiquer comment calculer le SNR(Rapport signal � bruit) � la r�ception?
    Pour calculer le rapport signal -bruit (SNR- Signal Noise Ratio) voici un petit script matlab:

    SNR.m contient:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    % definir les variables amp- l'amplitude,fe-frequence
    % d'echantionnage,f-frequence,a-amplitude echantionne,n=nombre des echantions
    amp = 2;
    fes = 1000;
    f = 100;
    n = 200;
    a = 0.25;
     
    disp('Le rapport signal bruit SNR=Signal Noise Ratio est:') % afficher un message avant de calculer SNR
     
    rsz = 10*log10(amp^2/2/(2*a)^2/12) % le calcul du SNR donne par la formule; log10 c'est une fonction matlab pour lg
    disp('Echationage signal') % affichage du message avant d'echantionner les 2 signaux
    t = (0:n-1)/fes;
    sig = 2*a*rand(size(t))-a; % definir le bruit
     
    figure
    plot(t,sig) % tracer le graphique avec plot
    title ('Echantionnage du bruit') % le titre de la representation graphique
    xlabel('temps[s]') % etiquetation pour Ox
    ylabel('Amplitude[V]') % etiquetation pour Oy
    grid on  % tracer le reseau du graphique avec fonction grid on

    Ici on a as deux signaux un signal sinusoidal non-bruite (represente par la variable sig1) et un signal sinusoidal bruite (represente par la variable sig1) et dans la variable sig on fait la composition des 2 signaux et dans la variable rsz on fait le raport signal-bruit (SNR- Signal Noise Ratio):

    SNR2.m contient:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    % definir les variables amp- l'amplitude,fe-frequence
    % d'echantionnage,f-frequence,a-amplitude echantionne,n=nombre des echantions
    amp = 2;
    fes = 1000;
    f = 100;
    n = 200;
    a = 0.25;
     
    disp('Le rapport signal bruit SNR(Signal Noise Ratio) est:') % afficher un message avant de calculer SNR
     
    rsz = 10*log10((amp^2/2)/((2*a)^2/12)) % le calcul du SNR donne par la formule; log10 c'est une fonction matlab pour lg 
    disp('Echantionnage des 2 signaux') % afficher un message avant echantionner les 2 signaux sig1 et sig2 
    t = (0:n-1)/fes;
     
    sig1 = 2*sin(2*pi*100*t); % definition du signal sinusoidal
    sig2 = (2*a*rand(size(t))-a); % definition du bruit
    sig = sig1+sig2; %composition des 2 signaux dans la variable sig
     
    figure
    plot(t,sig) % tracer le graphique avec plot
    title ('La sinusoide avec le bruit') % titre de la representation graphique
    xlabel('temps[s]') % etiquetation pour Ox
    ylabel('Amplitude[V]') %etiquetation pour Ox
    grid on % tracer le reseau du graphique avec fonction grid on

    Pour lancer les 2 application vous tappez SNR et SNR2 dans le command window.

    Amicalment,


    Michel

  2. #2
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    13
    D�tails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Par d�faut
    Bonjour,
    j'aimerai bien utiliser ton programme mais je suis d�butant en MATLAB et j'aimerai avoir plus de renseignement stp.

    J'ai captur� un signal audio.wav sur MATLAB, il me le donne en forme de tableau, �chantillon vs fr�quence normalis�.

    A partir de la comment connaitre la valeur de:
    • amp= l'amplitude,f=frequence,a=amplitude �chantillonn�e,


    Merci grandement. La fonction que j'ai utilis� pour capturer le signal audio dans MATLAB est la suivante:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    [h,f]=wavread('nom_du_signal_audio.wav');
    h= tableau
    f= fréquence d'échantillonnage.
    J'attends vos r�ponses avec impatience

Discussions similaires

  1. R�ponses: 2
    Dernier message: 19/04/2014, 06h19
  2. un programme en c pour calcul d un signal
    Par ssarah.z dans le forum Algorithmes et structures de donn�es
    R�ponses: 2
    Dernier message: 28/12/2007, 20h10
  3. Calcul du SNR � partir d'une trame 802.11
    Par Kingdomofh dans le forum D�veloppement
    R�ponses: 2
    Dernier message: 12/03/2007, 08h45
  4. Peak Signal Noise Ratio
    Par Flow_75 dans le forum Signal
    R�ponses: 3
    Dernier message: 10/11/2006, 14h02

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