1
OFDM µ÷ÖÆ /½âµ÷µÄ FPGA ʵÏÖ
*
ÍõÕ¼¼¨
ÕªÒª
±¾ÎÄÖ÷ÒªÌÖÂÛÁË OFDM µÄ FPGA ʵÏÖ, ÔÚ¸ßËÙÎÞÏßͨÐÅϵͳÖÐʵÏÖµ÷ÖÆ /½âµ÷ µÄÖØÒª·½°¸; ÖØµãÐðÊöÁË OFDM µ÷ÖÆ /½âµ÷ʵÏÖ·½·¨, ¼°ÔÚ FPGA ÖеÄÉè¼ÆÊµÏÖ¡£
¹Ø¼ü´Ê: OFDM
FPGA µ÷ÖÆ /½âµ÷
OFDM M odulation / Dem odulation w ith FPGA
W ang H ongq iang
A bstract
Th is paper m ainly discusses the FPGA realization for OFDM. An im portant proposal to re- alize dem o in high speed w ireless comnunication. Em phasis is placed on the realization o f OFDM dem o and the design of FPGA.
K ey w ords: OFDM
FPGA DEMO
Ò»¡¢Òý ÑÔ
OFDM ( Orthogona lFrequency D iv isionM ultiplex ing) ¼´Õý½»Æµ·Ö¸´Óü¼Êõ, ʵ¼ÊÉÏ OFDM ÊÇ MCM M ult-iC arrierM odu la tion, ¶àÔØ²¨µ÷ÖÆµÄÒ»ÖÖ¡£ÆäÖ÷Ҫ˼ÏëÊÇ: ½«ÐŵÀ·Ö³ÉÈô¸ÉÕý½» ×ÓÐŵÀ, ½«¸ßËÙÊý¾ÝÐźÅת»»³É²¢ÐеĵÍËÙ×ÓÊý¾ÝÁ÷, µ÷ÖÆµ½ÔÚÿ¸ö×ÓÐŵÀÉϽøÐд«Êä¡£Õý ½»ÐźſÉÒÔͨ¹ýÔÚ½ÓÊն˲ÉÓÃÏà¹Ø¼¼ÊõÀ´·Ö¿ª, ÕâÑù¿ÉÒÔ¼õÉÙ×ÓÐŵÀÖ®¼äµÄÏ໥¸ÉÈÅ IC I¡£
OFDM Éè¼ÆÓŵã: Ò»ÊÇÎÞÐèÏßÐÔ¾ùºâ, ´Ó¶ø±ÜÃâÁËÔëÉùµÄÔöÇ¿, ¶øÇÒÓÉÓÚËüµÄ·ûºÅ¼ä¸ô ºÜ³¤, ¶Ô¶à¾¶Ð§Ó¦¡¢Âö³åÔëÉùºÍ¿ìËÙË¥ÂäÓнÏÇ¿µÄµÖ¿¹ÄÜÁ¦; ¶þÊÇÓÉÓÚ×ÓÔØ²¨ÊÇÏ໥Õý½» µÄ, ËùÒÔÆµÆ×¿ÉÒÔ½»µþʹÓÃ, ƵÆ×ÀûÓÃÂÊ±ÈÆÕͨµÄ¶àÔØ²¨ÏµÍ³Òª¸ßµÃ¶à¡£ÎªÁË·ÀÖ¹¸÷×ÓÐŵÀ Ö®¼äµÄ´®ÈÅ, OFDM ÒªÇó×ÓÔØ²¨Ï໥Õý½»¡£ÀûÓÃÕâÖÖÕý½»ÐÔ, ½ÓÊÕ»úÄÜÕýÈ··ÖÀ뿪¸÷¸ö×ÓÊý ¾ÝÁ÷¡£ÎªÁ˱£Ö¤×ÓÔØ²¨Ö®¼äµÄÕý½»ÐÔ, OFDM ÒªÇó¸÷×ÓÔØ²¨ÔÚʱ¼ä¡¢ÆµÂÊÉϾù±£³Öͬ²½, ¶ø ÇÒÒªÇóÏàÁÚ×ÓÔØ²¨µÄƵÂʼä¸ôΪ OFDM µÄÓÐЧ·ûºÅʱ¼ä¼ä¸ô TµÄµ¹Êý¡£
*
×÷ÕßϵÄÏ ¾©ÐÜ躺´ï¿Æ¼¼ÓÐÏÞ¹«Ë¾¿ª·¢²¿ÖúÀí¹¤³Ìʦ
2
±¾ÎÄÊ×ÏȽéÉÜÁËÊý×Ö OFDM µ÷ÖÆ½âµ÷µÄÓŵã, ÒÔ¼°Ê¹Óà FPGA ʵÏֵĺô¦, È»ºóÌá³öÁË Éè¼Æ·½·¨, ²¢ÖصãÐðÊöÁ˵÷ÖÆ½âµ÷¹Ø¼ü¼¼Êõ¼° FPGAÈí¼þËã·¨¼°³ÌÐòÉè¼Æ¡£
¶þ¡¢Êµ
ÏÖ ·½ ·¨
OFDM ¼¼Êõ¶ÔÐźŽøÐÐ I/Q µ÷ÖÆ, ÔÚ IQ Á½Â·µ÷ÖÆÊ±Ã»Óзù¶ÈÉϵÄÊ§Õæ, ËùÒÔ¼«´óµÄ¿Ë ·þÁËÄ£Äâ I/Qµ÷ÖÆµÄ·ù¶ÈºÍÏàλ²»Æ½ºâÐÔ, ¿Ë·þÁËÄ£Äâ»ìƵµç··ÇÏßÐÔµÄÓ°Ïì¡£ÓÉÓÚ FPGA µÄ¿É±à³ÌÐÔ, ʹÓà FPGA ʵÏÖµ÷ÖÆ /½âµ÷¿ÉÒÔÌá¸ßϵͳµÄ¿É±à³ÌÐÔ¡£
ÔÚ FPGA ÖÐÔÚʹÓÃÆ½·½¸ùÉýÓàÏÒÂ˲¨Æ÷¶Ô»ù´øÐźÅÂ˲¨, ÒÔÏû³ý·ûºÅ¼ä¸ÉÈÅ, Â˲¨ºóµÄ IQÁ½Â·ÐźÅͨ¹ý³Ë·¨Æ÷Óë NCO ÖеÄÕýÏÒºÍÓàÏÒÖÐÆµÔز¨Ïà³ËÍê³É IQ µ÷ÖÆ, ×îºóÁ½Â·ÐźŠÏà¼Óͨ¹ý DA ת»»ËÍÈëÐŵÀ¡£½ÓÊÕʱ½«ÐŵÀÀ´µÄͨ¹ý ADת»»ºóµÄÐźÅͨ¹ýÓë NCO µÄÁ½Â·Õý ½»ÔØÆµÏà³Ë·Ö½â³ö IQ Á½Â·ÐźÅËÍÖÁ FPGA ½øÐÐ OFDM µ÷ÖÆÔÚ²¢´®×ª»»Êý¾ÝÊä³ö¡£ÊµÏÖ¿òͼ ·Ö±ðÈçͼ 1¡¢Í¼ 2ºÍͼ 3¡£
ͼ 1 »ùÓÚ OFDM ϵͳµÃµ÷ÖÆºÍ½âµ÷¿òͼ
ͼ 2 µ÷ÖÆÔÀí¿òͼ
ʾ OFDM ·ûºÅ¿í¶È, d i ( 0, 1,
3
ͼ 3 µ÷ÖÆÔÀí¿òͼ
ÿ¸ö OFDM ·ûºÅÊǶà¸ö¾¹ýµ÷ÖÆµÄ×ÓÔØ²¨ÐźÅÖ®ºÍ¡£Èç¹ûÓà N ±íʾ×ÓÐŵÀµÄ¸öÊý, T±í
, N-1) ÊÇ·ÖÅä¸øÃ¿¸ö×ÓÐŵÀµÄÊý¾Ý·ûºÅ, f c ÊÇÔØ²¨ÆµÂÊ,
i+ 0 5 Ôò´Ó t= ts ¿ªÊ¼µÄ OFDM ·ûºÅ¿ÉÒÔ±íʾΪ
N /2
) ( t- ts ) ] }, ts T
¾³£²ÉÓÃÈçÏÂËùʾµÄµÈЧ»ù´øÐźÅÀ´ÃèÊö OFDM µÄÊä³öÐźÅ:
i= -N /2
S ( t) = RE { d i+N /2 exp[ j2 (f c -
t
ts + T
( 1)
N /2 S ( t) =
i= -N /2
d i+N /2 exp[ j2 ( fc - i+ 0 5 T
) ( t - ts ) ], ts
t
ts + T
( 2)
ÆäÖÐ, ʽ ( 2) µÄʵ²¿ºÍÐ鲿·Ö±ð¶ÔÓ¦ÓÚ OFDM ·ûºÅµÄͬÏàºÍÕý½»·ÖÁ¿, ÔÚʵ¼Ê¹¤³ÌÖÐ ¿ÉÒÔ·Ö±ðÓëÏàÓ¦µÃ×ÓÔØ²¨µÄÓàÏÒ·ÖÁ¿ºÍÕýÏÒ·ÖÁ¿Ïà³Ë, ¹¹³É×îÖÕµÄ×ÓÐŵÀºÍºÏ³ÉµÄ OFDM ·ûºÅ¡£Éè¼ÆÊ±Ê¹Óà IDFTÀ´´úÌæ OFDM µ÷ÖÆ, ʹÓà DFT À´Íê³É OFDM µ÷ÖÆ, Ò²ÕýÊÇÓÉÓÚ¿ìËÙ DFTµÄÒýÈë, ²Åʹ OFDM ¼¼ÊõÔÚµ÷ÖÆ /½âµ÷·½ÃæÌåÏÖÁ˾޴óµÄÓÅÊÆ¡£
ÕâÖÖÕý½»ÐÔ»¹¿ÉÒÔ´ÓÆµÓò½Ç¶ÈÀ´Àí½â, ÔÚÿһ¸ö×ÓÔØ²¨ÆµÂʵÄ×î´ó´¦, ËùÓÐÆäËû×ÓÐŵÀ µÄƵÆ×ֵǡºÃΪÁã, Òò´ËÔÚÀíÏëÇé¿öÏÂ, ¿ÉÒÔ´Ó¶à¸öÏà»¥ÖØµþµÄ×ÓÐŵÀ·ûºÅƵÆ×ÖÐÌáÈ¡³ö¸÷ ¸ö×ÓÐŵÀ·ûºÅ, ¶ø²»»áÊܵ½ÆäËû×ÓÐŵÀµÄ¸ÉÈÅ¡£ OFDM ʵ¼ÊÉÏÊÇ¿ÉÒÔÂú×ãÎÞ·ûºÅ¼ä¸ÉÈŵÄÄÎ ¿üË¹ÌØ×¼Ôò, ÕâÖÖÏû³ý×ÓÐŵÀ¼ä¸ÉÈÅ ( IC I) µÄ·½·¨ÊÇͨ¹ýÔÚʱÓòÖÐʹÓþØÐÎÂö³å³ÉÐÎ, ÔÚ ÆµÓòÖÐÿ¸ö×ÓÔØ²¨µÄ×î´ó´¦²ÉÑùÀ´ÊµÏÖ¡£
½ÓÊÕ¶ËµÚ k · ×ÓÔØ ²¨ ÐÅ ºÅ µÄ ½â µ÷ ¹ý ³Ì Ϊ: ½« ½ÓÊÕ ÐÅ ºÅ Óë µÚ k · µÄ ½â µ÷ ÐÅ ºÅ ÔØ ²¨ exp( - j2 ( k - N /2) /T ) Ïà³Ë, È»ºó½«µÃµ½µÄ½á¹ûÔÚ OFDM ·ûºÅÄڵijÖÐøÊ±¼ä T ÄÚ½øÐлý 1 T i= -N /2 N /2 ·Ö, ¼´¿É»ñµÃÏàÓ¦µÃ·¢ËÍÐźŠd^ k, ¼´
d^ k =
d i+N / 2 exp( - j2 i - k + N /2 T
( t- ts ) )d t = dk
( 3)
¶Ô ( 2) ¶¨ÒåµÄ OFDM µÈЧ»ù´øÐźŲÉÓÃÀëɢĿ¸µÀïÒ¶±ä»» ( IDFT ) À´ÊµÏÖ, Áî ( 2) ÖÐµÄ ts = 0, t= kT /N( k= 0, 1, , N-1) ¿ÉµÃµ½:
N 1
S ( t) = s( kT /N ) =
=
d i exp( j 2 ki
), 0 N
k
N- 1
( 4)
S ( k ) ¼´Îª d i µÄ IDFTÔËËã¡£ÔÚ½ÓÊÕ¶Ë, ΪÁ˻ָ´³öÔʼµÄÊý¾Ý·ûºÅ d i ¿ÉÒÔ¶Ô S ( k ) ½øÐÐ
4
DFT±ä»», µÃµ½:
N- 1
d i =
k= 0
s( k) exp( - j2 ki ), 0 N
i
N- 1
( 5)
µ±Êý¾Ý³¤¶È½Ï´óʱ, ¿ÉÒÔÀûÓà FFT /IFFTÀ´´úÌæ IDFT /DFT Ìá¸ßËã·¨ËÙ¶È¡£Õý½»Æµ·Ö¸´ ÓòÉÓò¢Ðд«Ë͵ķ½Ê½, ½µµÍÁËÂëËÙÂÊ, ʹ·ûºÅʱ¼ä´ó´óÑÓ³¤, Ïà¶ÔʱÑÓ³¬¹ý·ûºÅÖÜÆÚËùÔì ³ÉµÄ·ûºÅ¼ä´®Èžͻá±ÜÃ⡣ΪÁ˸üÓÐЧµÄ¿¹·ûºÅ¼ä´®ÈÅ, ÔÚÿһ֡ÐźÅÖвåÈë±£»¤¼äµÄЊϢ, Ö»ÊǼÓÈëÑ»·Ç°×º¶ÔһС²¿·ÖÐźŽøÐÐÖØ¸´¡£
Èý¡¢¹Ø ¼ü ¼¼ Êõ µÄ ʵ ÏÖ
1 FIR Â˲¨Æ÷µÄÉè¼Æ
ÔÚ FPGA ÖÐʵÏÖÊý×ÖÖÐÆµ, ¾Í±ØÐëÍê³É¶à¸öÊý×ÖÂ˲¨Æ÷µÄÉè¼Æ¡£ÆäÖгÉÐÍÂ˲¨Æ÷¡¢µÍͨ Â˲¨Æ÷µÈ¶¼½«²ÉÓÃÓÐÏÞ³å»÷ÏìÓ¦Â˲¨Æ÷, ÕâÊÇÒòΪºÍ IIRÂ˲¨Æ÷Ïà±È FIRÊý×ÖÂ˲¨Æ÷Óкܴó µÄÓÅÔ½ÐÔ¡£Ê×ÏÈ, FIR Â˲¨Æ÷µÄµ¥Î»³å»÷ÏìӦΪÓÐÏÞ³¤¶È, ûÓм«µã, ϵͳ±Ø¶¨Îȶ¨, ¶ø IIR Â˲¨Æ÷²ÉÓõݹé½á¹¹, ¼«µãÔÚµ¥Î»Ô²ÄÚ²ÅÎȶ¨, ÔÚÓÐÏÞ¾«¶ÈÇé¿öÏ¿ÉÄÜ»áÒýÆðÕñµ´¡£Æä ´Î, FIRÂ˲¨Æ÷¿ÉÒÔʵÏÖÏßÐÔÏàλ, ¶ø IIRÂ˲¨Æ÷µÄÏàλÊÇ·ÇÏßÐԵġ£
M
FIRÂ˲¨Æ÷µÄÊýѧ±íʾʽΪ y ( n) =
m= 1
h (m ) x ( n - m ), ´ÓʽÖпÉÒÔ¿´³öΪÁËÍê³É FIRÂË
²¨, ¾ÍҪʵÏÖ´óÁ¿µÄ³ËºÍÀÛ¼Ó (MAC ) ²Ù×÷, Õâ¶Ô F IR Â˲¨Æ÷µÄÉè¼ÆÌá³öÁ˺ܸߵÄÒªÇó¡£ ÔÚÉè¼ÆÖÐÎÒÃÇʹÓõͼÊǹ̶¨ÏµÊýÂ˲¨Æ÷, ¶ÔÓڹ̶¨ÏµÊýµÄ³Ë·¨¿ÉÒÔÓ÷ֲ¼Ê½Ëã·¨½á¹¹»òÕß Ê¹Óà CSDÂëʵÏÖ¡£ ·Ö²¼Ê½ÔËËã·½·¨
ÔÚ·Ö²¼Ê½ÔËËãµÄÔÀíºÜ¼òµ¥, ÉÏÎÄÖеľí»ý¿ÉÒÔÓÃʽ ( 6) ±íʾ:
M
y ( n) =
m= 1
AmXm ( n ) ( 6)
ÆäÖÐ y ( n ) ±íʾ FIRÂ˲¨Æ÷µÚ n ¸öʱ¿ÌµÄÊä³ö, Xm ΪµÚ n¸öʱ¿ÌµÄµÚ k ¸öÊäÈë±äÁ¿, Am Ϊ
B -1
FIRÂ˲¨Æ÷µÄϵÊý¡£Xm ʹÓöþ½øÖƲ¹Âë±íʾΪ Xm = - Xm 0 +
i= 1
Xmi 2 , ÆäÖÐ B ΪÊäÈë±äÁ¿µÄ M
B- 1
-i
×Ö³¤¡£½« Xm µÄ¶þ½øÖƱíʾ´øÈë y ( n ) µÄ¾í»ýʽÖпÉÒԵõ½Ê½ ( 7):
M
B- 1
M
y =
m= 1
Am [ - Xm0 +
i= 1
Xm i 2 ] = - -i
Xm0
m= 1
Am +
m = 1 i= 1 0
Xm i Am 2
-i
( 7)
½«ÇóºÍ·ûºÅÕ¹¿ªµÃµ½:
y = - [X 10 A 1 + X 20 A 2 + + [X 11 A 1 + X 21 A 2 +
+ XM 0 AM ] + XM 1
AM ]
2
- 1
2
( 8)
- (B- 1)
+ [X 1( B- 1) A 1 + X 2( B- 1) A 2 + + XM ( B- 1) AM ] 2
´Óʽ ( 8) ÖпÉÒÔ¿´³ö, FIR ʵÏÖʱµÄ³ËºÍÀÛ¼Ó (MAC) ²Ù×÷ת»¯ÎªÎ»Óë¡¢¼Ó¼õºÍÒÆÎ» ²Ù×÷¡£·Ö²¼Ê½Ëã·¨µÄÖ÷ÒªÌØµãÊÇÇÉÃîµØÀûÓà SRAM ²éÕÒ±í½«¹Ì¶¨ÏµÊýµÄ MAC ÔËËãת»¯Îª²é ±í²Ù×÷, ÆäÔËËãËٶȲ»ËæÏµÊýºÍÊäÈëÊý¾Ý¾«¶ÈµÄÔö¼Ó¶ø½µµÍ, ¶øÇÒÏà¶ÔÖ±½ÓʵÏֳ˷¨Æ÷ºÍϵ
Ïà¹ØÍÆ¼ö£º