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 :

Enveloppe d'un signal et énergie


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Par défaut Enveloppe d'un signal et énergie
    Bonjour,

    J'aimerais vos lumières sur la défintion d'une enveloppe d'un signal discret.

    J'ai un signal sismique, échantillonné à Fs=125Hz. J'aimerais avoir son enveloppe.

    Généralement et dans la FAQ de ce site on la défini par les valeurs absolus (si nombre imaginaire) de la transformée de Hilbert:

    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
    25
    26
    27
    28
    29
    30
    31
    32
     
    clear all
    close all
     
     
    load('TestSignal')
     
    %%%%%%%%%% ESSAI 1 ENVELOPPE %%%%%%%%%%
    % - Enveloppe de Hilbert
    signal1 =abs (hilbert(signal)) ;
     
    figure
    subplot(211)
    plot(time,signal)
    hold on
    plot(time,signal1,'r','linewidth',2);
    y=ylim;
    line([1 1000;1 1000],repmat(y(:),1,numel([1 1000])),'color','y','linestyle','--')
    xlim([time(1) time(end)])
    xlabel('time')
    ylabel('amplitude (m/s)')
    title('Enveloppe de Hilbert')
     
     
    subplot(212)
    plot(time(1:1000),signal(1:1000))
    hold on
    plot(time(1:1000),signal1(1:1000),'r','linewidth',2);
    xlim([time(1) time(1000)])
    xlabel('time')
    ylabel('amplitude (m/s)')
    title('ZOOM')
    Dans mon cas cela donne donc ceci (+zoom), en bleu le signal et en rouge l'enveloppe :



    On remarque que c'est assez illisible, voir incohérent étant donné que l'enveloppe est censé passer par les max des amplitudes et qu'ici (voir zoom), il ne fait pas ça du tout.

    Donc j'ai trouvé une autre méthode :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    %%%%%%%%%% ESSAI 2 ENVELOPPE %%%%%%%%%%
    % - retirer la valeur moyenne du signal (elle devrait être nulle mais la mesure peut introduire un biais)
    % - élever le signal au carré
    % - multiplier par deux
    % - appliquer un filtre passe pas (avec une fréquence max inférieure aux fréquences sonores enregistrées)
    % - prendre la racine carrée du résultat 
     
    signal2=signal-mean(signal) ;
     
    signal2 = 2*(signal2.^2);
     
    filtre=[0.01 0.025 0.5 1 2 5];
    for ii=1:6
        Wn = 2*[filtre(ii)]/ Fs;
        [b,a] = butter(2,Wn,'low') ;
        signal3(:,ii) = filtfilt(b,a,signal2);
    end
     
    signal3 = sqrt(signal3);
     
    figure
    for ii = 1:6
        subplot(2,3,ii);
    plot(time,signal);
    hold on;
    plot(time, signal3(:,ii),'r','linewidth',2);
    xlim([time(1) time(end)])
    text(0.02,0.95,['Filtre Passe Bas: ',num2str(filtre(ii)),'Hz'],'Units','normalized','HorizontalAlignment','left',...
        'VerticalAlignment','top','BackgroundColor','k','FontWeight','bold','color','w');
    xlabel('time')
    ylabel('amplitude (m/s)')
    end
    qui donne, pour différentes valeurs de filtre passe-bas:



    Mes questions sont:

    - Dans ce cas, quelles fréquences de filtre choisir? à l'oeil? y'a t il des règles ?
    - Y'a t il une autre méthode pour avoir l'enveloppe d'une signal tel que celui-ci ?
    - J'aimerais tracer l'énergie du signal dans le domaine temporel. Peut il être mesuré en prenant simplement le carré d'une enveloppe?

    Merci pour vos réponses.

    PS: signal en pièce jointe
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Débutant] Enveloppe d'un signal EMG
    Par Guillaume Debras dans le forum Signal
    Réponses: 2
    Dernier message: 18/07/2013, 09h31
  2. Réponses: 1
    Dernier message: 05/07/2010, 16h59
  3. [Débutant] Enveloppe d'un signal de type sinusoïdal amorti
    Par mav4457 dans le forum Signal
    Réponses: 9
    Dernier message: 22/05/2008, 13h00
  4. Réponses: 7
    Dernier message: 12/06/2007, 15h05
  5. Enveloppe spectrale dans le traitement du signal
    Par AsmaHaj dans le forum MATLAB
    Réponses: 4
    Dernier message: 05/04/2007, 00h28

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