Supprimer 'filtre.py'
parent
57d5cca798
commit
7492208179
@ -1,116 +0,0 @@
|
|||||||
from filtre_gui import *
|
|
||||||
from math import *
|
|
||||||
|
|
||||||
#lancer le calcul
|
|
||||||
def signals(self):
|
|
||||||
self.calculer_pushbutton.clicked.connect(self.calc)
|
|
||||||
|
|
||||||
def calc(self):
|
|
||||||
frequence = int(self.freqCp_lineedit.text())
|
|
||||||
amplitude = float(self.amplitude_lineedit.text())
|
|
||||||
impedance = float(self.impEntree_lineedit.text())
|
|
||||||
ordre = int(self.ordre_lineedit.text())
|
|
||||||
w = calcul_w( frequence)
|
|
||||||
b=calcul_b(amplitude)
|
|
||||||
gamma = calcul_gamma(b,ordre)
|
|
||||||
ak=calcul_ak(ordre)
|
|
||||||
bk = calcul_bk(ordre,gamma)
|
|
||||||
gk = calcul_gk(ordre,ak,bk,gamma)
|
|
||||||
ck,lk=ck_lk_calcul(ordre,impedance,w,gk)
|
|
||||||
|
|
||||||
r = calcul_r(ordre,impedance,b)
|
|
||||||
rn=calcul_Rn(r,impedance)
|
|
||||||
textdecompletion=''
|
|
||||||
for i in range (ordre//2):
|
|
||||||
textdecompletion= textdecompletion + "L" + str(i) + "= " + str(lk[i]) + " \n"
|
|
||||||
self.resultatlk_textedit.setText(textdecompletion)
|
|
||||||
textdecompletion=''
|
|
||||||
for i in range (ordre//2):
|
|
||||||
textdecompletion= textdecompletion + "C" + str(i) + "= " + str(ck[i]) + " \n"
|
|
||||||
self.resultatck_textedit.setText(textdecompletion)
|
|
||||||
self.resultatrn_lineedit.setText(str(rn))
|
|
||||||
|
|
||||||
#self.resultat_lineedit.setText('lk ='+str(lk)+'\nck='+str(ck)+'\nrn ='+str(rn))
|
|
||||||
|
|
||||||
#Calcul de wc
|
|
||||||
def calcul_w(frequence):
|
|
||||||
wc=2.*pi*frequence
|
|
||||||
return wc
|
|
||||||
|
|
||||||
#Calcul de b
|
|
||||||
def calcul_b(amplitude):
|
|
||||||
b=log(cosh(amplitude/17.37)/sinh(amplitude/17.37))
|
|
||||||
#b=log((exp(2*(impedance/17.37))+1)/((exp(2*(impedance/17.37))-1)))
|
|
||||||
#b=0.002745
|
|
||||||
return b
|
|
||||||
|
|
||||||
#Calcul de rn
|
|
||||||
def calcul_r(ordre,impedance,b):
|
|
||||||
if ordre==1:
|
|
||||||
r=1.*impedance
|
|
||||||
else:
|
|
||||||
r=pow((tanh(b/4.)),2)
|
|
||||||
return r
|
|
||||||
|
|
||||||
#Calcul de gamma
|
|
||||||
def calcul_gamma(b,ordre):
|
|
||||||
gamma=sinh(b/(2*ordre))
|
|
||||||
return gamma
|
|
||||||
|
|
||||||
#Cacule de ak
|
|
||||||
def calcul_ak(ordre):
|
|
||||||
ak=[0]*ordre
|
|
||||||
for i in range(ordre):
|
|
||||||
ak[i]=sin(((2.*(i+1)-1)*pi)/(2.*ordre))
|
|
||||||
return ak
|
|
||||||
|
|
||||||
#Calcul de bk
|
|
||||||
def calcul_bk(ordre,gamma):
|
|
||||||
bk=[0]*ordre
|
|
||||||
for i in range(ordre):
|
|
||||||
bk[i]=gamma*gamma+sin(((i+1)*pi)/ordre)*sin(((i+1)*pi)/ordre)
|
|
||||||
return bk
|
|
||||||
|
|
||||||
#Calcul de gk
|
|
||||||
def calcul_gk(ordre,ak,bk,gamma):
|
|
||||||
gk=[0]*ordre
|
|
||||||
gk[0] = ((2.*ak[0])/gamma)
|
|
||||||
#print("GK0")
|
|
||||||
#print(gk[0])
|
|
||||||
for j in range(1,ordre):
|
|
||||||
gk[j]=((4.*ak[j-1]*ak[j])/float((bk[j-1]*gk[j-1])))
|
|
||||||
return gk
|
|
||||||
|
|
||||||
#Calcul de cl et lk
|
|
||||||
def ck_lk_calcul(ordre, impedance, wc, gk):
|
|
||||||
ck=[0]*ordre
|
|
||||||
lk=[0]*ordre
|
|
||||||
if (ordre%2)==0:
|
|
||||||
for i in range(ordre//2):
|
|
||||||
lk[i]=(impedance/wc)*gk[i]
|
|
||||||
for i in range(ordre//2):
|
|
||||||
ck[i]=(1./impedance)*(1./wc)*gk[i]
|
|
||||||
else:
|
|
||||||
for i in range(ordre//2):
|
|
||||||
lk[i]=(impedance/wc)*gk[i]
|
|
||||||
for i in range((ordre//2)+1):
|
|
||||||
ck[i]=(1./impedance)*(1./wc)*gk[i]
|
|
||||||
return(ck,lk)
|
|
||||||
|
|
||||||
def calcul_Rn(r,impedance):
|
|
||||||
rn=r*impedance
|
|
||||||
return rn
|
|
||||||
|
|
||||||
|
|
||||||
Ui_MainWindow.signals = signals #edite les atibuts de Ui_MainWindow
|
|
||||||
Ui_MainWindow.calc = calc #test = resultat du test
|
|
||||||
|
|
||||||
if __name__ == "__main__": # A library or a stand-alone program
|
|
||||||
import sys
|
|
||||||
app = QtWidgets.QApplication(sys.argv) # Must create a QApplication object, sys.argv allows passing parameters in command line
|
|
||||||
MainWindow = QtWidgets.QMainWindow() # Create a main window instance.
|
|
||||||
ui = Ui_MainWindow() # Create a Ui_MainWindow instance
|
|
||||||
ui.setupUi(MainWindow) # Add widgets to the main window
|
|
||||||
ui.signals() # Connect signals with the appropriate functions
|
|
||||||
MainWindow.show() # Show the main window
|
|
||||||
sys.exit(app.exec_()) # If a termination signal is captured, exit the program.
|
|
Loading…
Reference in New Issue