OFDM(Õý½»Æµ·Ö¸´ÓÃ)ÊÇÒ»ÖÖ¸ßЧµÄ¶àÔز¨µ÷ÖƼ¼Êõ£¬Æä×î´óµÄÌصãÊÇ´«ÊäËÙÂʸߣ¬¾ßÓкÜÇ¿µÄ¿¹Âë¼ä¸ÉÈźÍÐŵÀÑ¡ÔñÐÔË¥ÂäÄÜÁ¦¡£OFDM×î³õÓÃÓÚ¸ßËÙMODEM¡¢Êý×ÖÒƶ¯Í¨ÐźÍÎÞÏßµ÷ƵÐŵÀÉϵĿí´øÊý¾Ý´«Ê䣬Ëæ×ÅIEEE802.11aÐÒé¡¢BRAN(Broadband Radio Access Network)ºÍ¶àýÌåµÄ·¢Õ¹£¬Êý×ÖÒôƵ¹ã²¥(DAB)¡¢µØÃæÊý×ÖÊÓƵ¹ã²¥((DVB-T)ºÍ¸ßÇåÎú¶ÈµçÊÓ((HDTV)¶¼Ó¦ÓÃÁËOFDM¼¼Êõ¡£
OFDMÀûÓÃÀëÉ¢¸µÁ¢Ò¶·´±ä»»/ÀëÉ¢¸µÁ¢Ò¶±ä»»(IDFT/DFT)´úÌæ¶àÔز¨µ÷Öƺͽâµ÷£¬µ÷Öƽâµ÷µÄºËÐÄÊÇ¿ìËÙ¸µÁ¢Ò¶ÔËËãµ¥Ôª£¬ÔÚ½øÐкûµûÔËËãʱ£¬²»¿É±ÜÃâµÄÒª½øÐдóÁ¿µÄ³Ë·¨ÔËËã¡£ÓÉÓÚFPGA¾ßÓÐÇ¿´óµÄ²¢Ðд¦ÀíºÍ¼ÆËãÄÜÁ¦£¬ÒÔ¼°·á¸»µÄ´æ´¢×ÊÔ´ºÍÂß¼ÔËËã×ÊÔ´£¬Òò´ËÔÚFPGAÆ÷¼þÉÏʵÏÖOFDMµ÷Öƽâµ÷½á¹¹£¬¾ßÓкܺõÄͨÓÃÐÔºÍÁé»îÐÔ¡£
OFDMÓëϵͳ¿òͼ
OFDMµÄ¶à¸öÔز¨Ï໥Õý½»£¬Ò»¸öÐźÅÄÚ°üº¬ÕûÊý¸öÔز¨ÖÜÆÚ£¬Ã¿¸öÔز¨µÄƵµãºÍÏàÁÚÔز¨ÁãµãÖصþ£¬ÕâÖÖÔز¨¼äµÄ²¿·ÖÖصþÌá¸ßÁËƵ´øÀûÓÃÂÊ¡£OFDMÿ¸ö×ÓÐŵÀµÄƵÆ×¾ùΪsinx/xÐΣ¬¸÷×ÓÐŵÀƵÆ×Ï໥½»µþ£¬µ«ÔÚÿ¸ö×ÓÐŵÀÔØƵµÄλÖÃÀ´×ÔÆäËû×ÓÐŵÀµÄ¸ÉÈÅΪÁ㣬Èçͼ1Ëùʾ¡£
OFDMϵͳÈçͼ2Ëùʾ£¬OFDMϵͳµÄµ÷Öƺͽâµ÷·Ö±ðÓÉIFFTºÍFFTÍê³É¡£Ê×ÏȽ«´®ÐÐÊäÈëÊý¾Ýd0£¬d1...£¬d(N-1)±ä»»³É²¢ÐÐÊý¾Ý£¬½ÓÏÂÀ´½øÐбàÂëºÍÐÇ×ùͼӳÉ䣬µÃµ½ÆµÓòÊý¾Ý¡£¾¹ýIFFTºóÏ൱ÓÚµ÷ÖƵ½Õý½»µÄN¸öf0£¬f1£¬...£¬fN-1×ÓÔز¨£¬Íê³ÉÕý½»Æµ·Ö¸´Ó᣽ÓÏÂÀ´¼ÓÈëÑ»·Ç°×º£¬½øÐв¢/´®×ª»»£¬Êý/ģת»»£¬ÔÙµ÷ÖƵ½¸ßƵÔز¨ÉÏ·¢ËÍ¡£Èç¹ûÊÇ»ù´ø´«Ê䣬Ôò²»ÐèÒª½øÐÐÔز¨µ÷ÖÆ¡£
ÔÚ½ÓÊն˽øÐÐÏà·´µÄ²Ù×÷£¬Ê¹ÓÃN¸öÏàͬµÄ×ÓÔز¨½øÐÐN·½âµ÷£¬ÔÙ½«ÕâN·½âµ÷ÐźŲ¢´®Êä³ö£¬¸´ÏÖ·¢Ë͵ÄÔʼÐźš£¾¹ýFFT±ä»»ºóµÄÊý¾ÝÏ൱ÓÚ½«Ê±ÓòÊý¾ÝÔÙת»»³ÉƵÓòÊý¾Ý£¬¼´Íê³ÉÁËOFDMÐźŵĽâµ÷¡£
OFDMµ÷ÖÆÔÀíËäÈ»ÊÇÓÃN¸öÕý½»µÄÔز¨·Ö±ðµ÷ÖÆN·×ÓÐŵÀÂëÔªÐòÁУ¬µ«Êµ¼ÊÖкÜÄѶÀÁ¢²úÉúN¸öÕý½»µÄÔز¨¡£ËùÒÔOFDM¶à²ÉÓÃVLSI¼¼Êõ£¬ÓÃFFT´úÌæ¶àÔز¨µ÷Öƺͽâµ÷¡£µ±×ÓÐŵÀÊýÄ¿±È½Ï¶àµÄʱºò£¬²ÉÓÃFFT¿ÉÒÔ´ó´ó¼õÉÙϵͳµÄ¸´ÔӶȡ£¶øFPGAµÄ²¢Ðг˷¨Æ÷ºÍ¼Ó·¨Æ÷½á¹¹ÈÝÒ×Ó²¼þʵÏÖOFDMµÄºËÐÄÔËË㣬ÓÐЧµØÌá¸ßÁËOFDMµ÷Öƽâµ÷Ëٶȡ£
Èí¼þ·ÂÕæÓëÉè¼Æ
Ëæ×ÅFPGAºÍVLSIµÄ·¢Õ¹£¬´óÁ¿µÄEAB(ǶÈëʽÕóÁпé)¡¢LE(Âß¼µ¥Ôª)¡¢ÄÚǶ³Ë·¨Æ÷ºÍ¸ßËÙFIFO´æ´¢Æ÷´øÀ´ÁËOFDM/COFDMµÄʵÓû¯£¬ÎªOFDMÌṩÁËÓ²¼þÖ§³Ö¡£Èí¼þÉÏ¿ÉÒÔ²ÉÓÃMATLAB¡¢Ó²¼þÃèÊöÓïÑÔVHDL¡¢Quartus¢òµÈÈí¼þ½øÐзÂÕæÓëÉè¼Æ¡£
·ÂÕæ¹ý³ÌÖвÉÓÃÁËËæ»úÐźÅ×÷ΪÊäÈëÐźţ¬¾¹ý4QAM±àÂëÓ³Éäºó½øÐÐÔÙIFFTµ÷ÖÆ£¬È»ºó½øÈëÐŵÀ½øÐÐÊý¾Ý´«Ê䣬ÿ֡ÐźÅΪ512µã£»Í¬Ê±²ÉÓüòµ¥µÄ11µãÊý×ÖÀëÉ¢ÐŵÀ£¬ÆäֵΪ£º[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088]¡£
ÔÚÒ»°ãOFDMϵͳÖÐΪʹIFFTºÍFFTÇ°ºóµÄÐźŹ¦Âʱ£³Ö²»±ä£¬µ±N=2m(mΪÕýÕûÊý)ʱ£¬×÷Èç϶¨Ò壺
²ÉÓÃ16붨µãËã·¨£¬Õâ±ãÒâζ×ÅÒª¿¼ÂÇÒç³öÎÊÌâ¡£¶ÔÓÚ»ù-2 FFT£¬ÎªÁË·ÀÖ¹Òç³ö£¬¿ÉÒÔ²ÉÓÃÒÔÏ°취£º½«Ã¿Ò»¸öµûËãºóµÄÊý¾ÝÓÒÒÆ1bit£¬¼´Ï൱ÓÚ½«¸ÃÊý×ö³ý2´¦Àí¡£ÕâÑù£¬¼ÓÈë×ÜË¥¼õ±ÈÀýÒò×Ó£¬½«±ÈÀýÒò×Ó·ÖÉ¢µ½¸÷²½¼ÆËãÖС£ÕâÖÖÇé¿öÏ£¬Êä³ö²»ÊÇÔÀ´¶¨ÒåµÄÀëÉ¢¸µÀïÒ¶±ä»»£¬¶øÊÇËüµÄ¡£¶ø¶ÔÓÚ»ù-2 IFFT£¬Õâ¸ö±ÈÀýÒò×ÓÕýÊǹ«Ê½ÖÐÐèÒªµÄ£¬ËùÒÔFPGAʵÏÖµÄIFFT±ãÊÇ×îÖÕ½á¹û¡£
ͼ3ºÍͼ4·Ö±ðÊÇÐŵÀh(n)µÄFFTÖµ(µ¹Êý)ºÍµÚ¶þÖ¡ÊäÈëÊý¾Ý(µü´ú´ÎÊý10)¡£
µ÷Öƹý³ÌÖÐMatlabµÄIFFT½á¹ûͬFPGA½á¹û±È½ÏÈç±í1Ëùʾ¡£
±í1 IFFT½á¹û±È½Ï
¾¹ýFPGAµÄIFFTÔÚ·ÇÖ÷ƵÂʵãÉÏÓÐһЩСµÄÎó²î¡£ÕâÊÇÒòΪÔÚ¼ÆËãIFFTµÄʱºò£¬Í¬ÑùÒòΪÉáÈëÎÊÌ⣬ÔÚ±¾¸ÃΪÁãµÄµã²úÉúһЩ¼«Ð¡µÄÊýÖµ£¬´Ó¶øÔÚÐźÅÏÔʾʱ³öÏÖÕâЩë´Ì¡£
¶ÔÓÚ±í1£¬FFT·åÖµ½á¹ûµÄÎó²î£¬ÊÇÒòΪFPGA²ÉÓõÄÊÇ16bit¶¨µãËã·¨£¬ÔÚ³ÌÐòÖÐÓкܶàÉáλ´¦Àí´øÀ´µÄÎó²î¡£ÖÁÓÚSineÐźŷåÖµµÄ²»Í¬£¬ÄÇÊÇÒòΪ½«FPGAʵÏÖµÄIFFT½á¹ûÔÙ½øÐÐMatlabµÄfft()¼ÆË㣬¶øIFFTµÄÄÇЩë´Ì£¬±ØÈ»ÔÚʱÓòÉϲúÉúÓ°Ïì¡£
ÔÚFPGAʵÏÖʱ£¬Ò»°ãÊÇÔÚÍê³ÉIFFTÒԺ󽫽á¹ûÔÝʱ´æ·ÅÔÚRAMÖУ¬È»ºóÔÚ´ÓRAMÀï¶Á³öÊý¾Ýʱ£¬²ÉÈ¡²¿·ÖÖظ´¶ÁÈ¡µÄ·½Ê½£¬½«Ò»²¿·ÖÊý¾ÝÖظ´¸´ÖÆ£¬´Ó¶øÐγÉÑ»·Ç°×º¡£ÕâÑù¿ÉÒÔ¶ÔÁ¬ÐøµÄÊý¾ÝÁ÷½øÐб任´¦Àí£¬Âú×ãϵͳµÄʵʱÐÔÒªÇó¡£
½âµ÷¹ý³ÌÖÐMatlabµÄFFT½á¹ûͬFPGA½á¹û±È½ÏÈç±í2Ëùʾ¡£
±í2 FFT½á¹û±È½Ï
´Ó±í2¿ÉÒÔ¿´³ö£¬FPGAµÄ½á¹ûͬMatlabµÄ½á¹û»ù±¾Ïàͬ£¬Ö»ÊÇFFT·åÖµÓÐЩ²»Í¬¡£ÕâÒ²ÒòΪFPGA²ÉÓõÄÊÇ16bit¶¨µãËã·¨£¬ÔÚ³ÌÐòÖÐÓкܶàÉáλ´¦Àí¡£µ« FPGAµÄ½á¹ûÊǽ«ÔСÊýÐźűä³ÉÕûÊýºóÔÙ½øÐд¦ÀíµÄ£¬µ±×îºóÔÙת»»³ÉСÊýºó£¬½á¹û½«ÊÇÒ»Öµġ£
½áÓï
OFDMÐŵÀµ÷Öƽâµ÷µÄ¹Ø¼üÊÇÒ»¶ÔÀëÉ¢¸µÀïÒ¶±ä»»¡£³ÌÐò¿ÉÒÔÓÉVerilog HDLÄ£¿é½øÐÐÉè¼Æ£¬ÓÃÏàÓ¦µÄÄ£¿é·ÂÕæ³ÌÐòTESTBENCH½øÐй¦ÄÜ·ÂÕ棬¾¹ý²¨ÐηÂÕæºÍ½á¹ûÑéÖ¤ºó£¬½«³ÌÐòÏÂÔص½FPGAÖÐʵÏÖ¡£Í¬Ê±£¬Verilog HDL·ÂÕæ½á¹ûÓëMATLABÖк¯Êýfft()ÒÔ¼°ifft()µÄÊä³ö½á¹û½øÐбȽÏ(²ÉÓõÄÊǸ¡µãÔËËã)£¬µÃ³öͼÐκÍÊý¾ÝµÄ±È½Ï½á¹û¡£
½á¹û±íÃ÷£¬ÓÃFPGAʵÏÖOFDMÐŵÀµ÷Öƽâµ÷ÓëMATLAB·ÂÕæ½á¹û»ù±¾Ò»Ö£¬¾ßÓÐÁ¼ºÃµÄÐÔÄܺͽϸߵÄЧÂÊ¡£