Cascade de filtres Matlab
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Cascade de filtres Matlab



  1. #1
    invitea29b3af3

    Cascade de filtres Matlab


    ------

    Bonjour,

    j'ai une question qui me perturbe un peu. Je croyais qu'en cascadant un filtre Butterworth 1er ordre (réponse en fréquence H1) avec un 2e ordre (H2), j'obtiendrais la même chose qu'en utilisant un 3e ordre tout seul (H3). Autrement dit je pensais que le filtre équivalent après cascade, c'est-à-dire H12(f) = H1(f).*H2(f) serait égal à H3(f).

    Mais à l'évidence ce n'est pas le cas, cf figure attachée obtenue en exécutant le script ci-dessous (pour ceux qui ne veulent pas attendre la validation de la figure)

    1. Est-ce qu'on est bien d'accord que c'est équivalent de filtrer un signal d'abord avec H1 puis H2 que de le filtrer directement avec H12?
    2. Pourquoi n'est-ce pas équivalent de le filtrer avec H3?

    Merci beaucoup pour tout élément de réponse !

    Code:
    fs = 1000;
    fc = 200;
    
    [b1,a1] = butter(1,fc/(fs/2));
    [b2,a2] = butter(2,fc/(fs/2));
    [b3,a3] = butter(3,fc/(fs/2));
    
    N = 2^12;
    [H1,f] = freqz(b1,a1,N,fs);
    H2 = freqz(b2,a2,N,fs);
    H3 = freqz(b3,a3,N,fs);
    
    H12 = H1.*H2;
    
    figure;
    % plot réponse magnitude
    ax(1) = subplot(211); hold on;
    plot(f,20*log10(abs(H12)))
    plot(f,20*log10(abs(H3)),'r')
    ylim([-12,0])
    xlabel('Hz')
    ylabel('reponse magnitude (dB)')
    legend('H12','H3')
    % plot réponse phase
    ax(2) = subplot(212); hold on;
    plot(f,angle(H12)*180/pi)
    plot(f,angle(H3)*180/pi,'r')
    legend('H12','H3')
    linkaxes(ax,'x');
    xlim([0,250])
    ylim([-180,0])
    xlabel('Hz')
    ylabel('reponse phase (deg)')
    Nom : filtres.png
Affichages : 145
Taille : 33,7 Ko

    -----

  2. #2
    Antoane
    Responsable technique

    Re : Cascade de filtres Matlab

    Bonsoir,

    En cascadant un filtre de Butterworth du n^ême ordre et un filtre de Butterworth du p^eme ordre, on obtient un filtre du (n+p)^eme ordre, mais ce filtre n'est pas de Butterworth -- cela se démontre en considérant le produit des fonction de transferts https://fr.wikipedia.org/wiki/Filtre_de_Butterworth.
    Tu observes donc que les fonctions de transfert H3 et H12 sont différentes (une seule est un filtre de butterworth), mais les deux ont la même pente : - 60 dB/dec.
    Les fréquences de coupures sont également différentes : si H1 et H2 ont un gain de -3dB chacun à une férquence donnée, H12 aura un gain de -6dB à cette fréquence.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  3. #3
    invitea29b3af3

    Re : Cascade de filtres Matlab

    Ah ben oui, c'est évident en fait. J'ai dû buggé
    Merci beaucoup !

Discussions similaires

  1. [Vente] Filtres LRGB astrodon 31.75 et roue à filtres manuelle ATIK 31.75
    Par invite4c2d64ee dans le forum Petites annonces : astronomie
    Réponses: 2
    Dernier message: 22/07/2012, 21h02
  2. Filtres RC en cascade.
    Par invitea5ab8741 dans le forum Physique
    Réponses: 2
    Dernier message: 18/04/2011, 19h49
  3. cascade de filtres du premier ordre
    Par invite50b9dc50 dans le forum Électronique
    Réponses: 4
    Dernier message: 21/11/2010, 16h14
  4. Filtres "en cascade"
    Par invitea0238257 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 22/02/2010, 19h06