Bonjour,
à l'occasion du fil Déphasage en physique, stefjm a proposé deux fonctions de transfert avec une question associée sur le déphasage.
La première fonction de transfert a été définie comme suit :
Si l'on remet en perspective cette fonction de transfert avec la discussion "Causalité et instabilité", on peut se poser la question du caractère causal ou stable de . J'ai mis les éléments de réponse que j'estimais contradictoires ici :
Causalité et instabilité
Mais il y a aussi de nombreux éléments de réponse sur les fils suivants (j'ai même peut-être manqué, dans ces discussions, la réponse que je cherche via ce sondage, allez savoir ) :
Causalité et instabilité
Déphasage en physique
Transformée laplace-fourier: interpretation (indigeste...)
Notez que j'ai un avis sur la question, mais que des zones d'ombre subsistent (c'est ma principale motivation quant au présent message). Je participerai donc au sondage comme tout le monde.
Je mets en pièce jointe une synthèse de résultats obtenus via Matlab concernant cette fonction de transfert. Les figures sont les suivantes :
Etude "FFT" : figures de gauche (courbes rouges)
- En haut : réponse en fréquence, niveau en dB
- Au milieu : réponse en fréquence, phase déroulée. En pointillés : "phase surprise". Trouver à quoi cela correspond vaut au plus un café.
- En bas : réponse impulsionnelle obtenue par FFT inverse
Etude "Laplace" : figures de droite (courbes bleues)
- En haut : réponse en fréquence, niveau en dB. Cette courbe est obtenue grâce à la fonction Matlab "freqz" appliquée aux coefs du filtre IIR obtenu par transformation bilinéaire
- Au milieu : réponse en fréquence, phase déroulée
- En bas : réponse impulsionnelle (filtrage d'un Dirac avec les coef du filtre IIR obtenu par transformation bilinéaire). Notez que l'amplitude absolue est en échelle log, et qu'au bout du temps de simulation on termine tout de même à 800 dB
Le code Matlab est le suivant (y'a un spoiler dans le code à propos du calcul de la phase surprise ; essayez de jouer le jeu !) :
Code:% http://forums.futura-sciences.com/physique/669174-dephasage-physique.html % FT de stefjm n°1 % FT_1 = 1/(1+(jw^5)) % Poles : % 1+p^5 = 0 % => les poles sont les racines cinquièmes de 1 close all ; clear all ; clc ; % Constantes Fech = 100 ; Duree = 100 ; t = [0:1/Fech:Duree-1/Fech] ; Taille = size(t,2) ; freq = [0:1/Duree:Fech-1/Duree] ; % Formel syms p w FT = 1/(1-p^1) ; fct_laplace = simplify(expand(ilaplace(FT))) FT = 1/(1-(j*w)^1) ; fct_fourier = simplify(expand(ifourier(FT))) % Calculs % P = [1 exp(2*j*pi/5) exp(4*j*pi/5) exp(-2*j*pi/5) exp(-4*j*pi/5)] ; % Z = 0 ; % K = 1 ; % [Zd Pd Kd] = bilinear(Z,P,K,Fech) ; [B A] = bilinear([1],[1 0 0 0 0 1],Fech) ; [H W] = freqz(B,A,Taille/2) ; % RI par transformation bilinéaire signal = zeros(Taille,1)' ; signal(1) = Fech ; RI_bilin = filter(B,A,signal) ; % RI par FFT inverse FT = 1./(1+(j*2*pi*freq).^5) ; Nfft = size(freq,2) ; Nyquist = round(Nfft/2) ; FT(Nyquist+2:Nfft) = conj(FT(Nyquist:-1:2)) ; RI_fft = 0.5*real(ifft(FT))*(Nfft) ; FT_fft = fft(RI_fft) / (Nfft/2) ; % Détermination de la "phase surprise"% Génération signal de base f = 4 ; Debut = 1 ; Nb = 5 ; I_debut = round(Debut * Fech + 1) ; I_fin = round(I_debut + Nb*Fech/f - 1) ; entree = sin(2*pi*f*t) ; entree(1:I_debut-1) = 0 ; entree(I_fin+1:Taille) = 0 ; entree(I_debut:I_fin) = entree(I_debut:I_fin) .* bartlett(I_fin-I_debut+1)' ; % Filtrage sortie_bilin = filter (B,A ,entree) ; sortie_RI_fft = fftfilt(RI_fft ,entree) ; sortie_RI_Phi_surpr = fftfilt(RI_Phi_surpr,entree) ; % Tracés freq = freq(1:Nyquist) ; W = W*Fech/(2*pi) ; FT_fft = FT_fft(1:Nyquist) ; FT_Phi_surpr = FT_Phi_surpr(1:Nyquist) ; %------------------------------------------------------------ figure(1) subplot (3,2,1) ; semilogx(freq,20*log10(abs(FT_fft)),'r','LineWidth',2) ; grid on ; axis ([0.01 round(Fech/2) -300 10]) ; xlabel ('Fréquence [s-1]') ; ylabel ('Amplitude, log [dB - ref=1]') ; title ('H_1 : résultats "FFT"') ; subplot (3,2,3) ; semilogx(freq,unwrap(angle(FT_fft)),'r','LineWidth',2) ; hold on ; semilogx(freq,unwrap(angle(FT_Phi_surpr)),'r:') ; grid on ; axis ([0.1 round(Fech/2) -8 0]) ; legend ('Phase originale','"Phase surprise"') ; xlabel ('Fréquence [s-1]') ; ylabel ('Déphasage [rad]') ; subplot (3,2,5) ; plot(t,RI_fft,'r','LineWidth',2) ; grid on ; axis ([1 Duree -20 20]) ; xlabel ('Temps [s]') ; ylabel ('Amplitude [1]') ; title ('Réponse impulsionnelle') ; subplot (3,2,2) ; semilogx(W,20*log10(abs(H)),'b','LineWidth',2) ; grid on ; axis ([0.01 round(Fech/2) -300 10]) ; xlabel ('Fréquence [s-1]') ; ylabel ('Amplitude, log [dB - ref=1]') ; title ('H_1 : résultats "Laplace + bilinéaire + freqz"') ; subplot (3,2,4) ; semilogx(W,unwrap(angle(H)),'b','LineWidth',2) ; grid on ; axis ([0.1 round(Fech/2) -8 0]) ; xlabel ('Fréquence [s-1]') ; ylabel ('Déphasage [rad]') ; subplot (3,2,6) ; plot(t,20*log10(abs(RI_bilin)).*sign(RI_bilin),'r','LineWidth',2) ; grid on ; axis ([1 Duree -800 800]) ; xlabel ('Temps [s]') ; ylabel ('Amplitude, pseudo-log [dB - ref=1]') ;Cliquez pour afficher
-----