Abstract:
A boundary tracking method applied in an OFDM receiver includes generating a plurality of demodulated signal sets corresponding to part of sub-carriers of a packet according to different boundaries with different positions located at the packet, determining the most precise one of the boundaries according to a plurality of inter-symbol interference (ISI) values according to the demodulated signal sets, and calibrating a timing of a currently utilized boundary.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The invention relates to a boundary tracking apparatus, and more particularly, to a boundary tracking apparatus in an orthogonal frequency division multiplexing (OFDM) system and a method thereof. 
   2. Description of the Prior Art 
   Please refer to  FIG. 1 .  FIG. 1  is a block diagram of a typical orthogonal frequency division multiplexing (OFDM) frame. According to the IEEE 802.11 a standard, the frames of the OFDM system have a short preamble in the beginning, a long preamble following afterwards, and a guard interval GI 2  between the short preamble and the long preamble. There are also guard intervals GI between each data block to avoid the inter-symbol interference (ISI). The guard interval GI and GI 2  can be a cyclic prefix of a data block or a cyclic prefix of the long preamble. 
   In conventional boundary detecting methods, a receiver detects the beginning of the long preamble and the beginning of the data blocks according to a period and the auto-correlation of the short preamble. The guard intervals GI are then removed accordingly to plan a boundary of the data blocks for fast Fourier transforming (FFT). Next, the conventional boundary detecting methods execute a fast Fourier transform on each data block according to the estimated channel responses of all the sub-carriers with different boundaries to determine a proper boundary. 
   However, the above-mentioned method usually mistakenly estimates the guard interval of the long preamble with a serious delay spread. Therefore, the above-mentioned methods choose a wrong timing to execute the fast Fourier transform. Furthermore, the prior boundary tracking methods are inefficient to compute for several times the FFT of numerous symbols according to every sub-carrier. That is, tracking the boundary by comparing the FFT of each symbol takes a lot of effort. 
   SUMMARY OF THE INVENTION 
   It is therefore one objective of the claimed invention to provide a boundary tracking apparatus for reducing the ISI in an OFDM system with less effort than the conventional boundary tracking apparatuses. 
   According to an embodiment of the claimed invention, a boundary tracking apparatus of an OFDM receiver is disclosed. The OFDM receiver receives at least one of data blocks corresponding to a plurality of sub-carriers according to a current timing boundary, the plurality of sub-carriers comprises a plurality of pilot sub-carriers and a plurality of data sub-carriers. The boundary tracking apparatus comprises: a first data acquisition module for receiving at least one of the data blocks according to a first timing boundary, and generating a first decoded data set according to a plurality of specific sub-carriers, wherein the plurality of specific sub-carriers are a part of the plurality of sub-carriers; a second data acquisition module for receiving at least one of the data blocks according to a second timing boundary distinct from the first timing boundary, and generating a second decoded data set according to the plurality of specific sub-carriers; an interference detecting module coupled to the first and the second data acquisition modules for respectively generating a first inter-symbol interference and a second inter-symbol interference according to the first decoded data set and the second decoded data set; and a timing controller for adjusting the current timing boundary according to the first and second inter-symbol interferences. 
   According to an embodiment of the claimed invention, a boundary tracking method of an OFDM receiver. The boundary tracking method of an OFDM receiver receives at least one of data blocks corresponding to a plurality of sub-carriers according to a current timing boundary, and the sub-carriers comprises a plurality of pilot sub-carriers and a plurality of data sub-carriers. The boundary tracking method comprises: receiving at least one of the data blocks according to a first timing boundary, and generating a first decoded data set according to a plurality of specific sub-carriers, wherein the plurality of specific sub-carriers are a part of the plurality of sub-carriers; receiving at least one of the data blocks according to a second timing boundary distinct from the first timing boundary, and generating a second decoded data set according to the plurality of specific sub-carriers; respectively generating a first inter-symbol interference and a second inter-symbol interference according to the first decoded data set and the second decoded data set; and adjusting the current timing boundary according to the first inter-symbol interference and the second inter-symbol interference. 
   These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a schematic diagram of a typical OFDM frame. 
       FIG. 2  is a functional block diagram of a first embodiment of a boundary tracking apparatus for an OFDM receiver according to the present invention. 
       FIG. 3  is a schematic diagram of the interference detecting unit shown in  FIG. 2 . 
       FIG. 4  is a functional block diagram of a second embodiment of the boundary tracking apparatus according to the present invention. 
       FIG. 5  is a functional block diagram of the interference detecting unit in  FIG. 4 . 
   

   DETAILED DESCRIPTION 
   Please refer to  FIG. 2  showing a functional block diagram of a first embodiment of a boundary tracking apparatus  10  applied in an OFDM receiver according to the present invention. It is well-known that each data block includes numerous pilot codes transmitted respectively via the pilot sub-carriers and numerous data codes transmitted respectively via the data sub-carriers, where the pilot codes of each data block corresponding to the same sub-carrier have the same characteristic. The boundary tracking apparatus  10  therefore estimates the magnitude of the Inter Symbol Interference (ISI) by comparing the pilot codes of two adjacent data blocks and adjusts the timing boundary of Fast Fourier transform (FFT) according to the comparing result. In the present embodiment, the boundary tracking apparatus  10  includes a boundary detecting module  12 , a timing controller  14 , data acquisition modules  20 ,  40 ,  60 , and interference detecting module  80 . 
   The boundary detecting module  12  detects the boundary of data blocks. According to the detected boundary, the timing controller  14  outputs a control signal S ctrl  to control the data acquisition modules  20 ,  40 ,  60 . Finally, the interference detecting module  80  outputs a comparing signal S cmp  to the timing controller  14  in order to adjust the boundary used by the data acquisition modules  20 ,  40  and  60 . The data acquisition modules  20 ,  40 ,  60  respectively demodulate a received packet according to different boundaries in order to generate the decoded data sets R 1 , R 2 , R 3  for computing the related inter-symbol interferences I 1 , I 2 , I 3 . The interference detecting module  80  therefore computes the inter-symbol interferences I 1 , I 2 , I 3  according to the decoded data sets R 1 , R 2 , R 3 , and outputs the comparing signal S cmp  related to the comparing result of the inter-symbol interference I 1 , I 2 , I 3 . 
   The data acquisition module  20  includes a guard interval removing unit  22 , an FFT unit  24 , and a multiplexer  26 . The guard interval removing unit  22  generates a timing boundary by determining the boundary of data blocks according to the control signal S ctrl , and removes the guard interval GI according to the boundary of data blocks, and then gathers the output data in the data block. In the present embodiment, the FFT unit  24  generates a plurality of decoded data by executing fast Fourier transform on the data block according to each sub-carrier. Then the multiplexer  26  gathers some specific decoded data from the plurality of decoded data, and outputs those specific decoded data as a decoded data set R 1 . In other words, the decoded data set R 1  is only a part of the numerous of decoded data, and the specific decoded data corresponds to a plurality of predetermined sub-carriers in the present embodiment. 
   The data acquisition module  40  includes a delaying unit  42 , a guard interval removing unit  44 , and an FFT unit  46 . The delaying unit  42  is used for delaying the received packet with a predetermined time W. As a result, the timing boundary corresponding to the guard interval removing unit  44  exceeds the timing boundary corresponding to the data acquisition module  20 . Please note that the delaying or exceeding relates to the starting position on the received packet in the present invention. The operation of the guard interval removing unit  44  is the same with the guard interval removing unit  22 , and a repeated detailed description of the guard interval removing unit  44  is therefore abbreviated. However, the FFT unit  46  generates a plurality of decoded data by transforming the data block according to the specific sub-carriers, instead of generating the decoded data according to all of the sub-carriers. 
   The data acquisition module  60  and the data acquisition module  40  have the same functions with the same name. The difference between is that the delaying unit  62  advances the received packet with a predetermined time W. As a result, the timing boundary used by the data acquisition module  60  lags behind the timing boundary used by the data acquisition module  20 . The data acquisition module  60  outputs the decoded data set R 3  by generating the FFT of the data block according to the specific sub-carriers. Please note that, the predetermined time W can be a fixed value or a dynamically adjustable value based on the inter-symbol interference or the environment. 
   In the present embodiment, the interference detecting module  80  includes three interference detecting units  82 ,  84 ,  86  and a comparing unit  88 . The interference detecting units  82 ,  84 ,  86  compute respectively the inter-symbol interferences I 1 , I 2 , I 3  according to the decoded data set R 1 , R 2 , R 3 , wherein the inter-symbol interferences I 1 , I 2 , I 3  is related to remaining, delaying, and advancing the received packet. Finally, the comparing unit  88  chooses the smallest of the inter-symbol interferences I 1 , I 2 , I 3  and outputs a comparing signal S cmp  to the timing controller  14  according to the smallest inter-symbol interference in order to adjust the currently used timing boundary. 
   For example, assume the OFDM system has 16 sub-carriers, wherein 4 sub-carriers are pilot sub-carriers (i.e., the specific sub-carriers mentioned above) presented as 
             ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   0       16         ,     ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   4       16         ,     ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   8       16         ,       ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   12       16         .           
According to the formula of fast Fourier transform
 
               X   ⁡     [   k   ]       =       ∑     n   =   0       N   -   1       ⁢           ⁢       x   ⁡     [   n   ]       ⁢     ⅇ       -   j     ⁢       2   ⁢   π   ⁢           ⁢   nk     16               ,         
the decoded data X[ 0 ], X[ 4 ], X[ 8 ], X[ 12 ] corresponding to the 4 pilot sub-carriers are shown as below:
 
             X   ⁡     [   0   ]       =       (       x   ⁡     [   0   ]       +     x   ⁡     [   2   ]       +   …   +     x   ⁡     [   15   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   0       16                         X   ⁡     [   4   ]       =         (       x   ⁡     [   0   ]       +     x   ⁡     [   4   ]       +     x   ⁡     [   8   ]       +     x   ⁡     [   12   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   0       16           +       (       x   ⁡     [   1   ]       +     x   ⁡     [   5   ]       +     x   ⁡     [   9   ]       +     x   ⁡     [   13   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   4       16           +       (       x   ⁡     [   2   ]       +     x   ⁡     [   6   ]       +     x   ⁡     [   10   ]       +     x   ⁡     [   14   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   8       16           +       (       x   ⁡     [   3   ]       +     x   ⁡     [   7   ]       +     x   ⁡     [   11   ]       +     x   ⁡     [   15   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   12       16                           X   ⁡     [   8   ]       =         (       x   ⁡     [   0   ]       +     x   ⁡     [   2   ]       +   …   +     x   ⁡     [   14   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   0       16           +       (       x   ⁡     [   1   ]       +     x   ⁡     [   3   ]       +   …   +     x   ⁡     [   15   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   8       16                           X   ⁡     [   12   ]       =         (       x   ⁡     [   0   ]       +     x   ⁡     [   4   ]       +     x   ⁡     [   8   ]       +     x   ⁡     [   12   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   0       16           +       (       x   ⁡     [   3   ]       +     x   ⁡     [   7   ]       +     x   ⁡     [   11   ]       +     x   ⁡     [   15   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   4       16           +       (       x   ⁡     [   2   ]       +     x   ⁡     [   6   ]       +     x   ⁡     [   10   ]       +     x   ⁡     [   14   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   8       16           +       (       x   ⁡     [   1   ]       +     x   ⁡     [   5   ]       +     x   ⁡     [   9   ]       +     x   ⁡     [   13   ]         )     ⁢     ⅇ       -   j     ⁢       2   ⁢     π   ·   12       16                   
wherein the data x[ 0 ] . . . x[ 15 ] are the output data shown in  FIG. 1 . The mentioned equation can be implemented by summing the output of a four-tap matching filter. The FFT unit  46  and  66  can therefore be implemented by four matching filters instead of 16 matching filters (i.e., center frequency are
 
             (       i   .   e   .     ,     center   ⁢           ⁢   frequency   ⁢           ⁢   are   ⁢           ⁢     ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   0       16           ,       ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   1       16         ⁢   …   ⁢           ⁢     ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   15       16             )     .         
In summary, the apparatus of the present invention reduces the complexity of the FFT unit  46  and  66 , and increases the efficiency of the FFT unit  46  and  66 .
 
   The present embodiment involves utilizing the FFT unit  24  to generate a plurality of decoded data according to all of the sub-carriers. However, the FFT unit  24  can only generate a few of decoded data according to the specific sub-carriers. 
   Please refer to  FIG. 3 , which is a schematic diagram of the interference detecting unit  82  shown in  FIG. 2 . Please note that the interference detecting units  82 ,  84 ,  86  have the same electrical structure, so a repeated description of the interference detecting units  84 ,  86  is omitted for abbreviation. The interference detecting unit  82  includes a plurality of delaying units  202 ,  212 ,  222 , a plurality of subtractors  204 ,  214 ,  224 , a plurality of squaring units  206 ,  216 ,  226 , and an adder  208 . The delaying units  202 ,  212 ,  222  are used to delay the decoded data set R 1  for a sampling time. In the present embodiment, the decoded data set R 1  includes decoded data X[ 0 ], X[ 4 ], X[ 8 ], X[ 12 ]. As a result, the delaying units  202 ,  212 ,  222  are used to delay the decoded data X[ 0 ], X[ 4 ], X[ 8 ], X[ 12 ] for a sampling time. The subtractors  204 ,  214 ,  224  subtract the current decoded data from the delayed decoded data, meaning that calculating the difference between a decoded signal in the previous data block and a decoded signal in the current data block transmitted via the same sub-carriers. Then, the squaring units  206 ,  216 ,  226  output the square values of the difference to adder  208 , and the adder  208  sums all the square values to generate the inter-symbol interference I 1 . Please note that the method of generating the inter-symbol interference by squaring the differences should not be construed as limiting the present invention. The present invention can also be applied to other applications, which generate the inter-symbol interference according to differences, such as summing the absolute values of the differences. 
   The difference value between the two decoded data corresponding to the same pilot sub-carrier should be zero if there is no inter-symbol interference. In other words, adopting an inappropriate boundary causes a greater difference indicating that worse inter-symbol interference occurs. 
   Finally, in order to adjust the timing boundary of data acquisition module  20 , the comparing unit  88  generates a comparing signal S cmp  to the timing controller  14  according to the minimum of the inter-symbol interferences  11 ,  12 ,  13 . 
   Please refer to  FIG. 4 , which is functional block diagram of a second embodiment of the boundary tracking apparatus  110  according to the present invention. In the present embodiment, the boundary tracking apparatus  110  is capable of using data sub-carriers to detect inter-symbol interference, wherein the function and structures of the boundary detecting module  112 , the timing controller  114 , and the data acquisition modules  120 ,  140 ,  160  are the same with the components having the same name in  FIG. 2 . Therefore, a repeated description of these components is omitted. Please note that the multiplexer  126  in the data acquisition module  120  gathers a plurality of decoded data corresponding to a plurality of specific data sub-carriers to generate the decoded data set R 1 ′, and the FFT units  146 ,  166  in the data acquisition modules  140 ,  160  execute the fast Fourier transform on the data blocks according to a plurality of specific data sub-carriers and output the decoded data set R 2 ′, R 3 ′. 
   In addition, the signal compensation module  170  includes an equalizing unit  172 , a channel compensation unit  174 , and a multiplexer  176 . The compensation module  170  generates the estimated constellation signal {circumflex over (d)}[k] according to a well-known decision-directed method, and generates the compensated data set ({circumflex over (d)}[k]. Ĥ[k]) according to the estimated channel response Ĥ[k] and the estimated constellation signal {circumflex over (d)}[k]. Finally, the multiplexer  176  gathers a part of the compensated data set, which corresponds to the plurality of specific data sub-carriers. As a result, all of the decoded data in the decoded data sets R 1 ′, R 2 ′, R 3 ′ corresponds to the plurality of specific data sub-carriers. 
   Please refer to  FIG. 5 .  FIG. 5  is a functional block diagram of the interference detecting unit  182  in  FIG. 4 . Please note that the interference detecting units  182 ,  184 ,  186  have the same electrical structure. Therefore, a repeated description of the interference detecting units  184 ,  186  is omitted. The interference detecting unit  182  includes subtractors  304 ,  314 ,  324 , rotators  302 ,  312 ,  322 , squaring units  306 ,  316 ,  326 , and an adder  308 . The rotators  302 ,  312 ,  322  rotate the compensated data set with a predetermined phase corresponding to a propagation timing delayed with a certain value. For example, if the propagation timing of the decoded data set R 1 ′ remains constant, the phase shift of the decoded data set R 1 ′ is zero, and if the propagation timing of the decoded data set R 2 ′ is delayed with a predetermined time W, the phase shift of the decoded data set R 3 ′ is 
             ⅇ       -   j     ⁢       2   ⁢   π   ⁢           ⁢   nkW     M         ,         
and the propagation timing of the decoded data set R 3 ′ exceeds a predetermined time W, so the phase shift of the decoded data set R 3 ′ is
 
   
     
       
         
           
             ⅇ 
             
               
                 + 
                 j 
               
               ⁢ 
               
                 
                   2 
                   ⁢ 
                   π 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   nkW 
                 
                 M 
               
             
           
           . 
         
       
     
   
   In the present embodiment, assume the OFDM has 16 sub-carriers, wherein 4 sub-carriers are data sub-carriers. The FFT units  146 ,  166  generate the decoded data set R 2 ′, R 3 ′ according to the 4 data sub-carriers 
             ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   0       16         ,     ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   4       16         ,     ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   8       16         ,     ⅇ       +   j     ⁢       2   ⁢   π   ⁢           ⁢     n   ·   12       16               
(i.e., the specific sub-carriers mentioned above). However, the FFT unit  124  still generates the FFT of the data block according to all of the sub-carriers, and the multiplexer  126  selects decoded data set R 1 ′ from all of the decoded data. In other words, all of the decoded data sets R 1 ′, R 2 ′, R 3 ′ include the decoded data X′[ 0 ], X′[ 4 ], X′[ 8 ], X′[ 12 ] corresponding to the same specific sub-carriers.
 
   Because the compensated data set ({circumflex over (d)}[k]. Ĥ[k]) generated by the data acquisition module  120  is defined as the correct decoded data, the differences between the compensated data set and the decoded data sets R 1 ′, R 2 ′ and R 3 ′ are caused by the inter-symbol interference. The method of computing the inter-symbol interferences I 1 ′, I 2 ′, I 3 ′ according to the decoded data sets R 1 ′, R 2 ′, R 3 ′ is shown in the following equations: 
   
     
       
         
           
             
               
                 
                   
                     I 
                     1 
                     ′ 
                   
                   = 
                   
                     
                       ∑ 
                       
                         n 
                         = 
                         1 
                       
                       L 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       
                          
                         
                           
                             
                               R 
                               1 
                               ′ 
                             
                             ⁡ 
                             
                               ( 
                               n 
                               ) 
                             
                           
                           - 
                           
                             
                               
                                 d 
                                 ^ 
                               
                               ⁡ 
                               
                                 [ 
                                 
                                   k 
                                   n 
                                 
                                 ] 
                               
                             
                             ⁢ 
                             
                               
                                 H 
                                 ^ 
                               
                               ⁡ 
                               
                                 [ 
                                 
                                   k 
                                   n 
                                 
                                 ] 
                               
                             
                           
                         
                          
                       
                       2 
                     
                   
                 
                 , 
                 
                   
                     
                       R 
                       1 
                       ′ 
                     
                     ⁡ 
                     
                       ( 
                       0 
                       ) 
                     
                   
                   = 
                   
                     
                       X 
                       ′ 
                     
                     ⁡ 
                     
                       [ 
                       0 
                       ] 
                     
                   
                 
               
             
           
           
             
               
                 
                   I 
                   2 
                   ′ 
                 
                 = 
                 
                   
                     ∑ 
                     
                       n 
                       = 
                       1 
                     
                     L 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                        
                       
                         
                           
                             R 
                             2 
                             ′ 
                           
                           ⁡ 
                           
                             ( 
                             n 
                             ) 
                           
                         
                         - 
                         
                           
                             
                               d 
                               ^ 
                             
                             ⁡ 
                             
                               [ 
                               
                                 k 
                                 n 
                               
                               ] 
                             
                           
                           ⁢ 
                           
                             
                               
                                 H 
                                 ^ 
                               
                               ⁡ 
                               
                                 [ 
                                 
                                   k 
                                   n 
                                 
                                 ] 
                               
                             
                             · 
                             
                               ⅇ 
                               
                                 
                                   - 
                                   j2π 
                                 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 
                                   k 
                                   n 
                                 
                                 ⁢ 
                                 
                                   W 
                                   / 
                                   N 
                                 
                               
                             
                           
                         
                       
                        
                     
                     2 
                   
                 
               
             
           
           
             
               
                 
                   I 
                   3 
                   ′ 
                 
                 = 
                 
                   
                     ∑ 
                     
                       n 
                       = 
                       1 
                     
                     L 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     
                        
                       
                         
                           
                             R 
                             3 
                             ′ 
                           
                           ⁡ 
                           
                             ( 
                             n 
                             ) 
                           
                         
                         - 
                         
                           
                             
                               d 
                               ^ 
                             
                             ⁡ 
                             
                               [ 
                               
                                 k 
                                 n 
                               
                               ] 
                             
                           
                           ⁢ 
                           
                             
                               
                                 H 
                                 ^ 
                               
                               ⁡ 
                               
                                 [ 
                                 
                                   k 
                                   n 
                                 
                                 ] 
                               
                             
                             · 
                             
                               ⅇ 
                               
                                 
                                   + 
                                   j2π 
                                 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 
                                   k 
                                   n 
                                 
                                 ⁢ 
                                 
                                   W 
                                   / 
                                   N 
                                 
                               
                             
                           
                         
                       
                        
                     
                     2 
                   
                 
               
             
           
         
       
     
   
   Finally, the comparing unit  188  generates a comparing signal S cmp  to the timing controller  114  according to the minimum of the inter-symbol interferences I 1 ′, I 2 ′, I 3 ′ in order to adjust the timing boundary. 
   Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.