ÕªÒª ½áºÏÈí¼þÎÞÏßµçµÄ˼Ï룬Ìá³öÁËÒ»ÖÖ»ùÓÚ¸ßËÙ´«Êä¼¼ÊõµÄOFDMϵͳÉè¼Æ·½°¸£¬°üÀ¨Ó²¼þ¹¹³ÉºÍϵͳÉè¼ÆµÄʵÏÖ£»¹¹½¨ÁËÒ»¸öͨÓÃÓ²¼þƽ̨£¬ÔÚ¸Ãƽ̨ÉÏ¿ÉʵÏÖ¸ßËÙ¶àÔز¨ºÍ³£¹æµ¥Ôز¨µ÷Öƽâµ÷¡£
¹Ø¼ü´Ê Õý½»Æµ·Ö¸´ÓÃ(OFDM) DSP FPGA DDS DDC
Òý ÑÔ
Èí¼þÎÞÏßµç(Software Radios)ÊÇÒ»ÖÖеÄÎÞÏßµçͨÐŵÄÌåϵ½á¹¹¡£¾ßÌåÀ´Ëµ£¬Èí¼þÎÞÏßµçÊÇÒÔî®±à³ÌµÄDSP»òCPUΪÖÐÐÄ£¬½«Ä£¿é»¯¡¢±ê×¼»¯µÄÓ²¼þµ¥ÔªÓÃ×ÜÏß·½Ê½Á¬½ÓÆðÀ´£¬¹¹³ÉͨÓõÄÓ²¼þƽ̨£¬²¢Í¨¹ýÈí¼þ¼ÓÔØÀ´ÊµÏÖ¸÷ÖÖÎÞÏßͨÐŹ¦ÄܵĿª·ÅʽÌåϵ½á¹¹¡£
Ëæ×ÅͨÐŵķ¢Õ¹£®¸ßËÙ´«Êä¼¼ÊõÒýÆð¹ã·ºµÄÑо¿ºÍ×¢Òâ¡£µ½Ä¿Ç°ÎªÖ¹£¬ÎÞÏß´«ÊäµÄËÙÂÊÊÜÏÞÓÚÓ²¼þÌõ¼þ¡£ÒªÊµÏÖ¸ßËÙ´«Ê䣬¾Í±ØÐë½áºÏ¸÷ÖÖоƬµÄÌص㣬ʹӲ¼þƽ̨¾ßÓмòµ¥¡¢Í¨ÓõÄÌص㣬Òò´ËÐèÒª¿ª·¢Ò»¸öͨÓÃƽ̨¡£
DSPÔÚ¿ØÖƺÍÐźŴ¦Àí·½ÃæÓÐÓÅÊÆ£¬»ù´øÐźŵĵ÷ÖÆ¡¢½âµ÷¼°FFT£¯IFFTµÈÔËËã¿ÉÒÔÓÉDSPʵÏÖ£¬µ«ÊÇÔÚʵʱ´¦Àí·½ÃæÊܵ½ÏÖÓÐDSP´¦ÀíËٶȺÍÄÜÁ¦µÄÖÆÔ¼¡£¶ÔÓÚÐźÅÍ»·¢¼ì²âÕâÖÖÔËËãÁ¿´óµÄ´¦Àí£¬ÓÈÆäÊÇÔÚ¸ßËÙ´«Êäʱ£¬Í¨³£ÒªÊ¹ÓÃFPGA¡£FPGAÌØÓеÄÁ÷Ë®ÏßÉè¼Æ½á¹¹¿ÉÒÔʹǰºó¼¶ÔÚʱ¼äÉϲ¢·¢£¬´ïµ½¸ßЧ¡¢¸ßËÙ¡£ÎªÁ˼õСDSPÔÚÐźŴ¦ÀíÉϵÄѹÁ¦£®Í¬Ê±Âú×ã¸ßËÙÒªÇ󣬲ÉÓÃרÓÃÊý×Ö±äƵоƬÀ´ÊµÏÖÊý×ÖÉÏϱäƵ¡£
ΪÁ˺ÍÈí¼þÎÞÏßµçµÄ˼Ïëͳһ£¬ÔÚϵͳÉè¼Æʱ¿¼ÂǼæÈݵ¥Ôز¨µ÷Öƽâµ÷·½Ê½£¬²ÉÓÃDSP¡¢FPGA¡¢ÉÏϱäƵÆ÷µÄ·½°¸£¬²»Ê¹ÓÃרÓõ÷Öƽâµ÷оƬ¡£
1 OFDMÔÀíºÍ»ù´øÐźÅÄ£ÐÍ
Õý½»Æµ·Ö¸´ÓÃOFDM(Orthogonal Frequency Divi-sion Multiplex)ÊÇÒ»ÖÖ¶àÔز¨µ÷ÖÆ·½Ê½£¬Í¨¹ý¼õСºÍÏû³ýÂë¼ä´®ÈŵÄÓ°ÏìÀ´¿Ë·þÐŵÀµÄƵÂÊÑ¡ÔñÐÔË¥Âä¡£ËüµÄ»ù±¾ÔÀíÊǽ«ÐźŷָîΪN¸ö×ÓÐźţ¬È»ºóÓÃN¸ö×ÓÐźŷֱðµ÷ÖÆN¸öÏ໥Õý½»µÄ×ÓÔز¨¡£ÓÉÓÚ×ÓÔز¨µÄƵÆ×Ï໥Öصþ£¬Òò¶ø¿ÉÒԵõ½½Ï¸ßµÄƵÆ×ЧÂÊ¡£½ü¼¸ÄêOFDMÔÚÎÞÏßͨÐÅÁìÓòµÃµ½Á˹㷺µÄÓ¦Óá£
µ±µ÷ÖÆÐźÅͨ¹ýÎÞÏßÐŵÀµ½´ï½ÓÊÕ¶Ëʱ£¬ÓÉÓÚÐŵÀ¶à¾¶Ð§Ó¦´øÀ´µÄÂëÎÊ´®ÈŵÄ×÷Óã¬×ÓÔز¨Ö®¼ä²»ÔÙ±£³ÖÁ¼ºÃµÄÕý½»×´Ì¬£¬Òò¶ø·¢ËÍÇ°ÐèÒªÔÚÂëÔª¼ä²åÈë±£»¤¼ä¸ô¡£Èç¹û±£»¤¼ä¸ô´óÓÚ×î´óʱÑÓÀ©Õ¹£¬ÔòËùÓÐʱÑÓСÓÚ±£»¤¼ä¸ôµÄ¶à¾¶ÐźŽ«²»»áÑÓÉìµ½ÏÂÒ»¸öÂëÔªÆڼ䣬´Ó¶øÓÐЧµØÏû³ýÁËÂë¼ä´®ÈÅ¡£µ±²ÉÓõ¥Ôز¨µ÷ÖÆʱ£¬Îª¼õСISIµÄÓ°Ï죬ÐèÒª²ÉÓö༶¾ùºâÆ÷£¬Õâ»áÓöµ½ÊÕÁ²ºÍ¸´ÔÓÐԸߵÈÎÊÌâ¡£
ͼ1ÊÇOFDM»ù´øÐźŴ¦ÀíÔÀíͼ¡£ÆäÖУ¬Í¼1(a)ÊÇ·¢Éä»ú¹¤×÷ÔÀí£¬Í¼l(b)ÊǽÓÊÕ»ú¹¤×÷ÔÀí¡£
ÔÚ·¢Éä¶Ë£¬Ê×ÏȶԱÈÌØÁ÷½øÐÐQAM»òQPSKµ÷ÖÆ£¬È»ºóÒÀ´Î¾¹ý´®²¢±ä»»ºÍIFFT±ä»»£¬ÔÙ½«²¢ÐÐÊý¾Ýת»¯Îª´®ÐÐÊý¾Ý£¬¼ÓÉϱ£»¤¼ä¸ô(ÓֳƓѻ·Ç°×º”)£¬ÐγÉ0FDMÂëÔª¡£ÔÚ×é֡ʱ£¬Ðë¼ÓÈëͬ²½ÐòÁкÍÐŵÀ¹À¼ÆÐòÁУ¬ÒÔ±ã½ÓÊն˽øÐÐÍ»·¢Óܲ⡢ͬ²½ºÍÐŵÀ¹À¼Æ£¬×îºóÊä³öÕý½»µÄ»ù´øÐźš£
µ±½ÓÊÕ»ú¼ì²âµ½Ðźŵ½´ïʱ£¬Ê×ÏȽøÐÐͬ²½ºÍÐŵÀ¹À¼Æ¡£µ±Íê³ÉʱÎÊͬ²½¡¢Ð¡Êý±¶ÆµÆ«¹À¼ÆºÍ¾ÀÕýºó£¬¾¹ýFFT±ä»»£¬½øÐÐÕûÊý±¶ÆµÆ«¹À¼ÆºÍ¾ÀÕý£¬´ËʱµÃµ½µÄÊý¾ÝÊÇQAM»òQPSKµÄÒѵ÷Êý¾Ý¡£¶Ô¸ÃÊý¾Ý½øÐÐÏàÓ¦µÄ½âµ÷£¬¾Í¿ÉµÃµ½±ÈÌØÁ÷¡£
ÕâÀï½öÌÖÂÛÈí¼þ¹¦ÄÜÄ£¿é£¬¾ßÌåËã·¨²»ÔÚ´ËÉæ¼°¡£
2 Ó²¼þ½á¹¹
OFDMµ÷Öƽâµ÷Óë³£¹æµ÷Öƽâµ÷Ïà±È£¬ËùÐèµÄÔËËãÁ¿´ó£¬ÓÈÆäÊǵ±ÏµÍ³Ñ¡ÓõÄ×ÓÔز¨¸öÊý¶àʱ£¬½öÔÚ·¢Éä¶ËµÄIFFT±ä»»ºÍ½ÓÊն˵ÄFFT±ä»»ËùÐèµÄʱ¼ä¾ÍºÜ³¤¡£Í¨³£Ê¹ÓÃFPGAºÍ¸ßËÙµÄDSP½â¾ö¸ÃÎÊÌâ¡£ÓÉÓÚÔÚ½ÓÊն˻¹ÒªÍê³ÉÐźÅÍ»·¢¼ì²â¡¢Í¬²½ºÍƵƫУÕýµÈÊý×ÖÐźŴ¦Àí£¬ËùÒÔ½ÓÊն˶ÔʵʱÐÔÒªÇó¸ü¸ß¡£ÔÚ¸ÃϵͳÖУ¬Ê¹ÓÃFPGAÍê³ÉÐźŵÄÍ»·¢¼ì²âºÍ¶¨Ê±£¬DSPÍê³ÉFFT/IFFT±ä»»ºÍQAM/QPSKµ÷Öƽâµ÷¡£
±¾ÏµÍ³·áÒªÓÉ4²¿·Ö×é³É£ºDSP¡¢FPGA¡¢Õý½»Êý×ÖÉϱäƵÆ÷(Quadrature Digital Upconverter)¡¢Õý½»Êý×ÖϱäƵÆ÷(Quadrature Digital Downconverter)¡£ÏµÍ³Ó²¼þ½á¹¹Èçͼ2Ëùʾ¡£Í¼ÖУ¬D±íʾÊý¾Ý×ÜÏߣ¬A±íʾµØÖ·×ÜÏߣ¬C±íʾ¿ØÖÆ×ÜÏߣ¬L±íʾÁ´Â·¿ÚÊý¾ÝÏߣ¬×ÖĸºóÃæµÄÊý×Ö±íʾ×ÜÏßµÄλÊý¡£50 MHz¾§ÕñΪÁ½Æ¬DSP¼°FPGAÌṩʱÖÓÐźţ¬32£®768 MHz¸ßÎȶ¨¶ÈÆ·ÕñΪAD9857ºÍAD6654Ìṩ¸ßÖÊ×îµÄʱÖÓÐźš£¸´Î»Ð¾Æ¬MAX6708¿ØÖÆDSP¡¢FPGA¡¢AD9857¡¢AD6654ºÍSTl6C550µÄ¸´Î»¡£
DSPÍê³ÉQAM»òQPSKµÄµ÷Öƽâµ÷ºÍFFT£¯IFFT±ä»»¡£ÏµÍ³ËùʹÓõÄDSPÊÇADI¹«Ë¾µÄTiger sharcTSlOl¡£¸ÃDSP¾ßÓÐÒÔÏÂÌØÐÔ£º×î¸ß¹¤×÷ƵÂÊΪ300MHz£¬3£®3nsÖ¸ÁîÖÜÆÚ£»6MBƬÄÚSRAM£»2¸ö¼ÆËãÄ£¿é£¬Ã¿¸öÄ£¿é¶¼ÓÐ1¸öALU¡¢1¸ö³Ë·¨Æ÷¡¢1¸öÒÆλ¼Ä´æÆ÷ºÍ1¸ö¼Ä´æÆ÷×飻2¸öÕûÐÍALU£¬ÓÃÀ´ÌṩѰַºÍÖ¸Õë²Ù×÷£»14¸öDMA¿ØÖÆÆ÷£»1149£®1 IEEE JTAG¿Ú¡£¶ÔÓÚ0FDM»ù´ø´¦Àí£¬¸ÃDSP×î´óµÄÌصãÊÇ£º½øÐÐ256µãµÄ¸´ÊýFFT±ä»»£¬½öÐè3£®67μs¡£
Õý½»Êý×ÖÉϱäƵÆ÷²ÉÓÃADI¹«Ë¾µÄAD9857¡£AD9857×î¸ß¹¤×÷ƵÂÊΪ200 MHz£¬Êä³öÖÐƵƵÂÊ·¶Î§Îª0¡«80 MHz£»ÄÚ²¿¼¯³É°ë´øÂ˲¨Æ÷¡¢CIC(CascadedIntegrator Cornb)Â˲¨Æ÷£¬·´SINCÂ˲¨Æ÷ºÍ¸ßËÙµÄ14λÊý£¯Ä£×ª»»Æ÷£¬ÆäºËÐÄÊÇÒ»¸öÏàλÁ¬ÐøµÄÖ±½ÓÊý×ÖƵÂʺϳÉÆ÷DDS(Direct Digital Synthesizcr)¡£Ôڸ÷½°¸ÖУ¬AD9857¹¤×÷ÔÚÕý½»µ÷ÖÆģʽ£¬Æä32λƵÂÊ¿ØÖÆ×ÖʹÊä³öƵÂʵÄ×î¸ß¾«È·¶ÈΪ£ºSYSCLK(ϵͳʱÖÓ)³ýÒÔ2¡£
Õý½»Êý×ÖϱäƵÆ÷²ÉÓÃADI¹«Ë¾µÄAD6654¡£AD6654ÄÚ²¿¼¯³ÉÁËÒ»¸ö14λ¡¢92£®1 6MspsµÄÄ££¯Êýת»»Æ÷ºÍ4/6ͨµÀµÄÊý×ÖϱäƵÆ÷¡£Ã¿¸öͨµÀ¿É¶ÀÁ¢ÅäÖá£Êý×ÖϱäƵÄÚ²¿¼¯³ÉÁËƵÂʱ任Æ÷¡¢¿É±à³Ì¼¶ÁªÊá×´Â˲¨Æ÷(CIC)¡¢2¸öÂ˲¨Æ÷×éºÍÊý×Ö×Ô¶¯ÔöÒæ¿ØÖÆ¡£ÆäÖУºÆµÂʱ任ÊÇͨ¹ý32λÊý¿ØÕñµ´Æ÷ʵÏֵģ»CICʵÏÖ1¡«32±¶µÄ³éÈ¡£»2¸öÂ˲¨Æ÷×é°üÀ¨FIRÂ˲¨Æ÷ºÍ2±¶³éÈ¡µÄ°ë´øÂ˲¨Æ÷¡£ÊäÈëµÄÖÐƵģÄâÐźž¹ýADCºÍƵÂʱ任ºó£¬Ê¹ÓÃÂ˲¨Æ÷×é½øÐÐÂ˲¨ºÍ³éÈ¡£¬×îºó²¢ÐÐÊä³öÕý½»»ù´øÊý×ÖÐźţ¬ÊäÈëÖÐƵÐźÅƵÂÊ×î¸ß¿Éµ½200MHz£¬´Ëʱ£¬Ê¹ÓÃÇ·²ÉÑù¼¼Êõ¡£
3 ²ÎÊýÉè¼Æ¼°µ÷ÖÆÐźŲ¨ÐÎ
×÷Õß²ÉÓÃPCB°Ë²ã°åÉè¼Æ£¬ÊµÏÖÁ˸ÃϵͳµÄÓ²¼þƽ̨£¬²¢ÔÚ´Ëƽ̨»ù´¡ÉÏʵÏÖÁ˸ßËÙOFDM´«ÊäºÍ³£¹æµ¥Ôز¨µ÷Öƽâµ÷£¬ÐγÉÁËÒ»¸öͨÓÿí´ø¸ßËÙµ÷Öƽâµ÷ƽ̨¡£Éè¼ÆµÄÄ¿µÄÊÇÒªÔÚ¸Ãƽ̨ÉÏʵÏÖÏÖÓеÄÈ«²¿ÎïÀí²ãµÄËã·¨£¬ÌرðÊÇʵÏÖʵʱOFDM´«Êäϵͳ¡£¶ÔOFDMϵͳÌá³öµÄÖ¸±êÒªÇóÈç±ílËùÁС£
ͼ3¸ø³öÁË32·×ÓÔز¨OFDMÔÚÉÏÊö²ÎÊýÉè¼ÆϵÄÒѵ÷ÐźŲ¨ÐÎ(¼ûͼ3(a))¼°Æ书ÂÊÆ×(¼ûͼ3(b))¡£Í¼ÖÐ×ÓÔز¨µ÷ÖÆ·½Ê½ÎªQPSK£¬ÂëأƵÂÊΪÖÐƵƵÂÊ36£®864ÁíÍ⣬Êý×Öµ÷ÖÆ·½Ê½µÄÂëԪƵÂÊ¿É´ï2MHz(¼´¶ÔÓÚËÄÏàµ÷ÖÆ£¬±ÈÌØËÙÂÊ¿É´ï4Mbp£»¶ÔÓÚ32QAMµ÷ÖÆ£¬±ÈÌØËÙÂÊ¿É´ï10 Mbps)£¬ÇÒ×ÓÔز¨µ÷ÖÆ·½Ê½¡¢±ÈÌØ(»òÂëÔª)ËÙÂÊ¡¢Êä³öÖÐƵ¾ù¿Éµ÷¡£
4 ½á ÂÛ
±¾ÎÄËùÌá³öµÄ·½°¸ÓÐÒÔÏÂÌص㣺
¢Ù»ùÓÚË«DSPµÄ½á¹¹£®¿É¹¤×÷ÔÚË«¹¤·½Ê½£¬Í¬Ê±Íê³ÉÐźŵķ¢ÉäºÍ½ÓÊÕ£»¹¤×÷ÔÚTDMA·½Ê½Ï»ò°ëË«¹¤Ê±£¬DSP¿Éͨ¹ýLink¿Ú½øÐиßËÙͨÐÅ£¬ÓÐÀûÓÚ²¢Ðд¦Àí£¬ÒÔÌá¸ß´«ÊäËÙÂÊ¡£DSPÀûÓÚ»ù´øÐźŵÄʵʱ´¦Àí£¬¿ÉÒÔʵÏÖ¸ßËÙµ÷Öƽâµ÷¡£
¢Ú±äƵÆ÷¾ßÓÐƵÂÊ·Ö±æÂʸߡ¢ÆµÂʱ仯Ëٶȿ졢ÏàλÁ¬Ðø¡¢Ò×ÓÚÊý×Ö¿ØÖƵÈÌص㡣²ÉÓÃDSPºÍ±äƵÆ÷µÄ·½°¸£¬²»½ö¿ÉÒÔʵÏÖÄ£Äâµ÷Öƽâµ÷£¬¶øÇÒ¿ÉÒÔʵÏÖ¸÷ÖÖÊý×Öµ÷Öƽâµ÷£¬¼æÈÝ´«Í³µ÷Öƽâµ÷ºÍÐÂÐ͵÷Öƽâµ÷·½Ê½¡£MHz£¬´ø¿íÊÇ2£®048 MHz¡£Í¼4¸ø³öÁËÒ»ÖÖµ¥Ôز¨µ÷ÖÆÖÆʽ(ÒÔπ£¯4-QPSKΪÀý)µÄʱÓò²¨ÐÎ(¼ûͼ4(a))¼°Æ书ÂÊÆ×(¼ûͼ4(b))¡£
¢ÛÔÚDSPºÍ±äƵÆ÷Ö®¼äʹÓÃFPGA£¬ÊµÏÖÍ»·¢ÐźŵÄͬ²½²¶»ñ£¬¿ÉÒÔ·Öµ£DSPµÄ²¿·ÖÈÎÎñ£¬´Ó¶øÌá¸ßϵͳµÄʵʱÐÔ¡£
×÷ÕߣºÎ÷°²µç×ӿƼ¼´óѧ ÁõÅô ÕÔÁÖ¾¸ ÂÀ׿ À´Ô´£ºµ¥Æ¬»ú¼°Ç¶ÈëʽϵͳӦÓÃ