Abstract:
A method and apparatus for improved video bandwidth resolution in DFT-based spectrum analysis is disclosed. A first embodiment comprises an emulation of a continuous range of video bandwidths in DFT-based spectrum analysis using overlapping resolution bandwidth frames. A second embodiment utilizes frame weighting to reduce the standard deviation in the spectrum of noise signal to emulate a corresponding standard deviation of a specified video bandwidth.

Description:
BACKGROUND 
       [0001]    The present invention relates to radio frequency or microwave receivers, and more particularly to a method of improved video bandwidth resolution in Discrete Fourier Transform (DFT) based spectrum analysis. 
         [0002]    In traditional swept spectrum analyzers, video bandwidth (VBW) filtering is used to reduce noise effects for displayed signal amplitudes. For example, a video filter is typically implemented as a low-pass filter placed after a log envelope detector and can be used to detect signals close to a certain noise level. 
         [0003]    DFT based spectrum analyzers have emerged as a compelling measurement tool in relation to swept spectrum analyzers due to their capability of vector analysis, the combination of fast measurement times with wide spans and low resolution bandwidth (RBW), and real-time capabilities such as Digital Phosphor Spectrum Analysis (DPSA). However, architecture differences have not allowed traditional VBW filtering methods to be used on DFT-based spectrum analyzers. 
         [0004]    Although DFT-based spectrum analyzers can emulate the effect of video filtering using trace averaging, trace averaging uses a discrete number of spectrum traces and therefore results in a coarse resolution in the available VBW values. Further, many standards such as the Worldwide interoperability for Microwave access (WiMax), the Global System for Mobile communications (GSM), and also government emission tests specify requirements based on a specific VBW. What is desired is a method of improved video bandwidth resolution in DFT-based spectrum analysis. 
       SUMMARY 
       [0005]    Video filtering can be emulated on discrete Fourier transform (DFT) based spectrum analyzers using a modified trace averaging approach. Accordingly, various embodiments for improved video bandwidth resolution in DFT-based spectrum analysis are described below in the Detailed Description. For example, one embodiment comprises an emulation of a continuous range of video bandwidths using overlapping resolution bandwidth frames. A second embodiment utilizes frame weighting to produce the desired standard deviation to emulate a corresponding standard deviation of a specified video bandwidth. 
         [0006]    This Summary is provided to introduce concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]      FIG. 1  shows an example sub-framing of a signal acquisition using overlapping resolution bandwidth frames. 
           [0008]      FIG. 2  is a flowchart illustrating a recursive resolution bandwidth frame offset algorithm for the example shown in  FIG. 1 . 
           [0009]      FIG. 3  shows an example video bandwidth emulation based on resolution bandwidth frame weighting. 
           [0010]      FIG. 4  is a flow diagram illustrating a method for video bandwidth emulation based on resolution bandwidth frame weighting. 
       
    
    
     DETAILED DESCRIPTION 
       [0011]      FIG. 1  shows an embodiment  100  including a video bandwidth frame  110  including a signal acquisition using overlapping 130 resolution bandwidth frames  121 - 124 . In order to provide a smooth spectrum display of an analyzed signal in DFT spectrum analysis, spectrum traces have been averaged over an integer number of traces. Trace averaging functions as a low pass filter of spectrum traces to smooth a video representation of spectral content in a similar effect to a video bandwidth filter in a traditional swept spectrum analyzer. The embodiments described below allow trace averaging over a non-integer number of averages, in turn providing video bandwidth emulation with a user-specified VBW value. 
         [0012]    In some embodiments, a standard deviation (a) is used to characterize how smooth a spectrum trace is. As an example, for N independent spectrum measurements, a standard deviation of an averaged spectrum trace is σ=k 1 /√{square root over (N)}, where k 1  is a constant for Gaussian-distributed random noise and about 4.4 dB if power averaging is used. On a swept spectrum analyzer and with certain operating conditions, a standard deviation can approximately be related to the ratio of VBW to RBW by the equation σ=k 2 *√{square root over ((VBW/RBW))}. In this example, k 2  is a constant at around 9.3 dB. Other k 1  and k 2  constants may be used to approximate a standard deviation. In addition, a standard deviation on a swept spectrum analyzer can be related to VBW/RBW by other forms of empirical equations. In the present example, the relationship between N independent spectrum measurements and the VBW/RBW ratio can therefore be expressed as VBW/RBW=(k 1 ̂2)/(N*(k 2 ̂2)). 
         [0013]    Referring in particular to  FIG. 1 , a first embodiment  100  acquires a contiguous block of time data in VBW frame  110 . The number of samples in VBW frame  110  produces statistically a similar smoothing effect as VBW in a swept spectrum analyzer. Then, the VBW frame  110  can then be divided into multiple transform frames, or sub-frames, and then each sub-frame can undergo a time-to-frequency domain transform. In this manner, all spectrum traces can be combined into a single spectrum trace of a desired VBW and RBW. 
         [0014]    On DFT-based spectrum analyzers, the transform frame length, or “RBW frame”, is determined by the ratio k 3 /RBW, where k 3  is a window-related coefficient. For a sampling frequency fs, the number of samples in an RBW frame can be determined according to the equation nr=round(k 3 *fs/RBW), where round( ) rounds to the nearest integer. In some embodiments, a windowing function may be applied prior to the DFT to reduce spectrum leakage caused by the finite length transform. A more detailed example of the first embodiment based on overlapped RBW frames is described in the following paragraphs. 
         [0015]    For a given VBW, RBW and sampling frequency fs, an amount of samples to be acquired can be determined according to the equation nv=round(nr×(K 1   2 /K 2   2 )×(RBW/VBW)), where nr is the number of samples in the RBW frame. In this equation, the number of samples in the VBW frame is rounded to the nearest integer. Note, nr may be considerably larger than 1. For example, in an auto configuration mode on a typical spectrum analyzer, nr is typically around 200 samples. In some embodiments, the number of samples may be determined by an empirical relationship to the ratio (RBW/VBW), as could be determined by one of skill in the art. In this way, available VBW resolution can be effectively increased by a factor of approximately 200. 
         [0016]    After the number of samples to be acquired is calculated, the number of RBW frames  121 - 124  needed to cover the VBW frame  110  is determined. For example, an embodiment may determine the ratio between the number of samples nv in the VBW frame  110 , and the number of samples nr in an RBW frame, and then round upward to the closest integer number ns. This relationship can be expressed by the equation ns=ccil(nv/nr), where ccil( ) rounds up to the closest integer number. 
         [0017]    Next, a DFT transform can be performed on the first RBW frame data. In some embodiments, a fast Fourier transform (FFT) or Chirp-Z Transform (CZT) can be used to provide better computation efficiency. 
         [0018]    Then, a DFT transform can be performed on the subsequent RBW frame at a specified offset  130  from the first RBW frame. A recursive algorithm that can be used to determine the offsets of RBW frames is discussed below in reference to  FIG. 2 . In the example embodiment  100  illustrated in  FIG. 1 , consecutive RBW sub-frames partially overlap and are therefore not completely statistically independent. 
         [0019]    Due to this overlap, the reduction in standard deviation of the noise from two dependent measurements is therefore less than 1/√{square root over (2)}. Therefore, RBW frame overlap can be controlled to provide a better approximation of a specified VBW. For each remaining RBW frame, a DFT transform can be performed at a specified offset until all RBW frames have been transformed to the frequency domain. According to this process, a composite spectrum trace can be calculated by averaging spectrum results over all the RBW frames. 
         [0020]      FIG. 2  is a flowchart illustrating a resolution bandwidth frame offset algorithm  200  for the example shown in  FIG. 1 . In general, offset algorithm provides an offset for each RBW frame in order to overlap a number of RBW frames to provide a specified VBW. In more detail, block  210  receives a specified VBW frame size and RBW frame size. For example, the VBW frame size may be nv and the RBW frame size can be nr as discussed in reference to  FIG. 1 . Next, in block  220  an amount of RBW frames is determined by performing a ceiling function on the ratio nv/nr, in turn rounding the ratio nv/nr to the nearest integer ns. The offset for a given RBW frame is then initialized in block  230 . For the first RBW frame, the offset variable equals 1, the remaining RBW frames n 1  are initialized to ns, and the remaining VBW frame samples n 2  is initialized to nv. 
         [0021]    Next, in decision block  240 , offset algorithm  200  queries if the current offset calculation is for the last RBW frame. If not, then the offset algorithm updates the offset in block  250  and loops to decision block  240 . In the present detailed example, the update offset in block  250  may be performed by setting the offset variable equal to the current offset variable value plus nr, and subtracting the result of rounding ((n 1 *nr−n 2 )/(n 1 −1)). In this iteration, the remaining RBW frame count can be decremented according to n 1 =n 1 −1, and the remaining VBW frame number can be recalculated as n 2 =nv−offset+1. When the offset algorithm reaches the last RBW frame, the offset variable equals nv−nr+1 and the algorithm has traversed the entire VBW frame. 
         [0022]      FIG. 3  shows a second embodiment  300  of an example video bandwidth emulation based on resolution bandwidth frame weighting. Embodiment  300  includes RBW frames  421  and  424 , as well as intermediate RBW frames. 
         [0023]    In the second embodiment  300 , integer RBW frames  321 ,  324 , etc., are captured and weights W 1 , W 2 , W 3 , and W 4  are assigned to each RBW frame in order to achieve statistical properties equivalent to a specified VBW. In embodiments using frame weighting, the RBW frames are not necessary contiguous and can be separated in time. Second embodiment  300  will now be discussed in more detail with reference to  FIG. 4 . 
         [0024]      FIG. 4  is a flow diagram illustrating a method  400  for video bandwidth emulation based on resolution bandwidth frame weighting. First, as indicated in block  410 , an amount of averages is determined to generate statistical properties in a sampled radio frequency signal that are equivalent to a specified VBW. In the current example, this amount of averages is designated “N”, wherein N is a rational number including an integer component “I” and a fractional component “F”. For example, the number of averages for an equivalent smoothing may be determined from the equation N=((k 1 ̂2)/( k 2 ̂2))/(VBW/RBW) discussed above. Then, the determined number of averages N is rounded up to the nearest integer number “M”, as illustrated in block  420 . Next, method  400  acquires M number of RBW frames from a radio frequency signal, as indicated at  430 . 
         [0025]    In block  440 , M weighting functions are computed, wherein one of the weighting functions is a fractional weighting function corresponding to the fractional component F. In this manner of averaging, the weighting functions for each of the M frames are calculated so that similar reduction in standard deviation is achieved as from a specified VBW. Integer weighting functions I are calculated using the formula 
         [0000]    
       
         
           
             
               1 
               
                 I 
                 + 
                 A 
               
             
             , 
           
         
       
     
         [0000]    and the fractional component F is calculated using the formula 
         [0000]    
       
         
           
             
               A 
               
                 I 
                 + 
                 A 
               
             
             . 
           
         
       
     
         [0000]    Wherein A is calculated according to the equation, 
         [0000]    
       
         
           
             A 
             = 
             
               I 
                
               
                 
                   
                     1 
                     - 
                     F 
                     + 
                     
                       F 
                       I 
                     
                     - 
                     
                       
                         F 
                         2 
                       
                       I 
                     
                   
                 
                 
                   N 
                   - 
                   1 
                 
               
             
           
         
       
     
         [0026]    Then, the method  400  performs a time domain to frequency domain transform on each of the M resolution bandwidth frames to generate M spectrum traces, in block  450 . Example embodiments may use a discrete Fourier transform (DFT), a fast Fourier transform (FFT) and a chirp-Z transform (CZT). However, other embodiments are not so limited and may use any suitable transform from the time domain to the frequency domain. 
         [0027]    Then, a weighted sum of the M spectrum traces is computed using the weighting functions according to the formula 
         [0000]    
       
         
           
             
               S 
               = 
               
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       1 
                     
                     I 
                   
                    
                   
                     
                       a 
                       i 
                     
                      
                     
                       X 
                       i 
                     
                   
                 
                 + 
                 
                   
                     a 
                     M 
                   
                    
                   
                     X 
                     M 
                   
                 
               
             
             , 
           
         
       
     
         [0000]    and a composite spectrum trace is generated having a specified video bandwidth, as illustrated in block  460 . 
         [0028]    The following paragraph provide a derivation of a VBW weighting function for using averaging as discussed with reference to  FIG. 3  and  FIG. 4 . Whole number averages may be calculated as follows. Consider N independent data records of a random process X, with a mean  X , and a standard deviation σ X . Then, let each data record be denoted by X 1 , X 2  , X 3 , . . . , X N . By averaging N data records we have, 
         [0000]    
       
         
           
             
               X 
               AVE 
             
             = 
             
               
                 
                   1 
                   N 
                 
                  
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       1 
                     
                     N 
                   
                    
                   
                     X 
                     i 
                   
                 
               
               = 
               
                 X 
                 _ 
               
             
           
         
       
       
         
           
             
               σ 
               AVE 
             
             = 
             
               
                 
                   1 
                   N 
                 
                  
                 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         1 
                       
                       N 
                     
                      
                     
                       σ 
                       X 
                       2 
                     
                   
                 
               
               = 
               
                 
                   σ 
                   X 
                 
                 
                   N 
                 
               
             
           
         
       
     
         [0029]    This equation allows for averaging an integer number of times. However, sometimes it is desirable to obtain a reduction in a standard deviation wherein the reduction is between an integer number of averages. In this case, a fractional number of averages may be calculated. 
         [0030]    Consider the averaging process shown above where N can be a fractional number N=I+F. By providing unity weighting for I averages and a fractional weight for the remaining average in relation to F, a weighted average with equivalent smoothing of a fractional number of averages can be emulated. 
         [0000]    
       
         
           
             
               X 
               AVE 
             
             = 
             
               
                 
                   1 
                   
                     I 
                     + 
                     A 
                   
                 
                  
                 
                   ( 
                   
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         I 
                       
                        
                       
                         X 
                         i 
                       
                     
                     + 
                     
                       AX 
                       
                         i 
                         + 
                         1 
                       
                     
                   
                   ) 
                 
               
               = 
               
                 X 
                 _ 
               
             
           
         
       
       
         
           
             
               σ 
               AVE 
             
             = 
             
               
                 
                   1 
                   
                     I 
                     + 
                     A 
                   
                 
                  
                 
                   
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         I 
                       
                        
                       
                         σ 
                         X 
                         2 
                       
                     
                     + 
                     
                       
                         A 
                         2 
                       
                        
                       
                         σ 
                         X 
                         2 
                       
                     
                   
                 
               
               = 
               
                 
                   σ 
                   X 
                 
                 
                   
                     I 
                     + 
                     F 
                   
                 
               
             
           
         
       
     
         [0031]    Next, by summing to I and factoring the σ X   2  out from the square root in the σ AVE  term, we have, 
         [0000]    
       
         
           
             
               σ 
               AVE 
             
             = 
             
               
                 
                   
                     σ 
                     X 
                   
                   
                     I 
                     + 
                     A 
                   
                 
                  
                 
                   
                     I 
                     + 
                     
                       A 
                       2 
                     
                   
                 
               
               = 
               
                 
                   σ 
                   X 
                 
                 
                   
                     I 
                     + 
                     F 
                   
                 
               
             
           
         
       
     
         [0032]    Since σ X  is a common numerator on both side of the equation, we can factor it out to generate, 
         [0000]    
       
         
           
             
               
                 
                   I 
                   + 
                   
                     A 
                     2 
                   
                 
               
               
                 I 
                 + 
                 A 
               
             
             = 
             
               1 
               
                 
                   I 
                   + 
                   F 
                 
               
             
           
         
       
     
         [0033]    Then, we solve for I+F by exchanging 
         [0000]    
       
         
           
             
               
                 I 
                 + 
                 
                   A 
                   2 
                 
               
             
             
               I 
               + 
               A 
             
           
         
       
     
         [0000]    for the denominator √{square root over (I+F)}, and squaring both sides to generate. 
         [0000]    
       
         
           
             
               I 
               + 
               F 
             
             = 
             
               
                 
                   I 
                   2 
                 
                 + 
                 
                   2 
                    
                   IA 
                 
                 + 
                 
                   A 
                   2 
                 
               
               
                 I 
                 + 
                 
                   A 
                   2 
                 
               
             
           
         
       
     
         [0034]    Whereby, 
         [0000]        I   2   +IF+IA   2   +FA   2   =I   2 +2 IA+A   2    
         [0035]    Accordingly, we can solve for A as may be used in the weighting functions, whereby, 
         [0000]        IF+IA   2   +FA   2 =2 IA+A   2    
         [0036]    By placing all the variables on one side of the equation and solving for 0 we get, 
         [0000]        A   2 (1 −F−I )+2 IA−IF= 0 
         [0037]    Then we can solve for A accordingly, 
         [0000]    
       
         
           
             A 
             = 
             
               
                 
                   
                     - 
                     2 
                   
                    
                   I 
                 
                 ± 
                 
                   
                     
                       4 
                        
                       
                         I 
                         2 
                       
                     
                     + 
                     
                       4 
                        
                       
                         ( 
                         
                           1 
                           - 
                           F 
                           - 
                           I 
                         
                         ) 
                       
                        
                       IF 
                     
                   
                 
               
               
                 2 
                  
                 
                   ( 
                   
                     1 
                     - 
                     F 
                     - 
                     I 
                   
                   ) 
                 
               
             
           
         
       
     
         [0038]    Then, we factor 2 out of the numerator and denominator, and I out of the numerator to generate, 
         [0000]    
       
         
           
             A 
             = 
             
               
                 I 
                 [ 
                 
                   1 
                   ± 
                   
                     
                       1 
                       + 
                       
                         
                           
                             ( 
                             
                               1 
                               - 
                               F 
                               - 
                               I 
                             
                             ) 
                           
                           I 
                         
                          
                         F 
                       
                     
                   
                 
                 ] 
               
               
                 ( 
                 
                   I 
                   + 
                   F 
                   - 
                   1 
                 
                 ) 
               
             
           
         
       
     
         [0039]    Which simplifies to the weighting factor A, whereby, 
         [0000]    
       
         
           
             A 
             = 
             
               
                 I 
                 [ 
                 
                   1 
                   ± 
                   
                     
                       1 
                       - 
                       
                         F 
                         I 
                       
                       - 
                       
                         
                           F 
                           2 
                         
                         I 
                       
                     
                   
                 
                 ] 
               
               
                 ( 
                 
                   I 
                   + 
                   F 
                   - 
                   1 
                 
                 ) 
               
             
           
         
       
     
         [0040]    It will be appreciated that the embodiments described herein may be implemented, for example, via computer-executable instructions or code, such as programs, stored on a computer-readable storage medium and executed by n instrument receiver or other suitable computing device. In addition, the embodiments described herein may be implemented on hardware such as Field Programming Gate Array (FPGA), an Application Specific Integration Circuit (ASIC), and other suitable hardware architectures. 
         [0041]    Generally, programs include routines, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types. As used herein, the term “program” may connote a single program or multiple programs acting in concert, and may be used to denote applications, services, or any other type or class of program. Likewise, the terms “computer” and “computing device” as used herein include any device that electronically executes one or more programs, including, but not limited to a numerical spectrum analyzer, or any other suitable RF signaling devices. 
         [0042]    It will further be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated may be performed in the sequence illustrated, in other sequences, in parallel, or in some cases omitted. Likewise, the order of any of the above-described processes is not necessarily required to achieve the features and/or results of the embodiments described herein, but is provided for ease of illustration and description. The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.