рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдлреЛрдЯреЛрдкрд░рд┐рдЪрдп
рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╢реЛрд░ рд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИред рдХрд┐рд╕реА рднреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдВрдХреЗрдд рдореЗрдВ рди рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдпрд╛ рд╢реЛрд░ рдХреЗ рдХреБрдЫ рдмрд╛рд╣рд░реА рдкреНрд░рднрд╛рд╡ рднреА рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдВрдкрди рдирд┐рджрд╛рди рдХреЗ рджреМрд░рд╛рди, рдХрдВрдкрди рд╕реЗрдВрд╕рд░ рд╕реЗ рд╕рдВрдХреЗрддреЛрдВ рдореЗрдВ рдПрдХ рдЧреИрд░-рд╕реНрдерд┐рд░ рдЖрд╡реГрддреНрддрд┐ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд╛рд░реНрдп рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рд╕рд┐рдЧреНрдирд▓ рд╕реЗ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рд╢реЛрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Scipy рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: Kalman; рд╕рдордп рдЕрдХреНрд╖, рдФрд░ рдЕрдиреНрдп рдХреЗ рд╕рд╛рде рдФрд╕рдд рд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдЪреМрд░рд╕рд╛рдИ рдХрд░рдирд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрд╕рддрдд рд╡реЗрд╡рд▓реЗрдЯ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо (DWT) рд╡рд┐рдзрд┐ рдХрд╛ рд▓рд╛рдн рд╡реЗрд╡рд▓реЗрдЯ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреА рд╡рд┐рд╡рд┐рдзрддрд╛ рд╣реИред рдЖрдк рдПрдХ рддрд░рдВрдЧрд┐рдХрд╛ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рдШрдЯрдирд╛ рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рд░реЗрдВрдЬ рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ рджреЛрд╖ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдХрд╛
рдЙрджреНрджреЗрд╢реНрдп DWT рд╕рд┐рдЧреНрдирд▓ рд░реВрдкрд╛рдВрддрд░рдг, рдХрд▓рдорди рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдЪрд▓рддреА рдФрд╕рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрдкрди рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╣реИред
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдбреЗрдЯрд╛
рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ,
рдирд╛рд╕рд╛ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ PRONOSTIA:

рдХрд┐рдЯ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреАрдпрд░рд┐рдВрдЧреЛрдВ рдХреЗ рдкрд╣рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкрди рд╕реЗрдВрд╕рд░ рд╕рдВрдХреЗрддреЛрдВ рдкрд░ рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИред рд╕рдВрдХреЗрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп
рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдмреАрдпрд░рд┐рдВрдЧреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрдВрдкрди рд╕реЗрдВрд╕рд░ (рдХреНрд╖реИрддрд┐рдЬ рдФрд░ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдПрдХреНрд╕реАрд▓рд░реЛрдореАрдЯрд░), рдмрд▓ рдФрд░ рддрд╛рдкрдорд╛рди рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред

рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рднрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╛рдкреНрдд рд╣реБрдП:
- рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐: 1800 рдЖрд░рдкреАрдПрдо рдФрд░ 4000 рдПрди;
- рджреВрд╕рд░реА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐: 1650 рдЖрд░рдкреАрдПрдо рдФрд░ 4200 рдПрди;
- рддреАрд╕рд░реА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕реНрдерд┐рддрд┐: 1500 рдЖрд░рдкреАрдПрдо рдФрд░ 5000 рдПрдиред
рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдирд┐рд░рдВрддрд░
рд╡реЗрд╡рд▓реЗрдЯ рд╕рд┐рдЧреНрдирд▓ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП
рд╕реНрдкреЗрдХреНрдЯреНрд░реЛ рдкрд╛рд╡рд░ рд╕реНрдХреЗрд▓реЛрдЧреНрд░рд╛рдо рдмрдирд╛рддреЗ рд╣реИрдВ - рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ (рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдмрд┐рдпрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП): ['Test_set / рдЕрд╕рд░1_3 / acc_00001 .csv', 'Test_set / рдЕрд╕рд░2_3 / acc_00001ред рд╕реАрдПрд╕рд╡реА тАЩ, v рдЯреЗрд╕реНрдЯ_рд╕реЗрдЯ / рдмрд┐рдпрд░рд┐рдВрдЧ 3_3 / рдПрд╕реАрд╕реА_00001.csvтАЩ] (рддрд╛рд▓рд┐рдХрд╛ 1 рджреЗрдЦреЗрдВ)ред
рд╕реНрдХреЗрд▓реЛрдЧреНрд░рд╛рдо рд╕реВрдЪреАimport scaleogram as scg import pandas as pd from pylab import * import pywt filename_n = ['Test_set/Bearing1_3/acc_00001.csv', 'Test_set/Bearing2_3/acc_00001.csv', 'Test_set/Bearing3_3/acc_00001.csv'] for filename in filename_n: df = pd.read_csv(filename, header=None) signal = df[4].values wavelet = 'cmor1-0.5' ax = scg.cws(signal, scales=arange(1, 40), wavelet=wavelet, figsize=(8, 4), cmap="jet", cbar=None, ylabel=' ', xlabel=" ", yscale="log", title='- %s \n( )'%filename) show()



рджрд┐рдП рдЧрдП рдкреИрдорд╛рдиреЗ рд╕реЗ рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ рдХрд┐ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреА рд╢рдХреНрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдХреНрд╖рдг рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдЪрд╛рд▓рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рдзрд┐рдХрддрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ: 1650 рдЖрд░рдкреАрдПрдо рдФрд░ 4200 рдПрди, рдЬреЛ рдХрдо рдмрд▓ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЖрд╡реГрддреНрддрд┐ рдмреИрдВрдб рдореЗрдВ рдмреАрдпрд░рд┐рдВрдЧ рдХреЗ рддреНрд╡рд░рд┐рдд рдЧрд┐рд░рд╛рд╡рдЯ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рд╕рдВрдХреЗрдд ('Test_set / рдЕрд╕рд░ 2_3 / acc_00001.csv') рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реЛрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗред
DWT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдЧреНрдирд▓ рдбрд┐рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди
рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдбреАрдбрдмреНрд▓реНрдпреВрдЯреА рдкрд░ рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдмреИрдВрдХ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕рдХреА рдЖрд╡реГрддреНрддрд┐ рд╕рдмрдмреИрдВрдб рдореЗрдВ рдПрдХ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рдиреНрдирд┐рдХрдЯрди рдЧреБрдгрд╛рдВрдХ (cA) рд╕рд┐рдЧреНрдирд▓ рдХреА рдХрдо рдЖрд╡реГрддреНрддрд┐ рд╡рд╛рд▓реЗ рд╣рд┐рд╕реНрд╕реЗ (рдФрд╕рдд рдлрд╝рд┐рд▓реНрдЯрд░) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд╕реНрддрд╛рд░ рдЧреБрдгрд╛рдВрдХ (рд╕реАрдбреА) рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рднрд╛рдЧ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛, рд╣рдо рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ DWT рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕рдХреА рдЖрд╡реГрддреНрддрд┐ рд╕рдмрдмреИрдВрдб рдореЗрдВ рдПрдХ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрдЧрдард┐рдд рдХрд░рдиреЗ рдФрд░ рдореВрд▓ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
PyWavelets рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдЧреНрдирд▓ рдбрд┐рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:
рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ pywt.dwt () рдХреЛ рд╕рдВрдХреЗрдд рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдЧреБрдгрд╛рдВрдХ (cA1, cD1) рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЧреНрдирд▓ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред рдлрд┐рд░, рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо pywt.idwt () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ import pywt from scipy import * import pandas as pd from pylab import * filename = 'Test_set/Bearing2_3/acc_00001.csv' df = pd.read_csv(filename, header=None) signal = df[4].values (cA1, cD1) = pywt .dwt (signal, 'db2', 'smooth') r_signal = pywt.idwt (cA1, cD1, 'db2', 'smooth') fig, ax =subplots(figsize=(8,4)) ax.plot(signal, 'b',label=' ') ax.plot(r_signal, 'r', label=' ', linestyle='--') ax.legend(loc='upper left') ax.set_ylabel(' ', fontsize=12) ax.set_xlabel('', fontsize=12) ax.set_title(' ( pywt.dwt()) \n ( pywt.idwt()) ') show()

Pywt.wavedec () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рд┐рдЧреНрдирд▓ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрддрд░ рддрдХ рд╕рднреА рд╕рдиреНрдирд┐рдХрдЯрди рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдЧреБрдгрд╛рдВрдХ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрдХреЗрдд рдФрд░ рд╕реНрддрд░ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕рдиреНрдирд┐рдХрдЯрди рдЧреБрдгрд╛рдВрдХ (n-th рд╕реНрддрд░) рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдЧреБрдгрд╛рдВрдХ рдХреЗ n рд╕реЗрдЯ (1 рд╕реЗ n-th рд╕реНрддрд░ рддрдХ) рд▓реМрдЯрд╛рддрд╛ рд╣реИред Deconstruction рдХреЗ рд▓рд┐рдП, pywt.waverec () рд▓рд╛рдЧреВ рдХрд░реЗрдВ:
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ import pywt import pandas as pd from pylab import * filename = 'Test_set/Bearing3_3/acc_00026.csv' df = pd.read_csv(filename, header=None) signal = df[4].values coeffs = pywt.wavedec(signal, 'db2', level=8) r_signal = pywt.waverec(coeffs, 'db2') fig, ax = plt.subplots(figsize=(8,4)) ax.plot(signal, 'b',label=' ') ax.plot(r_signal, 'r ',label= ' ', linestyle='--') ax.legend(loc='upper left') ax.set_ylabel(' ', fontsize=12) ax.set_xlabel('', fontsize=12) ax.set_title(' - level.\n ( pywt.wavedec()) ') show()

рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдпрд╣ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд╡рд╛рдВрдЫрд┐рдд рд╕реНрддрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╕рд┐рдЧреНрдирд▓ рдбрд┐рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рд╡рд┐рд╕реНрддрд╛рд░ рдЧреБрдгрд╛рдВрдХ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рд╢реЛрд░ рдХреЛ рд╣рдЯрд╛рдирд╛
рд╣рдо рдХреБрдЫ рд╡рд┐рд╕реНрддрд╛рд░ рдЧреБрдгрд╛рдВрдХ рдХреЛ рд╣рдЯрд╛рдХрд░ рд╕рдВрдХреЗрдд рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред рдЪреВрдВрдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдЧреБрдгрд╛рдВрдХ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЙрдЪреНрдЪ-рдЖрд╡реГрддреНрддрд┐ рд╡рд╛рд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдмрд╕ рдЖрд╡реГрддреНрддрд┐ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЗ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рдВрдХреЗрдд рдореЗрдВ рдЙрдЪреНрдЪ-рдЖрд╡реГрддреНрддрд┐ рд╢реЛрд░ рд╣реИ, рддреЛ рдЗрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред
PyWavelets рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ, рдпрд╣ рдереНрд░реЗрд╢реЛрд▓реНрдб рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди pywt.threshol () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
pywt.threshold (рдбреЗрдЯрд╛, рдорд╛рди, рдореЛрдб = 'рд╕реЙрдлреНрдЯ', рд╡рд┐рдХрд▓реНрдк = 0) th
рдбреЗрдЯрд╛: array_like
рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛редрдорд╛рди: рдЕрджрд┐рд╢
рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдорд╛рдиредрдореЛрдб: {'рд╕реЙрдлреНрдЯ', 'рд╣рд╛рд░реНрдб', 'рдЧреИрд░реЛрдЯреЛрдЯ', 'рдЕрдзрд┐рдХ', 'рдХрдо'}
рдЙрд╕ рд╕реАрдорд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЗрдирдкреБрдЯ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ 'рд╕реЙрдлреНрдЯ' рд╣реИредрд╕реНрдерд╛рдирд╛рдкрдиреНрди: рдлреНрд▓реЛрдЯ, рд╡реИрдХрд▓реНрдкрд┐рдХ
рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдореВрд▓реНрдп (рдбрд┐рдлрд╝реЙрд▓реНрдЯ: 0)редрдЖрдЙрдЯрдкреБрдЯ: рд╕рд░рдгреА
рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕рд░рдгреАредрдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдереНрд░реЗрд╢реЛрд▓реНрдб рдорд╛рди рдХреЗ рд▓рд┐рдП рдереНрд░реЗрд╢реЛрд▓реНрдб рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЖрд╡реЗрджрди рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ:
>>>> from scipy import* >>> import pywt >>> data =linspace(1, 4, 7) >>> data array([1. , 1.5, 2. , 2.5, 3. , 3.5, 4. ]) >>> pywt.threshold(data, 2, 'soft') array([0. , 0. , 0. , 0.5, 1. , 1.5, 2. ]) >>> pywt.threshold(data, 2, 'hard') array([0. , 0. , 2. , 2.5, 3. , 3.5, 4. ]) >>> pywt.threshold(data, 2, 'garrote') array([0. , 0. , 0., 0.9,1.66666667, 2.35714286, 3.])
рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдереНрд░реЗрд╢реЛрд▓реНрдб рдлрдВрдХреНрд╢рди рдЧреНрд░рд╛рдл рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рддреЗ рд╣реИрдВ:
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ from scipy import* from pylab import* import pywt s = linspace(-4, 4, 1000) s_soft = pywt.threshold(s, value=0.5, mode='soft') s_hard = pywt.threshold(s, value=0.5, mode='hard') s_garrote = pywt.threshold(s, value=0.5, mode='garrote') figsize=(10, 4) plot(s, s_soft) plot(s, s_hard) plot(s, s_garrote) legend(['soft (0.5)', 'hard (0.5)', 'non-neg. garrote (0.5)']) xlabel(' ') ylabel(' ') show()

рдЧреНрд░рд╛рдл рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рдЧреИрд░реЗрдЯ рдереНрд░реЗрд╢реЛрд▓реНрдб рдирд░рдо рдФрд░ рдХрдареЛрд░ рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдХреЗ рдмреАрдЪ рдордзреНрдпрд╡рд░реНрддреА рд╣реИред рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕рдВрдХреНрд░рдордг рдХреНрд╖реЗрддреНрд░ рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдереНрд░реЗрд╢реЛрд▓реНрдб рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкреНрд░рднрд╛рд╡
рдЙрдкрд░реЛрдХреНрдд рдЧреНрд░рд╛рдл рд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░, рдХреЗрд╡рд▓ рджреЛ рдереНрд░реЗрд╢реЛрд▓реНрдб рдлрд╝рдВрдХреНрд╢рдВрд╕ 'рд╕реЙрдлреНрдЯ' рдФрд░ 'рдЧреНрд░рд╛рдЯреЛрдЯ' рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ, рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдЙрдирдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ import pandas as pd from pylab import * import pywt filename = 'Test_set/Bearing2_3/acc_00001.csv' df = pd.read_csv(filename, header=None) signal = df[4].values v='bior4.4' thres=['soft' ,'garrote'] for w in thres: def lowpassfilter(signal, thresh, wavelet=v): thresh = thresh*nanmax(signal) coeff = pywt.wavedec(signal, wavelet, level=8,mode="per" ) coeff[1:] = (pywt.threshold(i, value=thresh, mode=w ) for i in coeff[1:]) reconstructed_signal = pywt.waverec(coeff, wavelet, mode="per" ) return reconstructed_signal fig, ax = subplots(figsize=(8,4)) ax.plot(signal, color="b", alpha=0.5, label=' ') rec = lowpassfilter(signal, 0.4) ax.plot(rec, 'r', label='DWT ', linewidth=2) ax.legend() ax.set_title(' :%s\n :%s'%(v,w), fontsize=12) ax.set_ylabel(' ', fontsize=12) ax.set_xlabel('', fontsize=12) show()


рдЬреИрд╕рд╛ рдХрд┐ рд░реЗрдЦрд╛рдВрдХрди рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рд╕реЙрдлреНрдЯ рдлрдВрдХреНрд╢рди 'рдЧреИрд░реЛрдЯреЛрдЯ' рдлрдВрдХреНрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╕реНрдореВрдерд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕реЙрдлреНрдЯ рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдлрд┐рд▓реНрдЯрд░ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рджрд╣рд▓реАрдЬ рдХрд╛ рдкреНрд░рднрд╛рд╡
рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдлрд┐рд▓реНрдЯрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╕реНрддрд╛рд░ рдЧреБрдгрд╛рдВрдХ рдмрджрд▓рдиреЗ рдХреА рджрд╣рд▓реАрдЬ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ:
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ import pandas as pd from pylab import * import pywt filename = 'Test_set/Bearing2_3/acc_00001.csv' df = pd.read_csv(filename, header=None) signal = df[4].values v='bior4.4' thres=[0.1,0.4,0.6] for w in thres: def lowpassfilter(signal, thresh, wavelet=v): thresh = thresh*nanmax(signal) coeff = pywt.wavedec(signal, wavelet, level=8,mode="per" ) coeff[1:] = (pywt.threshold(i, value=thresh, mode='soft' ) for i in coeff[1:]) reconstructed_signal = pywt.waverec(coeff, wavelet, mode="per" ) return reconstructed_signal fig, ax = subplots(figsize=(8,4)) ax.plot(signal, color="b", alpha=0.5, label=' ') rec = lowpassfilter(signal,w) ax.plot(rec, 'r', label='DWT ', linewidth=2) ax.legend() ax.set_title(' :%s\n %s'%(v,w), fontsize=12) ax.set_ylabel(' ', fontsize=12) ax.set_xlabel('', fontsize=12) show()



рдкреНрд░рд╛рдкреНрдд рдЧреНрд░рд╛рдлрд╝ рд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░, рд╡рд┐рд╕реНрддрд╛рд░ рдереНрд░реЗрд╢реЛрд▓реНрдб рдХрд╛ рд╕реНрддрд░ рд╕реНрдХреНрд░реАрди рдХрд┐рдП рдЧрдП рднрд╛рдЧреЛрдВ рдХреЗ рдкреИрдорд╛рдиреЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рдереНрд░реЗрд╢реЛрд▓реНрдб рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рддрд░рдВрдЧрд┐рдХрд╛ рдХрднреА-рдХрднреА рдмрдврд╝рддреЗ рд╕реНрддрд░ рдХреЗ рд╢реЛрд░ рдХреЛ рдШрдЯрд╛рддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рдкреИрдорд╛рдиреЗ рдХрд╛ рдЕрддреНрдпрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди рдореВрд▓ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╡рд┐рдХреГрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд▓рд┐рдП, рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб 0.63 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдлрд┐рд▓реНрдЯрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рддрд░рдВрдЧрд┐рдХрд╛ рдХрд╛ рдкреНрд░рднрд╛рд╡
PyWavelets рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ DWT рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реЗрд╡рд▓реЗрдЯреНрд╕ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
>>> import pywt >>> print(pywt.wavelist(kind= 'discrete')) ['bior1.1', 'bior1.3', 'bior1.5', 'bior2.2', 'bior2.4', 'bior2.6', 'bior2.8', 'bior3.1', 'bior3.3', 'bior3.5', 'bior3.7', 'bior3.9', 'bior4.4', 'bior5.5', 'bior6.8', 'coif1', 'coif2', 'coif3', 'coif4', 'coif5', 'coif6', 'coif7', 'coif8', 'coif9', 'coif10', 'coif11', 'coif12', 'coif13', 'coif14', 'coif15', 'coif16', 'coif17', 'db1', 'db2', 'db3', 'db4', 'db5', 'db6', 'db7', 'db8', 'db9', 'db10', 'db11', 'db12', 'db13', 'db14', 'db15', 'db16', 'db17', 'db18', 'db19', 'db20', 'db21', 'db22', 'db23', 'db24', 'db25', 'db26', 'db27', 'db28', 'db29', 'db30', 'db31', 'db32', 'db33', 'db34', 'db35', 'db36', 'db37', 'db38', 'dmey', 'haar', 'rbio1.1', 'rbio1.3', 'rbio1.5', 'rbio2.2', 'rbio2.4', 'rbio2.6', 'rbio2.8', 'rbio3.1', 'rbio3.3', 'rbio3.5', 'rbio3.7', 'rbio3.9', 'rbio4.4', 'rbio5.5', 'rbio6.8', 'sym2', 'sym3', 'sym4', 'sym5', 'sym6', 'sym7', 'sym8', 'sym9', 'sym10', 'sym11', 'sym12', 'sym13', 'sym14', 'sym15', 'sym16', 'sym17', 'sym18', 'sym19', 'sym20']
рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рддрд░рдВрдЧрд┐рдХрд╛ рдХрд╛ рдкреНрд░рднрд╛рд╡ рдЗрд╕рдХреЗ рдЖрджрд┐рдо рдХрд╛рд░реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рджреЛрдмреЗрд╢реА рдкрд░рд┐рд╡рд╛рд░ рд╕реЗ рджреЛ рддрд░рдВрдЧреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ - db1 рдФрд░ db38, рдФрд░ рдЗрди рдкрд░рд┐рд╡рд╛рд░реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ import pywt from pylab import* db_wavelets = ['db1', 'db38'] fig, axarr = subplots(ncols=2, nrows=5, figsize=(14,8)) fig.suptitle(' : db1,db38', fontsize=14) for col_no, waveletname in enumerate(db_wavelets): wavelet = pywt.Wavelet(waveletname) no_moments = wavelet.vanishing_moments_psi family_name = wavelet.family_name for row_no, level in enumerate(range(1,6)): wavelet_function, scaling_function, x_values = wavelet.wavefun(level = level) axarr[row_no, col_no].set_title("{} : {}. : {}. :: {} ".format( waveletname, level, no_moments, len(x_values)), loc='left') axarr[row_no, col_no].plot(x_values, wavelet_function, 'b--') axarr[row_no, col_no].set_yticks([]) axarr[row_no, col_no].set_yticklabels([]) tight_layout() subplots_adjust(top=0.9) show()

рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдореЗрдВ рд╣рдо рдкрд╣рд▓реЗ рдСрд░реНрдбрд░ (db1) рдХреЗ рджреМрдмреЗрд╢реА рддрд░рдВрдЧреЛрдВ рдХреЛ, рддреАрд╕-рдЖрдард╡реЗрдВ рдХреНрд░рдо рдХреЗ рджреВрд╕рд░реЗ рдХреЙрд▓рдо (db38) рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, db1 рдореЗрдВ рд╡рд┐рд▓реБрдкреНрдд рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдХреНрд╖рдг рд╣реЛрддрд╛ рд╣реИ, рдФрд░ db38 рдореЗрдВ рд╡рд┐рд▓реБрдкреНрдд рд╣реЛрдиреЗ рдХреЗ 38 рдХреНрд╖рдг рд╣реЛрддреЗ рд╣реИрдВред рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреЗ рдХреНрд╖рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рдиреНрдирд┐рдХрдЯрди рдХреЗ рдХреНрд░рдо рдФрд░ рддрд░рдВрдЧрд┐рдХрд╛ рдХреА рдЪрд┐рдХрдирд╛рдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдпрджрд┐ рдПрдХ рддрд░рдВрдЧрд┐рдХрд╛ рдореЗрдВ P рдХреЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рдХреЗ рдмрд┐рдВрджреБ рд╣реИрдВ, рддреЛ рдпрд╣ рдбрд┐рдЧреНрд░реА P - 1 рдХреЗ рдмрд╣реБрдкрдж рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЪрд┐рдХрдиреА рддрд░рдВрдЧреЗрдВ рдПрдХ рдЪрд┐рдХрдиреА рд╕рдВрдХреЗрдд рд╕рдиреНрдирд┐рдХрдЯрди рдкреИрджрд╛ рдХрд░рддреА рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд - "рд▓рдШреБ" рддрд░рдВрдЧрд┐рдХрд╛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдЕрдиреБрдорд╛рдирд┐рдд рд╕рдорд╛рд░реЛрд╣ рдХреА рдЪреЛрдЯрд┐рдпреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддреА рд╣реИред рддрд░рдВрдЧрд┐рдХрд╛ рдЪреБрдирддреЗ рд╕рдордп, рд╣рдо рдпрд╣ рднреА рд╕рдВрдХреЗрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдкрдШрдЯрди рдХрд╛ рд╕реНрддрд░ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, PyWavelets рдЗрдирдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдЕрдкрдШрдЯрди рд╕реНрддрд░ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред рдЕрдзрд┐рдХрддрдо рдЕрдкрдШрдЯрди рд╕реНрддрд░ рдЗрдирдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рдФрд░ рддрд░рдВрдЧрд┐рдХрд╛ рдХреА рд▓рдВрдмрд╛рдИ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ:
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ import pandas as pd import pywt filename = 'Test_set/Bearing2_3/acc_00001.csv' df = pd.read_csv(filename, header=None) data = df[4].values w=['db1', 'db38'] for v in w: n_level=pywt.dwt_max_level(len(data),v) print(' %s : %s ' %(v,n_level))
Db1 рддрд░рдВрдЧрд┐рдХрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХрддрдо рдЕрдкрдШрдЯрди рд╕реНрддрд░: 11
Db38 рддрд░рдВрдЧрд┐рдХрд╛ рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХрддрдо рдЕрдкрдШрдЯрди рд╕реНрддрд░: 5
рддрд░рдВрдЧрд┐рдХрд╛ рдЕрдкрдШрдЯрди рдХреЗ рдЕрдзрд┐рдХрддрдо рд╕реНрддрд░реЛрдВ рдХреЗ рдкреНрд░рд╛рдкреНрдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рд╢реЛрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ import pandas as pd import scaleogram as scg from pylab import * import pywt filename = 'Test_set/Bearing2_3/acc_00001.csv' df = pd.read_csv(filename, header=None) signal = df[4].values discrete_wavelets =[('db38', 5),('db1',11)] for v in discrete_wavelets: def lowpassfilter(signal, thresh = 0.63, wavelet=v[0]): thresh = thresh*nanmax(signal) coeff = pywt.wavedec(signal, wavelet, mode="per" ) coeff[1:] = (pywt.threshold(i, value=thresh, mode='soft' ) for i in coeff[1:]) reconstructed_signal = pywt.waverec(coeff, wavelet, mode="per" ) return reconstructed_signal wavelet = pywt.DiscreteContinuousWavelet(v[0]) phi, psi, x = wavelet.wavefun(level=v[1]) fig, ax = subplots(figsize=(8,4)) ax.set_title(" : %s,level=%s"%(v[0],v[1]), fontsize=12) ax.plot(x,phi,linewidth=2) fig, ax = subplots(figsize=(8,4)) ax.plot(signal, color="b", alpha=0.5, label=' ') rec = lowpassfilter(signal, 0.4) ax.plot(rec, 'r', label='DWT ', linewidth=2) ax.legend() ax.set_title(' \n :%s,level=%s'%(v[0],v[1]),fontsize=12) ax.set_ylabel(' ', fontsize=12) ax.set_xlabel('', fontsize=12) wavelet = 'cmor1-0.5' ax = ax = scg.cws(rec, scales=arange(1,128), wavelet=wavelet,figsize=(8, 4), cmap="jet", ylabel=' ', xlabel=" ", yscale="log", title='CWT \n( DWT )') show()






рдпрд╣ рдлрд┐рд▓реНрдЯрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рджрд┐рдП рдЧрдП рд╕реНрдХреЗрд▓реЛрдЧреНрд░рд╛рдореНрд╕ рд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ, db38 рддрд░рдВрдЧрд┐рдХрд╛ рдХреЗ рд▓рд┐рдП, рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреА рдЪреЛрдЯреА рдХреА рд╢рдХреНрддрд┐ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХреНрд╖реЗрддреНрд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреАрдЫрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, db1 рддрд░рдВрдЧрд┐рдХрд╛ рдХреЗ рд▓рд┐рдП, рдпреЗ рдХреНрд╖реЗрддреНрд░ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, db38 рддрд░рдВрдЧрд┐рдХрд╛ 37 рдбрд┐рдЧреНрд░реА рдмрд╣реБрдкрдж рдХреЗ рд╕рдВрдХреЗрдд рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреА рд╣реИред рдпрд╣ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╡рд░реНрдЧреАрдХрд░рдг рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдВрдкрди рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЙрдкрдХрд░рдг рдХреА рдЦрд░рд╛рдмреА рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ред
рдЪреВрдВрдХрд┐ рдбрдмрдЪреАрдЬрд╝ рд╡реЗрд╡рд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдлрд┐рд▓реНрдЯрд░ рдХреЗ рдмрд╛рдж рд╕рдВрдХреЗрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдорд╛рдирд┐рдд рдФрд░ рд╡рд┐рдШрдЯрди рдЧреБрдгрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдРрд╕реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдирд┐рдХрдЯрддрд╛ рдХреА рдбрд┐рдЧреНрд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рдЙрдирдХреА рдЦреЛрдЬ рдФрд░ рд╡рд░реНрдЧреАрдХрд░рдг рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИредрдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рд╢реЛрд░ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд▓рдорди рдлрд╝рд┐рд▓реНрдЯрд░
рд╡рд┐рднрд┐рдиреНрди рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╢реЛрд░ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд▓рдорди рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд░рд╛рдЬреНрдп рд╡реЗрдХреНрдЯрд░ x рдХреЗ рд╕рд╛рде рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдгрд╛рд▓реА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
x=F cdotx+w(Q)рдЬрд╣рд╛рдВ F рд╕рдВрдХреНрд░рдордг рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИ
w (Q) рд╢реВрдиреНрдп рдЧрдгрд┐рддреАрдп рдЕрдкреЗрдХреНрд╖рд╛ рдФрд░ рдПрдХ рд╕рд╣рд╕рдВрдпреЛрдЬрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ Q рдХреЗ рд╕рд╛рде рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рд╢реЛрд░) рд╣реИред
рд╣рдо рд╕рдордп рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖рдг рдореЗрдВ рдПрдХ рдЬреНрдЮрд╛рдд рдорд╛рдк рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░рд╛рдЬреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗред рдХрд▓рдорди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╢реЛрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рджреЛ рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди рдФрд░ рд╕реБрдзрд╛рд░, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред
рд╕рд┐рд╕реНрдЯрдо рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░реЗрдВ:
Q- рдореИрдЯреНрд░рд┐рдХреНрд╕ рдСрдл рдиреЙрдЗрдЬрд╝ рдХреЛрд╡рд┐рд░реЗрдВрд╕ (рдкреНрд░реЛрд╕реЗрд╕ рдиреЙрдЗрдЬрд╝ рдХреЛрд╡рд░рд┐рдпрди)ред
рдПрдЪ рдЕрд╡рд▓реЛрдХрди рдореИрдЯреНрд░рд┐рдХреНрд╕ (рдорд╛рдк) рд╣реИред
рдЖрд░ - рдЕрд╡рд▓реЛрдХрди рд╢реЛрд░ (рдорд╛рдк рд╢реЛрд░ рдХреЛрд╡рд░рд┐рдпрди) рдХреЗ рд╕рд╣рд╕рдВрдпреЛрдЬрдХред
рдкреА = рдХреНрдпреВ рд░рд╛рдЬреНрдп рд╡реЗрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╕рдВрдпреЛрдЬрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рд╣реИред
z (t) рд╕рд┐рд╕реНрдЯрдо рдХреА рджреЗрдЦреА рдЧрдИ рдЕрд╡рд╕реНрдерд╛ рд╣реИред
x = z (0) рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдЕрд╡рд▓реЛрдХрди z рдХреЗ рд▓рд┐рдП, рд╣рдо рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЧрдП рд░рд╛рдЬреНрдп x рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗ
рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрджрдо рдЙрдард╛рддреЗ рд╣реИрдВред
тАв рдЪрд░рдг 1: рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди
1. рдкреНрд░рдгрд╛рд▓реА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдПрдХреНрд╕рдЯреНрд░рдкрд▓реЗрд╢рди (рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА)
x=F cdotx2. рдЕрддрд┐рд░рд┐рдХреНрдд рд░рд╛рдЬреНрдп рд╡реЗрдХреНрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╕рдВрдпреЛрдЬрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ
F=F cdotP cdotFT+QтАв рдЪрд░рдг 2: рд╕реБрдзрд╛рд░
1. рддреНрд░реБрдЯрд┐ рд╡реЗрдХреНрдЯрд░ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдЕрдкреЗрдХреНрд╖рд┐рдд рд░рд╛рдЬреНрдп рд╕реЗ рдЕрд╡рд▓реЛрдХрди рдХрд╛ рд╡рд┐рдЪрд▓рди
y=zтИТH cdotx2. рд╡рд┐рдЪрд▓рди рд╡реЗрдХреНрдЯрд░ (рддреНрд░реБрдЯрд┐ рд╡реЗрдХреНрдЯрд░) рдХреЗ рд▓рд┐рдП рд╕рд╣рд╕рдВрдпреЛрдЬрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ
S=H cdotP cdotHT+R3. рдХрд▓рдорди рд▓рд╛рдн рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ
K=P cdotH cdotHT cdotSтИТ14. рд░рд╛рдЬреНрдп рд╡реЗрдХреНрдЯрд░ рдЕрдиреБрдорд╛рди рдХрд╛ рд╕реБрдзрд╛рд░
x=x+K cdoty5. рд╣рдо рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯреЗрдЯ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╕рдВрдпреЛрдЬрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рд╕рд╣реА рдХрд░рддреЗ рд╣реИрдВ
P=(IтИТK cdotH) cdotPрдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ from scipy import* from pylab import* import pandas as pd def kalman_filter( z, F = eye(2), # (transitionMatrix) Q = eye(2)*3e-3, # (processNoiseCov) H = eye(2), # (measurement) R = eye(2)*3e-1 # (measurementNoiseCov) ): n = z.shape[0]

рджрд┐рдП рдЧрдП рдбрд╛рдпрдирд╛рдорд┐рдХ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП, рдЖрдк pyKalman рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ from pykalman import KalmanFilter import pandas as pd from pylab import * import scaleogram as scg filename = 'Test_set/Bearing2_3/acc_00001.csv' df = pd.read_csv(filename, header=None) signal = df[4].values measurements =signal kf = KalmanFilter(transition_matrices=[1] ,



рдХрд▓рдорди рдлрд╝рд┐рд▓реНрдЯрд░ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рд╢реЛрд░ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред
рдЪрд▓рддреА рдФрд╕рдд рд╡рд┐рдзрд┐
рдЬреЛрд░рджрд╛рд░ рджреЛрд▓рди рдХреНрд░рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдореБрдЦреНрдп рджрд┐рд╢рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ, рдЪрд▓рддреА рдФрд╕рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЪреМрд░рд╕рд╛рдИ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдпрд╣ рдХрд╛рд░ рдореЗрдВ рдИрдВрдзрди рд╕реНрддрд░ рд╕реЗрдВрд╕рд░ рдХреА рд░реАрдбрд┐рдВрдЧ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмреАрдпрд░рд┐рдВрдЧреЛрдВ рдХреЗ рддреНрд╡рд░рд┐рдд рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рд╕реЗрдВрд╕рд░ рдХрд╛ рдбреЗрдЯрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреБрдЫ рдЕрдиреБрдХреНрд░рдо рдЖрд░ рдХреА рдмрд╣рд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╢реЛрд░ рдЖрд░реЛрдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╢реЙрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдкрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ - SMA (рд╕рд┐рдВрдкрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ)ред рд╡рд░реНрддрдорд╛рди рдлрд╝рд┐рд▓реНрдЯрд░ рдорд╛рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
ri рд╣рдо рдЕрдиреБрдХреНрд░рдо рдХреЗ рдкрд┐рдЫрд▓реЗ n рддрддреНрд╡реЛрдВ рдХреЛ рдФрд╕рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдЕрдиреБрдХреНрд░рдо n рдХреЗ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред
ri= frac1n cdot sumnj=1y(iтИТj);i>n$рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ <source lang="python">from scipy import * import pandas as pd from pylab import * import pywt import scaleogram as scg def get_ave_values(xvalues, yvalues, n = 6): signal_length = len(xvalues) if signal_length % n == 0: padding_length = 0 else: padding_length = n - signal_length//n % n xarr = array(xvalues) yarr = array(yvalues) xarr.resize(signal_length//n, n) yarr.resize(signal_length//n, n) xarr_reshaped = xarr.reshape((-1,n)) yarr_reshaped = yarr.reshape((-1,n)) x_ave = xarr_reshaped[:,0] y_ave = nanmean(yarr_reshaped, axis=1) return x_ave, y_ave def plot_signal_plus_average(time, signal, average_over = 5): fig, ax = subplots(figsize=(8, 4)) time_ave, signal_ave = get_ave_values(time, signal, average_over) ax.plot(time_ave, signal_ave,"b", label = ' (n={})'.format(5)) ax.set_xlim([time[0], time[-1]]) ax.set_ylabel(' ', fontsize=12) ax.set_title(' SMA', fontsize=14) ax.set_xlabel('', fontsize=12) ax.legend() return signal_ave filename = 'Test_set/Bearing2_3/acc_00001.csv' df = pd.read_csv(filename, header=None) df_nino = df[4].values N = df_nino.shape[0] time = arange(0, N) signal = df_nino signal_ave=plot_signal_plus_average(time, signal) wavelet = 'cmor1-0.5' ax = ax = scg.cws(signal, scales=arange(1,40), wavelet=wavelet, figsize=(8, 4),cmap="jet", ylabel=' ', xlabel=" ", yscale="log", title='CWT %s \n( )'%filename) ax = ax = scg.cws(signal_ave, scales=arange(1,40), wavelet=wavelet, figsize=(8, 4), cmap="jet", ylabel=' ', xlabel=" ", yscale="log", title='CWT %s \n( )'%filename) show()



рдЬреИрд╕рд╛ рдХрд┐ рд╕реНрдХреЗрд▓реЛрдЧреНрд░рд╛рдо рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдПрд╕рдПрдордП рдкрджреНрдзрддрд┐ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╢реЛрд░ рд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ рд╕рд╛рдл рдХрд░рддреА рд╣реИ, рдФрд░
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдореВрдерд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖:
- рд╕реНрдХреЗрд▓реЛрдЧреНрд░рд╛рдо рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреАрдпрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рддреАрди рдкрд░реАрдХреНрд╖рдг рдХрдВрдкрди рд╕реЗрдВрд╕рд░ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕реАрдбрдмреНрд▓реНрдпреВрдЯреА рддрд░рдВрдЧрд┐рдХрд╛ рд╕реНрдХреЗрд▓реЛрдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдереЗред рд╕реНрдХреЗрд▓реЛрдЧреНрд░рд╛рдо рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рджреЗрд░ рд╕реЗ рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрдд рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдХреЗрдд рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╕рдВрдХреЗрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рджрд┐рдП рдЧрдП рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╡реЗрд╡рд▓реЗрдЯ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП DWT рдбрд┐рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдФрд░ рдореЙрдбреНрдпреВрд▓ pywt.dwt (), pywt.idwt () рдФрд░ рдореЙрдбреНрдпреВрд▓ pywt.wavecec () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрдкрди рд╕реЗрдВрд╕рд░ рд╕рд┐рдЧреНрдирд▓ рдХреА рдмрд╣рд╛рд▓реА рдХреЗ рд▓рд┐рдП PyWavelets рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЙрджрд╛рд╣рд░рдг DWT рд╢реЛрдзрди рдЧреБрдгрд╛рдВрдХ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pywt.threshol () рдореЙрдбреНрдпреВрд▓ рдХреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдереНрд░реЗрд╢реЛрд▓реНрдб рдорд╛рди рдХреЗ рд▓рд┐рдП рдереНрд░реЗрд╢реЛрд▓реНрдб рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЗ рдЙрдЪреНрдЪ рдЖрд╡реГрддреНрддрд┐ рд╡рд╛рд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред
- рд╢реЛрд░ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдПрдВрдЯреАрдбрд┐рд╡рд┐рдЯрд┐рд╡ рдбреАрдбрдмреНрд▓реНрдпреВрдЯреА рддрд░рдВрдЧ рдХреЗ рдкреНрд░рднрд╛рд╡ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЧрддрд┐рд╢реАрд▓ рдорд╛рдзреНрдпрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд▓рдорди рдлрд╝рд┐рд▓реНрдЯрд░ рдореЙрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореЙрдбрд▓ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрдВрдкрди рд╕реЗрдВрд╕рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рд╕рд┐рдЧреНрдирд▓ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢реЛрд░ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд▓реЙрдЯ рд╡рд╣реА рд╣реИ рдЬреЛ pyKalman рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЧреНрд░рд╛рдл рдХреА рдкреНрд░рдХреГрддрд┐ рд╕реНрдХреЗрд▓реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддреА рд╣реИред
- .