Fichier:Minimum and maximum phase responses.gif
Minimum_and_maximum_phase_responses.gif (450 × 450 pixels, taille du fichier : 573 kio, type MIME : image/gif, en boucle, 55 trames, 2,8 s)
Ce fichier et sa description proviennent de Wikimedia Commons.
Description
DescriptionMinimum and maximum phase responses.gif |
English: Shows the phase responses of a minimum and maximum phase responses when is a monomial with . Both filters have the same gain response. Top : Minimum phase filter. Bottom : Maximum phase filter. Left : Nyquist diagram. Right : Phase responses |
Date | |
Source | Travail personnel |
Auteur | fdeloche |
Conditions d’utilisation
Moi, en tant que détenteur des droits d’auteur sur cette œuvre, je la publie sous la licence suivante :
Ce fichier est sous la licence Creative Commons Attribution – Partage dans les Mêmes Conditions 4.0 International.
- Vous êtes libre :
- de partager – de copier, distribuer et transmettre cette œuvre
- d’adapter – de modifier cette œuvre
- Sous les conditions suivantes :
- paternité – Vous devez donner les informations appropriées concernant l'auteur, fournir un lien vers la licence et indiquer si des modifications ont été faites. Vous pouvez faire cela par tout moyen raisonnable, mais en aucune façon suggérant que l’auteur vous soutient ou approuve l’utilisation que vous en faites.
- partage à l’identique – Si vous modifiez, transformez, ou vous basez sur cette œuvre, vous devez distribuer votre contribution sous la même licence ou une licence compatible avec celle de l’original.
Generation code
Minimumphase.py # coding: utf-8 '''Generate an animation showing the phase response for a minimum and maximum phase system''' __author__ = "fdeloche" # In[1]: get_ipython().magic(u'matplotlib inline') import sys import numpy as np import matplotlib.pyplot as pl from matplotlib.animation import FuncAnimation # In[2]: createGif=True pl.rc('xtick', labelsize=20) pl.rc('ytick', labelsize=20) pl.rc('font', weight='bold') # In[3]: fig, ((ax1, ax2), (ax3, ax4)) = pl.subplots(2, 2, figsize=(15, 15)) #fig.set_tight_layout(True) a_x = 0.8 a_y=0. m=1000 A = a_x + 1j*a_y a_mod = np.abs(A) Ainv = 1./A a_xbis = np.real(Ainv) a_ybis = -np.imag(Ainv) # r^2 = x_lim_a = -0.3 x_lim_b = 1.9 y_lim = 1.1 t = np.linspace(0, 1, num=m) ax1.scatter(0, 0, linewidth=6, color='blue') ax1.scatter(1, 0, linewidth=4, color='blue') ax1.set_xlim([x_lim_a, x_lim_b]) ax1.set_ylim([-y_lim, y_lim]) ax1.set_title('$1-az^{-1}$', fontsize=35) ax1.plot(t, np.zeros(m), color='blue', linewidth=4) ax1.plot(1+a_mod*np.cos(2*np.pi*t), a_mod*np.sin(2*np.pi*t), color='black') ax1.axis('off') ax1.text(-0.2, 0.1, "$(0, 0)$", fontsize=30, color='blue') ax1.text(1-0.1, 0.1, "$(1, 0)$", fontsize=30, color='blue') ax3.set_title('$\overline{a}(1-\overline{a}^{\ -1}z^{-1})$', fontsize=35) ax3.scatter(0, 0, linewidth=6, color='blue') ax3.scatter(np.abs(A), 0, linewidth=4, color='blue') ax3.set_xlim([x_lim_a, x_lim_b]) ax3.set_ylim([-y_lim, y_lim]) ax3.plot(t*np.abs(A), np.zeros(m), color='blue', linewidth=4) ax3.plot(np.abs(A)+np.cos(2*np.pi*t), np.sin(2*np.pi*t), color='black') ax3.axis('off') ax3.text(-0.1, 0.1, "$(0, 0)$", fontsize=30, color='blue') ax3.text(-0.1+np.abs(A), 0.1, "$(\overline{a}, 0)$", fontsize=30, color='blue') Z = np.cos(2*np.pi*t) - 1j*np.sin(2*np.pi*t) G = np.angle(1-A*Z) ax2.set_title('Phase response', fontsize=25) ax2.plot(2*np.pi*t, G, color='blue', linewidth=2) ax2.plot(2*np.pi*t, 0*t, color='black') G2 = np.angle(1-np.conj(Ainv)*Z) #ax4.set_title('Phase response', fontsize=25) ax4.plot(2*np.pi*t, G2, color='blue', linewidth=2) ax4.plot(2*np.pi*t, 0*t, color='black') ax2.set_ylim([-np.pi, np.pi]) ax4.set_ylim([-np.pi, np.pi]) ax2.set_xlim([0, 6.283]) ax4.set_xlim([0, 6.283]) ''' ax2.spines["top"].set_visible(False) ax2.spines["right"].set_visible(False) ax4.spines["top"].set_visible(False) ax4.spines["right"].set_visible(False) ''' # In[4]: line1, = ax1.plot(1-np.abs(A)*t*1, t*0, color='blue', linewidth=4) line2, = ax3.plot(np.abs(A)-t*1, t*0, color='blue', linewidth=4) line3, = ax1.plot((1-np.abs(A))*t*1, t*0, color='red', linewidth=4) line4, = ax3.plot((np.abs(A)-1)*t, t*0, color='red', linewidth=4) point1 = ax1.scatter(1-np.abs(A), 0, linewidth=5, color='red') point2 = ax3.scatter(np.abs(A)-1, 0, linewidth=5, color='red') line5, = ax2.plot(0*t, G[0]*t, color='red', linewidth=4) line6, = ax4.plot(0*t, G2[0]*t, color='red', linewidth=4) point3 = ax2.scatter(0, G[0], color='red', linewidth=5) point4 = ax4.scatter(0, G2[0], color='red', linewidth=5) # In[5]: n_frames = 55 def update(i): t0 = i*1./n_frames B = [a_mod*np.cos(2*np.pi*t0), -a_mod*np.sin(2*np.pi*t0)] line1.set_xdata(1-t*B[0]) line1.set_ydata(-t*B[1]) C = [np.cos(2*np.pi*t0), -np.sin(2*np.pi*t0)] line2.set_xdata(np.abs(A)-t*C[0]) line2.set_ydata(-t*C[1]) line3.set_xdata((1-B[0])*t) line3.set_ydata(-t*B[1]) line4.set_xdata((np.abs(A)-C[0])*t) line4.set_ydata(-t*C[1]) point1.set_offsets((1-B[0], -B[1])) point2.set_offsets((np.abs(A)-C[0], -C[1])) line5.set_xdata(2*np.pi*t0+0*t) line6.set_xdata(2*np.pi*t0+0*t) Z0 = np.cos(2*np.pi*t0) - 1j*np.sin(2*np.pi*t0) G0 = np.angle(1-A*Z0) G20 = np.angle(1-np.conj(Ainv)*Z0) line5.set_ydata(G0*t) line6.set_ydata(G20*t) point3.set_offsets((2*np.pi*t0, G0)) point4.set_offsets((2*np.pi*t0, G20)) return line1, line2, line3, line4, point1, point2, line5, line6, point3, point4 # In[ ]: anim = FuncAnimation(fig, update, frames=np.arange(0,n_frames), interval=50, blit=True) if(createGif): anim.save('result.gif', dpi=30, writer='imagemagick') else: pl.show() # In[ ]:
Éléments décrits dans ce fichier
dépeint
Valeur sans élément de Wikidata
21 septembre 2016
Historique du fichier
Cliquer sur une date et heure pour voir le fichier tel qu'il était à ce moment-là.
Date et heure | Vignette | Dimensions | Utilisateur | Commentaire | |
---|---|---|---|---|---|
actuel | 21 septembre 2016 à 11:35 | 450 × 450 (573 kio) | Ixnay | User created page with UploadWizard |
Utilisation du fichier
Les 2 pages suivantes utilisent ce fichier :
Usage global du fichier
Les autres wikis suivants utilisent ce fichier :
- Utilisation sur ca.wikipedia.org
- Utilisation sur en.wikipedia.org
- Utilisation sur zh.wikipedia.org
Ce document provient de « https://fr.wikipedia.org/wiki/Fichier:Minimum_and_maximum_phase_responses.gif ».