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.
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.
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 σ=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
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=ccil(nv/nr), where ccil( ) 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
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.
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.
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
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
and the fractional component F is calculated using the formula
Wherein A is calculated according to the equation,
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
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
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.
Next, by summing to I and factoring the σX2 out from the square root in the σAVE term, we have,
Since σX is a common numerator on both side of the equation, we can factor it out to generate,
Then, we solve for I+F by exchanging
for the denominator √{square root over (I+F)}, and squaring both sides to generate.
Whereby,
I
2
+IF+IA
2
+FA
2
=I
2+2IA+A2
Accordingly, we can solve for A as may be used in the weighting functions, whereby,
IF+IA
2
+FA
2=2IA+A2
By placing all the variables on one side of the equation and solving for 0 we get,
A
2(1−F−I)+2IA−IF=0
Then we can solve for A accordingly,
Then, we factor 2 out of the numerator and denominator, and I out of the numerator to generate,
Which simplifies to the weighting factor A, whereby,
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.