# Patent

## Title
Video bandwidth resolution in DFT-based spectrum analysis

## 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.

## Background
BACKGROUND
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.
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.
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.
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
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.
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
FIG. 1 shows an example sub-framing of a signal acquisition using overlapping resolution bandwidth frames.
FIG. 2 is a flowchart illustrating a recursive resolution bandwidth frame offset algorithm for the example shown in FIG. 1.
FIG. 3 shows an example video bandwidth emulation based on resolution bandwidth frame weighting.
FIG. 4 is a flow diagram illustrating a method for video bandwidth emulation based on resolution bandwidth frame weighting.



DETAILED DESCRIPTION
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.
In some embodiments, a standard deviation (σ) 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 σ=k1/√{square root over (N)}, where k1 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 σ=k2*√{square root over ((VBW/RBW))}. In this example, k2 is a constant at around 9.3 dB. Other k1 and k2 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=(k1^2)/(N*(k2^2)).
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.
On DFT-based spectrum analyzers, the transform frame length, or “RBW frame”, is determined by the ratio k3/RBW, where k3 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(k3*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.
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×(K12/K22)×(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.
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=ceil(nv/nr), where ceil( ) rounds up to the closest integer number.
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.
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.
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.
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 n1 are initialized to ns, and the remaining VBW frame samples n2 is initialized to nv.
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 ((n1*nr−n2)/(n1−1)). In this iteration, the remaining RBW frame count can be decremented according to n1=n1−1, and the remaining VBW frame number can be recalculated as n2=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.
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.
In the second embodiment 300, integer RBW frames 321, 324, etc., are captured and weights W1, W2, W3, and W4 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.
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=((k1^2)/(k2^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.
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




  
    1
    
      I
      +
      A
    
  
  ,




and the fractional component F is calculated using the formula





  
    A
    
      I
      +
      A
    
  
  .




Wherein A is calculated according to the equation,





  A
  =
  
    I
    ⁢
    
      
        
          1
          -
          F
          +
          
            F
            I
          
          -
          
            
              F
              2
            
            I
          
        
      
      
        N
        -
        1
      
    
  




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.
Then, a weighted sum of the M spectrum traces is computed using the weighting functions according to the formula




  
    S
    =
    
      
        
          ∑
          
            i
            =
            1
          
          I
        
        ⁢
        
          
            a
            i
          
          ⁢
          
            X
            i
          
        
      
      +
      
        
          a
          M
        
        ⁢
        
          X
          M
        
      
    
  
  ,




and a composite spectrum trace is generated having a specified video bandwidth, as illustrated in block 460.

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 X1, X2, X3, . . . , XN. By averaging N data records we have,



  
    
      X
      AVE
    
    =
    
      
        
          1
          N
        
        ⁢
        
          
            ∑
            
              i
              =
              1
            
            N
          
          ⁢
          
            X
            i
          
        
      
      =
      
        X
        _
      
    
  




  
    
      σ
      AVE
    
    =
    
      
        
          1
          N
        
        ⁢
        
          
            
              ∑
              
                i
                =
                1
              
              N
            
            ⁢
            
              σ
              X
              2
            
          
        
      
      =
      
        
          σ
          X
        
        
          N
        
      
    
  



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.
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.



  
    
      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
          
        
      
    
  



Next, by summing to I and factoring the σX2 out from the square root in the σAVE term, we have,




  
    σ
    AVE
  
  =
  
    
      
        
          σ
          X
        
        
          I
          +
          A
        
      
      ⁢
      
        
          I
          +
          
            A
            2
          
        
      
    
    =
    
      
        σ
        X
      
      
        
          I
          +
          F
        
      
    
  




Since σX is a common numerator on both side of the equation, we can factor it out to generate,




  
    
      
        I
        +
        
          A
          2
        
      
    
    
      I
      +
      A
    
  
  =
  
    1
    
      
        I
        +
        F
      
    
  




Then, we solve for I+F by exchanging




  
    
      I
      +
      
        A
        2
      
    
  
  
    I
    +
    A
  




for the denominator √{square root over (I+F)}, and squaring both sides to generate.





  
    I
    +
    F
  
  =
  
    
      
        I
        2
      
      +
      
        2
        ⁢
        IA
      
      +
      
        A
        2
      
    
    
      I
      +
      
        A
        2
      
    
  




Whereby,

I2+IF+IA2+FA2=I2+2IA+A2 

Accordingly, we can solve for A as may be used in the weighting functions, whereby,

IF+IA2+FA2=2IA+A2 

By placing all the variables on one side of the equation and solving for 0 we get,

A2(1−F−I)+2IA−IF=0

Then we can solve for A accordingly,




  A
  =
  
    
      
        
          -
          2
        
        ⁢
        I
      
      ±
      
        
          
            4
            ⁢
            
              I
              2
            
          
          +
          
            4
            ⁢
            
              (
              
                1
                -
                F
                -
                I
              
              )
            
            ⁢
            IF
          
        
      
    
    
      2
      ⁢
      
        (
        
          1
          -
          F
          -
          I
        
        )
      
    
  




Then, we factor 2 out of the numerator and denominator, and I out of the numerator to generate,




  A
  =
  
    
      I
      [
      
        1
        ±
        
          
            1
            +
            
              
                
                  (
                  
                    1
                    -
                    F
                    -
                    I
                  
                  )
                
                I
              
              ⁢
              F
            
          
        
      
      ]
    
    
      (
      
        I
        +
        F
        -
        1
      
      )
    
  




Which simplifies to the weighting factor A, whereby,




  A
  =
  
    
      I
      [
      
        1
        ±
        
          
            1
            -
            F
            +
            
              F
              I
            
            -
            
              
                F
                2
              
              I
            
          
        
      
      ]
    
    
      (
      
        I
        +
        F
        -
        1
      
      )
    
  




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.
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.
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.

## Claims

1. A method of emulating a specified video bandwidth (VBW) in a spectrum analyzer using overlapping resolution bandwidth (RBW) frames, the method comprising the steps of:
acquiring a contiguous block of time data from a radio frequency signal to create a VBW frame, the VBW frame having a number of samples based on the specified VBW, a specified RBW, and a specified sampling frequency;
dividing the VBW frame into a number of overlapping RBW frames, the number of overlapping RBW frames being based on the number of samples in the VBW frame and a number of samples in each RBW frame, and the number of samples in each RBW frame being based on the specified RBW, the sampling frequency, and a window-related coefficient;
performing a time domain to frequency domain transform on each RBW frame to generate a spectrum trace for each RBW frame; and
averaging the spectrum traces for each of the RBW frames to generate a composite spectrum trace that emulates the specified VBW.

2. The method of claim 1, wherein the spectrum traces are averaged using power averaging, logarithm averaging, or voltage scale averaging.

3. The method of claim 1, wherein the time domain to frequency domain transform is one of a discrete Fourier transform, a fast Fourier transform and a chirp-Z transform.

4. The method of claim 1, wherein the number of samples is calculated according to the formula (nr*(k1^2/k2^2)*(RBW/VBW)), wherein k1 is a constant for Gaussian-distributed random noise, k2 is approximately 9.3 dB, nr is the number of samples in each RBW frame, and the resulting value is rounded up to the nearest integer.

5. The method of claim 1, wherein the number of samples is empirically related to a ratio (RBW/VBW).

6. A method of emulating a specified video bandwidth (VBW) in a spectrum analyzer using weighted resolution bandwidth (RBW) frames, the method comprising the steps of:
determining a number N of averages that generates statistical properties equivalent to the specified VBW, where N is a rational number including an integer component I and a fractional component F;
rounding N up to a nearest integer number M;
acquiring M RBW frames from a radio frequency signal;
computing M weighting functions, wherein one of the M weighting functions is a weighting function for the fractional component F;
performing a time domain to frequency domain transform on each of the M RBW frames to generate M spectrum traces; and
computing a weighted sum of the M spectrum traces using the weighting functions to generate a composite spectrum trace having a specified VBW.

7. The method of claim 6, wherein N is determined using a proportional multiple of the specified VBW divided by the RBW.

8. The method of claim 7, wherein the proportional multiple is determined using a square of a first constant related to Gaussian-distributed random noise divided by the square of a second constant.

9. The method of claim 6, wherein the time domain to frequency domain transform is one of a discrete Fourier transform, a fast Fourier transform and a chirp-Z transform.

10. The method of claim 6, wherein the weighting function for traces corresponding to integer component RBW frames is




  1
  
    I
    +
    A
  




and the weighting function for the trace corresponding to the fractional component RBW frame is calculated using the formula




  
    A
    
      I
      +
      A
    
  
  ,




wherein A is determined by the equation




  A
  =
  
    I
    ⁢
    
      
        
          
            1
            -
            F
            +
            
              F
              I
            
            -
            
              
                F
                2
              
              I
            
          
        
        
          N
          -
          1
        
      
      .

11. The method of claim 6, wherein computing a weighting function for each of the M RBW frames includes generating a similar reduction in standard deviation between the M RBW frames as would be achieved using a specified VBW.

12. A computer readable storage device comprising instructions executable by a computing device, the instructions being executable to perform the method of any one of claims 1-3 or 4-5.

13. A computer readable storage device comprising instructions executable by a computing device, the instructions being executable to perform the method of any one of claims 6-11.