Vold-Kalmanova řádová filtrace JiříTůma
Obsah Základy Kalmanovy filtrace Základy Vold-Kalmanovy filtrace algoritmus Globální řešení Příklady užití Vold-Kalmanovy řádové filtrace
Kalmanův filtr ( n ) Process equation Measurement (n+) (n) equation y(n) v Σ E ( ) z C n Σ F ( n +, n ) v ( n ) v ( n) v ( n) nekorelovaný budící signál pro Process equation nekorelovaný budící signál pro Measurement equation Vstupní parametry: kovarianční matice ( n) a v v ( n)
Datová rovnice (ekviv. measurement equation) První generace y ( n) ( n) + η ( n) n,,, N y(n) měřený signál η(n) chybový výraz ω(n) úhlová frekvence (n) výstup filtru Maticový tvar rovnic y η Kvadrát sumy chybových výrazů T η η η ( T T y )( y ) Druhá generace y ( n) ( n) ep( jθ( n) ) + η ( n) n Θ( n) ω ( i) t i (n) komplení obálka y C H η { ep( jθ( ) ),, ( jθ( N ))} C diag ep η ( T H H y C )( y C)
Řešení homogenní diferenční rovnice úvod ke strukturální rovnici První generace ( n) c( n) ( n ) + ( n ) n n ( n) az + bz, c( n) cos( ω t) z * z ( n) A cos( ω n t ϕ) kompleně sdružené kořeny ω + Im z z ( j t) ep ω Re ( j t) ep ω Druhá generace pro dvoupólový filtr n n + n ( ) ( ) ( ) z dvojný kořen n n ( n) az bnz ( n) a + cn t, ( c t b) Im z Re
Strukturální rovnice (ekviv. process equation) První generace ( n) cos( ω t) ( n ) + ( n ) ε ( n) c( n) cos( ω t) ω úhlová rychlost (interpolováno), (n) filtrovaný signál, ε(n) chybový výraz, N počet vzorků Druhá generace n n ε ( ) ( ) ( n) ( n) ( n ) + ( n ) ε ( n) ( n) 3( n ) + 3( n ) ( n 3) ε ( n) Maticový tvar rovnic A ε Kvadrát sumy chybových výrazů ε T ε T jednopólový filtr dvoupólový filtr třípólový filtr A T A
První generace Maticový tvar rovnic ( n) c( n) ( n ) + ( n ) ε ( n) ( ) ( ) n 3, N : c c Druhá generace c ( N ) ( n) ( n ) + ( n ) ε ( n) ( ) ( ) n 3,, N : ( N ) ( 3) ( 4) ε ε ε ε ε ε ( N ) ( 3) ( 4) ( N ) N- řádků A ε Řídká pásová matice A N sloupců
Cílová funkce: T T J r ε ε + η η min r váhový koeficient A T A * A T A Globální řešení Řešení: První generace J T r A A + ( T A A E) r + y Druhá generace J T r A A + E H ( y) ( ) H C y ( T A A E) H r + C y B r A T A+E SPD symetrická pozitivně definitní matice
Choleskyho faktorizace pro řešení rovnic B r A T A+E B LU L U T U {u i,j } L,U trojúhelníkové matice * Choleskyho faktorizace zachovává pásovost výsledných matic Algoritmus pro filtr první generace u b u,, u,, b, u j 3,, N u, b, u, u u b u j, j j, j j, j j, j b j, j u j, j u j, j u j, j ( ) b u u j, j j, j j, j j, j Systém lineárních rovnic B y LU y Po substituci U z lze dostat L z y Řešení z L - y > U - z
Software pro Vold-Kalmanovu filtraci Jen druhá generace LabShop PULSE, Software Type 773 IDEAS První a druhá generace VSB Technical University M-funkce v MATLABu Signal Analyser (Visual Basic) bez křížujících se řádů
První generace MATLAB funkce function MyVoldKalman(y,dt,f,r) c *cos(*pi*f*dt); N ma(size(y)); N N-; e ones(n,); A spdiags([e -*c(:n) e],:,n,n); AA r*r*a'*a +speye(n,n); AA\y; Druhá generace function MyVoldKalman(y,dt,f,r,filtord) Sparse Sparse matri matri functions functions speye speye identity identity matri matri spdiags spdiags diagonal diagonal matri matri \ - left left matri matri divide divide N ma(size(y)); if filtord, NR N-; else NR N-3; end; e ones(nr,); if filtord, A spdiags([e *e e],:,nr,n); else A spdiags([e 3*e 3*e -e],:3,nr,n); end; AA r*r*a'*a +speye(n); yy ep(-j**pi*cumsum(f)*dt).*y; *AA\yy;
Vliv váhového koeficientu na selektivitu filtru abs(h) Filtr první generace - - -3 r 5-4 -5 5-6...3.4.5.6.7.8.9 Frekvenční charakteristika filtru 5 f /f s
Příklad č.: Kvalita zvuku Hluk u koncovky výfuku automobilu 3 Time History : vyfuk_l_mono.wav : Signal [-] - - [-] -3 3 - - -3 4 6 8 4 6 8 Tim e [s] Harmonické frekvence otáček motoru Vold-Kalman : vyfuk_l_mono.wav : Signal 4 6 8 4 6 8 Tim e [s] ord 4 ord 6 ord 8 ord
Filtr druhé generace Vliv váhového koeficientu na Band-pass Filter ω πf f f Low-pass Filter y(t)* ep(-jω t) selektivitu filtru Low-Pass Filter Roll-Off -4 db * Pole Number Abs bandwidth in rel freq - -4-6 -8 r 5 5 5 5 Abs bandwidth in rel freq - - f f Efekt násobení - -3 - - *f/fs -3 4 Weighting coefficient
Odezvy VK-Filtru LabShop PULSE, Software Type 773 Signal Analyser, MATLAB Vold-Kalman One-Pole Filter : Generator : SweptSine RMS db/ref,77 U - -4-6 -8 3 4 5 6 7 8 9 Tim e [s ] -pole filter -ple filter 3-pole filter 4-pole filter Swept sine signal: Hz / s, 5 Hz v čase s, VK-filter naladěn na Hz
Příklad č.: Rozběh motoru RPM 8 6 4 Time History : Interpolated RPM : RPM 5 5 Time [s] [m/s] 4 - -4-6 Time History : Vibration - Input : Vibration 5 5 Time [s] 7378 vzorků 7378 rovnic
Výsledky řešení příkladu č. RMS [U] 4 8 6 4 Vold-Kalman : Vibration - Input : Vibration Signal Analyser, the Visual Basic Application ord 3 ord 9 ord ord [m/s²] 8 5 5 Vold-Kalman Order PhaseAss (Vibration) (Magnitude) Time [s] Working : Input : Input : Time Capture Analyzer LabShop PULSE.order 9.order MATLAB 4 3.order.order 4 8 6 [s]
Vold-Kalmanova filtrace výhody / nevýhody Vold-Kalmanova řádová filtrace představuje nástroj vhodný pro diagnostiku rotačních strojů Výhody rychlý rozběh stroje blízké nebo křižující se řády skoková změna RPM (přeřazení převodu) Nevýhody nelze filtrovat v reálném čase delšíčas výpočtu je třeba znát frekvenci sledované složky.