# génération des 4 courbes cibles Duelund import math import cmath fc=2000 # fréquence caractéristique a=5 # facteur amortissement inf=15.625 # fréquence inférieure sup=32000 # fréquence supérieure N=264 # nombre de points, 24 par octave offset=90 # décalage en dB file_low=open("low_Duelund.frd","w") # nom des fichiers .frd file_mid_low=open("mid_low_Duelund.frd","w") file_mid_high=open("mid_high_Duelund.frd","w") file_high=open("high_Duelund.frd","w") for i in range(0,N+1): f=inf*(sup/inf)**(i/N) #balayage fréquentiel low=1/((1+2*1j*f/fc-(f/fc)**2)*(1+a*1j*f/fc-(f/fc)**2)**2) # fonctions de transfert mid_low=(1-1/a**2)*low*a**2*(f/fc)**2 mid_high=(1-1/a**2)*low*a**2*(f/fc)**4 high=low*(f/fc)**6 file_low.write(str(f)) file_low.write("\t") file_low.write(str(20*math.log10(abs(low))+offset)) file_low.write("\t") file_low.write(str(57.29*cmath.phase(low))) file_low.write("\n") file_mid_low.write(str(f)) file_mid_low.write("\t") file_mid_low.write(str(20*math.log10(abs(mid_low))+offset)) file_mid_low.write("\t") file_mid_low.write(str(57.29*cmath.phase(mid_low))) file_mid_low.write("\n") file_mid_high.write(str(f)) file_mid_high.write("\t") file_mid_high.write(str(20*math.log10(abs(mid_high))+offset)) file_mid_high.write("\t") file_mid_high.write(str(57.29*cmath.phase(mid_high))) file_mid_high.write("\n") file_high.write(str(f)) file_high.write("\t") file_high.write(str(20*math.log10(abs(high))+offset)) file_high.write("\t") file_high.write(str(57.29*cmath.phase(high))) file_high.write("\n") file_low.close() file_mid_low.close() file_mid_high.close() file_high.close()