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 :

filtrage en sous bande avec ondelettes


Sujet :

Signal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1
    Par défaut filtrage en sous bande avec ondelettes
    Salut à tous,

    Je suis en phase d'initiation pour le filtrage en sous bande en utilisant les ondelettes. J'ai fait quelques lectures et maintenant je suis en train d'essayer de faire des "petits" codes matlab pour essayer de bien comprendre.
    En fait j'ai déclaré mon signal "x1" avec quatre sinusoides de fréquences
    f1 = 315;
    f2 = 90;
    f3 = 35;
    f4 = 12;
    et j'essaye de diviser le signal en 4 bandes de fréquences (ma fréquence d'échantillonnage fe est de 1 KHz).
    J'utilise la fonction "wavedec" de matlab et je suis en train de voires qqes bizaroides.
    En fait, j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wavedec(x1, 3, 'db44');
    et puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [cd1 cd2 cd3] = detcoef(c,l, [1 2 3]);
    ca3 = appcoef(c,l,'db44',level);
    et donc j'attends d'avoir:
    - sur cd1 la fréquence 2*(fe/2 -f1) = 2 * (500-315) = 370 Hz
    - sur cd2 la fréquence 4*f2 = 4 * 90 = 360 Hz
    - sur cd3 la fréquence 8*f3 = 8 * 35 = 280 Hz
    - sur ca3 la fréquence 8*f4 = 8 * 12 = 96 Hz

    sur cd1 et cd3, j'ai obtenu ce que j'ai attendu. J'ai bien mon 630 Hz et 280Hz.
    Mais sur cd2 et ca3, je vois d'autres fréquences que je comprends leurs origines:
    sur cd2, j'ai obtenu en plus de 360 Hz une autre fréquence gale à 260 Hz.
    sur ca3, j'ai obtenu en plus de 96 Hz une autre fréquence de 280 Hz (qui est égale à la fréquence dans cd3).

    Avez-vous des explications concernant ce que j'ai obtenu comme résultat ?
    Si oui comment je peux améliorer "mon signal" ?

    En pièce jointe le spectre fréquentiel que j'ai obtenu.

    Ci dessous, mon code source matlab pour ceux qui veulent tester.

    Cordialement,
    bada380

    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
    33
    34
    35
    36
    37
    fe = 1000; % Sample frequency
    N = 262144; % Number of points in waveform
     
    % Sinusoid frequencies
    f1 = 315;
    f2 = 90;
    f3 = 35;
    f4 = 12;
     
    % Construct signal
    t = 0:(1/fe):(N-1)/fe;
    x1 = 1 * sin(2*pi*f1*t) + 1 * sin(2*pi*f2*t) + 1 * sin(2*pi*f3*t) + 1 * sin(2*pi*f4*t);
     
    level = 3;
    dwtmode('ppd');
    [c,l] = wavedec(x1, level, 'db44');
     
    % Extract detail coefficients at levels 1, 2 and 3, from wavelet decomposition
    % structure [c,l].
    [cd1 cd2 cd3] = detcoef(c,l, [1 2 3]);
    ca3 = appcoef(c,l,'db44',level);
     
    L = N;
    NFFT = 2^nextpow2(L); % Next power of 2 from length of y
    f = fe/2*linspace(0,1,NFFT/2+1);
     
    A = fft(cd1, NFFT)/L;
    subplot(level+1,1,1);plot(f,2*abs(A(1:NFFT/2+1)));
     
    B = fft(cd2, NFFT)/L;
    subplot(level+1,1,2);plot(f,2*abs(B(1:NFFT/2+1)));
     
    C = fft(cd3, NFFT)/L;
    subplot(level+1,1,3);plot(f,2*abs(C(1:NFFT/2+1)));
     
    E = fft(ca3,NFFT)/L;
    subplot(level+1,1,4);plot(f,2*abs(E(1:NFFT/2+1)));
    Images attachées Images attachées  

Discussions similaires

  1. gerer la bande passante sous linux avec qos
    Par naoufal_bago dans le forum Réseau
    Réponses: 1
    Dernier message: 06/03/2008, 14h19
  2. Réception sur le port série sous DOS avec Borland V3.0
    Par jackyjacky dans le forum Autres éditeurs
    Réponses: 24
    Dernier message: 19/03/2004, 23h18
  3. Réponses: 3
    Dernier message: 20/12/2003, 19h53
  4. problème HD ntfs formaté sous WinXP avec win2000
    Par kalminou dans le forum Windows XP
    Réponses: 7
    Dernier message: 27/08/2003, 17h45
  5. [sous-chaine] Avec strpos ou substring ??
    Par terziann dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 17/07/2003, 15h28

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