From d4a2695e7c3a728ea0648829dc0224fd3928d0de Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Fri, 30 Aug 2019 09:17:18 +0200 Subject: [PATCH] Update robustness analysis. Remove zip, add link directly to matlab --- matlab/figs/magnitude_wphi.pdf | Bin 0 -> 31856 bytes matlab/figs/magnitude_wphi.png | Bin 0 -> 66338 bytes ...unds_comp_filter_max_phase_uncertainty.pdf | Bin 42932 -> 43276 bytes ...unds_comp_filter_max_phase_uncertainty.png | Bin 106548 -> 86800 bytes matlab/index.html | 572 +++++++++--------- matlab/index.org | 54 +- matlab/matlab/comp_filter_robustness.m | 378 ++++++++++++ matlab/matlab/comp_filters_analytical.m | 166 +++++ matlab/matlab/comp_filters_design.m | 53 ++ .../matlab/feedback_generate_comp_filters.m | 58 ++ .../h_inf_synthesis_complementary_filters.m | 94 +++ matlab/matlab/optimal_comp_filters.m | 432 +++++++++++++ 12 files changed, 1504 insertions(+), 303 deletions(-) create mode 100644 matlab/figs/magnitude_wphi.pdf create mode 100644 matlab/figs/magnitude_wphi.png create mode 100644 matlab/matlab/comp_filter_robustness.m create mode 100644 matlab/matlab/comp_filters_analytical.m create mode 100644 matlab/matlab/comp_filters_design.m create mode 100644 matlab/matlab/feedback_generate_comp_filters.m create mode 100644 matlab/matlab/h_inf_synthesis_complementary_filters.m create mode 100644 matlab/matlab/optimal_comp_filters.m diff --git a/matlab/figs/magnitude_wphi.pdf b/matlab/figs/magnitude_wphi.pdf new file mode 100644 index 0000000000000000000000000000000000000000..da37b028542660cdabf9a1d6e2e3ce84d8c96e24 GIT binary patch literal 31856 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 literal 0 HcmV?d00001 diff --git a/matlab/figs/magnitude_wphi.png b/matlab/figs/magnitude_wphi.png new file mode 100644 index 0000000000000000000000000000000000000000..4de65a79280d573905b220e864dd83c2c6dd0bf1 GIT binary patch literal 66338 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 literal 0 HcmV?d00001 diff --git a/matlab/figs/upper_bounds_comp_filter_max_phase_uncertainty.pdf b/matlab/figs/upper_bounds_comp_filter_max_phase_uncertainty.pdf index aeb1be9bc5c6e3c4e87ec7b4bf12f4411aa5c733..2a0aac124747dc179ebc7cbc319daf31a35e5ced 100644 GIT binary patch delta 41626 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

f7v75ZaP8`02Us@cptTk&PDn|S#j&VjDPh5!1 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 Ir9tt308wjrEdT%j delta 41278 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

D?hn@_nbXb!Fl1L7%Iyv4?M?B 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 z z0p5nq3K=_@BFUF?C8CsVZzRdUUfOFQyFOuxC3L_(#ck(O?xyStH)l#&LK z6e&po0RaI4>5}fQe~;&V&-eaoo#kCzr zpd0v^w{HL`s@3vqCC#Vu{gYDx*|XbfB|=vOHW~;wK_=$6d9jU`Si+0`OuRI>F5&OG z9jmgG0XwYPv1SP+EE>tloQev?p>(aF|G%kkrh}PiFebiEW(b7zjI#-O*AF)?x}Sy@ zb7w&f5bmMFURimf(0Aav^N2U?3m%CxG4>#c$^UN9X6R8HlDWmjak2ezxnPsy-kNqm z%_?Pk!>;eas#~G<(&S5`z7`0*cJo#t*#&GW%ozYTKDWg+g=tj(=VW_k%&S%F4#E_j znHVjmiyvey4U5fazlMKf?9k_2`>poOb@H#xjYe#=uG`?*;iO-)P6o*Mpu-O&%7W?B zU`&ruJV0H(y%I`MTpa7OmK$$gIWAt6I*j^Ie)GwroN^fB0fQs$03Y^TJjxoVK!#&9 zbAkLlf0@7=5k4E(={@&OVz=yJ_KTa7#B*n(798p?!*GYku7>su%yzL8wRurE1uwa9 z7mK%p2&N$DFT{57h)|D>O_4Fy1Z2BA{KTNV?u4TqrK)LOjbzDA>%M9Je-0)Yg|u=G ziP;($B$88pbK2$MZr$V=F&t{>i}t&h@+){zb_$?rF#!K=J^r7j-`$I)cmpc8Kkl=5 zpycsQ_&hc1sbyn0;V@#FHknq)2;${nmb~QE+&rKGuVH8wDX|y$z}rC**gxoZ?~|XO z&a&QReq2ArNFUy}4}5Tyvp+OpYH_i+YAaV ziS}XmmjYs`S1uc8%ZGL_%UT2PEJ=Dx|2Q3}mcROf zThAyYTZqyK*|akOf2b*Qd3bgY+zBXU`T7O_9cg`2Q6o}6 zln)LMlhuj5ApbvzoE^@tWt6fSiB$x1I;3;nK>z*(-3wt&qnME_Xi7Mg>cUi>I6?Gj zfcERmV&(f0>gV~ZXX^FB?PT#mZ0@E6QgTkcyfE|S#jk%XNg8)3w|X=I6Nlj&!OMnZ z|6!s5;3pfjge3OimDt)lm;Z$d3A*W?AHp&fzboj+NO*_6SDqcqX*x* zyRX+wXmc^Ku^Ij{yw>Nyn*v7Ujv9)cCtZSaM1|j)=j2#xzcizvd9r=iaeKktlc3?> zM5obY$N6!VPlfR_iAZ_Xz~BN!`u4;{BXS9$`p>;(WG9G@b%^PJ^l7fu`;trInR1|Q zC8wacIwp(a3?M!r$yVs?^DiS7a!yqu|30Rl zA5~om7}w0aPG&2nd^8h2oZ*K~+$i{uL21tqGz_6DVAfLWlC~ABrHk6Hw_LF?lxzD9M3kMf|gzF$bbKRfzJM%LMrn+Bm-O8}p3|(+i0ln>sJP zSd>x&t`7hs!M58r{Ve5b<{|*Sz;y~Jytc9z{g?xeSP^*A+Zh)Wr#{~|48*bFw!AzJWs2=1Rn5c)b7z8#1Ly809eb$y-$P`>pv8X&2)r@xDYDG$AVZT6>uONyT zf2g62mmDNKr2Jul*lpIxYHjFy*@Qq6}Uv5|!-FR*8< zkW&XIio=GgN;bnWRG`a_HnxYkJE)>1+m*958w`$QInrboF3QS?_PUQ0^a6s{&SVGd z%Y|$i4rMLR`l;UBJ@4_jYPehyz5S2I;eQQRgT1VOIpY6p5HQytVuM*qV5BAt+C)_= za3nx@%e|+QTo(AZHr(lFEzVsUcASth+%=l@WJSY_7{FSQggt?j+0@+~h>xfqU-!L$ zpoxEl5Qg7&m4=K($I^QJ^wva4swYx}sq4_@;{}4jJ?+`IthmLzL>FMd)`f0gmS_OmGxVgEP zP7t`Fh6^7`Nzb|wjrw46uO<*#pZ|Uy(hj^57Js1e+{+hT#_f=ZtWr_MPBg$-B zOWN;eU#@Kg@eZI?6?i^44#=+l6vm`aEeKH6*|@Tj~`9#DCEUIWB$K#)^hph=#(bozB*1(H1yBGq)+I|NE8Q1n7_7|$!8g)3xdusIH59Qci zxGnb`jw%pE!6f89v@qd~JKFLA>9?T7f=E_*REae?I2dayrF?HqP|gkF#cfqs0Wk`w zxb@El6#HZNO2lK(K5Nf_mLArWS9KK&iZ$~v;`v^cikKwc2*HtJ>tC0&$D}JJW`Q2nPnwr-*Ks^IF0mr+Ei7S09Nn{E@7Qq4yJ!^JSAs z@(&?i>pDGqUrgIIJmfj+(oD3nyqvO%+^;nVt$p<8%Pyh!Z4tzC|TVmW#do z1f>i1^LO|3(*)itTtaF#ZY!I9v@o6Q9Q6wbZGFb3^!}{=KFOouwV)nC7?9;PGuxBn z_kjtti2yb$Dk_$9-B5+}n*gN(F=OMKw?hf9{rpHhZYhX$vC!Ls!QC2VYH<}mLXfPr zT>~LHUmp7I&!PJf)%b-I-SomapQLF>yY}~^gZE${XsJr#ce>^A{cd}5l|gq`3EPR0 zucc!(H`;Twas%O$2c9u#$@oU=ODTVh)X|WLb)N?u=Ua&TwAz)#_a?`%wHpL3Ofja= zc4KDvmC+hMm2iIp?ju7v;oS#ty6V?qGXz4ia)rm_#i{`mC9>tJyH_6 zCy!-oDI?PwpBu2=S7m+ox<4g5-ZtkTyC!auQNZp)%>aaSa}7%944JKPCkhTI`6Ir6-FW=lF3x?P9wvEL+Efg=zQ~v$W$-!^i=!=#^P;8(amgeCb30q`PNzM{LK#ec7|^E z=hD|nPfup4E|#eiYIg2Z_YgI!_8mvDm#%wgc39a-AR_Je$0^niisJU4x+-{1j3lvdq`v0;WFMXh7% zq4T*k)T`f2mLRydq=5nd!_i|F<`c-@^WQA!WjbssiKH5jalx=G z&DalgNI(BIAXjy!@as#J0gEUXeuvLlVEvx5ua?J^jx8@btx&OMJVueRBQ1ZoHBx=+ zCF*`95y?3PPS1(f`(|^;qV5{uJAw;83_o2~zlSNYf&Ob2v6Y5kX!GW;NYp}2(p=jQ z9-O%w47mv~+ccWpl6}gFfv(-y9{-7)FB2}L7;`YcdoDl7A(<@?S+d&nxJ9Rm6$yWS z9_Vkekp)g1#1a}VI$YZLdfTha>Z0Mpy=Yn^d86QZZkq|?c}h&QPaH3^@nDE92(z(P zqW6ML(1 zyA5CY&V6;mJ)4#E)jShu@jTdUpp*|>bHXYWSQ=jX{Nd403pX5-NAv-Sm&SB9M(~TX zGYbX$IIRSe*N=!L zEcu@ax>W43{2sN%VtMy>Imgk)<^4rrU15dy?F#J^$GmP!M- z8U(5WG%8jC3TPPQc(Yn(uv6>BkAe-#YYolQ!eDe$P0DoSCyHo)*$-RAhRx?6zkk0f z?~%L}>kYH^z~&OXO-Xw)h@UeMG+3bAJJ#k{f9RA7P%(@oP9o4W)N*0ry#w~m_}|`# z6T>9ui)DeeN9ZlG2C8^>=S1hi7D=6EkDB>*+LTn3ivsM#h&hVbb&Qt~V?WRzo=@Lshaf`CEV6Sk5crm>3L?I7BDTXkck4JjcAY&x zlQmxVJWR5w_v}_;-{wynJ`;kF^3A%9aUEwF*5?U`)CS^1p+UT}1u`zDo~q3}q3$O7 z7wy67s@MmqBmOUIOuz5ngQ*;NWC2%$8e5pSb}u}qt3310mUSX*cvaQm z7_HnoQi5bq#|@X>8;;!z-Rkb2JUlKayUs>ca~Ov9Ja=`e4+uDF<*q)@dbY&HgI+nZ zVB13T=KZU<*$AN?)B0w;j8X0S=1ieenaMEf*s_;j)-Vg}=jF^Qhi5iSGaP$m9CTR| zMWmv)HaNRyS_>k+20?0#{{Y?sA3tk8Dg612M7;`agO7XdqNO>IxIU=m2N4U=s)&sl z<4sMCN)Nq?=K2NPpJswY6=TxE<73j;!@u&o>bNZ@2vvKuo;#1%g!Ol@rS0~fopi}i zM9yz!xgyxmw{P<#dxjtm5w%gXf*ZoT6+6uYRuY6vDQeEMzb~#^Vv%6@3M_o@h)Cgc zKt(T8jP262!tTo@An=0Xni6hiW~Pya#ZyqOq@VKl>S=2u0MX-gE`muJ-3HB_vFtmV zWQ5o-GQP9Yw!$qeU}+Bu<8I|57){4a_|`dV6yk1T!% zf|Iv-O)C_&Wo&PZf1#v(WOn1%K`RMS03>Jx6{%Oz^a$O%=M8?K^2#d{RIHcr2#JYj zb2G#5{XTCEmKw7l7c!ruY=&GuWO#GF9$1)51G-)WPpfW{okZD0Fwa|y;5uH#u8W)@ zm55?ukrcW2?)g}&YU9w5kEw}I_GkLIN@*44La!oI=E8!ZDBBS}`_;y~b}z&lV#d}W z1c~ENTaxo6kG`s~ffj9FQMhwLt_X|c0vlJW%Y%KN7I8orIjZ5crINLI9FlZ8#?UaIvT+ES=+AX=fpPu-5Bonz(YKf&X3z z@r5h*Ws&329#%fh&-=(i%YuirpPnbM{ar|S5kV%tQGVjhp0-lqT|F4SI0TbY$DG3T zX6{K%&isvTG*cFQyI-NjxYX!I=-G)y(LgMW&cU5;R!e`JUmxim-|vYd{)|r zNe$ckC;SGh&K~8IVIXqM&06*1>F@}W+*uz|NX=jztTovNa?=jL0|u|UF)+#k!^S^~oK&3N{}(rM9n++v4OxZF(oZVCo^D1(YY0 z%)84jG%YxjjXyP%qn>lWdc&tyzs*E+h)*dfuxL(yc!Z@csp^MOkL;=SphUM$pK5r+ zn<93SiVb;xB$$tP8U{MSi);-^n)#*>M-i+;5zBKkI~#emJMt0PAnyIFB7PR){pO>v9VW2>iqer9R$Gr9 z$zQ_*?Hm`I7s-d6jQ$;yIfbTQ36#ynQ@U4UWxy(V>R&$Zb;!~9ir^zR#y5A2 zUUVx%jO`f2&c_h})Gb8IdWCb>=|rq$M91vmpPFgP#AJHJ;db75^-^fX9E{FIubxtN ziMp&`7WE>53$;m}(J`=~EnN2eOg(i9g$4)Qzp(2}(0q%`0^|u#kvW*ySx54hagv(`Y+)<>N>ADkIiY z5a;;sF&f9v7N~?7Fsz7}#y`JJ@iuy3F!IHL@q9aeajXBCM>7HEY3y?n$!LtT9Urq>w2A*#s2ra1w)K7Pbwyo67^b1-ef3sF2LkQc_xOi>yk~kyHIQg({`!pnjyL`@}(MUeMO|wD8sE z=s@wS;BbVfEq~bRtib~i$z)8(2M%e`^K6jMp9Q? zkVrL-Abj{0-Iil=u;|hH2p!_1^=umt9iZ32qVF6&BU_9}Vyd)!-@5R-z4U*)W4IxF zwza`Vx3{&j!0knHGFEh)74pZtMk6D4hOf_IRwLkBSJYvFo0SXM!D$(+}psn zetl3D9nGudk^4}pyKiDbI=`!cXWLl8etE)`7t-@et!JP9{Q2|suc#uQ+qZAOUR^v{ z?|5zV*rX^ile|cyR2M6bQ%f))Gm!+{Y^2Vryx5%dtDlU;pkYV=us zqw>g44^38vil9K%fAcoO2LVYrL!kje4|o$IM2i^hzoZm?EkF7CiVh-ofXf*ul;iJ> zAzwQ}y$m36ZPm&fK#Sujm1t^MX?0oC!F$Dhy$eUqV(Q6#O=qwfY_-OdM6e}TAq$`F znJbOWpK1!9GBH)6{T@SDUuU8x2=q`{&S8RVtA%%lsb9mmCwyrws!6#g9LY}Ig{W6e zHe76M?k#RWCGuJu)PeV=AUG>X8+axN*0`trHhv!K@%sf?OjMxwmi!xt{lWBkJkA5e z!#gIE@YnYwkx%4)euwmMQPyWb&!dtMYw4CLO?Rw;j=#raXkZXX54PrC=?hT#L!Naa z4>=zg|4K!>Nkdw{#WaD=>1(>X++D^12;{NPNz+ih%ant0CdNi_CQCvVno-j{^FYpc|-)ZJItf=|GR}PA^xy729c4 zu(Wme`M5P+ba=B&5$~OgE2pLtsjzyg%6Q&Z2Di_)5c&D&QJ)@Xm?Mq%bk-UcwJd&b zRr$=_Ov_+ALN-lv!6yYltJ6Ksu6wW@*i=R&GOK6WShHLXBBWOkI^z_>p$PwLu40HF zBT@^K=WHU7Gkw=F`TYJwY}d;E7~{J3KnF0 z*Id<3WfgrdPqw%`&~`S z(Y5S6Y4iZUVKQyYH~Z)896&YjG*fq`No9kq>!VJyf5xygKZ6QKoHysk{!L}mespHd zSMjanAL3bqnN}-(kLvsA!X^%_M zDZn{FPrUP0<{=Rb+|D{xW6u^!7P7FM_s&G-a+X|}7weSHJ31uc-P0itY*X)bYI{q| zlQul1o2P@x<-!s5T7jqKZZcbq^c-C#cic7ch1T57?Cs;8G`?*vG3-YVao1?CXKYkM zJnNs%Gk^fHm31?t#{f7|`S+dG0}IQtn@tDJQT!YUJo`p7RVo}{kIty6g#TrfWISKO z3jdj$Tz73E9P>b?K6!fefyY#Ta*y<9y^_A3>Cfy{v*SYJURPxZKM}s#`AIUmT!=i# zCCW$joTl@ZMn=Lg*Lkp_K&i-k&}1;SAyF32Y@zSw=tB~*XT&oJC= ze=*>oxBnUE+oau?Olzmd#ofk_{@W$SMNoIp`{>&(wcfcZarjHrWwYUoOkpJ5XhGxV z2&wVkMm3PPEWUY~>F$*CmNFU49uYx~wj=n5|8H$JQR@G~cSM=C~7L$p#-l6d{IpBUAc z+No$Qy-Dkj_tJmP_WSi%R;Y!vDG$6)PfyQc6IMG?jk`Wl5}aOKT>K}7tZr2+6a+#w zzZhJXNWb&jBOmK`x9R;js=)cGQn=IPG1uvQx)hu#N!qV1(#V!Z)ofdM`pCrG{PxYP zFsKgT0m%~`O-xD(NtH4|Elvn<`f1O6l$4m*DHv4=siKn=9I*}Q>0Zlk17?x8G;*k+ z$rdIt8qb0ARev?S%8G%N1G=OE32T>kpSnDU22%^@TW4zq&R~9Bci}KQ{N^uZu#pZ2f z@%5LK?g)s#nkEc+Y0$TI@h#%6itlD~)tmWQsU;%L67e$~pA6ah7+3)sA9!iynNFZcxKrevpg0 zot<2e}8koaDDNga=BWPh2wIX2-y?PxGBj$pl5Aulql(xWt^zmm2! zEoJm`vXhpSirdZ8*(+>RKIknldZ#+~h?_I(mYN=rIS78bl6U}G`WjioCCjq(WUFG zd+U^JX<=9uTjO0>6YYAJ{yA$5b?ivlo@h7JL>O}9i+=(VAyS-#c4zM~z z@bNPcQ^)(+a#0aRyK`hQLTG8mjfFwA)WwcpgQBJs>QE@qgqsz0FUTHf@X%$Om~&Bm z$GuQ`vpD;{Pfd>e{wHks)%q6gv(`}Eb-PGI?6g_O(5NeKu5UTTtgLPBkNQUp5zJJC z23EU!d(*=W=a*7lw{P-qwZwqd{y7&_VUl=2z!t`~AYu{m{iMuY8mEOpnE#TnZXPdx zl*F$Zy>@B-qq&!J;;9>4W^j+7TX|+%bd#fVks}u!`6#4j}?$4$7OD5H?FIdzN zEb89-Vxv(xv@rT+n?K^+yLZXNjb$52z0-0~q6QdlOt`%!E<(bM{HPh>#;YHS;UL&Z zhl9)g^@(({<4i|!7iWW6tD>@7j~OAEqR;fSPN7zVdxrrIIzm-KXFEKEbZiIzsBpGl zz0Y~SNm`0pG8lQ5s#&{4cvFyuq27x2j!S#~b%761{6e1XkAVR_X)7{C7*0a~`=RL4 z^8^(_0J1Y}M~!ndPB)v0`IXk|j6_FM@1>+<6YLHAFqw&G3F5b7$KmgdS9mW63GBch zz<$#jDU}^;P}UEC_4{=fRqvH{t?yR$YQ6Oz%nZd#N|kdrXjkb{zu53Ssu-rH5o%ma zrEA&o5fojd@BZ~tlmv5`P$K9_hS37D=ycE*g~fOPvc{)w2$d1L&{_?Xf*@UB=HUE@9wS2O-ep@(5-n=@yRn6-Dn1oAEP}=VH ziwY;yZ&%^)&&$ip7lMb<;-7-?xUZ5%;( z-ABI3-}^Gmtxhi874>Q3zM!CHzx5|2_teEw%Spj}Q)P)F_uFUv z1PJv-Y}@f&_Ky$u2rO2Omrm|Ks+fsS8-2RG6?!~#_zmL=sq{jsx|^HZ^;W-uPyy5c zB|DYY#zx`31WVM-hC3ZRYVmrEn20EjegoK5E`EM~&Qm=-J%wpEIABnDwV`Jwty5D> z9W#nAP9bmd?Ch-OyGzxW#$_S6zj_Dj;|l3LpkyT@BdZB@tBd5!GG}khOQu{v3Qr)W zI_QSg5T6Me#Sp33S!3}tz7PIh-Z(W0b=?ahWP=^r+-qm+G7fdG^|1@wmF@NX(k=0e z#g_OBE60I@`tGjH-?8G&ZMVaedH)L#c0YM2(i{2cS!%BsA`CHsHAUuGNN#)h1g&9- z(eqHW%mr}1QmU^q;o93@;x8Kp6q$+)cSk720#>WVTS5CWo#lLGemAf4*~!`A>a5S< zo|w3&&Ub5V6eGf#Pkh9%bO~cd)YFlIsTgDPo~PF04PNIz;{50&GB_j;lgf_)Z=~?2 z?yo$I9N+hz^y?Vo^rn(NVAiWh-&rC4T5m8`ySajwSl_V2OuMx-s}$Y9II`3mfq?LSB*4*ndPfFeof|(#iOAv*k_%4@9j% znfOG}YyY+)sc=*Reb-Hd!@9irx36E%ZYyh@IdO$z5$d6Jsomw}#bGS_uTIn@`3B_i zw6(Y60ix0~b+{;Wfd`a6&;II&sEE$~#-vPe2@f5Sd|>D7R^)7t?2RW)E{>_~fIi<} z|MF&0Ixr)bPy7aX(~lprntaE{#}esPu+huE`UxY>R`$>(gcQdrOetZh12%#eFOe<( zXJv)`ml80DB@O4!nnc$hw1CVo!vUBICOU5>Z2)k2cu=A4P^=*u;cX=Q%A=x4q5jxD zDc1Oc$O?IQOGhk90`ufx11GW=J$0P%v-@O~C1akp`&1(upiPKI;7@o=z&w~`W%7Wg z6+W5Tt0$x|E8@;OJ@EG3Z%?wU4@&=vR=s|HZRV^brZ@W~r%1PP8hYd%#{%E1=PzDF z?eCtPAssiFJa>)1!sBMlo-IHy0s+8q2vP&^ztq_`Hb$TtH*L#X3fJJW_uWU2o{HSb z$;pu{9T^!>J^YYzxD(s1{h~m?%|o?KKVomzYjN_4r6nik<8K{NL$!|qWX+I+sldB2 z+ir%2hVXhNS(uT<3EzA#nKz+3{nxzBX9=_pVW!CR3d_2^E5_}vZoqk^yu=xV8qa4Z zy+V!WlbzM;*O{M$BT_B}AK5b>N?Sh}&XxsVj(%OA-zoVgZZ3 zWYV@;kp9-iS+{!`?BuF(ef|9+?oa~wVg+SL?D2I$cm;Me3&eA5^C4`sAc~GiDqMa& zDMIw~hO5<|5kWN`2t6+~=%#@{&wScv^;*CE8?_i%-&8M^6ZBc{d3eoNU+3Py9+#^< z$>F<8_QH}^-Q>38{OIgfW$d0}4r8ebA#A;-LxrmSyhbK#P5q-bCyldPFg+6Rr6d=O z7`;B5mRW1K^-b2RrIzv1d~4;;JdU~o816Ps>sTTZHqfhyNlJKjM~V)6h+ zec8Z8al{x!`O@h8^XDcXzu8K<7L6j~F`^o6!Ctuj>H)ERg2u}fRQ|eA+@s7x<|tgA z&O12ZA-zQ_^Z7JSA=vj4dGqe>13crqqvtS(P$(66)5+@|!)Clh1@+F8wY+>#r}`rQ zT#D~fEZ=xDtznwD`KwjjTW_HEE33C8G|imo*5>a^v4bx@a#(d z$>}?VLr+0<6t)z+C3c6^6+b%mS}QVbrz<2xI2_(vXy2JVtxV6=t?wh05&)CYIXm71 zTzvTu6muU<2J=5{lKs=t`@bYyTU*l(CRgn1)VdV7Urz`Q2@IlE ztufx=%#{yXUKPXLD+jp+1)_$AIad!XOikHG500$%qt*_WoRX}&UmCYNr}6o}VO($C zQ8o`4Z(4q|{}YA|isKOpeg z{|5vsqe2(jev$ zqWfb}N_qQvek=e$FVh}8;^wBTQzAa0WQX<2j`}t*Pg6flLcK@{F!62z4^dH!!JEYG z)(SP!|ALpppFU6y)E>=Pnw!J-7z6;@F4U;q{W@K0nCHBj@B}8)Foz&^q=yj-jD;a1 z`E&49YJ9a}`gbpZP}e6TW8=OTh`mo9S4E|s+&vn97G*=v!goY*u`l|7-a$>QAwJ4n zYk4LQ-$|8h;-oC)7f+Pn*Hb87ehiwmABl4ghoQbeK_#qHU zc2sYHDH7uX`0p;vUQq;ab!-AkpP8)K1P3+9Fc!Kg0h#JdvVOM9|Mqw!nDXB$e*Xs} z1Zqqyh7_^%JgfB+`7)~EBX(hE{7n$}!t)n?VAsO=x2l9((}x@O>hqJ>*`s=ng2FpW592-6~*#!@6ZgL(Mg-TNwSm! z#i|>YR@FbeMj;Sfx2`ox_A3bu4vBhAAX0fss#E({)N+H|MvO-{4`oD~FUs?Tw) z4lq{j5Dtn9#KkI|(q7HexeY7Dj5Bo`0`wam7dX~!)En(^e0$m!Ticzzg|jxffe~rt zX~qR(d#M{Os*(bC0a|tH;|DNS4J32H!J;XmbtD1Xx`r@SW84C#>l4)LsOpO%;2IIM zlye~r(_C@g`0%~HSMK85{-m$N2Hk9=iW@XRJ63rgX=pZsB%~{GBr7wg$_tr zD=5l8a)dy-S~8vAXnt`qQOE0hKBAD0jEB|lz46+QDM@BRwgk<59qtswtVou zPSZ9}VOl-Ol#5oBoR)ob8$W=fOTjI*JKanhsA35>Pv}Q9WuLQL_7#oJsPOKFVYbKt}My@Nw<-yQvd4J%}@i8v>Y40r$zA0DI zP?xP+gzw6-=Xy6B5|p9zrTje%N;i-nz5X-ROniZ!lX|RKdvV6tax!s%25p|b>*@PD z)|PLBT1QL~3xbFgpfwZjqq#m<$-!xyL_3NFf_iti@GK%mMlf%GmQjd!!*!7lO6c~P zKbaBN&^xT@g6IuY7fox#6O{?N=q`+YS^# zU;saE{AE>8`FLdGAQK|1El=iXls~tb+NUkjl=zL_(n@2e+vJ_9nH`9nS;7h{uzb2` z-r(mpSd&aA<)Y3J$3wTw6V(;Ix+SF-aF6Y6FL+ilAA1g(bdLdV5gb;aa7*m)=WOf{ zQMNgG@hi7Yz-c~O-ttA0ao+hd9D^_{o!WiT#T2aD#xHC3ef`Zm-z{2=d5u(&9qD(b zQnU;GkM|xPjj}OBz@m1WC|4?y>vT}=HK(D^dPinbr(g=9+)0@}YRI?Na?ed;_p3(C ze)38bRKRu-n*HkRaWh=ad+RYWre$`reF}RH97BuVOmjasfyDU`bkAUCB>lW2+Xq@B zrGnU6zVsnAs3TQP3A%&K&ThmrtDBa!1AzUcq{76!ULgER5r~t39mP7S1!%jM?_t1= zVCvC$OAE>w*@cvGi{V1KP63Zf>v`f4WpYApPYK%sGx`sdNnMuAV$ZBo?=Wd=A8|)%T>yDlYktXZpEfcf6Z;8%?MHW}#)U?_+=^|#h4|@ju2P84 zelId7*ymF&Yu3|U%1ESVAbUpX%*$UcNsxML6~<#9u4FH-0<@)jel_Ig^Rt84fE0QJ zeZ0qjt^ERNQN@+hqt3NIW>P{&?^j|UrbJSAB?1luZR~X57(FM{$j5HjqmWV_(aJ~-_#)*eusJc2crWyo*-f& zzNn>~Ewfeif!5P0sEP_38#~y5xgSNz{x5W!f(AC|*R`+ASuUW}QKa^Ia?Q)j3r(ZV zy+YT@>SI=U7eNYiv>6QzTJcULERjDtp{e`%tIp*hc{Szp)Sk0se}qkYz2^H%#x8`B z7g!QPx2*bTJYC3yFE>8$WDx#M)L2K(nnm4jkU>)_D>`bxaCYZZ<|5&A+_95K#co^% z&HpZ6k%*(tw}=SA>ZGjPiOLLy61OeK@*%Y=KM(%FeE)^iJ6zC~R2#Pi8@DGt=hck^ zSetLwU}>X!R#THq;!QnjwDB3y0N4`DaEl&M)2l!0)?OFZ?t45p%xOBDiqo$?I4#Pe z#r`dqe6q>Fg4JP0htk<{$;rv`^7j)X_Kk(zNh2HZzg40AzSHRZecCkPB@{1>>2HL# z+=VBM9&OFEL$D4zO}_!T$3H0I$N@Dy{dK41zqbxRyAL%((^iqS7e^$7*mk8Jf}}^o zT2oGcl(wtfx*yqUUNBLGR9th@S}KhPmpiJ@dkqvwgpCVe;%^ zWE4*4wbLx&&SZFg71&COOSk*}S4`VQ#Eu`(OhreROnDA~W4`Pn+&2KCoJ#+r1CSXz zXyv+l_p!+)RX1whNd8#@Xf|o`p}Z`A@5*ArM-$0_F~^6n7h)O)Jv&na4vEYQt!6B= zBLm^%j%knfag4xWw5b9&k;JPg5jDZhtlNTztgQ8JS6>U#w_6x*i1gC;HhnV79+4v; zR6eyw5Z75dqSc?5KdjyrqpqE!~w!n zDNDvK5y8s-FoORQNJXEZZrvK0ux9Iy>TbZrgXJ;kC87_vuLEMc48e`2;*VH(=DF!s7DOp@d~)*7 z`e(VEPLzEU6O5^f+QqNV;asQ3eh6qN5U)<9lT?=C{wJv=S1V6EI>d_%wL~>k-hNmE zY4I(C)TmPcfnn)uYiqyHa*7w&4}YZ^F{$BBZuZLg^VSnb*F&%IO|h2<1cZcjNY)JV z2LuE_#oNUI+Mqg=Hi(#*I9|i?K22C0|3>*X9~}`4G{_jf9wV8roBKeoK@B9N@_iWv zPq)}&Bv&UJ8dgsLu63-NaGKuO*vPrXzr1r4>_5^M?pCKQJdNM=&a<2$(mmk%?z!~C zfb#1oW0yS_MgALI@&*=3=qWyqt?7@$AZ{zV9G=x@#~u?Pi7ta%5Nl+G*N3Zrh}zW$@J?#ey|)3N)}1<-W@T!Iw}wN zm`i;q2j73-D@^yWxsM zVj4KmoaEC5b;p67f##1%vY(FVy3bEI6rtIfhQ7yFlt*4M!187~G!=v|U%sS1P#l9` zmM2Ie27U=7^k;aG5!3$T2MN3%>LnzYSD8;al+{~x@9ysJUyGF@MM-IqZ@*hYaR#p^ z!9;@=hnj9VRMdpe*~O(JVWh!BXqt+V5h5J}e0CS1-G!U_?LfXs@U?2{0OMz~QTPFr z!hPC`SG10|MITyE-#hU8L&HCC*Js?g%y-T5oMJs~()JMV$F|*{+ViViO0+-|K)T*E z6CL!>R$%9C0!R`sfJKsuii+uAyv&feRM|X+*Q{mQiisSbl<4|vCK6n2U0rW0pp89I zEDB|c54bfz(3Fsv2zEFYI);bMv!h40g;jxB&16~TDl~pQ@TVzO1gRB&V_rQ zbH;bSG42@m5BGNL{nlFRS8%51Ztj>Qcxlou_#v2jy)AN8?3lI8BT;$< z?v~^?>N+~4>)lu3tP*33`~EnY#uWS(%f9?wzy+=hzqMZK6MRgi*`k#c^o`XIwyYFd z==1bmBbb*?3vfsh3_|!PT|p6F>bYWI45{Rg!YGK{w-sO?Gqk2ou%X8j1~X*Wl)1Ti zJ+rjf?~C1AdK!2jq`X7CV;8turvATW6rMlZE4{@l1<0x?JK=PQYPTvJh*(>?+gcmdx~4(tuVg_=v(=)M4eh*v>SmWcK#9NL$ zz_c?Md8qNocJY%-@GtX3*kCM%zdWlq&Ba5tHi6Wh9uG@Biaij(3fgBdE<4RI*p25m z%&F4S3V;S5+I(eN6=eWea5~kxD<7Nt#x^eRAd&9GEeg<^)_^*WGz3IF0H)&>-;b06 z(eA5`{*}_$gajBXr(WactdN^#N|$2)J_?M12<;`Zsq_K=1V z@lv8L%k(r3uy>z*f-*Tn$*PH0IqCaa4A7l+OrUk08!kKFQF&Ia&MDeEWRn1pt*pU~ zM+EYw0m_sf*gP+*^|s}w>19#B8xTbSaCdp6Ct!;DE&5tgL$ax{U%_aPGfLQ(hxfng zeUfXQ-tmn^YQ#YaKelg6D1>cfO|3K%1?dAv zNlySO>~*CWWvwUCj43lM}@jgDitwc_r4+yCRZAdKe{-u%l?GJAE}zfOnIx!sFjxxl=Fyd7e{_BCQ;A7qKN;O1 z=gPn87~5_Cq0r|S$D@6}?3jyaZp>SEHZ;&O&a~sOStsio-~jt43VK_QTYQpZYzr`L>N?;3c(FkJvq=(L^$JtxSm;do>GEIV z!{vtx1SP~eCjt6>ajSou|Ju1%k0gO!IQ>3hzrV=6{ONO&Z~}qAt~}YThH>i(J!bV{ zf@~dNBa}zasDK&*ko`KtqJaSuz@}2aQ^t_m`SL$q+l`QxtOlwbgkGY&<)55%;xdw7 z)aWgUK7Jo<;o{dL^l#`@7t~L%t;sOyGtkCoz4$KPR`CO1U%{`1+Cu^7iOb%D=;4T4 zQ#p~4Ot7@SZ^)`)SAcs#2>#3Z8t35q5qePE5+=28s)Cv8c14(FxmHcj*B zq89Y*^zki3PUOtk~=Nvc5+eu7wk*x07$_e!31B-VMKN-?q2PRupO{tA8(LlFBB?T&lzU$#BH`gIf4Cvtf|1 zPH!@Xe|TArn<{7ivfLcv#`!t4{HBp_rgviI`(;k@@r!TO&>GCs&E?}Edj(hSiRGKd z6gACx(Dj7N#I+6yDq-M3!U4RUrLefa5I^V2jd z$n2=;eH4%D!=$Q@&*un`E_iry8l8<(c^>m9mEevnlG80Pw{8s5$M<^k9*W!!qehYqZ<3>($vs+E5|++)798vUiZ;@S#=j}5K))#YRn?Q+iU`AEDySex1Z8 zLqUbL%6^z=6=)V0da_sjoHG{hC{rQras@ZrJ3(;QT6{kK_8LeX$~4sh#GA$p&4Ybz z`yB0^3MiJW!8a{@BrDa-d@#}e{w2xJX9S;*%gB=cWGd0}r2pq8g{qy}l%=mtke4^$ z`}gnMiDcE;=!hIoz1)r*+~X~nYZI3pnK_tX$AO%+Gl^zMU?6#nbd-Gv%>M4}?RB1U z2skzFR$z`#IdwuuS_B%9#$1jL%W`9oTN#hOz!?#f+} z-3uVGDP{zb0kbU$d0t?An%hJ2i2@v|zW|?tti(t9D<2L|aNquM3U&M8vB9A3(1qXO z%Pth;H}#BkX|d$WND_ z`d&58m=jK9i6^-oyAk7<*HAxlp$0Xy?LXXpzv$~`nfLx&MlhOa{fjds@0mXQf(z4% zXpnj#hrS{5X#CM$<8hru*V4ED0q&BqZ_>Si6A{L01>CbU>A$#L-P}vuss{vDm-Iau zQ?UXBq)x23W*XH`M%L&*Al_@}<1_j-Ko0}43R;R1A5}fz^sp6gek4=(doooMc8ppk zVI1FW$V~coy9bG@mLi8VJG6usF)JV60hR8$0Kp5hir3qOMEp6*OjPz>Sw}7kMcO zt@X8#M)z*Dq;KSdR_;`)p0j0JI_51R_OI|M-F}};>>stx$ovw*@zK2s%XqXx)z#@GJElOk5uZ^&J|aeDRA5PIJPnj=pg1p2C>XR2v) zV$~S|{SV1KbXOmyG6a2VWt5(>FUkJ$`-I&%z ze9^nNp!=b3ho)U9i~@!cpAnU8HbA%2Vk_WW7I$^!1yapWgCkJ5;6A=M7&O(R7+PU| zv3gYJG&J@=D$T*jn@8}v5|RThFhjzKcJ+bal_{A01fx z(6G>|KtB@WC`GH4OI$v$T}o2UwY0PZEm^cu%F7XC055!{G9~~~;3W?Zp697@wY*O{ zwTi*iCUND~N%4z|_@qVWu5sXj)jJUNbc#Px>MqPFDJil4r{jTRdIxrUVeTuY1BFKI za1dH};sPX3;Q$GI?>hAS*5eR|Syyq+Y9^iXwuo)Ev@~io`0&sLtb(_K-45@*y9fHD zccZ;9K?a7*m*qy_41<#%OUk@`4w2`stXzQF82DvDslm~?_GsvdO#A8|A0}DDC5BGN z3^>n}k`i2K@nVMnAcD_Hlf;BBn}x)}(h|;qZM{1KbWSB^Di;w}YIk)Ryw~**yFlvv zOQAd`XREy0^~j;K<+2=UssmcbL$9h^?{(3KC%oo1K;fy zzRo@kG{$yM(i9PVV<>z1MW!biKsrsi2$oZ~>rxGg>A$k7rq-yu+g2UUOW=Da&mgLW z?@0pe?4mE*U8{A#8Wl&}cDvGocVOpg;i~)@xYPoz+6?U4Z|);rY@r)~jAe~VIk&y< zOuFO=BPXbsAd!F%{pN+cv){cBYs@|pV}n+p{OKEDzHbJD@__4>|AmLb`Ob-VI=Mu(H zaC1jwbiuoZ0U(GOgDi)E>pq~74zmVpe*=V)zI@rU1Ph9h3fMdl@f?@;eWt@5`PaM`IEij*B|Yb5XdGV$_}Vi?>k3B*!YdJOI-g~ zPb0o>J)$*=ophgkP1@h~xWa0pB6}9*C7n^z2^YbLF=l_Y%YRkJqsME+&+hT-)>fdcMR#OXmcB<|pK_2h!JPU`9tU=3lPV z9~%@A^QB+oE12g66QA*`7$K4jG!^~nGO^7b9NFBa^{uU!kXQ#*e6i$|DEL_e3J2i&|2^(PaCE-y~CxGdfEK1IQFxKu-cz&kh@5S-lNn! zD7qVPF5T0*^O-T`BaqcGIT?#D9zi-@_OBObs#rE8Sxj;(7@W$z0|Rehqslf1^Sb2l z1+=HOiuldPm)%b1wr|fZV7l+ChU4yexIK)zw~e$*poIbY;E7|O29M;LtJ>gNNIG3RMV8iJSw#i!-WDGp1%Kq>ZkBDC zlKs*+WN{=r*PE5-gCy6vpjJI*V(p3O)bk>R@{KT=y$-*VrNJEk;_RH9NGe{e#qeTx z%}fkFI#xN`ukC0D-dgv@86UaadQXbM+|}@^ujO+kt=RGwpWxaAYp%C1=>?%49BLb4 zaW@8ui^jQ!4^v184X$ekv_^48hL{OB-ZYb=2@Vo9J*c^{V=B|(aulzMvPdYOT(ev7 zH)oy>m_1mHQ4SD4<$YaZFYC6~AMk?7q6q(+*i!#*rt)pxTu*TxWUR)(PzP~-N3+FP zP~Q-122tkr7UqK${34WNA`n+`$i!#v*?vWM;P z`SkoHsxRxGwxNbn+WhuJ5(Z?^I=7TF^YCQL@;8>8<9Dcm1a@*F4|$ImMSFk&=P4>%T@Y z^=E5J+Kf4?N-^bLXt+g=K6vmTa~}?T!fH>aW~hIyaLt4u7gDm4t5Uw)_-?3J5c<3HA6s=Ij3FnbWDKZxt|^}`B(G-^!I4T=j&3u z_Fd67e2RX2lRNk2oKuj`r8J)(IFb6jAYh4|s*DN9&Zd=d%-Vr8`jE6I(YHvnG&HhY zI=4s3oVEz1tE~41ND{pTeA8cyV_LiQ7Mtb_N;SbRKn9URwPBxDY&w{zgCQRT@9i2H zvN#ul-^F`De4-3Pdy?9a@awO#c#|xKMyekJdIj>Lt9gZfeF?1! zYud)^=#$}_xmm14u{?BZN^-&02Jb#^w%VHE?INSQwm#c8U*ti|Xi9SO>)+~O;_EIe z*K7AKijmcLn4uSJ3Y*ke+4fq}OSL11LWg=?oI95daRvTLtZ}jn$5@Xua6Kyw`GYIg z+?^U}DEe;Id?~+nTCpiX+#_E@-MpkIgHqV4j>6D!c6Qd;mR!I{Sn%(XX*|(yLKYp> zPPGC`Hbh|2CGgh+Jcc9x)%YWWKZ#yXu_VO9P%XK_4_1Q|Uc-K+q%<1X7t%5-<=^xa z$QiXZkvmy}mBfD@LzGt9)g?FJnq&?)@)!tC4u;TZwo-=*?Fd!J*RNhMw(l)5)vRF> zff49LBWuMlTISi$AXk3U5XI*XjJvtE(~JFTjn6uzEyH_pWZhD64Q84`uZSQ=n?LWG z0{4}B{!mVYtqy>~q7jo)$SIoJi>!EvM*kro1}IsKLTqgJDSKB3{viH%yNO*N5d*4d^{JCR*?Q+VtDIP=5)@H4$d#)(fKwszuA@Uz` zF1vcaySB)wSdXOEyJ+caX9(4oVgm|gqFs8=-BGz_OQZQo6dAc2!BIJp$Ad>)QgJcF z%|_R4?!Zc-FmTeJK;ZN@_A$!bFJ=6}r--CESQ!~C*Vp;-D_a9q-TRzh&2l9dc%`mJ zZ{GRV;b0jdU|N4=(B~MF$aUU;^d%Ruh$h99fAK02;rg-6Lir@d*XPVq*tsPW0mzoN zm~fn~q@ogu?+#-a_R7d5#qSNu9kooCuM)pa>Ua_wHyAuOWa(Qy=ap>PU+kv)_RvMC z*JOt`_fS*uvE*ho9WAZ(?y0gK1?>zk(;gby$?}z-amEfaj`+lieFp3d$Q}@cGJ3h_ zsJSz^I~7yIOyTZlT%f-@`B-eR-_4Io_b_$qoaB;8&D2Z`NuiXNQ&f#o+UdEsA2poh zU7+$9bXjW31d(@^GR~EY-fdmeVoL$ZnVLHk?c3UAwtaFU%x(+L5<%|rl0LJ&+d-}~ zTqeQ_W&bXW@LgVh8cWR`*p6%>8=+z{!gOLspb02l#>h@JUcd+ z6Q5l}wdm-Qt+Cj9{ldAnyiKgUxIWY52-&bw-Rz!q_q*`z5^-HQKi0NW2bX)Pv_nKw z6b5bL;r!yRGZP>-DVb|dfqh^#GI@M2Mr0>qZ7>_?Y#Y5usWfFw69pXnf#`mkR=KG+ zhMtw18jU_>pI$aD1k}j%Z^DPefa&6?Iblf7{dv4EaxaMoPkN|!Ap&K+S+67~>bVh2 zv{%dfwD8{(>kQn}#G1azAXPlRp~izdSQ4WiH2FduZXv_e?vi14Aw@;!G5Jxl-F!F! zO>ak^@xY>A2rORh*SC4_=1!gOHSv(A*7XNL(K;3W+E>Lk?za<^?@3*lI;h_44O3zg zpD5=nG;gG)y(f8-h-}z*Z#*V?(K)!$n~Fofzu9}Z=~)Ega(YevA>pJ+ug7p_$vrKI zh%=$mdFy`nybI&*8^0teY8=*`t}uneMY~w3Ls5FXeieT4oEi#A5uy?Fn95gXj;#27 zdjj^$fqEHBw{=A(xH%)FKc*wAoN9yr@{F~*T5W$eve~b_6uWnGkTF>L$?<7+%{ecAsSG`x;Q8MgpU#Q8jZZRi=bm;^&j0Gne zgvVicUQ5{b)TOVo?H+jR%$cBS&|lJf$j4_PQ5P;jk@+j+&`kg~pT-?g1q#NjJC`mf zd#4<1yXW&=m}*zjGUNW?elAFD{91&(&nKv_j|CzWu!K`yMoYTMjjnBPyXGE3jl1uj z4)HdFAF*r~ht$+JHbs}^msPYJ_cV9FRqQ|SW5*-I zme>EKR-I+cA!S?AJs$=cQ+QlwRdes#QKz`2zz`|Z?xCm-bDiK%3eKhKEzGM^NA~2r zpBSdda$a~|{_)Pt!G=JzTX1)OeZ)^Q6zAcqarA3*`$Li9`jX|5+QecCjf$fLX_uau z8vMd7qH82bV`?wV(?4GXVBb)@b?#vy{cT;Wur)RHv9nF)Z_!MTQsMseuSU^_(lzCWgA_pv>R>i9Ojyhf}e z)>$zH7v{0JxL@9PiJTgU{+hI`s;ty1$qtD<(O6zyj}MVqMXfvJli~AEfvo2V#L~yc zW=rO*c8WqGeHU*0z0gabBG^g>Q#^33Dj^8O^yg1{-|mx0Ncg55?6@L>2>Ehy0;FoU zT&gR!B}XUiM#skdU+2KK1JRyJrboqkFmw(61nN_=^Pufr%OGDRYahp;vDI&4U`n=F zb%8Fxpfi?TgxB{WLDM7ftAcF8%9-sE>t+S5mFb||gK!f|OG=&}U>7ztG^{r`HfS8) zLNVRtJ{B^=ZAseLOl)x8Zw`C$_sIaGyax9uEXGP@)TBP1JzY~(vw@XP*F1QqJVk5m zv~etK{kt&B5xTjbR>wwrhP|cc$g)7i^ExhN`*O$2Q@?=*qU!hF_BOBw7~nL z@Q(s;i!3>%5(oCoU(rR;V?$iG3|yoD2`Is!;)@#L!UlfzU3xT zdMbSI`Oi2}!LNaKW8xNMwTp42<-+v!B8k10f|*GMf-8oTA(^yA)2npBb%*m;90~|T z&%+H7agRPNs9x{ajn!6y>eFn(df8R~=oQ=*W`clMk?clJJ3n_ai;Z6&>hT5LCNpi) zBd=$~_O929xI{nwEVB^QfM+!gxX(af|NVduIz$)@UA_czDGC=5Y$Wy{#8H7o_syHn;Mr$0N5C|Es%1Ag=n4VFC^wms}Qym^Js zbMo$&^_Wz@q(|qd`1{`J@o6isg7s8>qk6>h1tVmq+2%#yV*A;v`SfK^fq=C*$%>B@ z;3>>Vc!~kxAA45i+zYJ(7j@>gD?gDFi1L$5IpZNgDw)<2_H=J=Z{<+|hJUvhg7xan z8&z`S$;Uc1e+cMLC;O-AZC_NiB4@REC8Bik_)w7a>0!eFFX`!;@RRkWrsZe2!^+>O zE&jVug&)?Jd19`G3o3h*ks!{6B8U(bkxct2cOT{&!4xHrT2I*^ zpF9=Nw*dCNFmUO@IoO8Y`A)3?`qBXB73Z2{*!=)u;}(82Wsw|8QYkr|fE zk=VSwCcw?jeP6}4!gpvnJ_#UwkS`YuadEkSo~U*$>+@LH5`xee$IsP^;qB{ljYN?K zWJhbvR?gLaqw33hM++q8w!Ki(w}5LNLIvzYO16T$Qw>((gn(*_9r?Q@?8to{#la4zs-n&Gj&ZY`gyP z9dk*xf#y-zfnjQ>w!!Mt*-t+TN;5Ky#VEfYGz;Y#Sn`p!fN~0-xEueDdC}}NZh+ySYMx)vO5rb7X^RCsgGT|_aK^EG|jo**WA=@YfhC;$eiq0~5I-j39o-eaO z?MyY64C#Pol1z|;<7xXjQZXHngp_B|$Q-TJ*4{fDao0*lxVnJG{Y3q7t)tbw0uM)st5MavGSo6e-%pL-e zp%S81?NVYk#-sv~=SJD9NID^i-V8|r-*}iib@}z9f!*hO!U<~ENdO4y?dkb4%>q83 zA`iwd-wdU`I64vdNW9F%{6i$?L(n#UFhdfl?%W>mC7(Ou_u2?AU!bBvlA}}lLqeIE z-$$jNZ0T(?`X8+Cw;L^Qd@m_kxyO11dl&n93eK~&b>>YeN5`@(6~r_9Hv6>+@bh)6 z4hwFiAuTChlshyLXV{(M=%HY>w-nN(DiT#6O4?Sd6e*6Qle> zVIuXDXvWS1K1hzV<|6i8#(M1q09djC9sQ&In)c954|%+>*rKH9H&9~cu8WIfnTqG$;NkZ(o{!u8jFVC~i=Rd8&o-6IREvri()D4?| zuY4i-7`x0EmJH0Cr$EWRs2$3#HT-@H5G?(I8$ru#D@>{#f9u{H1r-&awzjq^b;LY8u>Iyw0Zrg0%0n$<_@UUcHZ@C|2^4aJG}gdsmmz}HFepXIRtXdopB16e^yxDPBSvrSYckwQw*zzJ zZI69iNgyFDb67X~5R! z21jW_!j$Ve-mOu!v}7t|j*L+W&O32_Sg#*7o#?+o3Ib3}C}vTM91c*bA$|Iq?C7e) zV1ZW@s_0;zg>IwMAU&I>rcWUF#YsWsr_mCHQvBBfLCzq>n~?idycFJrMci^T2!q11 zHe!hUxxfsI6eKuJ%&yphMlR1I!}ts(Snbg-$b4S&zSLb)y-qI^l9F}94mmysNgetm zgbldBL|}F1)A6J2)k`NR=efOiAs*O4AOEn8pXh%Bz-J(12is>7&XR8X(F=+-e!>In zb~v3_(SpH(#YVg5%TIN^)k{*Zs(BWsk&l+dtgR8`%B38tGooa3YDSN+`tf}!R$U5e zUPvMU4b!D_xV1~GjxGqU6gHsHS1QL)XV~uSdq*cFr1evKIE+t-;K)5JP!G(E z#eF|=fu&L-sdu-V``Jt41nvbrw_>BE2QBvbf9kPv4KRB1f{G_BP@siYnF`;oTzL>K zwv2fWJ-JN>npx_!aKKz>*$_+w`pxV-4!8rtRrAFY?fCJ6#8g`B`%1gvAu$PzK>9^K zvBf80B54DVSv;Upqn1-c-)?(RwZ0boi~VJC7`!>xh30Vg9{;*9SZ`Gj#hr$9vT|vP z$`6eBg{ny16>$8wW^enySyF%0esW-~?p)=z!Sh)=)|r*^J8RcbC*yHZ_wh$eu`#Q3 zxbXjfQGwT%d{UQ7H>ex0Hmp^@nn~0-r_piM;YYfPN%<<}C3d?$w2|hNKt*r6Sq1ir zDg|QuDLiQr)^L~j{&$|9vl1(6YF&)1_t(Azi4&$>8gq&WRfBokS&mVGeR3K7%6&}w z1t0R3xHWeuB_DGUC-hD1F#4_?WZzm*k7Cnr>g*QE%o4vBDqkHg+5XR>0t7&TnFQur zK{KzEg|ndz4(nu>jL0aI*@~`iu%M0;bsK$*sU2Tf!{zH`4MZIIVX8G2oWjW70%1hR z-U7)IB90T3lJ}&FGDi4Z0(kBy zJqH%H?&1Xy<}tlXR#ar~oeEAO)4s$VLn!ZLj2ktzPoz%7>X>`}RbAk8tHe=2s39x& z+L8Q$Ccz#1)&DyTP`pAlGn-?+z8`&Eq|~H0!Jk0Z<1=nS1oy0wfMqwRY}X_Y<0n1x zRXl-rGtrUA=od*VG#%Fc`~i{?4pVE?AYSoSEoMv(;Hvbu{4=B4(v1XZpj){Ge?plQ z@1v|IoUVv?rYqtYJL)ybbl2O|oyrgCL(8e?ttvHU_vf$@Yp7;4<@m%$czNUJfgkn9 zNLB)||4%I7z5vJDda?v|+?7kJY`Qx=I`!D!9g~ebS&;L&v}_rIY^i`az0DT|jH$X( zqTPexX;A@&F0Wbn<`LOw)z`zhgsL*ShZfz@aFjtSa6u*WeZcMM9`s)rK+;`~)ptqT z8}Kat1jDBpMrY5a;S%%ctN`JZ?Zz2q2$gy%&^7)#F%z?s46l*zG}<~Y7H|LGRDX|At?Se~_Tg~pB$i3gItDONg?Q@Tr36%L6LnS^{ zR(_O%vI$teOy!4kY$#yj^70sIQC-VBOMO(PuKlJjUQk`h15yLR+oaQ0`(N|F$hZIv zCV@Xrh~B!N@!iQ1(Sy%3$yy3q@f_OQG>W)mb-G>YZ&!zQo%qs6t$vk2-gO6eE;TXsvTRcCS$nGN z4!Ub-L%fmG3Eiu`%3}sQ6nGl|08&`obIFbe+t9!5X#@uhL#VG8qP0xK`)B0~k!Upk z_Ex*U{$n6~JX_A~ri|Ljx#>;Y{MTv4EK=9*D~+aa)w&+pQ7;YO9aP70~TpLxf5%#FSC4`Tx>cvj+3uRE_x>=8Vvo=+tN^S-L?x6 zw`nurl^#p+tJh=3duTEDP2MN1m?7{cjb(W45r$hnU+VE6uHOckm74-9OB6Z3;c{)x z!d`AnV>zE*EVIz=$N6*j_7B?H(@H_F{Nr?zFd<3@4XLq)FA=3b-=r01?YTzvrDH!a zO+gk)Ps8cx^FV$V?@iZ{SbOyi@2S^J`E5sz0Q>|h-q)qE>_1ovsNCqOR7xwWMfpd5 zJ&Hhmct|jSU`&eeX)FYkQtO_&b;AanG__+5;~ zwVO)^M>N@7Xfs}7g=sK?;|x)(UJX@+%9Ba*769NCc<`Apta_Gf;_!KDu@NEm0|0vV zSf<b77FExy^7Ca1#J4 zMco&!se?dGZSl#uF+j1kl$Ub`a#`~C*SEDytxMqT44F{D|du>`Y;NQivNEq@UZVA%>l zVJyT<0g*HZreR6VM^hJxcf6a-)=e9>R$)t6*9&+s| zYB&q0%m>Nt+<8omqsR|ph2*j_PNrRay60n75dv9jgD_+a6eg_!@X+c2R4;v`_irr^ zf}|LiA!|^d`;KcDjIF9y*qL@MWaZ}iG|u!)9z3`h>awr({$7lpf6-{K8)}w%Z0#*~ z2#jun+3X?0ZEUSr9v9!U`rDdBp@LGCH8V< z^bVhZWk^E82J+lxU*LB+Yhi9damQPY(#b(c*|+l;5M%RypzkUwxU_V1Tgh@2q%f2R zrnh$mpuX)E&hZIf<0r`?*ajhWWJ{LI>-d4+XudB5i4>V_)qHP%HmNy$7D4uM`xyOJ z_id&JD-N!c|F%u=ou3?MvQ?n6zs2+*PS$vGg)_DY`^B4fGAKWvCybsLlfNxWv}y@h zAUpSJL3#&}J-Pg~K~TTV&CNOY0^tKzH6G6YYr7Q134E&&QZ8GSjlGXxE!u%R*}S#~ zMTBHzV8**EAi&QOSg+M3;-bIrtwa53k!Y{M`IimWsWwk8Flzzb3raFY0ZsbK@M}#F zA%dja3q!cckQ%z51rk~mvy^pKx-o~W#xbMGs-GU9LU^n9cb`n8AN}{mFsum7MgWwj zDS}xIkx_tcP2xc~WyW7|Zp4-|%;q@v%8SuGtdx@^x?Plw3Cj7wZB_n508$C0G&Ewe zn6BPQgK0gHykXFZ?2D@Rt~E_F=sq@E@#cFOEIex@C^Xlbk$D0dGio}z`+WtPx!E8F z5u%Q*obg%uOCg!ow)@qPUlMUV|EeQix&-N(4t`E5?X}SONvCN{>~#wrZ<8@9xxa82 zduT>F?VRuxcyKu$CTn7GHoW)6C`GslV^m*62y|~%w2UnN?j-1WcpVg8$qpt3>dJ}Z z;m|O_!^4*r&=$(97eym>avuFz+4sh9l&>DKI4x^PxTIgXKA>xjl`V)e`ss7m^n_cI z=hnYlMB)!#97N>d&Onm{eG~5C5wGixc|zlhE^dOv!$FSYM7k}zUlnS5pVHE=>hgT9 z$C>&FIKgYN^0}u-%~i68pU!kua&$-EeJTv;6@f~o^%xvO7_KfXima4W%S27D?@?P< z*&&<9P=k>h>J-Uhmbg36o!Sd?(cm@oSQ_7FVJ`Wux*9X&#d~O{PjaSGleM$pB36~j z`1Eg?_xIkCG=+r#Y+|+sdW?+JAct_8k*5Gn*=47LpZ4mNY`2dgL~AQ?!pG4CmA*f@ zQp$-BtZD^EL;S?rw#BVnalspxZm8@^L1{}94;`s;(wWpjR6)(Yr2H@*dh@5-l0yc) zCd&3tsVt9RCHx9<;LB3oFEMVa(102NnV)5+1^qp7@2kqq}l*MWeTw zgit<$^zYWDCMJT|&4193UXvnB1Em|n_h@QrUfDdV9wV#EARAAQ$kc(Z`Lt%UQC-!@ zpv#~mU})Kg{8D;`Ckp|aMzxEs>1=b*g4N`4Yf*VZ0RPOh%v)D{q^pYzBRqKG)5APq zQqFu;_}z@K^>O>}K(QWvwN>z}XQ+UKfFA4t4@am(=H&O(|GC6(U>r~mG)~Zcesko$ zANqDFUR87VW0SAS;C^R0CS6+A5!Ec$Vz26(Tl$l3aM$!NyRyR|p9y%*wLp?-T5OC)!HhcJymh;5YUEEe~)?z zNJs#ro|wqxbD`)RhANk}$I;%NCcrMbJ*~={m4hQaLLK{}H;^(4Jl_GcH;!|3bAtdU zrJ>duah609OG`^B@_u;#uapYJ(5{0PQ)vbX&CtJtF!cAIu80Vk=9FQSchQZJUCuc- zm6n88%}+evK^guH>X2`$Rlba0|*?1 z;hbL5rmHL1zo0>Zhj*J7+ZdTGYJ74sk1uwz$T&pto~^aDJk5Dt78WEc#OT}zfbE5s zOf4-3b6MEfQZ)>~I@`v}*3S;U>$IzVz}B^~kcMEw`9Whn7>Aw*ja3c{%IHY*689qq z6<&Cmk2Tj-z(G|E#!4+gdku-Zz$bw#6OFa5h>dlrFX&Kt;+tDr z-zs*oxsqg<8=gKFAOqI3n;Tn}%-lG{`+&f_=nmD2nvc04>(0H+AN4o7oRY86*v!~4 zYhBS;Q_r#I>kjsYd~3*n1R@1$hFErqX3es(+~S-?154V-$1v708{t}jvH`{R^FZ(Z zmQf%A?0AB9cOB+<=u<;U%quG@a0DSUn=v!gUC_8@!wu$VwXp#00DF*>VE2&vN0O9n z6B9xty&DEQ*aekn1TD^f0wAxsei5M$^mae2bQiVMKW!ehbIL(i*F=uV z=Y9=f>IDvauca6#9HjYfbsb#+do_JKfb$9-Q52GrSTG0ew{gNkJu-dmT#HRxH(JD2 zTVV&=CHCz&M}eRf=Y_uMy9U1&qVI42$&otBoI zt7hICnw|+dr|yT{BhC87&D&yTz9eU5J*9Ebi08w~#-$QroF?f{jaxUk^!96BbX|22 zc*z&#z7>te)WJ2h($cVHYM38F-+n{XMywijP-C#mNYK5tMf%YF(|0v3TAZNIQx}Ao zn}RtTW+F4HTN9#f{#;lqr<2mFttm|vc%AX1IFsW@@B zJMDQcm*Vs~H3Z{j>1deDATc59&r4}QzF<5UwJBvwEajN zJa&LUlx+t~mhiWO*n%5pjY-}@drA%Dj~E##N-!h|d4P2;96hDuG3rNcCJBNKO4*7( zMw)g}w!9Rjm{wamg=cxM^j|H&Kz6LyB2d$m*BFL8GBT=)NKpV{B=5xlzY*3PV?LIF zfi$BzeWk6TMu7rO?B`y{;NGIqJ-tj{dve)Y)wMUaDI2=%pvU=r91B11Mm4k4j=$aw zl|HHTSy=BAU0yFgAI<8=8X?M*)7MPRt{%y8F{S5qykCAI;R^9fwkX{_Ck0I2s~1z4 zGws#a7oPk`DW`pykV;8tEKqWLtx|a9CkPcT0));sTw$MchFoBJ3#AoGGuF#?Pw0wI z=gZNMabu5q&94cdcd3f0fDEH6)1&AHWAqbt8R{FCepz{jK5p8>$X;`(^jG?Zrw@Bz z1xHbTHk{x{T1m6wk`fx+(7@8#9z>;?$eAmyqVZsgKkkOj&-=N<4{y>D0K7d_Zkv(4 zHuynjvE2j(bYq(S(Bp5j8-$S+fyMuo=`;f}rFgT;1O?Lb8@VlF;^Hd(;-({VSN`_% zT5noen@Ov0o(ypU6VNW4IfQsis6tZrHm|^-4LOg0KULGG2 zi6?iN8g*%ZgDO*u2El&CoU_soN9%1pk(L zm}bedKsxe&pt$b(^;d|GZ>*zHmVsCPjX@O0y7!f9GpxNR-kQau<`?(~N3<~;9N+M8J1UAegHF=ib09~!%_MaP8o<)h;1OQs;pDg%{3ToSU?qLXb>o|BW4asJ{d`DbM=m%bE&B7PE5HM$`W}1K zF4@4WYh+5>s7F@c$cU+#)JKIw$UUfZSZzDtgNHDnSbwEIz+n4xknXrtLyA;t->xZg zzW!gJ$I_x^VZ?~>LcScVha)n7Tuy=WHC0!VsUfd8O`t5oioDbNMHvNoJOWf9cAB-@R^XzY9N{Q0)jbzn`gm?0U zfV3i&WBr%(gQwfa*uEcwgQDA)ROle@->S^@l@`uDu|Ks}UX`U=(Q{$%lL0t2Lb$f# z#77EU;j%kx#Hz*eKS3j%K8d!elXsHWy6 zN^Cy+Q7PqN)_xZUgT6`sx&H&{@^E;Fc8|fQ)3I1uA(sYId1OErSQkvY7E7DlO zvwstT2euB}vP~U|p~k)LeFxH+(dlnL9Qp8@z$r0dN#av$x~dsvooxWI;TBkQbUCV4 zMNvM9y3vURaU>>BGycnm=mdcTURhOjUKB`?c{?5jZS8pczbKQDQCe0=cu*en+b^%)S^(wDOZOM(-~~uV1*O=4FoTGU6Bie^ z0_j$B2HzDHvi_WwV7Qcm^c-blHVs18TrH(t`ciV={(5Ghct4-tAAvc99072EsL{85 z_E0PJFM?I`KPNopFrE~YkRLjqE0GMDjsVMck$v2%>@JPb^W~P=jcU^JwyX<$j@qw# zD)VKpIrzEXYOg(_a5@^lJqHaIDEV+vKESPHtH>3C%6yQmQk_0Mr|=2Qr=3y!@PFwE zU>j_Bd;v{^QK0bM5KAhL%Oy?x^rH zMoQJsZu|o37UblJF*puUD?%)I*TTjT3S>fm_lKv9_`Ow#lCWQE=QpSwpHUkb8KwWj z%?_{bX6aGgZ0rf?5;ttu&3GMuKSX%TKE%5ylEH~exI5rW(azvBSMa{<*FiIt>PqTM zuOFZkA1{|MJpeWQS+@)9v72L`Ras6jMlrxR>0=(N&F>z*!o3{McvW(% zTT*fA-(5o>*O7XA7g3T=dfsn&N;6FWk*u(9V`P&FDnCabR0 z1Hv|w2(7L(*k{ySJ)a#myie6;`mx7wChmkmvp?0U&kP4ukHUDQMt8F?K3H&f%R|7+ zV@R;=2Pq?%vu-qcT%CM5k4TL_^nY0yt5v+_;MI|$#ZS~=v?F;_^ycjBtVoM*(=osG*gN$=-nGRYjl@)#)*Q znqU9g%GDN}uvzB!$45YW{h-%n`}`|31*3eB^+xnb!uiF$gCNifIQA-PA9JP_C3A+5 z{y0D^C3}{~bPV>6`!7=aO_k1rT);>}?B&Y~-khE{HxgFc76uaqh-9X|;>YRTC1u;D zzgqOs%Cs7p`6(nv+Z`%>TF97qaQqlQ zR$v_m3EIs%@>XGt?FPnTz9if#UNSGoOI;o9aQ=`h6sY0d^8s^yX%DzkQn|zUP44SO z2*lMM#Xu+NF7R7)J0T#H_>Yo64!`N`rS4PoPj}TSAml%~269;=YH2T>gV3S3!IY92 zJ+OZPc^P_`n#Bfs4!GFa+Ylk~tMf$Pux5L7i4_ZZL?B)nMqT1C`q^>gQH2G*t1WrC zG+#?IhW5me1(Iqi4;$9+ad=Stm9oSdWo@M)kE+y>g2I8o*I>eoadB+Ag!(0a{V8W0 z-~C~YmxpEY0CdE@CLu5KPffVO2qCpxkyNfNZ`iKU-U-T1A2A(dqWl;Co!&dLM}8el zA><;tf8$c-D?hVKw=xbjG^Agufct*m&7xL}w0L zMQ;`4hb#Cn-1#5e8|kB(^Z~2Y4r!XT0buhl&wQ;KEAjDQ$lf2XqjaW6amRX&j={nx zH7k(`jiDtTT`uAuC0IoXUVe7gdgviG@YU9RB1?m<;W7jS0e$EB_ zNE(mIBApLOvpH_eC0K9TN>0RrVsAmz7z`}h99lV`Jh^gacrlXY)bHp|(d|I*{`uL) zSch6D&c&o*pQPxy9=#`_Q`IxKO|S?)lY=GOGELYDf!N{*hB~(;{y{ zU(Sg@B(x$%&dFraZ|Vrk*NRvCvIAHBy9zpw1lup+5avID0ttG5_+5=C|Fxemqr#x{o2q^T zHVq&~x-f2@8Bjn>0{29-{l6EfCW?FFEeHW%^eni0{!6U9c#)sweeD`*dMdGHU5-;o z*60Cm*PlnLoMexz2mNeMJdi4{FC6AJAUZ~dtC$xrz6~Y;^OF0Nc#a1RU;yP&LSWdQArM?(w z^u5I`J4wKR2E-eEdXj0yuYX7;a>9KRb@S<72C2g{5SdHX|0^;tdHjylojbl^y*uA) zZBUmkaU^y~Z_bjbe)1)`mo#lBX!_yoBJy(wtRLCn`T>W#l-=j{xrWx(*4Hf%uSdI! zfB(#?^FLy9ov(=4JmBQSBiUeVbX2)Lzpt>Cpx1!6+s5fI&U-z}J!ALw|3lha2X(c6 zZ=hg-k_rOSh>8dj64IzBB_SB@OuZu$s^E7gr?fb}2tiUnhMs>`os!~px8p9% zpuv*+e+Nw>js&5kea|)JT8sKW=mrUm~5z zRMlqRjavV$9BD)jkf(|CZS!&I?QY1du*wP-?F-|SZ|r)FQ8WS46Mu~N0z#aE&+Vl9 z(@XD{9q4FSf3R|RQ#o9Us6M)||6oDA8TRbZ9z`Fdm`^HLOv>%?9AxIlmJH!Udn6ug z)IP+Oc5P}~aTdLh z2gT$YTv@s?)s@*HjG~()T^A~VR%v_WLu+ap6r>h)4rb#2ws;b>`_;^vzjiH>-6+%_ z)!(-Hx)!ybdv7pPcL8@;sw4s5@H$20WOop|S&h3W)B)pMsQBcD$XH z@Crg2{a+eLQ4yyaA_{}o^TWgHA4_`6N*O#)=|xoJNz5sqNt~wco$0Q=ypRi+8x(w( z=Y&Vglg-!`c#D3)^1ciqK!djGqsQkFWe%9n-P8zlq`P)3D`}8`P{q!ALI*^M^FKXd z$;Ftl^u;i9akBf9(hJk4wj2G#y!o%bOuHy5PG@FQ_=}eZ5+0P0zU(N3qfl)KU%=INk-pgGNwv(IP`JXfuKOnNuAOyu}fdVA!zLP}u$DNTX`c2ebKqv|DgP zP=?~Kz*xf^gLZKOXK;t^=DOPIf_APJ(TC0>?d4 z6I?`rvpT@TFrg&z22TV7d0|bY(So90J);VYB(hfe{|>@^uO=8*PqSrgWJ*i;WxutS zoEg)zejNO>LhbMD9GJs2gjdoi!~S2?VMCZGsD)_n{F2rPxc~la#G0TZXqMB2jOG-x zR1KCWdLbjhl-%q4KrxGB*Ib~sT#)FFUgzWbWZs&~iX979T;$+-^8MflTEoRMqnC<` z$znj*)jaq;_p}*F?wR=11Lan5NJw06Za2G=3NkVFTY*&vmFAS?XN6N0a0UU>TV!Vb zvEXmc^tx^bj?6PQ4vb*iXo&O>u-!3KCB9JxwzhI1G;jXC_D5Wjnb=y zvDFfLc6KpfB-wRvG;GYN=0b<*HXqC>s}YFZsj~C@^4Y*ng&-dx!D&1fKi^`b^3C^2 z0&0P4DwhrKJ#$1|EYAa*AeUn*ywK2BW}u138BFQcK#uoQe@k^3-=?ZXa;tywLwa+7 z6F@$_+ztHVK15VTu;)?~rI!llrZ=S)>ANU#&8`5ZcY7_bLNvW>KhhG0Q!NTX;>aw;9y?osxUo? z z{*NSS1oSm8{V?yL$&wl|kuHKTpoP*>Q(105yT#9aZcj4hvEyl%9D&KKfPU%Lb*_Lv z5}gacj{t@McWm>t>94Z-cm<&P%FD~+Qy3MGDy*}pFcSUG1<=KTEI|pt4Mg|7{+l~m zs-K+~c=WUfIpbP$h+Z+L%Fd9nY`341Z+B8l2#5gL!c4DY6rG?IvJh{lI2|Ch-}aE|Ce z3>X4+izFjF7};?{<}qycTGciiX*5#3HE%) zZn8MpM9B&ZyONHZg3M>L-QHE(B&+ZEm7oWUk}EqaQV|6xXNCmK$0G}S{ti)l7uiGl z=0Tn(e>KqaWMd=8ko6pOQ2Mt}U6Hdb&6l<4#Q-xlM4sey51@L_fs_(c^sWq9eDnHVTIjk)Z9 zx?y#`t=R67T+#kT&C!F`CH;`5dos&WSGni?yb=%8!SB6gSA<|{@K zYB-ls1nS7Q#o3(a$fRnUT-?&iMEx%QP@a)tv%Zm)L6isWiR@wy|Y6 zF|n$c^w;D`ZC1s?v>W$gy{|oJ!G=xKkLxtY8Zf)Bw z@VhpOy6q+L=#B{KU}RE(3{i zb>jX1zIl+gycTfRCj!8aJ5|0xz~{(NhHgFWamZ(YtKnV>??SBu9Q=}VvLNttT6&7q z62_yjfp!Xf!>#7B5}eD2F3|sU$NIudsZ%zv*enWvobhFP?7(v@{!Dy)hTr}@BM_cA zLiZC0JAs9Q17U%y&$8+XYP0!V%neLB^iT)118Y~__i6#y(4WZjlt+ozA#Kq1EEct= zW9xzfS=ZCH=FY=O(EWj( zr@D=8XUYj!V{MkJV|5P>resWhDyUop2s=Kn0u2~_3Uo4nL|wQ)xsZOk6Odh#*_ih#VT59043!4QNpH;)@tLP06Au!4vQ?gW8d z6?d#2YU=@mGMg_^aIIkm2*WM_MEh`x=1nUn>FK=rwj z3xOv@iyH7Gg!psxxlhMx_&=TOOw%uK_x6;u`MNa3Hgxgci?d$FT`jaHlq$=q5X0u! z$?&n&7!0IZ8<#bUa~v`Ykmp2OB(2@Ey*HXd$>jna>LoL3tYmYnF|fxPA1!3H3WagL zF3olBE*hg)3EJg9JM`G9N5k-tIQ2i)KiD*49MXce=h|E|-I{MUWg*bcvekn2dxCgB zg}yIz&{`Jpr!~nXABo}{e0;81@6wvnAzuM?xS6EwIr;0 zd;XhOZn97quuYa6L~gU-b_Fok{1O^`Eamv(!Kc|57IhwQs7mMDpB#MQ!~q7!*6S0| zTXrAFF9O8$P*0Asu>6}?BXKW zoeK<;^f@JiVU3UBs3T)1|MP2tD3>UUhQ9fC2$oVYx#E_}`fC_QjafbAy_bP>va-^* zQ>?P%U~m7S=Oehz0qgp=_J1k{bwA)it1T|tZx93Ps zcA3v>{j|EjFWV+AsUY*>`&e{UJZh!$B^Rdr&-JXYIi;EkQd41xdZF)YD$c*X1olOn zXlUGhj=)4Oz2>}*gUovyYUFWKUZ{B`x4B$e_|%+>C4cMhrtn)@<@06|oy`m$N_{Th zS8(K`MywecSLjRWiwInxC>#Iryz?KbZK*eIty=@zEd~%qcCYK>14h8o#UU z5=L!X2v)=E4z#K(Q)OwI7-)&jXwyWl)fWQS4r&@+p_gi*OJ2p#zJ#yS!DN%DkN-Nd zIskB)*v-*hLP#bSN2P|?zTASl>4K)SzIMws4M6q&AN2J^1HT)AX;tiBav>7etw(1v=v;3Sx-To$sM~m*|lD zuoXh9S9UPjR>?dTQX;1gHa$e8{qMzwWvT^)QdRrkPEorol|zy&?S3{FjsXY^(K7Th zXCAh^xdu7DPn&UZaMDcXA;lm^uPf%+aPogv5WptNLX==&3)&DlX=Q1dx`r)<93$WX zWXQW%s3B|8sKLxjj=?Dv5?whTLOHhARcm*eoS)COptcBzZ&`V{)p4fcKRAHq|7RS) zwDz@$%WJ$l312!aGujwSPUMbAfIlZ`;6PEMhn{=2=3BRdEm;k#>kwK^WcJ%~ec6#W zmrowX)a}1rdr$a9Tx{x_H6#C)VW0EK1H*T?^^Si5Cy#n43#7-YFY?cRX}r~pju-8W z1`7KxYUF;%d&>&!7|m0vV~p-M^SZkzx^J~OvC4&mX6$k!J{(haS87UKht6pZ5Rgne zp^2P}KmTaL#EUDsADSDjFDfMFLpGCzt<^4vy|GQ8IOv%1x4L9QyE7wAU8*afGc`zw z-gaZq{jDa}2U*%rqBXkt?_L+azH!?Pl3oDo7&czfCPa&QL8@25^`TaC-r#1JS;;cn z4%hM5d)8*`flj1GxjAJ1AL|y%9yV{NI?N}R-oD!4bz+5K%X&Gs>tO<>JYP&rnH9!q zNnzp6p(=-Ofu3oCD|Ss8wrIx{+mb7fC|mS$&ZBj7wB5v@a(uDlCHO~cF25f4Rra4T zu%H87aeT#yJAbt4$ujrTlM_a2$)wQDIfc}d-#ezxGuR}hU+O@s4sM)MPTdp%&A<=? z8Dwm)9ZYwpOu1fwG&>bJ#v!#NBC>zo8G_U?-CRLX8@27_>6v4>D7)d9t6SYk_5I>G zbawV|xjWH{2tD!|v~@Wk4eqEKL^#w4Cc7p9w!xZ#p^USmN#hyB0a_o4z_yLjuGV>*LX=UXbpfq0D9aI0D z|B?~rx)vj0FeFL@Pb8QT!`jIQ6slxGTxM;#Q{o}6SHe%(5%?~wbxi(xhlzu|6NJ5n zFq}29Y={uh>(;e*)R?!2vkd-KfCvM#_YlPV zPl1EJRFU(e#Ca=n96w3oQwCl?@5a`1&bqoTrz#OjJ9!gBmH8C2N?-P=s}MFo;+lXa z(YBoLh#j~J*+8^(+T|zixg8H_yNfM!Y1ONkNtsH|!_1s7+gFGdu!>eUxwnQN2dKSg zxn_(W=h^lVB!*l$gSQLTo`C*UWv5W0C$aX-Q_Z4#vbu`=Ov3V~pYx;VgU4OmT?Il@ z+)>v0{2?cwpI7%D+JIuEYwIaY@itqH&qUw%Ey}LKShTACagj);0U3&zAR3gpw4EEC_TOkVg(qGSah_3CZl5!U#P@j^oxjo6u9F|N=oifC z_I_Ax&jl>)i>iQG56JOu_H>#-aeJo71+tHtOU6Ib5!07DCBST#PYV1`mJ9G+$&)0N z>Rvf|#Q@Fl@{|{cZn1-Yt9_3dijsTl6uuPq|$f~ zyauX)!$sl9NiyLKItv2V1+Foxo~o~!&fS;zv>x&KZw%d{R=-?>{`E%9+Z-itLr+p! zzH^fqc=dZd?t$8Dv9bv9jFhS3qRtV8){;%sa?(Q;bUZ&o{FL4=#9$d9BPUc;N!WrW z`cGR1;_#4q>5&2R{^HTq2720CK^F8?^?`3EBQvY3O3%4euCO@H*RF;irp%nhPrpPsy&Gz`In!7y+-<1ymv5&*iUheo7%h+wVc!oykBD~4hGy)Y52)5Vy8`0Zm&sUmzvGBXOYzfBwMC^K&pgas3Of}BFyjdkBU|U_ z&=6+Kf@D5zIk9LKY5r-GNpV6}mQ)zU@Rs=J_weushlLqc30Rjq36K16BpqIc=M?GyB8env$zm_k`I&?N@*j5=Lh=P!bU(R)1e|_TY=&s6%0w9CX|(t;(FB=I4gli zXCmjPA&6?$OT2ME5%JUZZOr>hkw1E(x)AN`l{Yl9_C!!gQ86A2F!d4YFZ}ad(Nbza z|DCO8xVO=yyiVThII;M;N|8!p(#zv#Iix2u81Q2mKpx!+R>2QDGE!2_LY0M` z+Lf))9@`0^TY)kvf&yY+*(M|tl31N6TO0j>J(V#pN%D5V#&$ zS%EsDL4nzd_ETrn>)4S8s#`6gH;f_{Nnw(oZ3QbVuYH|p<3;>3*xXKNnaC@Vxrihb zjZ~Q|uW?*5X3;e6JxB9SliK6aIhu=@6i@8Ydjv4wJJKfxii=^sufagSM*R-$PQi;O zEG4TWqvb{VN;*oFe!5kHw>tdah_TW7DK;+b@g03rQeHlgRFhY1mj=e(;-^oMiSC^YizwoAX(BXM_Af@IpY_ zYz_yfB(#|?>QDpYaWPYE$1kr%vg{uausBUhPDKS-XpCq+8CMQVShaaevk@b$#Yu>F z9Rz;#q@Z_z;I<6m!{y_nJzp(4I2eGIgEm8^cv~nHcDnGSR%A-XLOFWFPZ-?9L(C_> ze7S+?_9Dl#APdSjd^lWo?DInt^7G{!Kk{>N-SspCwpU<4r|c+U&=U_?PD9l$F2a7}s6rL6 zif=RrGB)}LFA^MV><>*$mHZDX*VfjE@`tc-aB640*T3?yvZ9xd<5E-3eCorxa1OlZ zi2Y_ELhttga1G@%bM?9?b14%^K{*ceQ8ZU@6xjS!(VlQ7eewk0rQVxV^kSMaDL%p_TK7fm<$At876-+!2siSN9F* z=DU+OYpqXIYCFvLh=wAjRmKb6-rnCxL7)N}5AM~2iAo0;#ehO7Z=@FPa(8HZSf=Di zsv~>f(8!zAHv&bRX*7lIoRN|R?y|2UTX657+QGi+!AR}I#6$%OG=KC(%%hGhk?@yb zRQ_Rc(V*X=6P9pO)tt1&9%#Fs)R>6R6(*Fzd&ZLH=uIG>_Lm~}W+(3i} zA@6=Y)rn}72=mJv5`@<=F;S(U(%wt2D@H5Dv-oCICrqs@QI(T&PE{`4X%{ctX_{sO zUD_~#OhSLmnpLIq=;rqQ=Wn_=fF9bPp%lh=B%O=Uy>#{TzzrzRt&@~D3?vSz78&1F!3qHgF~BFq0ykCn)O$>3`kXU8?7SW2`Q-TF)KFgzt@k- zR-A;HCE*osn^Fr_9v&Z<^+gS5|3v;7u%QRrCJ)2k&k<8YiN z3KrUo`h-~iYYQmVMBA}aRVJu|`Ir$J=-mm8X5IWGK2*Cf)W03NL8}4gPLn3Z?mEf^ z1qJeI)rzn7LgK0Xgn`SZoO9otC;G>tWjX=hT!J7M*9VZTeeZ0BtGtRSVm5Mo{#Rl1 z+ue%wz&jO(2Oa5$&aXy!PR`<_Pmb1|-jh?B+sb0%tv9##R(tJrq)?lt`L2-2;Y1Xv zxy@T-yI0v=<{+hcUdY4OQ2U&Nmk;Cox=JP2R?K*~7#IJg(As)pDsL=*b;lQj$e%vd z`CT98xjC*kdzIdv!d*>65Le`WrkoY-eG1Ae1{qL?W30dGsviRs0Y?pR^ytkdC5gVi6P~s0>q2IYh40kdvXO6(*2X29lR<~a%_RS_O`!~9c z*j_{TCpPUqwVH{G=2VUhTQ3P(VyM;4rx)+0@Dpy_;WR(QFj6sukh}CXhG#JT`mpSE zrFPET+sMQx6S&if-=`0H2>3TdW^hkG+tZrx8=-`qZaZl(+)b3Eoxh*x7f@S$biG8w zp5!E&`N;>0U;UAI;~(b(RNc!61TT2@%gy533DKaQa`2QB_9#-UL~m$~@|SDvHBz8c z)KB3NXEk4MX6FC3g-riq@2!O{Y3gM?vI5Bx7At_%Im z({?+#!NEQ83x+K5Ck+8#7lo8+9DnJiv$#=X#;0@ZDpRPJny_`2I6O3-z_fi_qYz+4 zL*h4$MVI~c%FPdUO;p~~&!u;LT&hn4byW*W3mL1(JPJZsS&Pr-cZ~;hzje7#ui?zB zD*fjWO|Ln}_BxUJHpREfBeeqOx#DML*06zZsU*m*9m2K`Dr8JRknQ-T6f>y2pUU=x z&TBh5s&YzvU*7RCP{QLZFg!BvQ|j3j|MlzFcLpZa%&Oi+d2&S>$zrvY-%2+D!Mc6l zfpxj6yqx#-DAllvuaaQ(jWzzDH;bnalrn{ufmH_^AVQ_Giezw?Gs>k@BI0=gf( z^*rU{{y>=nXHg`Fy*>3N<`Z$x08_4y-)#kTPn_w5s~ngvWsST~E6?(B*<--q;yv_e z>)!6}(wgg1Z%7}F6{#N%6G}Be!1u;eJZ?Nz8rWfDq^QPLLx%oHB6M zew+jTDLrZF2sPwyC-QUo6L5S}%m_c07UKo^09>zbAACxBQYZ;P;mUpVxnN!IXsri- z*nB1X!0?t(tGI$cWJ^E{%k^go85z&p?L#xkGr)9hu%FDV;j_x-n4psmVXR9$Mw}@L zn1(`8V^=7Ww@!aw1m+#8Okv+VK~M^`9AmZHLL+(o3XDY0?bMix6tVokUJ>F#DvUFu zJg>bP9UsSmk%_pFHyq{49CLvqBX5o+BqRVoOf%8T9%S$gP8uCCUabH%@CKiYYg2#* zdBfVKZIOy6x^o`tGI^1A@avvY$Vq`u$?&Xx&OENT7_l&gI4`v3XCTnT{<#r+6)M0& zo3Tv><56qQA`~wfh%q07wjwv*e|x8<`bbA&a!-)tq^E`Cq%|!^aR2;!hY9rkz8(6* zO@B6Q?v9W=RA`+y{EX4@3Jn>fT#Y42kWl-$~dyDnB zN=r(D65s>0D?)wxCMK8K@-Xy8U&kep_OSQBXNhluu&-38;}{G@<+jbqy{4z9gSRN1 zw!1ZzchUTQx{{NT5zHDvxaG5Yc3xhr@^PkrYF*g5fpy$h9)&OeihA0rLJnQJyEIOX*cr>VE{p{NQjfyfs@rZt@V)l(pDN5og_an&`XY zZ4lDj5WNg0s?Yqufm8V0J84CR}9x5gLs*546V1tmxB>)R>fnaSXUGJpP^r`X(eH z2`)e#?pI_u=lG(f&n~SRtuiF_AW1I?{ybOgD^JjlK2_XR$sG7ds++Hj{SG+O^wuxR z6zS|HE@BZSHZ(s+_5J#lsxJt@W9a=?m-2_P!`g0#0(soqn&p}|HJn*ag0IN9qB{wB z!x_EU8y)G5Q9ZcA3EkgjnZhzrCMHcYjlNq&g~RN@BS;)lLQ&B!+AD^XxP}2H<-DiH zk*Y-lf*jz5rp3mYok~1eek3?svQahugG`cZ`-hMY3METxfB~-LmOK>gx)z=0qNvPT zO;@B((UhefAAngczRz%?1lLD$Xa&d3D)Sp5AK9ixz;yZ2G3B0D$ISLM#f_AJ;z zP%0Y|Y8wq^Ys8vMN{oyo3Re{k=(9gb>DBqhaJz_8*&DrQ{wqH?ws ze#Oua?-ne^qmG6!i955 z`VWgCC%N>p`G-8$ferlrOPSN$T;Vw8``@YdW;)_ZdAAnGOYsAotZCa1m&&VpNGan9 zH{4wJPOOPf*vP5$+DIjaTxKupr+4c%ehf9T)mO~C%7dxD@lk7@%I5VSk+AsFJX+Sn zOuX7n7r~EoRH8Q4B$tv4MYL+^s{H$l-!_kwTWfA!FOHl4K+x7XJX~m`B$i)r{W+A< zU*VmaLd?W{Z0LN_;LOdjSyzA744&UUHV%2vlW@?x+>Tcm4NCx?TL{YG_R2&hZ#D$E z?W|fmv<7*qT0-Nd`@ARpPlzZKa}vi+N4sgQ!Ts_H&AUdNTBBMPxHY{;6tkS>eGjs539TK>81gx8@Gvo8mquFSf zazz+!Lm>F)j;b_;gODfEw(K+WD6(;44lXito@b$#Uiv#T8wT*>6gE4f9fsbPH+!lq zByIb_&^=~@T=hLSWvsoaV9baf@#JV(9%YwW_Y=pYMc zP6?VCoaR-*j6y2Eln7J`ow%3wc6R0}HA@(H5lPU3$7 zQ8)R`ZY%6niUl{)KUZmFg5yM(WpBUsB7}-SygZR(4AO=_mdoAY<>dvTxAXoCi}gqQ zhP_kM=}QGK=VQWoqNRpec$5AuXwN#wxiIy-pG!vBnPqt%PiVp=?y%e*`Tq6gVT=5y zJ3(n*x8R)5Va(uJVff-BlLi(w02XK`Q*$qT&?5P@bLh66!I3DLQN%3bbQ`77ZkD1L zJIjUXh6ZK*FWw|QPUuTIpol=O4?ZNYAEHp%Z^p)V>!?i*2FFI+h zs(O}TE&!!Yp0%1(b%fAJfj&}FT1YZCm9&Wnl3>TzQ`XW~k9+7d#yneVB?z6Kz#7ab zS{C1?H+cNzro4eJNB*$t1HF{+L%7bM%PHOZ?QJxg%8DTZ^(;O(LA9EJ9M1o>4j~0j ztj*CXPL=A}--pGV=}N`C6ycVMtLtMr8xhtWZvW@Qr?kX9PEC*nZ83oTe_JS(A_)dXnZJx)6M z{GDc8DFJzuz3L84a%bx;qYsVY3DzYbe3mR?5&6QNobU< zKWFOMlb}yrS7J~pfTb5nka>ozJADggs>ewP-rAFF{wlBQ8Lu}Mx{M!HE`P`_T~7eeY+E*|RB?)y@&b3@XU)LQ9Ok7{38}u;y}W}I z^#}@Z4aQwtWf^ITlW!hCfS+P_F8E*N*>n`%bGa=mCnwjFM=VzjQRP!VRNQM_Jw0t7 z^aoHCVs>d*V3T%i^3IYoPqj9enT}R_a&%{BWDq>0?6}yL=d)6VJm~t}NM{Rcj2)Sx zXei73^)DCTbhEP8w!mU-eyvza!%uD`;sK=*XC$P`vo9V+sM#3sNZWVUK}2baO!7}VAd zc21Z+_F|u%)EN4RcdW&HhffRhoaxq7&l=~< zJAZ(7{A`fQ+QYPCc6?@%F3Y55uhY2AzTz5&aTNt6>~Y^80A$eu5(bxR>jBHDZc2U7y=mu8EKyT3I9rg8avB>(TGg{>A{`o8o(KR4Rh z>g#E(1ovxCwR@90hRSwqA=gboq7X_*R=_$bp-_(Av;uh&S1nk!5cN_^L9Ip64Asyg zhLZpl3>ju99$b_8_UU6A)r}ihaq{G$7WTe01Qkwh9O$M2Zp|ZwD*Xlrlu=x{pA3N$ z2}l^)X1Hu2DS%(`^)&tAU%p($kSh}gua|Gg7p~IJhR^|cTRmW7qpiXPfRFE9vzZV3 z9Xh&aI1unzJqZQ*%F4H2zeHcF!;2@jc$YuhGPA3u##R4Y5>ouKf0p&rWV!3Cj(_3V zDosBLl(lsHu%f_6n|X8hOR{V_f&qpK9omEM&BugLq>$}4YfG-(auh%8Fhd-$G94g~#|^krGDoEF)c z*U=#oe(eb3BvODeSy^ci2Wc~G`^pJI-n){G_xZEg{dprPqQb-RQQm#H;v6?WiMEcU z8lzy|-`X<(TJ>CaXwJ1GjZj8x!?ngmoFv#pjRP?G&*lG}TL@U@jn%2XK0;FbhDePO zHv*+j{t&yOHt)SZzpKNypVpYEwszdPZT-Wf*cZiA=)MSrnUeUbCg-bV>+)x>KDQ0r z%at)ip#-d7K<`s5BkO0(d2f6GenOU(iuW#xER7=AP;~XHJZ&Te;RTx8R{1Kg7z$%6g!tY|0mu(@D7-Ru`XOmi)Cq&o-<*unJa(zguiZikU{C2p%l8ZO1{kF<7 zqeBI3AA+|yj9vL3!SYHBczx!C>CO9EO;LK0-&T3#;N7mxC6l~PdFJuc_&X#BvMM`* zNWtihC9>njQ3esIc@d{U?3J_(V~8p&Qe=#TyYp~O;ts)5yRfS5_Bl)Gqi&Qm*S!-G z%D1siU%Z%WMh0|QEk(t+KMxXflj(3qHd>{ZwgO%HW|2h<=9FZL$9}&$h?C6jjDlj1E6gXmxGHb%v z7_%7lfaFKPk>OGo>9{S+5igPdgT8-87-eOZ<-rab%x?BLcRQgQrur{xeVdP+tMw&( z)4-h%d@te)ufsFRIi7ay*l^rS8J5EsY;e;6j4H^cu z!-d%9b7z15tdbeoHNO=bk*d~4n=-k8IaR_t;lWGja%kV4$HTWbY^AR@#OR;~7{`>I zz(Se8?YR^u+Yfd+FjR3|QI>?_l0Ca*P=dI~(HiituC0pr=<*-}ywd16 zZlkidg@pu+Z2ORci?u?ur9p^Ep$I8$+-fz?ek7ndNGW35GBON1p@oNDo8-^Tn9ycq z0L7iP{#jhJ{f7GElI0Fog~5xr(>{W-^JaP0e}zOwX)8A|W;Zm)r8p;BV`;}#s(Lh+^6k5hE2+=6PSk!~#$(NX|0M3S zz%)IAg4^+b5u>~2{nKiXj>tEyhxo$dO|>X^sUthYGo3l&&Kjc6Ma=Uhav5D_Q8U=0 zEiB##cmF-=A*6{oDpPK?B2Bwl)sbzuk248yMiR`hmoh`lT;J z9s@cUTdzG;nA|kda4!ZuO zw@y1ugPyP_`6_~c(*6sA3jgeXdy`f5P?Y#&M8GCN`*9|EfO_6lDz1XkpOXOqg+3Y9 z+nVLCb|#*9in&nc!2zFb_J?W$^RP{PASWQxZqy&_>a^c%4(UCdnP(dflz1_>En>F2 zzBe_P9Uyb@>h+G`hi(=pB}$gor0w>6RtMd;t*i??VHrbrcXvPQiqeMy8Ch~The-q2 z4GkTe|8&1Dr_Rv*1_ZQuO4wCS1p8s&-TC`k{x9Y%F>K3D3=`Zu)=6Y3zl4Y1Ju8kt z0CKVU=*Y1u80S_$yc;xQ_KIYbrTd~UKW?T>K>5iay)*N>+LETB!^0H_ncigi^EU~v z!~voh1SKda%ze|sGQ^OSFBt0vnZ-(fum--Gk`nPbsJ$z*DeALqPqnSEkzYwZY(J%l z4#Q0a!X@M4(MG>utbY+{K&78@Jb^ET@PF@#R!FyIUb`&S{A!OPFdu8Z^k+5C@8vN2 z=@GSzDA^}GR`nXXlL|a(>!HRyXS<2G{ZrMCs?K^rJgnASC7!UcXu$aOsW(i8-kU_(nXCwC{%<#7AzR^CSBlMzggv8@5FtfNcQpfd)%;5&jelMAZ@v*H_Q$`WZ}JP&;8&iF{_R+2G#`Q9B$k- z9C*%5?u1D~s8jv4X=)GfLuR5s8k0f@hiZ6w5*QK!_S}|MyH#O`lhRAiESP~T|oRjozD<{sg1G4MmX(|2A zm=tQ(nHXH~6|1ng+mCt4ou0JCW2%%L*r894K1qVrNV5Jdlzbd10K@d8Vq_tbv`WXK z9ANwF14H@LfdTtUb>&yfTL(VcMtXXBzS>3cuQF-|)bofF7!mh< zI6Z21#weQD#6213r#CXfDugWTN968rj9Lcf^9o&t`8~Q$GvO^CU@n?^7m(@tZknUG zP<$au%x`s6qeiLfH^Yd!oH8%3iV!Xy&2zYiVnQQ6N$Xn& z?3Wi?AHEmObOr|?@=F}t-1JSJ#O2UHb}iI{^^d~Rs4?eokZQ_M7#`04V;RO=G>ztoq{oE#ob z)1Q@rmm-o|%3yNvijQ3P2T<^;RU7msmw|JgyxK6hVu9AChDAbQae2ocO7UMi9v;M? z%d9cx6iSh^Id#=h?i(1mH!!$p2`Gk~WyP?uFl-^6>xoY%Vf<2Bs%$mfN&yHEOoPP$ zxM(RtFrm*?bd8!Ukn61|GxP?9y8lu5b?5r66gXEQU;f9?&`YZ#6=YXD1~1Cte+rG* z3Z}kDoDzKt217qab&7CwX0!^l3LX~UutQzb!?^n|OH;*mc|j39M;-t?4?vax9Z(p| z4*7T_-lwOmxXHmkX}0&&iz3!mlj>$}Nl=gG!0bUrK&^KM*;Y^3vX|ILVOp3=NtI{4 z!Tp_~ajc?mWaOaT6{B`^CG#y{33nrEf?IzO%4wwZ*1mag-H|e(JA9CoI8;Yrkq!HN zzVa~c#3lE~10T}*v;R9a8_A*I-LdBfQ;eDQTMxes{6&hLf?DKrXcfN0-DR$1V!<}8 zH^|tS4=d6fujBUmDOhh}Ts5o4HzvRayZ0NBs^EXCB!StruJw_P7QrrVUcY%;l2I`u z(yf7Pun)CVd!ap8cu$a<@4YV2lj!Z=D;oeA{811#Js=O-hb`K`SMY*llV{C59^;=H!3z?^!8>{Wo!t z1|%sl9rd#$1ZQYxXVz@d?0Mr}#WYElV*%E}_@qDm+r+PbAtkt_I&5F)DQsH$M#P*C zBCdxWC&@`fbZdLR{p>Kax$cW0bW=>AdRsl%_ zz7c)!F`aY=2z*yMi40gse*E~s!hG0*Ut+l=$#}AzhGV<^*-t;WeH{JtNC1QLWE;g- zq{p-V_YwdV%j%oIe9m;1?RbA=@~FYdT4mYKc4wHi-tCjZ^7Zy~jmf%fn)l+&_Y?Mix*u)q zPc-h2A9!h*Ma%U5R=StO)HrO!r*L82&rf9UF8Ru7JI5vFpzreFb*;WNP z9DaF`afS*f;vkU;20Znf!=lMn5(zx%YD{4(!f`OL*>Bbnnb~Cvi|b_HyD*)-+RHVw zTfF&03esZ#Ek@vB1SDOu>3E|L8`u@nKKc0ucH`*FO;`GX8v7myTg?ZK0>I0%qd$A5 z0SG^v2gGWTND>X@F-9u=!mDRVrwU>?t`e`36FBU5Q$%U_A0F&BJ07XTA@H=BpuBk$ z(v?~As6kiOUN$(x^WsB?Tt;>Q6Un6#?d6*V8ZLYjF5kz-Em8!1o>Q(h3|CLOYbjwe zwuNrH6Nj=+$oA<$1+JVZ8BJUK zGv9RCNx&aI<|;m~Vx2bJQ4Vda^T4`J!9Xk(r}LK{BtB9VJ}Z@36~SJHMZ_3h3~w0R zG1i?|Dk|bUz$s$D=?BF3WsW8~5t{8m*=w`CSF`)`Y{wg(vzLX6_DXU#Q{K+bvkgue zr4*3|AFKExV}Vee>%#@Ae1%>9T>@kDyToWEOYe0`w*J&>Y2N7A2~j5weqVg&=*00c zbco78F(Blx`^J8(&mN&@KQvBtp+RXUE4Q={WCf;1;i!3moMCTQ2_j3?Yv0*;PPKJ)N3_Q2RA?7^JhRJ+6OlovCO@0TG` z3C0t%#_p1n;|%#lhRWf@-7n-Bg|Lveu z^LEWCkD!Amql^ zNxW_18m}@Hb7{d3WU~(F+>KJeXKAn^2b!#PxmwgCF&mSvWEhp+!5xFW15!Da{XqD! z!Kabq**15LZUs10V>e!Ak+-ma0BlgCU7Q^ro{~rhMxuI%2MiD8e#H%*1ke0{AZoTz zrpm;MI|g_pc)tT{G(kA4?21=C7(KP8vI4+u2-s4ID${0E3%h?Q`=v{l8tf79nYlt1 zX%q&mWN8m7KSRXK_t5ibNZpToH~Dq+moM)CjOO@kkds8p*9D|o#6>c&mjLq;U3}J%_7hWTqGv#`E1pG|;qD%xL-aa}8%FBy4 z7|qQP_$Mr9EKiM(zlsD40F`KHFTb!BfO`D|aV?{uNogabh4Rj?yRu8ar4DF;}?k`x7JKO#?~*MzsgAB4;u(+)P4u_ z7HGo_F_KnT zGGFFC>1*dG3Yr6fIPh5mdVLnkYyWqJWA>6BH4YE}$rcuF^$%2}Nn4*GS9V z{J-zc%$j>=ty!0ql|VvHPR`k9?{`1%?|rsd>RspZ$WQJb<;9??o+(XCgeZ2HF68R= zW~K{3NG4DM))^-~1;v0)RyOLSHA&&MAT{X=NlZk!w0`V9GB6L68-;p$Fy@ zcQ%I72971&lBp@x;@6?iP8om&TtMHpwwG!pO&#rEv5I0dfI$rSDGAcXF9Of#;X~cuTSdW)xPM}z{|q{Qem1>3sIU-d^w+1U?~vqr zeUbVnz^2=iY~x>6eP}3j@om|4lR1WdeLo%|t}z#fRPrvT_&O{xz{A#mvy;B-47_U1 zF(`Ybr=ufvs98d6~RO_q?Abo&D|2R6_XaC>|kar0O|A$-QA9BQyJeRCTV(&(kSF-j4Rz|q+ z$-*7PQSVH{ve!`WoUTy^`X|wQ*vDYKv+w$=4{xF+ix{S;V7tp{&4Jnc&6QrV4-y=( zZYDNK*$J()Mm}8V z1W%g)NHvS8$TTFrEotmEAQt@m5p_HPKI{u0QpiewxE*`;W6l19ruB)BMizQJ8bAS+ z2A<@ScXVybw$x7Jrdi5v9P>`YcmFTmY1rle!8@6o9GF0mfS#V#B@0B!W95&aF7c+% z?OR~M?i#_mV{YP~FmM%ss#VK>0O|+oEwVTd!C8|>*vSI_bzqC9*r!s;P^|95y;m20 zX5}JzEma8#hDs(K7r_p^UU1 z!`zVN#Ro7FZeHFLMggf~G#S`qtezp3oY6b%wK-}!8 zqctI`tZ(IkrGPa5*Ll%0e)OK{dR8gJbN=d67`N(~o$K1Az8z9W^=?0K=a9XTUMK|C zpsI2@J>{8MjqQ^lr`sH;;NVl_rF(p9&dcF3ic@dr-Z%M3@fPI9Q$DO@EeGXJ!F^u+SkR7Y!T8&s%{j%}bX}wpNQ&UW@V(EkrY5b*=>Z~imyRl@V zWt`02=KfeJA>!tDArEjg0jHt5Ft|GX72rFr7q4b!3Ukb_FZH)g_IG=AjShoja_he; zx{1#8ciLO93b6urF=iYvOBEf=MF8n^tS6_6Bp+o4{Q@jA6@KyiD* zWx}3yU#@M&YdIievn}BLQ3Gb}>+)rQU%&m}*6Mp*ATqE%fUj#@w=0Ryt^`*$`j+>j zD(3}c`UPYX&!@J)r}|1>$ikLZ;4Q`uCNozCuUD+k1ADF{Sy*h+*P6Eh z`l3HdE2&#*5oT^NU)3trCe+q}c?*YWMMcM*!HYR0{bE z@#6G@*IS;i?Ga1nER_?Uw15hP7F+v?_#|Fq{Bas?AjIj1yuu|Wzz#LjkV`oeydvP) z!M9OI<)M-@DMBA4<`Q)-*x~8bWN&O+sn~c0!#R;X_gydY$FBSOxM^RD0S(J>ZZN5- zeULw)V(=WxsCxKJZy4YLf4G6iEx@A9`Olc)+B#J;6*_Gyh0n?eI$PHU$bgw||AMVF zhxEnUB?u5G zAb_>IjY$BU4ul!N0HI`l2*`ttXt~>k|1O282W3e>&UEzMJf1|^+S;<;=*dH?coc%)IcR@Qv{J=jx`hkZNzgJ4X|;}&=2>u>77i2U6m2%uU(xSO+j zX8A{4o*}PBHuVPIuf=~8f^JIk-vYs@9VBk2N4zyRexz>%U?anDnN|a#8RO--R69<; ziP7>$<01F78d*08eIMB#jISefe1kPKL4 zFFkwr>2oHhqmbBF@^$B;`r$%?em;2>Qy<+OHanf0u|Hs2k3+0}DVp4L9}fw$8>aF4 z^yk``|KNB$4ztz}YF|sCLe$CScfeRoh1?9=rlwSC4x3K^8RTCua7j|c7b+c_!h3B-iJG;ITH!NjADm- zH^csZw?nRViHwMa$F}}j4hY#97SMEco%^yq17x1#ZoJiX&u4Kppy6Iqg6ei)t#|v5 z5YT!;u@zUHdZwH}20<9mS)(#QoprJfZ{CEij{;JRlh(f+a{-Kg!5{Kc<)@WP|2_6KgPfh z@-+a}2%dojA$OA#i;Gvjv}TU4m~Q{-TMm#izBNWbVRc1p9!ChW6pU!`1=QyK-fN-5 z0PpGNApHl3jR~T1|FLz5R63XT8P=^`=2K(4hY=`-=xJ10HJ5cpwGV68Xbs>?mw0xk z!Ki%HPi(Yp%7UNd0o^m1e|@rE*jGh{Q981T)7o3hO@_(dxdBwtSXK8t=o)X!}bod?D1dP8iCKJZ#dO=;&${1_ZMpXX-4{5{I$cpn<#+im1f4*I;xM_ z+y2L)+2EkPw{?c`bvtDlfn%7uJ-QHv@922+UM*fbuYB)#MOQ~{nUM^T$Yy<$6n8FK zy}dmBM#d&1BT)7F7ETRDCa=E!U+R@jwB)P;5Y>t6G1x z!IL{e_^&CxD6MRWdc&wKU98~fa(E%=wb&!IUcFy0tQ7m_8z4Dezk(;K!40<=UWwz< zSP0j@@g_C!PfyZmO|9uTY--8YxnNWqXPo$8V3Dc)_)UaGJl@ z(xU)$%x5}^F?p=hL0gCi^MSg`d&q;!qyHX|^z`--*N z`WWFv=_1_x_Gh&GHr0LC$OhAt7RM(ytw2JR$W8sF0lmhVySlx{F*snucQLcLP}%Mu z(i9X%{!(B_saSq$w01y$_pY=8py=-I-&Qnd79X6eNqacw6atj7TGMk}3{_x(6Cifq zsN3rmca76(dR8~5m3{OqZFXq$`SLn@GTZitX%7}Gs&d=^~pKIul( zq42ze@$fw^NCCeACFLv%O2%G+h_Ut>FlZYhQkJF_Mi-!^Atu}1 zDQfs)Z>If$*m7!F(aNwiiXPhe2r8{W({Wbz)_d4P8T=75%W(EzmctiVZz{YY)JUNb zL^HXn750G}a!|t8{8ax&&)2w2L?ljlufQDm5-tE)8eaE+-=ykS@x~GiKSG+Ecrt?o^9fSutQ~zeJZ+SP8sYPw50S2v*r4@>2fO81|qUx%>O3xG2tX4%A8jXiFpE#Fxr@Vjo%K=cw)_y z{vvY7XDyZFah0vhvVPFMV?c}!#(b=+T)>!EQLksn)Cs_mTg^5QJ!}1NYSUCNfunvs zKIC0BC9qoCH_d28Zs8#^Bmb9g*m9@n8+rl$EjEp3l!rDGsR&M&>__LiP@=J18KCk z`EIq%j+%uks(l)>*%upQ`g*)!%EO|+8R-a@qn7`5p108z){Gr8pc(O&rW&evCmDC% zkp+8smW!H27Pcm8UQIa(15T<3iaN2dEfi=D*dY`wtsp%vI11hqNxJx*k4uH3!$o5# zYX@fxU4x#V6_ZL9KLw5Po^U0H+zX3oAP76YYgRhL*`PdkYVn* zwx9cd7QCo8&ZSl*x|Ug95H=6jqtRo@cgT za`3$wk*jq?*lb;Mv)sDMrPNIO)U-%B?meYF*cY*trBY5^dYTg$UdGa?LvdtZFPOXd>D=#!Qm0S1 z`D(Z$`i0Cq?U4BQ28I-UdRx9ioze94Y@A&eA@xGd+=Cv0^fV0Ve7Di-Lz`WH>|a5A ziGll7bNDb~nbM5T?|Z~@r(+2bs)RnvVlghV>&a7GSTBk+LP}E#>U(J>gZ9})6E55{ zB=62BR6&gwfTkQZFzWblxW*%J9$96E_YpHXVGY&X8niv(pt9&npeo*r(s52h**QsY zHZwgayHio#(BN#Wflj zQpaC6)vLbiPRYyr^N972t)IQ%J+Ol*Xwv~3n#q@SATJu>8gh{AXSle5P$CN#+T|MV zhf3>UN)i#sUNuPem87ubQ1s><-NPDp7~Z;!IaxL?cSL|+_%k=rnuYTdM&#gfhJ5-r3BUCnlK z)K$(Xkn@XEFLL{)uHsN&&-T=%m@WL;x1N#~UJIuFyoZw4SdsWG!7NVHR|k%>5xeF} ztd@@MpJ(c~U+nEWHuveD)OyoPMe9Lhx4V_V#&)@UO6wu(vQAhLmZ8e#`TXF;#X+ry z4Sr{5d532Ojqe4;x1(4IW3rty&Phfjt#hXAtd`RRR3<6hc?5M0ejCQMNYpxeaf7Ud z48CM*gE1NMHmw(xOtgl)Aj4>*_J>C6dJcY^;44@+SGDm6i-t2fQm1Xlu4d-*0E>^J zCKmGdc^`FZtllX5GZ=~fD=2Fv7;Zof{dPyK+f zzgNL)r%kPcGllzF=^kWC!6k|svgtPKAGe|>w>-}vc?bu{Tj!EFAXlhEZC%}jg}uLI z9Ll1J+I*aRBT6D? zn%H#k>WSPjzF_Ge8z`0O^$By=BUKGmm7@z0e3Jr{a(ex`soVx~&rO9h^_q8kpIlU% zqcCiI!Z~t(s0lh_k*M{e7l5xU5W}0VgUM-;?=OYzW9OiiTZNkc!|>|=Hz@ld@T?Gf z{Leoq_@R8Q5yQCc6aW6m0=q}NFlC0)8LTJafJnrg8gy}m4tL+F(LN{;oi_$m-&+1? z3O{?xUDh2-!98Wmo1avXWdx|KPh{EmgrIbL7!rekU_Cc+k9v7JL|FDK_EsD080Dm3 zD=v509tajvsae9nMlA904pqVT6luJWB8-HC%W&yt+ryX-veAoqm}_h#W{Z*Rs-x6RjCq6weU0YdwrK-tfN3cQy_cx)MZX0CR; z9Wda6`~Fze`sM%QPiWsq1G6|rXsj@;f7VBd=Epv~Wh%&qy$nf9YTtrcF`_Trrl$dn zczkp+2Y4T!qFftABf=N6i2)%GE9)~Dn@@mtJ~g}X zLNr)8tPA7@n`Ot=-fyM;_l)9_ND9Y%9e4IGo+O%~1SsIRb2g0;#50<>oaE0gPJHyv-L9eJvGSm9cu6HP!9>_)C*r8SEDVBJRv46 z5o~aP++!A*u%eyEJPTSKsCo8nBS?*i$?%pul`C@RzNgn0BZZ@-uH?!|S}Z@Dp-qqe zML`n_dMNc;guac&@yP~lD88wwF5Ub5(P=_QGW&T|q^{~^&9VEenK|tcfQ`pgL`8Ss z<{SOQ8HcSTH}keb1B~+sAH2F(v`m~+wr+MOTspg9>e7LP(dVYT{kzk(?gogU@aco= zdK0#3L0;1R5+GVBu1R^E8+d7&B-J-j&y3E)PEme;X#^4BLvIySox3%+)dSHKxQ7ZtM=N}> zjtp{yP&xH7O&9DbNm0U0eA(XmJ1$$6P%)l@3vy7y%H@#lW>?P`-Xdk(ocdcW!pH75 zvM=8}Soa!XUk@iq!455Y?5ZwmeAlhx*BJ#?n=a#;1@cRVf|1)huhF zjvE^;xUwa;3ZFD2Jr<+rCI1`(_C)EgDu00wpkZb+J*pJeqeXvaweRi|S9t4bqIxaH zZ7W=6;WV}25*!`9^R9pj+J|wmnq2viS_`YBSPCYQcUHs{lO&lYNrAJS`P(^`NUoyZ zWUSRG<};^HU14E9Lxsz#d~SY^#Y`$oQeXZFUCULqN^{fKF=%9v_yltC-I?vlckwJA zI4`>tDU`eM{7)nElY@6x4x6PDU*$p9t`0iiRf7EkuqMREoaH`wS-mOu`@2yuc zg1%qNd3&?NJ?4QQ_b5oz<<<8QpNae~IosAAqnT>mA2%#&W7Tv&Y7`+)WW>2a z{@WXrv@tWEuME~Ogu#%E9pgC${yo=y#O>cGd@97QsXKEX zeAi7Dxg%A>-{{5i%$#m!XNE3{5K8g5YJE%P!^k@3a?pqFGN&>zF%*4^p`kyYaoYvK z!Lgirrl~N)dynf+O!EC*}>bs~TcmPeQ{-$v{XQZC_^U`(set*^e@JM^UxP*L; zipTYw?dHGAQy(h4TUib{giW3OMtI;|R&{7EuDfJa zyqfiuzZ{qv-(>B4;X#e=prjM*e^%|uKNk#px+7pDQPAD;i{Kzz>~M%ttK27j`@ z9DQm#O=KXBe#6eW$W1=+Bgz}R6j>nG&~;|VsCowTZ(4JpgJ13J4HEh46`idIW`0a= z;MC|k>EDZD#hEpNJ4&KO5=G}g3sN>{HT8|x9#Kt2Y2NOh`^0=3n)9&JJ3skE#KU0f zsj5H>_1X=-qy8Yrgln?`Xjow|`i!W)II1-9>>a-guZ@!Z@?Qeu1Pf6Kjo%2b)X{S>|rY>^*(zC-wb+Rz&af!b*(X=n0ng yh0gH(Qh^}#uOyxy!7sIvMZhunZ*D)Ub_CMqsPn?R - + Robust and Optimal Sensor Fusion - Matlab Computation @@ -279,88 +279,88 @@ for the JavaScript code in this tag.

Table of Contents

@@ -382,31 +382,31 @@ To achieve this, the sensors included in the filter should complement one anothe
    -
  • in section 1, the optimal design of the complementary filters in order to obtain the lowest resulting "super sensor" noise is studied
  • +
  • in section 1, the optimal design of the complementary filters in order to obtain the lowest resulting "super sensor" noise is studied

When blending two sensors using complementary filters with unknown dynamics, phase lag may be introduced that renders the close-loop system unstable.

    -
  • in section 2, the blending robustness to sensor dynamic uncertainty is studied.
  • +
  • in section 2, the blending robustness to sensor dynamic uncertainty is studied.

Then, three design methods for generating two complementary filters are proposed:

    -
  • in section 5.1, analytical formulas are proposed
  • -
  • in section 5.2, the \(\mathcal{H}_\infty\) synthesis is used
  • -
  • in section 5.3, the classical feedback architecture is used
  • -
  • in section 5.4, analytical formulas found in the literature are listed
  • +
  • in section 5.1, analytical formulas are proposed
  • +
  • in section 5.2, the \(\mathcal{H}_\infty\) synthesis is used
  • +
  • in section 5.3, the classical feedback architecture is used
  • +
  • in section 5.4, analytical formulas found in the literature are listed
-
-

1 Optimal Sensor Fusion - Minimize the Super Sensor Noise

+
+

1 Optimal Sensor Fusion - Minimize the Super Sensor Noise

- +

The idea is to combine sensors that works in different frequency range using complementary filters. @@ -427,23 +427,23 @@ All the files (data and Matlab scripts) are accessible -

1.1 Architecture

+
+

1.1 Architecture

-Let's consider the sensor fusion architecture shown on figure 1 where two sensors (sensor 1 and sensor 2) are measuring the same quantity \(x\) with different noise characteristics determined by \(N_1(s)\) and \(N_2(s)\). +Let's consider the sensor fusion architecture shown on figure 1 where two sensors (sensor 1 and sensor 2) are measuring the same quantity \(x\) with different noise characteristics determined by \(N_1(s)\) and \(N_2(s)\).

\(\tilde{n}_1\) and \(\tilde{n}_2\) are normalized white noise:

\begin{equation} -\label{orgfdd39ec} +\label{orgcb7a1e1} \Phi_{\tilde{n}_1}(\omega) = \Phi_{\tilde{n}_1}(\omega) = 1 \end{equation} -
+

fusion_two_noisy_sensors_weights.png

Figure 1: Fusion of two sensors

@@ -453,16 +453,16 @@ Let's consider the sensor fusion architecture shown on figure 2. +We obtain the architecture of figure 2.

-
+

sensor_fusion_noisy_perfect_dyn.png

Figure 2: Fusion of two sensors with ideal dynamics

@@ -472,7 +472,7 @@ We obtain the architecture of figure 2. \(H_1(s)\) and \(H_2(s)\) are complementary filters:

\begin{equation} -\label{org60c56f0} +\label{orgc1eccc7} H_1(s) + H_2(s) = 1 \end{equation} @@ -489,14 +489,14 @@ We have that the Power Spectral Density (PSD) of \(\hat{x}\) is: And the goal is the minimize the Root Mean Square (RMS) value of \(\hat{x}\):

\begin{equation} -\label{org796f363} +\label{orgf5c5975} \sigma_{\hat{x}} = \sqrt{\int_0^\infty \Phi_{\hat{x}}(\omega) d\omega} \end{equation}
-
-

1.2 Noise of the sensors

+
+

1.2 Noise of the sensors

Let's define the noise characteristics of the two sensors by choosing \(N_1\) and \(N_2\): @@ -516,7 +516,7 @@ N2 = ( +

noise_characteristics_sensors.png

Figure 3: Noise Characteristics of the two sensors (png, pdf)

@@ -524,8 +524,8 @@ N2 = ( -

1.3 H-Two Synthesis

+
+

1.3 H-Two Synthesis

As \(\tilde{n}_1\) and \(\tilde{n}_2\) are normalized white noise: \(\Phi_{\tilde{n}_1}(\omega) = \Phi_{\tilde{n}_2}(\omega) = 1\) and we have: @@ -538,11 +538,11 @@ For that, we use the \(\mathcal{H}_2\) Synthesis.

-We use the generalized plant architecture shown on figure 4. +We use the generalized plant architecture shown on figure 4.

-
+

h_infinity_optimal_comp_filters.png

Figure 4: \(\mathcal{H}_2\) Synthesis - Generalized plant used for the optimal generation of complementary filters

@@ -560,7 +560,7 @@ Thus, if we minimize the \(\mathcal{H}_2\) norm of this transfer function, we mi

-We define the generalized plant \(P\) on matlab as shown on figure 4. +We define the generalized plant \(P\) on matlab as shown on figure 4.

P = [0   N2  1;
@@ -585,15 +585,15 @@ Finally, we define \(H_2(s) = 1 - H_1(s)\).
 

-The complementary filters obtained are shown on figure 5. +The complementary filters obtained are shown on figure 5.

-The PSD of the noise of the individual sensor and of the super sensor are shown in Fig. 6. +The PSD of the noise of the individual sensor and of the super sensor are shown in Fig. 6.

-The Cumulative Power Spectrum (CPS) is shown on Fig. 7. +The Cumulative Power Spectrum (CPS) is shown on Fig. 7.

@@ -601,7 +601,7 @@ The obtained RMS value of the super sensor is lower than the RMS value of the in

-
+

htwo_comp_filters.png

Figure 5: Obtained complementary filters using the \(\mathcal{H}_2\) Synthesis (png, pdf)

@@ -615,7 +615,7 @@ PSD_H2 = abs(squeeze -
+

psd_sensors_htwo_synthesis.png

Figure 6: Power Spectral Density of the estimated \(\hat{x}\) using the two sensors alone and using the optimally fused signal (png, pdf)

@@ -629,7 +629,7 @@ CPS_H2 = 1 +

cps_h2_synthesis.png

Figure 7: Cumulative Power Spectrum of individual sensors and super sensor using the \(\mathcal{H}_2\) synthesis (png, pdf)

@@ -637,8 +637,8 @@ CPS_H2 = 1 -

1.4 H-Infinity Synthesis - method A

+
+

1.4 H-Infinity Synthesis - method A

Another objective that we may have is that the noise of the super sensor \(n_{SS}\) is following the minimum of the noise of the two sensors \(n_1\) and \(n_2\): @@ -662,12 +662,12 @@ We could try to approach that with the \(\mathcal{H}_\infty\) synthesis by using

-As shown on Fig. 3, the frequency where the two sensors have the same noise level is around 9Hz. +As shown on Fig. 3, the frequency where the two sensors have the same noise level is around 9Hz. We will thus choose weighting functions such that the merging frequency is around 9Hz.

-The weighting functions used as well as the obtained complementary filters are shown in Fig. 8. +The weighting functions used as well as the obtained complementary filters are shown in Fig. 8.

@@ -736,7 +736,7 @@ Test bounds: 0.1000 < gamma <= 10500.0000
-
+

weights_comp_filters_Hinfa.png

Figure 8: Weights and Complementary Fitlers obtained (png, pdf)

@@ -754,8 +754,8 @@ CPS_Ha = 1 -

1.5 H-Infinity Synthesis - method B

+
+

1.5 H-Infinity Synthesis - method B

We have that: @@ -800,7 +800,7 @@ We use this as the weighting functions for the \(\mathcal{H}_\infty\) synthesis

-The weighting function and the obtained complementary filters are shown in Fig. 9. +The weighting function and the obtained complementary filters are shown in Fig. 9.

@@ -860,7 +860,7 @@ Test bounds: 0.0000 < gamma <= 32.8125
-
+

weights_comp_filters_Hinfb.png

Figure 9: Weights and Complementary Fitlers obtained (png, pdf)

@@ -874,26 +874,26 @@ CPS_Hb = 1 -

1.6 Comparison of the methods

+
+

1.6 Comparison of the methods

The three methods are now compared.

-The Power Spectral Density of the super sensors obtained with the complementary filters designed using the three methods are shown in Fig. 10. +The Power Spectral Density of the super sensors obtained with the complementary filters designed using the three methods are shown in Fig. 10.

-The Cumulative Power Spectrum for the same sensors are shown on Fig. 11. +The Cumulative Power Spectrum for the same sensors are shown on Fig. 11.

-The RMS value of the obtained super sensors are shown on table 1. +The RMS value of the obtained super sensors are shown on table 1.

- +
@@ -937,14 +937,14 @@ The RMS value of the obtained super sensors are shown on table + -
+

comparison_cps_noise.png

Figure 11: Comparison of the obtained Cumulative Power Spectrum using the three methods (png, pdf)

@@ -952,8 +952,8 @@ The RMS value of the obtained super sensors are shown on table -

1.7 Conclusion

+
+

1.7 Conclusion

From the above complementary filter design with the \(\mathcal{H}_2\) and \(\mathcal{H}_\infty\) synthesis, it still seems that the \(\mathcal{H}_2\) synthesis gives the complementary filters that permits to obtain the minimal super sensor noise (when measuring with the \(\mathcal{H}_2\) norm). @@ -962,11 +962,11 @@ From the above complementary filter design with the \(\mathcal{H}_2\) and \(\mat

-
-

2 Optimal Sensor Fusion - Minimize the Super Sensor Dynamical Uncertainty

+
+

2 Optimal Sensor Fusion - Minimize the Super Sensor Dynamical Uncertainty

- +

We initially considered perfectly known sensor dynamics so that it can be perfectly inverted. @@ -974,11 +974,11 @@ We initially considered perfectly known sensor dynamics so that it can be perfec

We now take into account the fact that the sensor dynamics is only partially known. -To do so, we model the uncertainty that we have on the sensor dynamics by multiplicative input uncertainty as shown in Fig. 12. +To do so, we model the uncertainty that we have on the sensor dynamics by multiplicative input uncertainty as shown in Fig. 12.

-
+

sensor_fusion_dynamic_uncertainty.png

Figure 12: Sensor fusion architecture with sensor dynamics uncertainty

@@ -989,22 +989,22 @@ The objective here is to design complementary filters \(H_1(s)\) and \(H_2(s)\)

-All the files (data and Matlab scripts) are accessible here. +All the files (data and Matlab scripts) are accessible here.

-
-

2.1 Unknown sensor dynamics dynamics

+
+

2.1 Unknown sensor dynamics dynamics

In practical systems, the sensor dynamics has always some level of uncertainty. -Let's represent that with multiplicative input uncertainty as shown on figure 12. +Let's represent that with multiplicative input uncertainty as shown on figure 12.

-
+

sensor_fusion_dynamic_uncertainty.png

Figure 13: Fusion of two sensors with input multiplicative uncertainty

@@ -1049,7 +1049,7 @@ Which is approximately the same as requiring

-The uncertainty set of the transfer function from \(\hat{x}\) to \(x\) is bounded in the complex plane by a circle centered on 1 and with a radius equal to \(\epsilon\) (figure 14). +The uncertainty set of the transfer function from \(\hat{x}\) to \(x\) is bounded in the complex plane by a circle centered on 1 and with a radius equal to \(\epsilon\) (figure 14).

@@ -1058,7 +1058,7 @@ We then have that the angle introduced by the super sensor is bounded by \(\arcs

-
+

uncertainty_gain_phase_variation.png

Figure 14: Maximum phase variation

@@ -1070,8 +1070,8 @@ Thus, we choose should choose \(\epsilon\) so that the maximum phase uncertainty
-
-

2.2 Design the complementary filters in order to limit the phase and gain uncertainty of the super sensor

+
+

2.2 Design the complementary filters in order to limit the phase and gain uncertainty of the super sensor

Let's say the two sensors dynamics have been identified with the associated uncertainty weights \(w_1(s)\) and \(w_2(s)\). @@ -1101,8 +1101,8 @@ This is of primary importance in order to ensure the stability of the feedback l

-
-

2.3 First Basic Example with gain mismatch

+
+

2.3 First Basic Example with gain mismatch

Let's consider two ideal sensors except one sensor has not an expected unity gain but a gain equal to \(0.6\): @@ -1119,19 +1119,19 @@ G2 = 0.15. +Two pairs of complementary filters are designed and shown on figure 15. The complementary filters shown in blue does not present a bump as the red ones but provides less sensor separation at high and low frequencies.

-
+

comp_filters_robustness_test.png

Figure 15: The two complementary filters designed for the robustness test (png, pdf)

-We then compute the bode plot of the super sensor transfer function \(H_1(s)G_1(s) + H_2(s)G_2(s)\) for both complementary filters pair (figure 16). +We then compute the bode plot of the super sensor transfer function \(H_1(s)G_1(s) + H_2(s)G_2(s)\) for both complementary filters pair (figure 16).

@@ -1139,7 +1139,7 @@ We see that the blue complementary filters with a lower maximum norm permits to

-
+

tf_super_sensor_comp.png

Figure 16: Comparison of the obtained super sensor transfer functions (png, pdf)

@@ -1147,8 +1147,8 @@ We see that the blue complementary filters with a lower maximum norm permits to
-
-

2.4 More Complete example with dynamical uncertainty

+
+

2.4 More Complete example with dynamical uncertainty

We want to merge two sensors: @@ -1159,12 +1159,13 @@ We want to merge two sensors:

-
-

2.4.1 Dynamical uncertainty of the individual sensors

+
+

2.4.1 Dynamical uncertainty of the individual sensors

We define the weights that are used to characterize the dynamic uncertainty of the sensors.

+
omegac = 100*2*pi; G0 = 0.1; Ginf = 10;
 w1 = (Ginf*s/omegac + G0)/(s/omegac + 1);
@@ -1177,7 +1178,7 @@ w2 = w2*17 with the upper and lower bounds on the magnitude and on the phase.
+From the weights, we define the uncertain transfer functions of the sensors. Some of the uncertain dynamics of both sensors are shown on Fig. 17 with the upper and lower bounds on the magnitude and on the phase.
 

G1 = 1 + w1*ultidyn('Delta',[1 1]);
@@ -1186,7 +1187,7 @@ G2 = 1 
 
-
+

uncertainty_dynamics_sensors.png

Figure 17: Dynamic uncertainty of the two sensors (png, pdf)

@@ -1194,11 +1195,11 @@ G2 = 1
-
-

2.4.2 Synthesis objective

+
+

2.4.2 Synthesis objective

-The uncertainty region of the super sensor dynamics is represented by a circle in the complex plane as shown in Fig. 14. +The uncertainty region of the super sensor dynamics is represented by a circle in the complex plane as shown in Fig. 14.

@@ -1227,8 +1228,8 @@ The maximum phase shift due to dynamic uncertainty at frequency \(\omega\) will

-
-

2.4.3 Requirements as an \(\mathcal{H}_\infty\) norm

+
+

2.4.3 Requirements as an \(\mathcal{H}_\infty\) norm

We know try to express this requirement in terms of an \(\mathcal{H}_\infty\) norm. @@ -1249,10 +1250,10 @@ Then: \end{align*}

-Which is approximately equivalent to (with an approximation of maximum \(\sqrt{2}\)): +Which is approximately equivalent to (with an error of maximum \(\sqrt{2}\)):

\begin{equation} -\label{org6f4cf45} +\label{org9858a60} \left\| \begin{matrix} w_1(s) w_\phi(s) H_1(s) \\ w_2(s) w_\phi(s) H_2(s) \end{matrix} \right\|_\infty < 1 \end{equation} @@ -1263,11 +1264,11 @@ Thus, at these frequencies, \(|w_\phi|\) should be smaller than \(1\).
-
-

2.4.4 H-Infinity Synthesis

+
+

2.4.4 H-Infinity Synthesis

-Let's define \(w_\phi(s)\) such that the maximum allowed phase uncertainty \(\Delta\phi_\text{max}\) of the super sensor dynamics is \(30\text{ deg}\) until frequency \(\omega_0 = 500\text{ Hz}\) +Let's define \(w_\phi(s)\) in order to bound the maximum allowed phase uncertainty \(\Delta\phi_\text{max}\) of the super sensor dynamics.

@@ -1282,25 +1283,32 @@ W2 = w2*wphi;
-
+
+

magnitude_wphi.png +

+

Figure 18: Magnitude of the weght \(w_\phi(s)\) that is used to bound the uncertainty of the super sensor (png, pdf)

+
+ + +

maximum_wanted_phase_uncertainty.png

-

Figure 18: Maximum wanted phase uncertainty using this weight (png, pdf)

+

Figure 19: Maximum wanted phase uncertainty using this weight (png, pdf)

-The obtained upper bounds on the complementary filters in order to limit the phase uncertainty of the super sensor are represented in Fig. 19. +The obtained upper bounds on the complementary filters in order to limit the phase uncertainty of the super sensor are represented in Fig. 20.

-
+

upper_bounds_comp_filter_max_phase_uncertainty.png

-

Figure 19: Upper bounds on the complementary filters set in order to limit the maximum phase uncertainty of the super sensor to 30 degrees until 500Hz (png, pdf)

+

Figure 20: Upper bounds on the complementary filters set in order to limit the maximum phase uncertainty of the super sensor to 30 degrees until 500Hz (png, pdf)

-The \(\mathcal{H}_\infty\) synthesis is performed using the defined weights and the obtained complementary filters are shown in Fig. 20. +The \(\mathcal{H}_\infty\) synthesis is performed using the defined weights and the obtained complementary filters are shown in Fig. 21.

@@ -1347,19 +1355,19 @@ Test bounds: 0.0447 < gamma <= 1.3318
-
+

comp_filter_hinf_uncertainty.png

-

Figure 20: Obtained complementary filters (png, pdf)

+

Figure 21: Obtained complementary filters (png, pdf)

-
-

2.4.5 Super sensor uncertainty

+
+

2.4.5 Super sensor uncertainty

-We can now compute the uncertainty of the super sensor. The result is shown in Fig. 21. +We can now compute the uncertainty of the super sensor. The result is shown in Fig. 22.

@@ -1368,10 +1376,10 @@ We can now compute the uncertainty of the super sensor. The result is shown in F
-
+

super_sensor_uncertainty_bode_plot.png

-

Figure 21: Uncertainty on the dynamics of the super sensor (png, pdf)

+

Figure 22: Uncertainty on the dynamics of the super sensor (png, pdf)

@@ -1383,28 +1391,28 @@ We could for instance ask for less uncertainty at low frequency.

-
-

3 Equivalent Super Sensor

+
+

3 Equivalent Super Sensor

The goal here is to find the parameters of a single sensor that would best represent a super sensor.

-
-

3.1 Sensor Fusion Architecture

+
+

3.1 Sensor Fusion Architecture

-Let consider figure 22 where two sensors are merged. +Let consider figure 23 where two sensors are merged. The dynamic uncertainty of each sensor is represented by a weight \(w_i(s)\), the frequency characteristics each of the sensor noise is represented by the weights \(N_i(s)\). The noise sources \(\tilde{n}_i\) are considered to be white noise: \(\Phi_{\tilde{n}_i}(\omega) = 1, \ \forall\omega\).

-
+

sensor_fusion_full.png

-

Figure 22: Sensor fusion architecture (png, pdf).

+

Figure 23: Sensor fusion architecture (png, pdf).

@@ -1431,28 +1439,28 @@ And the noise of the super sensor is:
-
-

3.2 Equivalent Configuration

+
+

3.2 Equivalent Configuration

-We try to determine \(w_{ss}(s)\) and \(N_{ss}(s)\) such that the sensor on figure 23 is equivalent to the super sensor of figure 22. +We try to determine \(w_{ss}(s)\) and \(N_{ss}(s)\) such that the sensor on figure 24 is equivalent to the super sensor of figure 23.

-
+

sensor_fusion_equivalent.png

-

Figure 23: Equivalent Super Sensor (png, pdf).

+

Figure 24: Equivalent Super Sensor (png, pdf).

-
-

3.3 Model the uncertainty of the super sensor

+
+

3.3 Model the uncertainty of the super sensor

-At each frequency \(\omega\), the uncertainty set of the super sensor shown on figure 22 is a circle centered on \(1\) with a radius equal to \(|H_1(j\omega) w_1(j\omega)| + |H_2(j\omega) w_2(j\omega)|\) on the complex plane. -The uncertainty set of the sensor shown on figure 23 is a circle centered on \(1\) with a radius equal to \(|w_{ss}(j\omega)|\) on the complex plane. +At each frequency \(\omega\), the uncertainty set of the super sensor shown on figure 23 is a circle centered on \(1\) with a radius equal to \(|H_1(j\omega) w_1(j\omega)| + |H_2(j\omega) w_2(j\omega)|\) on the complex plane. +The uncertainty set of the sensor shown on figure 24 is a circle centered on \(1\) with a radius equal to \(|w_{ss}(j\omega)|\) on the complex plane.

@@ -1467,11 +1475,11 @@ Ideally, we want to find a weight \(w_{ss}(s)\) so that:

-
-

3.4 Model the noise of the super sensor

+
+

3.4 Model the noise of the super sensor

-The PSD of the estimation \(\hat{x}\) when \(x = 0\) of the configuration shown on figure 22 is: +The PSD of the estimation \(\hat{x}\) when \(x = 0\) of the configuration shown on figure 23 is:

\begin{align*} \Phi_{\hat{x}}(\omega) &= | H_1(j\omega) N_1(j\omega) |^2 \Phi_{\tilde{n}_1} + | H_2(j\omega) N_2(j\omega) |^2 \Phi_{\tilde{n}_2} \\ @@ -1479,7 +1487,7 @@ The PSD of the estimation \(\hat{x}\) when \(x = 0\) of the configuration shown \end{align*}

-The PSD of the estimation \(\hat{x}\) when \(x = 0\) of the configuration shown on figure 23 is: +The PSD of the estimation \(\hat{x}\) when \(x = 0\) of the configuration shown on figure 24 is:

\begin{align*} \Phi_{\hat{x}}(\omega) &= | N_{ss}(j\omega) |^2 \Phi_{\tilde{n}} \\ @@ -1498,8 +1506,8 @@ Ideally, we want to find a weight \(N_{ss}(s)\) such that:
-
-

3.5 First guess

+
+

3.5 First guess

We could choose @@ -1527,8 +1535,8 @@ and

-
-

4 Optimal And Robust Sensor Fusion in Practice

+
+

4 Optimal And Robust Sensor Fusion in Practice

Here are the steps in order to apply optimal and robust sensor fusion: @@ -1541,26 +1549,26 @@ Here are the steps in order to apply optimal and robust sensor fusion:

-
-

4.1 Measurement of the noise characteristics of the sensors

+
+

4.1 Measurement of the noise characteristics of the sensors

-
-

4.1.1 Huddle Test

+
+

4.1.1 Huddle Test

The technique to estimate the sensor noise is taken from barzilai98_techn_measur_noise_sensor_presen.

-Let's consider two sensors (sensor 1 and sensor 2) that are measuring the same quantity \(x\) as shown in figure 24. +Let's consider two sensors (sensor 1 and sensor 2) that are measuring the same quantity \(x\) as shown in figure 25.

-
+

huddle_test.png

-

Figure 24: Huddle test block diagram

+

Figure 25: Huddle test block diagram

@@ -1576,7 +1584,7 @@ We also assume that their dynamics is ideal: \(G_1(s) = G_2(s) = 1\). We then have:

\begin{equation} -\label{org51dae3b} +\label{orgd3bc3e3} \gamma_{\hat{x}_1\hat{x}_2}^2(\omega) = \frac{1}{1 + 2 \left( \frac{|\Phi_n(\omega)|}{|\Phi_{\hat{x}}(\omega)|} \right) + \left( \frac{|\Phi_n(\omega)|}{|\Phi_{\hat{x}}(\omega)|} \right)^2} \end{equation} @@ -1584,16 +1592,16 @@ We then have: Since the input signal \(x\) and the instrumental noise \(n\) are incoherent:

\begin{equation} -\label{orgec4c52a} +\label{org3e2ed3a} |\Phi_{\hat{x}}(\omega)| = |\Phi_n(\omega)| + |\Phi_x(\omega)| \end{equation}

-From equations \eqref{org51dae3b} and \eqref{orgec4c52a}, we finally obtain +From equations \eqref{orgd3bc3e3} and \eqref{org3e2ed3a}, we finally obtain

\begin{equation} -\label{orgdc4f127} +\label{org53f418b} |\Phi_n(\omega)| = |\Phi_{\hat{x}}(\omega)| \left( 1 - \sqrt{\gamma_{\hat{x}_1\hat{x}_2}^2(\omega)} \right) \end{equation} @@ -1601,8 +1609,8 @@ From equations \eqref{org51dae3b} and \eqref{orgec4c52a}, we finally obtain
-
-

4.1.2 Weights that represents the noises' PSD

+
+

4.1.2 Weights that represents the noises' PSD

For further complementary filter synthesis, it is preferred to consider a normalized noise source \(\tilde{n}\) that has a PSD equal to one (\(\Phi_{\tilde{n}}(\omega) = 1\)) and to use a weighting filter \(N(s)\) in order to represent the frequency dependence of the noise. @@ -1621,20 +1629,20 @@ These weighting filters can then be used to compare the noise level of sensors f

-The sensor with a normalized noise input is shown in figure 25. +The sensor with a normalized noise input is shown in figure 26.

-
+

one_sensor_normalized_noise.png

-

Figure 25: One sensor with normalized noise

+

Figure 26: One sensor with normalized noise

-
-

4.1.3 Comparison of the noises' PSD

+
+

4.1.3 Comparison of the noises' PSD

Once the noise of the sensors to be merged have been characterized, the power spectral density of both sensors have to be compared. @@ -1650,8 +1658,8 @@ Ideally, the PSD of the noise are such that:

-
-

4.1.4 Computation of the coherence, power spectral density and cross spectral density of signals

+
+

4.1.4 Computation of the coherence, power spectral density and cross spectral density of signals

The coherence between signals \(x\) and \(y\) is defined as follow @@ -1679,11 +1687,11 @@ where:

-
-

4.2 Estimate the dynamic uncertainty of the sensors

+
+

4.2 Estimate the dynamic uncertainty of the sensors

-Let's consider one sensor represented on figure 26. +Let's consider one sensor represented on figure 27.

@@ -1695,16 +1703,16 @@ The goal is to accurately determine \(w(s)\) for the sensors that have to be mer

-
+

one_sensor_dyn_uncertainty.png

-

Figure 26: Sensor with dynamic uncertainty

+

Figure 27: Sensor with dynamic uncertainty

-
-

4.3 Optimal and Robust synthesis of the complementary filters

+
+

4.3 Optimal and Robust synthesis of the complementary filters

Once the noise characteristics and dynamic uncertainty of both sensors have been determined and we have determined the following weighting functions: @@ -1715,7 +1723,7 @@ Once the noise characteristics and dynamic uncertainty of both sensors have been

-The goal is to design complementary filters \(H_1(s)\) and \(H_2(s)\) shown in figure 22 such that: +The goal is to design complementary filters \(H_1(s)\) and \(H_2(s)\) shown in figure 23 such that:

  • the uncertainty on the super sensor dynamics is minimized
  • @@ -1723,24 +1731,24 @@ The goal is to design complementary filters \(H_1(s)\) and \(H_2(s)\) shown in f
-
+

sensor_fusion_full.png

-

Figure 27: Sensor fusion architecture with sensor dynamics uncertainty

+

Figure 28: Sensor fusion architecture with sensor dynamics uncertainty

-
-

5 Methods of complementary filter synthesis

+
+

5 Methods of complementary filter synthesis

-
-

5.1 Complementary filters using analytical formula

+
+

5.1 Complementary filters using analytical formula

- +

@@ -1750,8 +1758,8 @@ All the files (data and Matlab scripts) are accessible -

5.1.1 Analytical 1st order complementary filters

+
+

5.1.1 Analytical 1st order complementary filters

First order complementary filters are defined with following equations: @@ -1762,7 +1770,7 @@ First order complementary filters are defined with following equations: \end{align}

-Their bode plot is shown figure 28. +Their bode plot is shown figure 29.

@@ -1774,16 +1782,16 @@ Hl1 = 1
-
+

comp_filter_1st_order.png

-

Figure 28: Bode plot of first order complementary filter (png, pdf)

+

Figure 29: Bode plot of first order complementary filter (png, pdf)

-
-

5.1.2 Second Order Complementary Filters

+
+

5.1.2 Second Order Complementary Filters

We here use analytical formula for the complementary filters \(H_L\) and \(H_H\). @@ -1809,15 +1817,15 @@ where:

-This is illustrated on figure 29. +This is illustrated on figure 30. The slope of those filters at high and low frequencies is \(-2\) and \(2\) respectively for \(H_L\) and \(H_H\).

-
+

comp_filters_param_alpha.png

-

Figure 29: Effect of the parameter \(\alpha\) on the shape of the generated second order complementary filters (png, pdf)

+

Figure 30: Effect of the parameter \(\alpha\) on the shape of the generated second order complementary filters (png, pdf)

@@ -1832,16 +1840,16 @@ xlabel('$ +

param_alpha_hinf_norm.png

-

Figure 30: Evolution of the H-Infinity norm of the complementary filters with the parameter \(\alpha\) (png, pdf)

+

Figure 31: Evolution of the H-Infinity norm of the complementary filters with the parameter \(\alpha\) (png, pdf)

-
-

5.1.3 Third Order Complementary Filters

+
+

5.1.3 Third Order Complementary Filters

The following formula gives complementary filters with slopes of \(-3\) and \(3\): @@ -1860,7 +1868,7 @@ The parameters are:

-The filters are defined below and the result is shown on figure 31. +The filters are defined below and the result is shown on figure 32.

@@ -1874,20 +1882,20 @@ Hl3_ana = ( +

complementary_filters_third_order.png

-

Figure 31: Third order complementary filters using the analytical formula (png, pdf)

+

Figure 32: Third order complementary filters using the analytical formula (png, pdf)

-
-

5.2 H-Infinity synthesis of complementary filters

+
+

5.2 H-Infinity synthesis of complementary filters

- +

@@ -1897,8 +1905,8 @@ All the files (data and Matlab scripts) are accessible -

5.2.1 Synthesis Architecture

+
+

5.2.1 Synthesis Architecture

We here synthesize the complementary filters using the \(\mathcal{H}_\infty\) synthesis. @@ -1906,18 +1914,18 @@ The goal is to specify upper bounds on the norms of \(H_L\) and \(H_H\) while en

-In order to do so, we use the generalized plant shown on figure 32 where \(w_L\) and \(w_H\) weighting transfer functions that will be used to shape \(H_L\) and \(H_H\) respectively. +In order to do so, we use the generalized plant shown on figure 33 where \(w_L\) and \(w_H\) weighting transfer functions that will be used to shape \(H_L\) and \(H_H\) respectively.

-
+

sf_hinf_filters_plant_b.png

-

Figure 32: Generalized plant used for the \(\mathcal{H}_\infty\) synthesis of the complementary filters

+

Figure 33: Generalized plant used for the \(\mathcal{H}_\infty\) synthesis of the complementary filters

-The \(\mathcal{H}_\infty\) synthesis applied on this generalized plant will give a transfer function \(H_L\) (figure 33) such that the \(\mathcal{H}_\infty\) norm of the transfer function from \(w\) to \([z_H,\ z_L]\) is less than one: +The \(\mathcal{H}_\infty\) synthesis applied on this generalized plant will give a transfer function \(H_L\) (figure 34) such that the \(\mathcal{H}_\infty\) norm of the transfer function from \(w\) to \([z_H,\ z_L]\) is less than one: \[ \left\| \begin{array}{c} H_L w_L \\ (1 - H_L) w_H \end{array} \right\|_\infty < 1 \]

@@ -1936,16 +1944,16 @@ We then see that \(w_L\) and \(w_H\) can be used to shape both \(H_L\) and \(H_H

-
+

sf_hinf_filters_b.png

-

Figure 33: \(\mathcal{H}_\infty\) synthesis of the complementary filters

+

Figure 34: \(\mathcal{H}_\infty\) synthesis of the complementary filters

-
-

5.2.2 Weights

+
+

5.2.2 Weights

omegab = 2*pi*9;
@@ -1956,16 +1964,16 @@ wL = (s 
+

weights_wl_wh.png

-

Figure 34: Weights on the complementary filters \(w_L\) and \(w_H\) and the associated performance weights (png, pdf)

+

Figure 35: Weights on the complementary filters \(w_L\) and \(w_H\) and the associated performance weights (png, pdf)

-
-

5.2.3 H-Infinity Synthesis

+
+

5.2.3 H-Infinity Synthesis

We define the generalized plant \(P\) on matlab. @@ -2007,7 +2015,7 @@ Test bounds: 0.0000 < gamma <= 1.7285

-We then define the high pass filter \(H_H = 1 - H_L\). The bode plot of both \(H_L\) and \(H_H\) is shown on figure 35. +We then define the high pass filter \(H_H = 1 - H_L\). The bode plot of both \(H_L\) and \(H_H\) is shown on figure 36.

Hh_hinf = 1 - Hl_hinf;
@@ -2016,28 +2024,28 @@ We then define the high pass filter \(H_H = 1 - H_L\). The bode plot of both \(H
 
-
-

5.2.4 Obtained Complementary Filters

+
+

5.2.4 Obtained Complementary Filters

-The obtained complementary filters are shown on figure 35. +The obtained complementary filters are shown on figure 36.

-
+

hinf_filters_results.png

-

Figure 35: Obtained complementary filters using \(\mathcal{H}_\infty\) synthesis (png, pdf)

+

Figure 36: Obtained complementary filters using \(\mathcal{H}_\infty\) synthesis (png, pdf)

-
-

5.3 Feedback Control Architecture to generate Complementary Filters

+
+

5.3 Feedback Control Architecture to generate Complementary Filters

- +

The idea is here to use the fact that in a classical feedback architecture, \(S + T = 1\), in order to design complementary filters. @@ -2054,14 +2062,14 @@ All the files (data and Matlab scripts) are accessible -

5.3.1 Architecture

+
+

5.3.1 Architecture

-
+

complementary_filters_feedback_architecture.png

-

Figure 36: Architecture used to generate the complementary filters

+

Figure 37: Architecture used to generate the complementary filters

@@ -2085,8 +2093,8 @@ Which contains two integrator and a lead. \(\omega_c\) is used to tune the cross

-
-

5.3.2 Loop Gain Design

+
-
-

5.3.3 Complementary Filters Obtained

+
+

5.3.3 Complementary Filters Obtained

We then compute the resulting low pass and high pass filters. @@ -2121,25 +2129,25 @@ Hh = 1/

-
+

low_pass_high_pass_filters.png

-

Figure 38: Low pass and High pass filters \(H_L\) and \(H_H\) for different values of \(\alpha\) (png, pdf)

+

Figure 39: Low pass and High pass filters \(H_L\) and \(H_H\) for different values of \(\alpha\) (png, pdf)

-
-

5.4 Analytical Formula found in the literature

+
+

5.4 Analytical Formula found in the literature

- +

-
-

5.4.1 Analytical Formula

+
+

5.4.1 Analytical Formula

min15_compl_filter_desig_angle_estim @@ -2188,8 +2196,8 @@ Hh = 1/

-
-

5.4.2 Matlab

+
+

5.4.2 Matlab

omega0 = 1*2*pi; % [rad/s]
@@ -2207,16 +2215,16 @@ HL3 = (
+

comp_filters_literature.png

-

Figure 39: Comparison of some complementary filters found in the literature (png, pdf)

+

Figure 40: Comparison of some complementary filters found in the literature (png, pdf)

-
-

5.4.3 Discussion

+
+

5.4.3 Discussion

Analytical Formula found in the literature provides either no parameter for tuning the robustness / performance trade-off. @@ -2225,11 +2233,11 @@ Analytical Formula found in the literature provides either no parameter for tuni

-
-

5.5 Comparison of the different methods of synthesis

+
+

5.5 Comparison of the different methods of synthesis

- + The generated complementary filters using \(\mathcal{H}_\infty\) and the analytical formulas are very close to each other. However there is some difference to note here:

    @@ -2255,7 +2263,7 @@ The generated complementary filters using \(\mathcal{H}_\infty\) and the analyti

Author: Thomas Dehaeze

-

Created: 2019-08-29 jeu. 22:47

+

Created: 2019-08-30 ven. 09:17

Validate

diff --git a/matlab/index.org b/matlab/index.org index 831ad4c..7335e02 100644 --- a/matlab/index.org +++ b/matlab/index.org @@ -645,17 +645,8 @@ To do so, we model the uncertainty that we have on the sensor dynamics by multip The objective here is to design complementary filters $H_1(s)$ and $H_2(s)$ in order to minimize the dynamical uncertainty of the super sensor. ** ZIP file containing the data and matlab files :ignore: -#+begin_src bash :exports none :results none - if [ matlab/comp_filter_robustness.m -nt data/comp_filter_robustness.zip ]; then - cp matlab/comp_filter_robustness.m comp_filter_robustness.m; - zip data/comp_filter_robustness \ - comp_filter_robustness.m - rm comp_filter_robustness.m; - fi -#+end_src - #+begin_note - All the files (data and Matlab scripts) are accessible [[file:data/comp_filter_robustness.zip][here]]. + All the files (data and Matlab scripts) are accessible [[file:matlab/comp_filter_robustness.m][here]]. #+end_note ** Matlab Init :noexport:ignore: @@ -667,10 +658,6 @@ The objective here is to design complementary filters $H_1(s)$ and $H_2(s)$ in o <> #+end_src -#+begin_src matlab - freqs = logspace(-1, 3, 1000); -#+end_src - ** Unknown sensor dynamics dynamics In practical systems, the sensor dynamics has always some level of uncertainty. Let's represent that with multiplicative input uncertainty as shown on figure [[fig:sensor_fusion_dynamic_uncertainty]]. @@ -746,6 +733,10 @@ Let's consider two ideal sensors except one sensor has not an expected unity gai Two pairs of complementary filters are designed and shown on figure [[fig:comp_filters_robustness_test]]. The complementary filters shown in blue does not present a bump as the red ones but provides less sensor separation at high and low frequencies. +#+begin_src matlab :exports none + freqs = logspace(-1, 1, 1000); +#+end_src + #+begin_src matlab :exports none w0 = 2*pi; alpha = 2; @@ -761,8 +752,6 @@ The complementary filters shown in blue does not present a bump as the red ones #+end_src #+begin_src matlab :exports none - freqs = logspace(-1, 1, 1000); - figure; % Magnitude ax1 = subaxis(2,1,1); @@ -805,8 +794,6 @@ We then compute the bode plot of the super sensor transfer function $H_1(s)G_1(s We see that the blue complementary filters with a lower maximum norm permits to limit the phase lag introduced by the gain mismatch. #+begin_src matlab :exports none - freqs = logspace(-1, 1, 1000); - figure; % Magnitude ax1 = subaxis(2,1,1); @@ -848,6 +835,11 @@ We want to merge two sensors: *** Dynamical uncertainty of the individual sensors We define the weights that are used to characterize the dynamic uncertainty of the sensors. + +#+begin_src matlab :exports none + freqs = logspace(-1, 3, 1000); +#+end_src + #+begin_src matlab omegac = 100*2*pi; G0 = 0.1; Ginf = 10; w1 = (Ginf*s/omegac + G0)/(s/omegac + 1); @@ -963,7 +955,7 @@ Then: \Longleftrightarrow & \left| w_1(j\omega) H_1(j\omega) w_\phi(j\omega) \right| + \left| w_2(j\omega) H_2(j\omega) w_\phi(j\omega) \right| < 1, \quad \forall\omega \end{align*} -Which is approximately equivalent to (with an approximation of maximum $\sqrt{2}$): +Which is approximately equivalent to (with an error of maximum $\sqrt{2}$): #+name: eq:hinf_conf_phase_uncertainty \begin{equation} \left\| \begin{matrix} w_1(s) w_\phi(s) H_1(s) \\ w_2(s) w_\phi(s) H_2(s) \end{matrix} \right\|_\infty < 1 @@ -973,7 +965,7 @@ On should not forget that at frequency where both sensors has unknown dynamics ( Thus, at these frequencies, $|w_\phi|$ should be smaller than $1$. *** H-Infinity Synthesis -Let's define $w_\phi(s)$ such that the maximum allowed phase uncertainty $\Delta\phi_\text{max}$ of the super sensor dynamics is $30\text{ deg}$ until frequency $\omega_0 = 500\text{ Hz}$ +Let's define $w_\phi(s)$ in order to bound the maximum allowed phase uncertainty $\Delta\phi_\text{max}$ of the super sensor dynamics. #+begin_src matlab Dphi = 20; % [deg] @@ -985,6 +977,26 @@ Let's define $w_\phi(s)$ such that the maximum allowed phase uncertainty $\Delta W2 = w2*wphi; #+end_src +#+begin_src matlab :exports none + figure; + hold on; + plot(freqs, abs(squeeze(freqresp(wphi, freqs, 'Hz'))), '-', 'DisplayName', '$w_\phi(s)$'); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + xlabel('Frequency [Hz]'); ylabel('Magnitude'); + hold off; + xlim([freqs(1), freqs(end)]); + legend('location', 'northeast'); +#+end_src + +#+HEADER: :tangle no :exports results :results none :noweb yes +#+begin_src matlab :var filepath="figs/magnitude_wphi.pdf" :var figsize="full-normal" :post pdf2svg(file=*this*, ext="png") + <> +#+end_src + +#+NAME: fig:magnitude_wphi +#+CAPTION: Magnitude of the weght $w_\phi(s)$ that is used to bound the uncertainty of the super sensor ([[./figs/magnitude_wphi.png][png]], [[./figs/magnitude_wphi.pdf][pdf]]) +[[file:figs/magnitude_wphi.png]] + #+begin_src matlab :exports none % We here compute the wanted maximum and minimum phase of the super sensor Dphimax = 180/pi*asin(1./abs(squeeze(freqresp(wphi, freqs, 'Hz')))); @@ -1028,7 +1040,7 @@ The obtained upper bounds on the complementary filters in order to limit the pha #+end_src #+HEADER: :tangle no :exports results :results none :noweb yes -#+begin_src matlab :var filepath="figs/upper_bounds_comp_filter_max_phase_uncertainty.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png") +#+begin_src matlab :var filepath="figs/upper_bounds_comp_filter_max_phase_uncertainty.pdf" :var figsize="full-normal" :post pdf2svg(file=*this*, ext="png") <> #+end_src diff --git a/matlab/matlab/comp_filter_robustness.m b/matlab/matlab/comp_filter_robustness.m new file mode 100644 index 0000000..b6f705f --- /dev/null +++ b/matlab/matlab/comp_filter_robustness.m @@ -0,0 +1,378 @@ +%% Clear Workspace and Close figures +clear; close all; clc; + +%% Intialize Laplace variable +s = zpk('s'); + +% First Basic Example with gain mismatch +% Let's consider two ideal sensors except one sensor has not an expected unity gain but a gain equal to $0.6$: +% \begin{align*} +% G_1(s) &= 1 \\ +% G_2(s) &= 0.6 +% \end{align*} + + +G1 = 1; +G2 = 0.6; + + + +% Two pairs of complementary filters are designed and shown on figure [[fig:comp_filters_robustness_test]]. +% The complementary filters shown in blue does not present a bump as the red ones but provides less sensor separation at high and low frequencies. + + +freqs = logspace(-1, 1, 1000); + +w0 = 2*pi; +alpha = 2; + +H1a = ((1+alpha)*(s/w0)+1)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); +H2a = (s/w0)^2*((s/w0)+1+alpha)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); + +w0 = 2*pi; +alpha = 0.1; + +H1b = ((1+alpha)*(s/w0)+1)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); +H2b = (s/w0)^2*((s/w0)+1+alpha)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); + +figure; +% Magnitude +ax1 = subaxis(2,1,1); +hold on; +set(gca,'ColorOrderIndex',1); plot(freqs, abs(squeeze(freqresp(H1a, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',1); plot(freqs, abs(squeeze(freqresp(H2a, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, abs(squeeze(freqresp(H1b, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, abs(squeeze(freqresp(H2b, freqs, 'Hz')))); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); +ylabel('Magnitude'); +hold off; +% Phase +ax2 = subaxis(2,1,2); +hold on; +set(gca,'ColorOrderIndex',1); plot(freqs, 180/pi*angle(squeeze(freqresp(H1a, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',1); plot(freqs, 180/pi*angle(squeeze(freqresp(H2a, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, 180/pi*angle(squeeze(freqresp(H1b, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, 180/pi*angle(squeeze(freqresp(H2b, freqs, 'Hz')))); +set(gca,'xscale','log'); +yticks(-180:90:180); +ylim([-180 180]); +xlabel('Relative Frequency $\frac{\omega}{\omega_0}$'); ylabel('Phase [deg]'); +hold off; +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); + + + +% #+NAME: fig:comp_filters_robustness_test +% #+CAPTION: The two complementary filters designed for the robustness test ([[./figs/comp_filters_robustness_test.png][png]], [[./figs/comp_filters_robustness_test.pdf][pdf]]) +% [[file:figs/comp_filters_robustness_test.png]] + +% We then compute the bode plot of the super sensor transfer function $H_1(s)G_1(s) + H_2(s)G_2(s)$ for both complementary filters pair (figure [[fig:tf_super_sensor_comp]]). + +% We see that the blue complementary filters with a lower maximum norm permits to limit the phase lag introduced by the gain mismatch. + + +figure; +% Magnitude +ax1 = subaxis(2,1,1); +hold on; +set(gca,'ColorOrderIndex',1); plot(freqs, abs(squeeze(freqresp(H1a*G1 + H2a*G2, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, abs(squeeze(freqresp(H1b*G1 + H2b*G2, freqs, 'Hz')))); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); +ylabel('Magnitude'); +ylim([1e-1, 1e1]); +hold off; +% Phase +ax2 = subaxis(2,1,2); +hold on; +set(gca,'ColorOrderIndex',1); plot(freqs, 180/pi*angle(squeeze(freqresp(H1a*G1 + H2a*G2, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, 180/pi*angle(squeeze(freqresp(H1b*G1 + H2b*G2, freqs, 'Hz')))); +set(gca,'xscale','log'); +yticks(-180:90:180); +ylim([-180 180]); +xlabel('Relative Frequency $\frac{\omega}{\omega_0}$'); ylabel('Phase [deg]'); +hold off; +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); + +% Dynamical uncertainty of the individual sensors +% We define the weights that are used to characterize the dynamic uncertainty of the sensors. + + +freqs = logspace(-1, 3, 1000); + +omegac = 100*2*pi; G0 = 0.1; Ginf = 10; +w1 = (Ginf*s/omegac + G0)/(s/omegac + 1); + +omegac = 0.2*2*pi; G0 = 5; Ginf = 0.1; +w2 = (Ginf*s/omegac + G0)/(s/omegac + 1); +omegac = 5000*2*pi; G0 = 1; Ginf = 50; +w2 = w2*(Ginf*s/omegac + G0)/(s/omegac + 1); + + + +% From the weights, we define the uncertain transfer functions of the sensors. Some of the uncertain dynamics of both sensors are shown on Fig. [[fig:uncertainty_dynamics_sensors]] with the upper and lower bounds on the magnitude and on the phase. + +G1 = 1 + w1*ultidyn('Delta',[1 1]); +G2 = 1 + w2*ultidyn('Delta',[1 1]); + +% Few random samples of the sensor dynamics are computed +G1s = usample(G1, 10); +G2s = usample(G2, 10); + +% We here compute the maximum and minimum phase of both sensors +Dphi1 = 180/pi*asin(abs(squeeze(freqresp(w1, freqs, 'Hz')))); +Dphi2 = 180/pi*asin(abs(squeeze(freqresp(w2, freqs, 'Hz')))); +Dphi1(abs(squeeze(freqresp(w1, freqs, 'Hz'))) > 1) = 190; +Dphi2(abs(squeeze(freqresp(w2, freqs, 'Hz'))) > 1) = 190; + +figure; +% Magnitude +ax1 = subaxis(2,1,1); +hold on; +set(gca,'ColorOrderIndex',1); +plot(freqs, 1 + abs(squeeze(freqresp(w1, freqs, 'Hz'))), '--'); +set(gca,'ColorOrderIndex',1); +plot(freqs, max(1 - abs(squeeze(freqresp(w1, freqs, 'Hz'))), 0), '--'); +set(gca,'ColorOrderIndex',2); +plot(freqs, 1 + abs(squeeze(freqresp(w2, freqs, 'Hz'))), '--'); +set(gca,'ColorOrderIndex',2); +plot(freqs, max(1 - abs(squeeze(freqresp(w2, freqs, 'Hz'))), 0), '--'); +for i = 1:length(G1s) + plot(freqs, abs(squeeze(freqresp(G1s(:, :, i, 1), freqs, 'Hz'))), '-', 'color', [0 0.4470 0.7410 0.4]); + plot(freqs, abs(squeeze(freqresp(G2s(:, :, i, 1), freqs, 'Hz'))), '-', 'color', [0.8500 0.3250 0.0980 0.4]); +end +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); +ylabel('Magnitude'); +ylim([1e-1, 10]); +hold off; + +% Phase +ax2 = subaxis(2,1,2); +hold on; +set(gca,'ColorOrderIndex',1); +plot(freqs, Dphi1, '--'); +set(gca,'ColorOrderIndex',1); +plot(freqs, -Dphi1, '--'); +set(gca,'ColorOrderIndex',2); +plot(freqs, Dphi2, '--'); +set(gca,'ColorOrderIndex',2); +plot(freqs, -Dphi2, '--'); +for i = 1:length(G1s) + plot(freqs, 180/pi*angle(squeeze(freqresp(G1s(:, :, i, 1), freqs, 'Hz'))), '-', 'color', [0 0.4470 0.7410 0.4]); + plot(freqs, 180/pi*angle(squeeze(freqresp(G2s(:, :, i, 1), freqs, 'Hz'))), '-', 'color', [0.8500 0.3250 0.0980 0.4]); +end +set(gca,'xscale','log'); +yticks(-180:90:180); +ylim([-180 180]); +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +hold off; +linkaxes([ax1,ax2],'x'); + +% H-Infinity Synthesis +% Let's define $w_\phi(s)$ in order to bound the maximum allowed phase uncertainty $\Delta\phi_\text{max}$ of the super sensor dynamics. + + +Dphi = 20; % [deg] + +n = 4; w0 = 2*pi*900; G0 = 1/sin(Dphi*pi/180); Ginf = 1/100; Gc = 1; +wphi = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/Ginf)^(2/n)))*s + (G0/Gc)^(1/n))/((1/Ginf)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/Ginf)^(2/n)))*s + (1/Gc)^(1/n)))^n; + +W1 = w1*wphi; +W2 = w2*wphi; + +figure; +hold on; +plot(freqs, abs(squeeze(freqresp(wphi, freqs, 'Hz'))), '-', 'DisplayName', '$w_\phi(s)$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +legend('location', 'northeast'); + + + +% #+NAME: fig:magnitude_wphi +% #+CAPTION: Magnitude of the weght $w_\phi(s)$ that is used to bound the uncertainty of the super sensor ([[./figs/magnitude_wphi.png][png]], [[./figs/magnitude_wphi.pdf][pdf]]) +% [[file:figs/magnitude_wphi.png]] + + +% We here compute the wanted maximum and minimum phase of the super sensor +Dphimax = 180/pi*asin(1./abs(squeeze(freqresp(wphi, freqs, 'Hz')))); +Dphimax(1./abs(squeeze(freqresp(wphi, freqs, 'Hz'))) > 1) = 190; + +figure; +hold on; +plot(freqs, Dphimax, 'k--'); +plot(freqs, -Dphimax, 'k--'); +set(gca, 'XScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +ylim([-180 180]); +yticks(-180:45:180); + + + +% #+NAME: fig:maximum_wanted_phase_uncertainty +% #+CAPTION: Maximum wanted phase uncertainty using this weight ([[./figs/maximum_wanted_phase_uncertainty.png][png]], [[./figs/maximum_wanted_phase_uncertainty.pdf][pdf]]) +% [[file:figs/maximum_wanted_phase_uncertainty.png]] + +% The obtained upper bounds on the complementary filters in order to limit the phase uncertainty of the super sensor are represented in Fig. [[fig:upper_bounds_comp_filter_max_phase_uncertainty]]. + + +figure; +hold on; +plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '-', 'DisplayName', '$1/|w_1w_\phi|$'); +plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '-', 'DisplayName', '$1/|w_2w_\phi|$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +legend('location', 'northeast'); + + + +% #+NAME: fig:upper_bounds_comp_filter_max_phase_uncertainty +% #+CAPTION: Upper bounds on the complementary filters set in order to limit the maximum phase uncertainty of the super sensor to 30 degrees until 500Hz ([[./figs/upper_bounds_comp_filter_max_phase_uncertainty.png][png]], [[./figs/upper_bounds_comp_filter_max_phase_uncertainty.pdf][pdf]]) +% [[file:figs/upper_bounds_comp_filter_max_phase_uncertainty.png]] + +% The $\mathcal{H}_\infty$ synthesis is performed using the defined weights and the obtained complementary filters are shown in Fig. [[fig:comp_filter_hinf_uncertainty]]. + + +P = [W1 -W1; + 0 W2; + 1 0]; + + + +% And we do the $\mathcal{H}_\infty$ synthesis using the =hinfsyn= command. + +[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + + + +% #+RESULTS: +% #+begin_example +% [H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); +% Resetting value of Gamma min based on D_11, D_12, D_21 terms + +% Test bounds: 0.0447 < gamma <= 1.3318 + +% gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f +% 1.332 1.3e+01 -1.0e-14 1.3e+00 -2.6e-18 0.0000 p +% 0.688 1.3e-11# ******** 1.3e+00 -6.7e-15 ******** f +% 1.010 1.1e+01 -1.5e-14 1.3e+00 -2.5e-14 0.0000 p +% 0.849 6.9e-11# ******** 1.3e+00 -2.3e-14 ******** f +% 0.930 5.2e-12# ******** 1.3e+00 -6.1e-18 ******** f +% 0.970 5.6e-11# ******** 1.3e+00 -2.3e-14 ******** f +% 0.990 5.0e-11# ******** 1.3e+00 -1.7e-17 ******** f +% 1.000 2.1e-10# ******** 1.3e+00 0.0e+00 ******** f +% 1.005 1.9e-10# ******** 1.3e+00 -3.7e-14 ******** f +% 1.008 1.1e+01 -9.1e-15 1.3e+00 0.0e+00 0.0000 p +% 1.006 1.2e-09# ******** 1.3e+00 -6.9e-16 ******** f +% 1.007 1.1e+01 -4.6e-15 1.3e+00 -1.8e-16 0.0000 p + +% Gamma value achieved: 1.0069 +% #+end_example + + +H1 = 1 - H2; + +figure; + +ax1 = subplot(2,1,1); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1, freqs, 'Hz'))), '--', 'DisplayName', '$W_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2, freqs, 'Hz'))), '--', 'DisplayName', '$W_2$'); + +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); + +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +ylabel('Magnitude'); +set(gca, 'XTickLabel',[]); +legend('location', 'northeast'); + +ax2 = subplot(2,1,2); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*phase(squeeze(freqresp(H1, freqs, 'Hz'))), '-'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 180/pi*phase(squeeze(freqresp(H2, freqs, 'Hz'))), '-'); +hold off; +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +set(gca, 'XScale', 'log'); +yticks([-360:90:360]); + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); +xticks([0.1, 1, 10, 100, 1000]); + +% Super sensor uncertainty +% We can now compute the uncertainty of the super sensor. The result is shown in Fig. [[fig:super_sensor_uncertainty_bode_plot]]. + + +Gss = G1*H1 + G2*H2; + +Gsss = usample(Gss, 20); + +% We here compute the maximum and minimum phase of the super sensor +Dphiss = 180/pi*asin(abs(squeeze(freqresp(w1*H1, freqs, 'Hz')))+abs(squeeze(freqresp(w2*H2, freqs, 'Hz')))); +Dphiss(abs(squeeze(freqresp(w1*H1, freqs, 'Hz')))+abs(squeeze(freqresp(w2*H2, freqs, 'Hz'))) > 1) = 190; + +figure; +% Magnitude +ax1 = subaxis(2,1,1); +hold on; +set(gca,'ColorOrderIndex',1); +plot(freqs, 1 + abs(squeeze(freqresp(w1, freqs, 'Hz'))), '--'); +set(gca,'ColorOrderIndex',1); +plot(freqs, max(1 - abs(squeeze(freqresp(w1, freqs, 'Hz'))), 0), '--'); +set(gca,'ColorOrderIndex',2); +plot(freqs, 1 + abs(squeeze(freqresp(w2, freqs, 'Hz'))), '--'); +set(gca,'ColorOrderIndex',2); +plot(freqs, max(1 - abs(squeeze(freqresp(w2, freqs, 'Hz'))), 0), '--'); +plot(freqs, 1 + abs(squeeze(freqresp(w1*H1+w2*H2, freqs, 'Hz'))), 'k--'); +plot(freqs, max(1 - abs(squeeze(freqresp(w1*H1+w2*H2, freqs, 'Hz'))), 0), 'k--'); +for i = 1:length(Gsss) + plot(freqs, abs(squeeze(freqresp(Gsss(:, :, i, 1), freqs, 'Hz'))), '-', 'color', [0 0 0 0.2]); +end +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); +ylabel('Magnitude'); +ylim([1e-1, 10]); +hold off; + +% Phase +ax2 = subaxis(2,1,2); +hold on; +% plot(freqs, Dphimax, 'r-'); +% plot(freqs, -Dphimax, 'r-'); +set(gca,'ColorOrderIndex',1); +plot(freqs, Dphi1, '--'); +set(gca,'ColorOrderIndex',1); +plot(freqs, -Dphi1, '--'); +set(gca,'ColorOrderIndex',2); +plot(freqs, Dphi2, '--'); +set(gca,'ColorOrderIndex',2); +plot(freqs, -Dphi2, '--'); +plot(freqs, Dphiss, 'k--'); +plot(freqs, -Dphiss, 'k--'); +for i = 1:length(Gsss) + plot(freqs, 180/pi*angle(squeeze(freqresp(Gsss(:, :, i, 1), freqs, 'Hz'))), '-', 'color', [0 0 0 0.2]); +end +set(gca,'xscale','log'); +yticks(-180:90:180); +ylim([-180 180]); +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +hold off; +linkaxes([ax1,ax2],'x'); diff --git a/matlab/matlab/comp_filters_analytical.m b/matlab/matlab/comp_filters_analytical.m new file mode 100644 index 0000000..0c51a9a --- /dev/null +++ b/matlab/matlab/comp_filters_analytical.m @@ -0,0 +1,166 @@ +%% Clear Workspace and Close figures +clear; close all; clc; + +%% Intialize Laplace variable +s = zpk('s'); + +freqs = logspace(-1, 3, 1000); + +% Analytical 1st order complementary filters +% First order complementary filters are defined with following equations: +% \begin{align} +% H_L(s) = \frac{1}{1 + \frac{s}{\omega_0}}\\ +% H_H(s) = \frac{\frac{s}{\omega_0}}{1 + \frac{s}{\omega_0}} +% \end{align} + +% Their bode plot is shown figure [[fig:comp_filter_1st_order]]. + + +w0 = 2*pi; % [rad/s] + +Hh1 = (s/w0)/((s/w0)+1); +Hl1 = 1/((s/w0)+1); + +freqs = logspace(-2, 2, 1000); + +figure; +% Magnitude +ax1 = subaxis(2,1,1); +hold on; +set(gca,'ColorOrderIndex',1); plot(freqs, abs(squeeze(freqresp(Hh1, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',1); plot(freqs, abs(squeeze(freqresp(Hl1, freqs, 'Hz')))); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); +ylabel('Magnitude'); +hold off; +% Phase +ax2 = subaxis(2,1,2); +hold on; +set(gca,'ColorOrderIndex',1); plot(freqs, 180/pi*angle(squeeze(freqresp(Hh1, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',1); plot(freqs, 180/pi*angle(squeeze(freqresp(Hl1, freqs, 'Hz')))); +set(gca,'xscale','log'); +yticks(-180:90:180); +ylim([-180 180]); +xlabel('Relative Frequency $\frac{\omega}{\omega_0}$'); ylabel('Phase [deg]'); +hold off; +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); + +% Second Order Complementary Filters +% We here use analytical formula for the complementary filters $H_L$ and $H_H$. + +% The first two formulas that are used to generate complementary filters are: +% \begin{align*} +% H_L(s) &= \frac{(1+\alpha) (\frac{s}{\omega_0})+1}{\left((\frac{s}{\omega_0})+1\right) \left((\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1\right)}\\ +% H_H(s) &= \frac{(\frac{s}{\omega_0})^2 \left((\frac{s}{\omega_0})+1+\alpha\right)}{\left((\frac{s}{\omega_0})+1\right) \left((\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1\right)} +% \end{align*} +% where: +% - $\omega_0$ is the blending frequency in rad/s. +% - $\alpha$ is used to change the shape of the filters: +% - Small values for $\alpha$ will produce high magnitude of the filters $|H_L(j\omega)|$ and $|H_H(j\omega)|$ near $\omega_0$ but smaller value for $|H_L(j\omega)|$ above $\approx 1.5 \omega_0$ and for $|H_H(j\omega)|$ below $\approx 0.7 \omega_0$ +% - A large $\alpha$ will do the opposite + +% This is illustrated on figure [[fig:comp_filters_param_alpha]]. +% The slope of those filters at high and low frequencies is $-2$ and $2$ respectively for $H_L$ and $H_H$. + + +freqs_study = logspace(-2, 2, 10000); +alphas = [0.1, 1, 10]; +w0 = 2*pi*1; + +figure; +ax1 = subaxis(2,1,1); +hold on; +for i = 1:length(alphas) + alpha = alphas(i); + Hh2 = (s/w0)^2*((s/w0)+1+alpha)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); + Hl2 = ((1+alpha)*(s/w0)+1)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); + set(gca,'ColorOrderIndex',i); + plot(freqs_study, abs(squeeze(freqresp(Hh2, freqs_study, 'Hz')))); + set(gca,'ColorOrderIndex',i); + plot(freqs_study, abs(squeeze(freqresp(Hl2, freqs_study, 'Hz')))); +end +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); +ylabel('Magnitude'); +hold off; +ylim([1e-3, 20]); +% Phase +ax2 = subaxis(2,1,2); +hold on; +for i = 1:length(alphas) + alpha = alphas(i); + Hh2 = (s/w0)^2*((s/w0)+1+alpha)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); + Hl2 = ((1+alpha)*(s/w0)+1)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); + set(gca,'ColorOrderIndex',i); + plot(freqs_study, 180/pi*angle(squeeze(freqresp(Hh2, freqs_study, 'Hz'))), 'DisplayName', sprintf('$\\alpha = %g$', alpha)); + set(gca,'ColorOrderIndex',i); + plot(freqs_study, 180/pi*angle(squeeze(freqresp(Hl2, freqs_study, 'Hz'))), 'HandleVisibility', 'off'); +end +set(gca,'xscale','log'); +yticks(-180:90:180); +ylim([-180 180]); +xlabel('Relative Frequency $\frac{\omega}{\omega_0}$'); ylabel('Phase [deg]'); +legend('Location', 'northeast'); +hold off; +linkaxes([ax1,ax2],'x'); +xlim([freqs_study(1), freqs_study(end)]); + + + +% #+NAME: fig:comp_filters_param_alpha +% #+CAPTION: Effect of the parameter $\alpha$ on the shape of the generated second order complementary filters ([[./figs/comp_filters_param_alpha.png][png]], [[./figs/comp_filters_param_alpha.pdf][pdf]]) +% [[file:figs/comp_filters_param_alpha.png]] + +% We now study the maximum norm of the filters function of the parameter $\alpha$. As we saw that the maximum norm of the filters is important for the robust merging of filters. + +alphas = logspace(-2, 2, 100); +w0 = 2*pi*1; +infnorms = zeros(size(alphas)); + +for i = 1:length(alphas) + alpha = alphas(i); + Hh2 = (s/w0)^2*((s/w0)+1+alpha)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); + Hl2 = ((1+alpha)*(s/w0)+1)/(((s/w0)+1)*((s/w0)^2 + alpha*(s/w0) + 1)); + infnorms(i) = norm(Hh2, 'inf'); +end + +figure; +plot(alphas, infnorms) +set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); +xlabel('$\alpha$'); ylabel('$\|H_1\|_\infty$'); + +% Third Order Complementary Filters +% The following formula gives complementary filters with slopes of $-3$ and $3$: +% \begin{align*} +% H_L(s) &= \frac{\left(1+(\alpha+1)(\beta+1)\right) (\frac{s}{\omega_0})^2 + (1+\alpha+\beta)(\frac{s}{\omega_0}) + 1}{\left(\frac{s}{\omega_0} + 1\right) \left( (\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1 \right) \left( (\frac{s}{\omega_0})^2 + \beta (\frac{s}{\omega_0}) + 1 \right)}\\ +% H_H(s) &= \frac{(\frac{s}{\omega_0})^3 \left( (\frac{s}{\omega_0})^2 + (1+\alpha+\beta) (\frac{s}{\omega_0}) + (1+(\alpha+1)(\beta+1)) \right)}{\left(\frac{s}{\omega_0} + 1\right) \left( (\frac{s}{\omega_0})^2 + \alpha (\frac{s}{\omega_0}) + 1 \right) \left( (\frac{s}{\omega_0})^2 + \beta (\frac{s}{\omega_0}) + 1 \right)} +% \end{align*} + +% The parameters are: +% - $\omega_0$ is the blending frequency in rad/s +% - $\alpha$ and $\beta$ that are used to change the shape of the filters similarly to the parameter $\alpha$ for the second order complementary filters + +% The filters are defined below and the result is shown on figure [[fig:complementary_filters_third_order]]. + + +alpha = 1; +beta = 10; +w0 = 2*pi*14; + +Hh3_ana = (s/w0)^3 * ((s/w0)^2 + (1+alpha+beta)*(s/w0) + (1+(alpha+1)*(beta+1)))/((s/w0 + 1)*((s/w0)^2+alpha*(s/w0)+1)*((s/w0)^2+beta*(s/w0)+1)); +Hl3_ana = ((1+(alpha+1)*(beta+1))*(s/w0)^2 + (1+alpha+beta)*(s/w0) + 1)/((s/w0 + 1)*((s/w0)^2+alpha*(s/w0)+1)*((s/w0)^2+beta*(s/w0)+1)); + +figure; +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(Hl3_ana, freqs, 'Hz'))), '-', 'DisplayName', '$H_L$ - Analytical'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(Hh3_ana, freqs, 'Hz'))), '-', 'DisplayName', '$H_H$ - Analytical'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +ylim([1e-3, 10]); +xticks([0.1, 1, 10, 100, 1000]); +legend('location', 'northeast'); diff --git a/matlab/matlab/comp_filters_design.m b/matlab/matlab/comp_filters_design.m new file mode 100644 index 0000000..6f90b45 --- /dev/null +++ b/matlab/matlab/comp_filters_design.m @@ -0,0 +1,53 @@ +%% Clear Workspace and Close figures +clear; close all; clc; + +%% Intialize Laplace variable +s = zpk('s'); + +% Matlab + +omega0 = 1*2*pi; % [rad/s] +tau = 1/omega0; % [s] + +% From cite:corke04_inert_visual_sensin_system_small_auton_helic +HL1 = 1/(s/omega0 + 1); HH1 = s/omega0/(s/omega0 + 1); + +% From cite:jensen13_basic_uas +HL2 = (2*omega0*s + omega0^2)/(s+omega0)^2; HH2 = s^2/(s+omega0)^2; + +% From cite:shaw90_bandw_enhan_posit_measur_using_measur_accel +HL3 = (3*tau*s + 1)/(tau*s + 1)^3; HH3 = (tau^3*s^3 + 3*tau^2*s^2)/(tau*s + 1)^3; + +freqs = logspace(-1, 1, 1000); + +figure; +% Magnitude +ax1 = subaxis(2,1,1); +hold on; +set(gca,'ColorOrderIndex',1); plot(freqs, abs(squeeze(freqresp(HH1, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',1); plot(freqs, abs(squeeze(freqresp(HL1, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, abs(squeeze(freqresp(HH2, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, abs(squeeze(freqresp(HL2, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',3); plot(freqs, abs(squeeze(freqresp(HH3, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',3); plot(freqs, abs(squeeze(freqresp(HL3, freqs, 'Hz')))); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +set(gca, 'XTickLabel',[]); +ylabel('Magnitude'); +hold off; +ylim([1e-2 2]); +% Phase +ax2 = subaxis(2,1,2); +hold on; +set(gca,'ColorOrderIndex',1); plot(freqs, 180/pi*angle(squeeze(freqresp(HH1, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',1); plot(freqs, 180/pi*angle(squeeze(freqresp(HL1, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, 180/pi*angle(squeeze(freqresp(HH2, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',2); plot(freqs, 180/pi*angle(squeeze(freqresp(HL2, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',3); plot(freqs, 180/pi*angle(squeeze(freqresp(HH3, freqs, 'Hz')))); +set(gca,'ColorOrderIndex',3); plot(freqs, 180/pi*angle(squeeze(freqresp(HL3, freqs, 'Hz')))); +set(gca,'xscale','log'); +yticks(-180:90:180); +ylim([-180 180]); +xlabel('Relative Frequency $\frac{\omega}{\omega_0}$'); ylabel('Phase [deg]'); +hold off; +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); diff --git a/matlab/matlab/feedback_generate_comp_filters.m b/matlab/matlab/feedback_generate_comp_filters.m new file mode 100644 index 0000000..65891fb --- /dev/null +++ b/matlab/matlab/feedback_generate_comp_filters.m @@ -0,0 +1,58 @@ +%% Clear Workspace and Close figures +clear; close all; clc; + +%% Intialize Laplace variable +s = zpk('s'); + +freqs = logspace(-2, 2, 1000); + +% Loop Gain Design +% Let's first define the loop gain $L$. + +wc = 2*pi*1; +alpha = 2; + +L = (wc/s)^2 * (s/(wc/alpha) + 1)/(s/wc + alpha); + +figure; + +ax1 = subplot(2,1,1); +plot(freqs, abs(squeeze(freqresp(L, freqs, 'Hz'))), '-'); +ylabel('Magnitude'); +set(gca, 'XScale', 'log'); +set(gca, 'YScale', 'log'); + +ax2 = subplot(2,1,2); +plot(freqs, 180/pi*phase(squeeze(freqresp(L, freqs, 'Hz'))), '--'); +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +set(gca, 'XScale', 'log'); +ylim([-180, 0]); +yticks([-360:90:360]); + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); +xticks([0.1, 1, 10, 100, 1000]); + +% Complementary Filters Obtained +% We then compute the resulting low pass and high pass filters. + +Hl = L/(L + 1); +Hh = 1/(L + 1); + +alphas = [1, 2, 10]; + +figure; +hold on; +for i = 1:length(alphas) + alpha = alphas(i); + L = (wc/s)^2 * (s/(wc/alpha) + 1)/(s/wc + alpha); + Hl = L/(L + 1); + Hh = 1/(L + 1); + set(gca,'ColorOrderIndex',i) + plot(freqs, abs(squeeze(freqresp(Hl, freqs, 'Hz'))), 'DisplayName', sprintf('$\\alpha = %.0f$', alpha)); + set(gca,'ColorOrderIndex',i) + plot(freqs, abs(squeeze(freqresp(Hh, freqs, 'Hz'))), 'HandleVisibility', 'off'); +end +set(gca, 'xscale', 'log'); set(gca, 'yscale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Amplitude') +legend('location', 'northeast'); diff --git a/matlab/matlab/h_inf_synthesis_complementary_filters.m b/matlab/matlab/h_inf_synthesis_complementary_filters.m new file mode 100644 index 0000000..f0ee8b5 --- /dev/null +++ b/matlab/matlab/h_inf_synthesis_complementary_filters.m @@ -0,0 +1,94 @@ +%% Clear Workspace and Close figures +clear; close all; clc; + +%% Intialize Laplace variable +s = zpk('s'); + +freqs = logspace(-1, 3, 1000); + +% Weights + + +omegab = 2*pi*9; +wH = (omegab)^2/(s + omegab*sqrt(1e-5))^2; +omegab = 2*pi*28; +wL = (s + omegab/(4.5)^(1/3))^3/(s*(1e-4)^(1/3) + omegab)^3; + +figure; +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(wL, freqs, 'Hz'))), '-', 'DisplayName', '$w_L$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(wH, freqs, 'Hz'))), '-', 'DisplayName', '$w_H$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +ylim([1e-3, 10]); +xticks([0.1, 1, 10, 100, 1000]); +legend('location', 'northeast'); + +% H-Infinity Synthesis +% We define the generalized plant $P$ on matlab. + +P = [0 wL; + wH -wH; + 1 0]; + + + +% And we do the $\mathcal{H}_\infty$ synthesis using the =hinfsyn= command. + +[Hl_hinf, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + + + +% #+RESULTS: +% #+begin_example +% [Hl_hinf, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); +% Test bounds: 0.0000 < gamma <= 1.7285 + +% gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f +% 1.729 4.1e+01 8.4e-12 1.8e-01 0.0e+00 0.0000 p +% 0.864 3.9e+01 -5.8e-02# 1.8e-01 0.0e+00 0.0000 f +% 1.296 4.0e+01 8.4e-12 1.8e-01 0.0e+00 0.0000 p +% 1.080 4.0e+01 8.5e-12 1.8e-01 0.0e+00 0.0000 p +% 0.972 3.9e+01 -4.2e-01# 1.8e-01 0.0e+00 0.0000 f +% 1.026 4.0e+01 8.5e-12 1.8e-01 0.0e+00 0.0000 p +% 0.999 3.9e+01 8.5e-12 1.8e-01 0.0e+00 0.0000 p +% 0.986 3.9e+01 -1.2e+00# 1.8e-01 0.0e+00 0.0000 f +% 0.993 3.9e+01 -8.2e+00# 1.8e-01 0.0e+00 0.0000 f +% 0.996 3.9e+01 8.5e-12 1.8e-01 0.0e+00 0.0000 p +% 0.994 3.9e+01 8.5e-12 1.8e-01 0.0e+00 0.0000 p +% 0.993 3.9e+01 -3.2e+01# 1.8e-01 0.0e+00 0.0000 f + +% Gamma value achieved: 0.9942 +% #+end_example + +% We then define the high pass filter $H_H = 1 - H_L$. The bode plot of both $H_L$ and $H_H$ is shown on figure [[fig:hinf_filters_results]]. + +Hh_hinf = 1 - Hl_hinf; + +% Obtained Complementary Filters + +% The obtained complementary filters are shown on figure [[fig:hinf_filters_results]]. + + +figure; +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(wL, freqs, 'Hz'))), '--', 'DisplayName', '$w_L$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(wH, freqs, 'Hz'))), '--', 'DisplayName', '$w_H$'); + +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(Hl_hinf, freqs, 'Hz'))), '-', 'DisplayName', '$H_L$ - $\mathcal{H}_\infty$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(Hh_hinf, freqs, 'Hz'))), '-', 'DisplayName', '$H_H$ - $\mathcal{H}_\infty$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +ylim([1e-3, 10]); +xticks([0.1, 1, 10, 100, 1000]); +legend('location', 'northeast'); diff --git a/matlab/matlab/optimal_comp_filters.m b/matlab/matlab/optimal_comp_filters.m new file mode 100644 index 0000000..51fa6fa --- /dev/null +++ b/matlab/matlab/optimal_comp_filters.m @@ -0,0 +1,432 @@ +%% Clear Workspace and Close figures +clear; close all; clc; + +%% Intialize Laplace variable +s = zpk('s'); + +freqs = logspace(-1, 3, 1000); + +% Noise of the sensors +% Let's define the noise characteristics of the two sensors by choosing $N_1$ and $N_2$: +% - Sensor 1 characterized by $N_1(s)$ has low noise at low frequency (for instance a geophone) +% - Sensor 2 characterized by $N_2(s)$ has low noise at high frequency (for instance an accelerometer) + + +omegac = 100*2*pi; G0 = 1e-5; Ginf = 1e-4; +N1 = (Ginf*s/omegac + G0)/(s/omegac + 1)/(1 + s/2/pi/100); + +omegac = 1*2*pi; G0 = 1e-3; Ginf = 1e-8; +N2 = ((sqrt(Ginf)*s/omegac + sqrt(G0))/(s/omegac + 1))^2/(1 + s/2/pi/4000)^2; + +figure; +hold on; +plot(freqs, abs(squeeze(freqresp(N1, freqs, 'Hz'))), '-', 'DisplayName', '$N_1$'); +plot(freqs, abs(squeeze(freqresp(N2, freqs, 'Hz'))), '-', 'DisplayName', '$N_2$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +legend('location', 'northeast'); + +% H-Two Synthesis +% As $\tilde{n}_1$ and $\tilde{n}_2$ are normalized white noise: $\Phi_{\tilde{n}_1}(\omega) = \Phi_{\tilde{n}_2}(\omega) = 1$ and we have: +% \[ \sigma_{\hat{x}} = \sqrt{\int_0^\infty |H_1 N_1|^2(\omega) + |H_2 N_2|^2(\omega) d\omega} = \left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2 \] +% Thus, the goal is to design $H_1(s)$ and $H_2(s)$ such that $H_1(s) + H_2(s) = 1$ and such that $\left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2$ is minimized. + +% For that, we use the $\mathcal{H}_2$ Synthesis. + +% We use the generalized plant architecture shown on figure [[fig:h_infinity_optimal_comp_filters]]. + +% #+name: fig:h_infinity_optimal_comp_filters +% #+caption: $\mathcal{H}_2$ Synthesis - Generalized plant used for the optimal generation of complementary filters +% [[file:figs-tikz/h_infinity_optimal_comp_filters.png]] + +% The transfer function from $[n_1, n_2]$ to $\hat{x}$ is: +% \[ \begin{bmatrix} N_1 H_1 \\ N_2 (1 - H_1) \end{bmatrix} \] +% If we define $H_2 = 1 - H_1$, we obtain: +% \[ \begin{bmatrix} N_1 H_1 \\ N_2 H_2 \end{bmatrix} \] + +% Thus, if we minimize the $\mathcal{H}_2$ norm of this transfer function, we minimize the RMS value of $\hat{x}$. + +% We define the generalized plant $P$ on matlab as shown on figure [[fig:h_infinity_optimal_comp_filters]]. + +P = [0 N2 1; + N1 -N2 0]; + + + +% And we do the $\mathcal{H}_2$ synthesis using the =h2syn= command. + +[H1, ~, gamma] = h2syn(P, 1, 1); + + + +% Finally, we define $H_2(s) = 1 - H_1(s)$. + +H2 = 1 - H1; + + + +% The complementary filters obtained are shown on figure [[fig:htwo_comp_filters]]. + +% The PSD of the noise of the individual sensor and of the super sensor are shown in Fig. [[fig:psd_sensors_htwo_synthesis]]. + +% The Cumulative Power Spectrum (CPS) is shown on Fig. [[fig:cps_h2_synthesis]]. + +% The obtained RMS value of the super sensor is lower than the RMS value of the individual sensors. + + +figure; +hold on; +plot(freqs, abs(squeeze(freqresp(H1, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +plot(freqs, abs(squeeze(freqresp(H2, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Magnitude'); +hold off; +xlim([freqs(1), freqs(end)]); +legend('location', 'northeast'); + + + +% #+NAME: fig:htwo_comp_filters +% #+CAPTION: Obtained complementary filters using the $\mathcal{H}_2$ Synthesis ([[./figs/htwo_comp_filters.png][png]], [[./figs/htwo_comp_filters.pdf][pdf]]) +% [[file:figs/htwo_comp_filters.png]] + + +PSD_S1 = abs(squeeze(freqresp(N1, freqs, 'Hz'))).^2; +PSD_S2 = abs(squeeze(freqresp(N2, freqs, 'Hz'))).^2; +PSD_H2 = abs(squeeze(freqresp(N1*H1, freqs, 'Hz'))).^2+abs(squeeze(freqresp(N2*H2, freqs, 'Hz'))).^2; + +figure; +hold on; +plot(freqs, PSD_S1, '-', 'DisplayName', '$\Phi_{\hat{x}_1}$'); +plot(freqs, PSD_S2, '-', 'DisplayName', '$\Phi_{\hat{x}_2}$'); +plot(freqs, PSD_H2, 'k-', 'DisplayName', '$\Phi_{\hat{x}_{\mathcal{H}_2}}$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Power Spectral Density'); +hold off; +xlim([freqs(1), freqs(end)]); +legend('location', 'northeast'); + + + +% #+NAME: fig:psd_sensors_htwo_synthesis +% #+CAPTION: Power Spectral Density of the estimated $\hat{x}$ using the two sensors alone and using the optimally fused signal ([[./figs/psd_sensors_htwo_synthesis.png][png]], [[./figs/psd_sensors_htwo_synthesis.pdf][pdf]]) +% [[file:figs/psd_sensors_htwo_synthesis.png]] + + +CPS_S1 = 1/pi*cumtrapz(2*pi*freqs, PSD_S1); +CPS_S2 = 1/pi*cumtrapz(2*pi*freqs, PSD_S2); +CPS_H2 = 1/pi*cumtrapz(2*pi*freqs, PSD_H2); + +figure; +hold on; +plot(freqs, CPS_S1, '-', 'DisplayName', sprintf('$\\sigma_{\\hat{x}_1} = %.1e$', sqrt(CPS_S1(end)))); +plot(freqs, CPS_S2, '-', 'DisplayName', sprintf('$\\sigma_{\\hat{x}_2} = %.1e$', sqrt(CPS_S2(end)))); +plot(freqs, CPS_H2, 'k-', 'DisplayName', sprintf('$\\sigma_{\\hat{x}_{\\mathcal{H}_2}} = %.1e$', sqrt(CPS_H2(end)))); +set(gca, 'YScale', 'log'); set(gca, 'XScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Cumulative Power Spectrum'); +hold off; +xlim([2e-1, freqs(end)]); +ylim([1e-10 1e-5]); +legend('location', 'southeast'); + +% H-Infinity Synthesis - method A +% Another objective that we may have is that the noise of the super sensor $n_{SS}$ is following the minimum of the noise of the two sensors $n_1$ and $n_2$: +% \[ \Gamma_{n_{ss}}(\omega) = \min(\Gamma_{n_1}(\omega),\ \Gamma_{n_2}(\omega)) \] + +% In order to obtain that ideal case, we need that the complementary filters be designed such that: +% \begin{align*} +% & |H_1(j\omega)| = 1 \text{ and } |H_2(j\omega)| = 0 \text{ at frequencies where } \Gamma_{n_1}(\omega) < \Gamma_{n_2}(\omega) \\ +% & |H_1(j\omega)| = 0 \text{ and } |H_2(j\omega)| = 1 \text{ at frequencies where } \Gamma_{n_1}(\omega) > \Gamma_{n_2}(\omega) +% \end{align*} + +% Which is indeed impossible in practice. + +% We could try to approach that with the $\mathcal{H}_\infty$ synthesis by using high order filters. + +% As shown on Fig. [[fig:noise_characteristics_sensors]], the frequency where the two sensors have the same noise level is around 9Hz. +% We will thus choose weighting functions such that the merging frequency is around 9Hz. + +% The weighting functions used as well as the obtained complementary filters are shown in Fig. [[fig:weights_comp_filters_Hinfa]]. + + +n = 5; w0 = 2*pi*10; G0 = 1/10; G1 = 10000; Gc = 1/2; +W1a = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n; + +n = 5; w0 = 2*pi*8; G0 = 1000; G1 = 0.1; Gc = 1/2; +W2a = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n; + +P = [W1a -W1a; + 0 W2a; + 1 0]; + + + +% And we do the $\mathcal{H}_\infty$ synthesis using the =hinfsyn= command. + +[H2a, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + + + +% #+RESULTS: +% #+begin_example +% [H2a, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); +% Resetting value of Gamma min based on D_11, D_12, D_21 terms + +% Test bounds: 0.1000 < gamma <= 10500.0000 + +% gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f +% 1.050e+04 2.1e+01 -3.0e-07 7.8e+00 -1.3e-15 0.0000 p +% 5.250e+03 2.1e+01 -1.5e-08 7.8e+00 -5.8e-14 0.0000 p +% 2.625e+03 2.1e+01 2.5e-10 7.8e+00 -3.7e-12 0.0000 p +% 1.313e+03 2.1e+01 -3.2e-11 7.8e+00 -7.3e-14 0.0000 p +% 656.344 2.1e+01 -2.2e-10 7.8e+00 -1.1e-15 0.0000 p +% 328.222 2.1e+01 -1.1e-10 7.8e+00 -1.2e-15 0.0000 p +% 164.161 2.1e+01 -2.4e-08 7.8e+00 -8.9e-16 0.0000 p +% 82.130 2.1e+01 2.0e-10 7.8e+00 -9.1e-31 0.0000 p +% 41.115 2.1e+01 -6.8e-09 7.8e+00 -4.1e-13 0.0000 p +% 20.608 2.1e+01 3.3e-10 7.8e+00 -1.4e-12 0.0000 p +% 10.354 2.1e+01 -9.8e-09 7.8e+00 -1.8e-15 0.0000 p +% 5.227 2.1e+01 -4.1e-09 7.8e+00 -2.5e-12 0.0000 p +% 2.663 2.1e+01 2.7e-10 7.8e+00 -4.0e-14 0.0000 p +% 1.382 2.1e+01 -3.2e+05# 7.8e+00 -3.5e-14 0.0000 f +% 2.023 2.1e+01 -5.0e-10 7.8e+00 0.0e+00 0.0000 p +% 1.702 2.1e+01 -2.4e+07# 7.8e+00 -1.6e-13 0.0000 f +% 1.862 2.1e+01 -6.0e+08# 7.8e+00 -1.0e-12 0.0000 f +% 1.942 2.1e+01 -2.8e-09 7.8e+00 -8.1e-14 0.0000 p +% 1.902 2.1e+01 -2.5e-09 7.8e+00 -1.1e-13 0.0000 p +% 1.882 2.1e+01 -9.3e-09 7.8e+00 -2.0e-15 0.0001 p +% 1.872 2.1e+01 -1.3e+09# 7.8e+00 -3.6e-22 0.0000 f +% 1.877 2.1e+01 -2.6e+09# 7.8e+00 -1.2e-13 0.0000 f +% 1.880 2.1e+01 -5.6e+09# 7.8e+00 -1.4e-13 0.0000 f +% 1.881 2.1e+01 -1.2e+10# 7.8e+00 -3.3e-12 0.0000 f +% 1.882 2.1e+01 -3.2e+10# 7.8e+00 -8.5e-14 0.0001 f + +% Gamma value achieved: 1.8824 +% #+end_example + + +H1a = 1 - H2a; + +figure; + +ax1 = subplot(2,1,1); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1a, freqs, 'Hz'))), '--', 'DisplayName', '$w_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2a, freqs, 'Hz'))), '--', 'DisplayName', '$w_2$'); + +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(H1a, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(H2a, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); + +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +ylabel('Magnitude'); +set(gca, 'XTickLabel',[]); +ylim([5e-4, 20]); +legend('location', 'northeast'); + +ax2 = subplot(2,1,2); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*phase(squeeze(freqresp(H1a, freqs, 'Hz'))), '-'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 180/pi*phase(squeeze(freqresp(H2a, freqs, 'Hz'))), '-'); +hold off; +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +set(gca, 'XScale', 'log'); +yticks([-360:90:360]); + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); +xticks([0.1, 1, 10, 100, 1000]); + + + +% #+NAME: fig:weights_comp_filters_Hinfa +% #+CAPTION: Weights and Complementary Fitlers obtained ([[./figs/weights_comp_filters_Hinfa.png][png]], [[./figs/weights_comp_filters_Hinfa.pdf][pdf]]) +% [[file:figs/weights_comp_filters_Hinfa.png]] + +% We then compute the Power Spectral Density as well as the Cumulative Power Spectrum. + + +PSD_Ha = abs(squeeze(freqresp(N1*H1a, freqs, 'Hz'))).^2+abs(squeeze(freqresp(N2*H2a, freqs, 'Hz'))).^2; +CPS_Ha = 1/pi*cumtrapz(2*pi*freqs, PSD_Ha); + +% H-Infinity Synthesis - method B +% We have that: +% \[ \Phi_{\hat{x}}(\omega) = \left|H_1(j\omega) N_1(j\omega)\right|^2 + \left|H_2(j\omega) N_2(j\omega)\right|^2 \] + +% Then, at frequencies where $|H_1(j\omega)| < |H_2(j\omega)|$ we would like that $|N_1(j\omega)| = 1$ and $|N_2(j\omega)| = 0$ as we discussed before. +% Then $|H_1 N_1|^2 + |H_2 N_2|^2 = |N_1|^2$. + +% We know that this is impossible in practice. A more realistic choice is to design $H_2(s)$ such that when $|N_2(j\omega)| > |N_1(j\omega)|$, we have that: +% \[ |H_2 N_2|^2 = \epsilon |H_1 N_1|^2 \] + +% Which is equivalent to have (by supposing $|H_1| \approx 1$): +% \[ |H_2| = \sqrt{\epsilon} \frac{|N_1|}{|N_2|} \] + +% And we have: +% \begin{align*} +% \Phi_{\hat{x}} &= \left|H_1 N_1\right|^2 + |H_2 N_2|^2 \\ +% &= (1 + \epsilon) \left| H_1 N_1 \right|^2 \\ +% &\approx \left|N_1\right|^2 +% \end{align*} + +% Similarly, we design $H_1(s)$ such that at frequencies where $|N_1| > |N_2|$: +% \[ |H_1| = \sqrt{\epsilon} \frac{|N_2|}{|N_1|} \] + +% For instance, is we take $\epsilon = 1$, then the PSD of $\hat{x}$ is increased by just by a factor $\sqrt{2}$ over the all frequencies from the idea case. + +% We use this as the weighting functions for the $\mathcal{H}_\infty$ synthesis of the complementary filters. + +% The weighting function and the obtained complementary filters are shown in Fig. [[fig:weights_comp_filters_Hinfb]]. + + +epsilon = 2; + +W1b = 1/epsilon*N1/N2; +W2b = 1/epsilon*N2/N1; + +W1b = W1b/(1 + s/2/pi/1000); % this is added so that it is proper + +P = [W1b -W1b; + 0 W2b; + 1 0]; + + + +% And we do the $\mathcal{H}_\infty$ synthesis using the =hinfsyn= command. + +[H2b, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); + + + +% #+RESULTS: +% #+begin_example +% [H2b, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on'); +% Test bounds: 0.0000 < gamma <= 32.8125 + +% gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f +% 32.812 1.8e+01 3.4e-10 6.3e+00 -2.9e-13 0.0000 p +% 16.406 1.8e+01 3.4e-10 6.3e+00 -1.2e-15 0.0000 p +% 8.203 1.8e+01 3.3e-10 6.3e+00 -2.6e-13 0.0000 p +% 4.102 1.8e+01 3.3e-10 6.3e+00 -2.1e-13 0.0000 p +% 2.051 1.7e+01 3.4e-10 6.3e+00 -7.2e-16 0.0000 p +% 1.025 1.6e+01 -1.3e+06# 6.3e+00 -8.3e-14 0.0000 f +% 1.538 1.7e+01 3.4e-10 6.3e+00 -2.0e-13 0.0000 p +% 1.282 1.7e+01 3.4e-10 6.3e+00 -7.9e-17 0.0000 p +% 1.154 1.7e+01 3.6e-10 6.3e+00 -1.8e-13 0.0000 p +% 1.089 1.7e+01 -3.4e+06# 6.3e+00 -1.7e-13 0.0000 f +% 1.122 1.7e+01 -1.0e+07# 6.3e+00 -3.2e-13 0.0000 f +% 1.138 1.7e+01 -1.3e+08# 6.3e+00 -1.8e-13 0.0000 f +% 1.146 1.7e+01 3.2e-10 6.3e+00 -3.0e-13 0.0000 p +% 1.142 1.7e+01 5.5e-10 6.3e+00 -2.8e-13 0.0000 p +% 1.140 1.7e+01 -1.5e-10 6.3e+00 -2.3e-13 0.0000 p +% 1.139 1.7e+01 -4.8e+08# 6.3e+00 -6.2e-14 0.0000 f +% 1.139 1.7e+01 1.3e-09 6.3e+00 -8.9e-17 0.0000 p + +% Gamma value achieved: 1.1390 +% #+end_example + + +H1b = 1 - H2b; + +figure; + +ax1 = subplot(2,1,1); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 1./abs(squeeze(freqresp(W1b, freqs, 'Hz'))), '--', 'DisplayName', '$w_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 1./abs(squeeze(freqresp(W2b, freqs, 'Hz'))), '--', 'DisplayName', '$w_2$'); + +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(H1b, freqs, 'Hz'))), '-', 'DisplayName', '$H_1$'); +set(gca,'ColorOrderIndex',2) +plot(freqs, abs(squeeze(freqresp(H2b, freqs, 'Hz'))), '-', 'DisplayName', '$H_2$'); + +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +ylabel('Magnitude'); +set(gca, 'XTickLabel',[]); +ylim([5e-4, 20]); +legend('location', 'northeast'); + +ax2 = subplot(2,1,2); +hold on; +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*phase(squeeze(freqresp(H1b, freqs, 'Hz'))), '-'); +set(gca,'ColorOrderIndex',2) +plot(freqs, 180/pi*phase(squeeze(freqresp(H2b, freqs, 'Hz'))), '-'); +hold off; +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +set(gca, 'XScale', 'log'); +yticks([-360:90:360]); + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); +xticks([0.1, 1, 10, 100, 1000]); + + + +% #+NAME: fig:weights_comp_filters_Hinfb +% #+CAPTION: Weights and Complementary Fitlers obtained ([[./figs/weights_comp_filters_Hinfb.png][png]], [[./figs/weights_comp_filters_Hinfb.pdf][pdf]]) +% [[file:figs/weights_comp_filters_Hinfb.png]] + + +PSD_Hb = abs(squeeze(freqresp(N1*H1b, freqs, 'Hz'))).^2+abs(squeeze(freqresp(N2*H2b, freqs, 'Hz'))).^2; +CPS_Hb = 1/pi*cumtrapz(2*pi*freqs, PSD_Hb); + + + +% #+name: tab:rms_results +% #+caption: RMS value of the estimation error when using the sensor individually and when using the two sensor merged using the optimal complementary filters +% #+RESULTS: +% | | rms value | +% |--------------+-----------| +% | Sensor 1 | 1.3e-03 | +% | Sensor 2 | 1.3e-03 | +% | H2 Fusion | 1.2e-04 | +% | H-Infinity a | 2.4e-04 | +% | H-Infinity b | 1.4e-04 | + + + +figure; +hold on; +plot(freqs, PSD_S1, '-', 'DisplayName', '$\Phi_{\hat{x}_1}$'); +plot(freqs, PSD_S2, '-', 'DisplayName', '$\Phi_{\hat{x}_2}$'); +plot(freqs, PSD_H2, 'k-', 'DisplayName', '$\Phi_{\hat{x}_{\mathcal{H}_2}}$'); +plot(freqs, PSD_Ha, 'k--', 'DisplayName', '$\Phi_{\hat{x}_{\mathcal{H}_\infty},a}$'); +plot(freqs, PSD_Hb, 'k-.', 'DisplayName', '$\Phi_{\hat{x}_{\mathcal{H}_\infty},b}$'); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Power Spectral Density'); +hold off; +xlim([freqs(1), freqs(end)]); +legend('location', 'northeast'); + + + +% #+NAME: fig:comparison_psd_noise +% #+CAPTION: Comparison of the obtained Power Spectral Density using the three methods ([[./figs/comparison_psd_noise.png][png]], [[./figs/comparison_psd_noise.pdf][pdf]]) +% [[file:figs/comparison_psd_noise.png]] + + +figure; +hold on; +plot(freqs, CPS_S1, '-', 'DisplayName', sprintf('$\\sigma_{\\hat{x}_1} = %.1e$', sqrt(CPS_S1(end)))); +plot(freqs, CPS_S2, '-', 'DisplayName', sprintf('$\\sigma_{\\hat{x}_2} = %.1e$', sqrt(CPS_S2(end)))); +plot(freqs, CPS_H2, 'k-', 'DisplayName', sprintf('$\\sigma_{\\hat{x}_{\\mathcal{H}_2}} = %.1e$', sqrt(CPS_H2(end)))); +plot(freqs, CPS_Ha, 'k--', 'DisplayName', sprintf('$\\sigma_{\\hat{x}_{\\mathcal{H}_\\infty, a}} = %.1e$', sqrt(CPS_Ha(end)))); +plot(freqs, CPS_Hb, 'k-.', 'DisplayName', sprintf('$\\sigma_{\\hat{x}_{\\mathcal{H}_\\infty, b}} = %.1e$', sqrt(CPS_Hb(end)))); +set(gca, 'YScale', 'log'); set(gca, 'XScale', 'log'); +xlabel('Frequency [Hz]'); ylabel('Cumulative Power Spectrum'); +hold off; +xlim([2e-1, freqs(end)]); +ylim([1e-10 1e-5]); +legend('location', 'southeast');
Table 1: RMS value of the estimation error when using the sensor individually and when using the two sensor merged using the optimal complementary filters