DSPRelated.com
Forums

Resolution bandwidth (RBW) implementation

Started by Unknown March 1, 2007
This post addresses the implementation of resolution bandwidth in the
context of spectrum analysis in MATLAB.

Is my understanding correct:

     In an analogue swept frequency spectrum analyzer (SA), the so-
called resolution bandwidth (RBW) is implemented as the final
intermediate frequency (IF) analogue filter. The RBW of the
measurement is varied by changing the bandwidth of the analogue
filter
whose shape is Gaussian.

     In DSP-based spectrum analyzers, there is no 'final IF
(analogue)
filter' and resolution bandwidth is implemented as follows:

          the measurement signal, sampled at Fs, runs continuously. A
segment of sampled data, of length L_segment, is windowed prior to
taking its complex FFT. The latter is averaged over N_segment
segments.

How does the L_segment and N_segment relate to RBW and Fs?

What form of averaging is applied (magnitude/complex)?

Thanks in advance for your answers. Please illustrate with MATLAB
code
if appropriate.

Cystrin@hotmail.com writes:

> This post addresses the implementation of resolution bandwidth in the > context of spectrum analysis in MATLAB. > > Is my understanding correct: > > In an analogue swept frequency spectrum analyzer (SA), the so- > called resolution bandwidth (RBW) is implemented as the final > intermediate frequency (IF) analogue filter. The RBW of the > measurement is varied by changing the bandwidth of the analogue > filter > whose shape is Gaussian. > > In DSP-based spectrum analyzers, there is no 'final IF > (analogue) > filter' and resolution bandwidth is implemented as follows: > > the measurement signal, sampled at Fs, runs continuously. A > segment of sampled data, of length L_segment, is windowed prior to > taking its complex FFT. The latter is averaged over N_segment > segments. > > How does the L_segment and N_segment relate to RBW and Fs? > > What form of averaging is applied (magnitude/complex)? > > Thanks in advance for your answers. Please illustrate with MATLAB > code > if appropriate.
While not a direct answer, this may help. Rick has an appendix on how to build a "practical spectrum analyzer" using the FFT. It may be worth a look. --Randy @BOOK{lyonsnew, title = "{Understanding Digital Signal Processing}", edition = "Second", author = "{Richard~G.~Lyons}", publisher = "Prentice Hall", year = "2004"} -- % Randy Yates % "With time with what you've learned, %% Fuquay-Varina, NC % they'll kiss the ground you walk %%% 919-577-9882 % upon." %%%% <yates@ieee.org> % '21st Century Man', *Time*, ELO http://home.earthlink.net/~yatescr
On Mar 1, 5:33 am, Cyst...@hotmail.com wrote:
> This post addresses the implementation of resolution bandwidth in the > context of spectrum analysis in MATLAB. > > Is my understanding correct: > > In an analogue swept frequency spectrum analyzer (SA), the so- > called resolution bandwidth (RBW) is implemented as the final > intermediate frequency (IF) analogue filter. The RBW of the > measurement is varied by changing the bandwidth of the analogue > filter > whose shape is Gaussian. > > In DSP-based spectrum analyzers, there is no 'final IF > (analogue) > filter' and resolution bandwidth is implemented as follows: > > the measurement signal, sampled at Fs, runs continuously. A > segment of sampled data, of length L_segment, is windowed prior to > taking its complex FFT. The latter is averaged over N_segment > segments. > > How does the L_segment and N_segment relate to RBW and Fs? > > What form of averaging is applied (magnitude/complex)?
The historical manufacturers of dynamic signal analyzers have generated some pretty good application notes on these topics (and some pretty bad ones). The vendors who have sold both swept and real time analyzers try to avoid confusion between the two. Look at Agilent: http://cp.literature.agilent.com/litweb/pdf/5952-8898E.pdf and B&K: http://www.bksv.com/pdf/bv0031.pdf and http://www.bksv.com/pdf/Bv0032.pdf The resolution bandwidth is the noise bandwidth parameter of the window used, sometimes refered to as effective noise bandwidth (ENBW). Dale B. Dalrymple
> Look at Agilent:http://cp.literature.agilent.com/litweb/pdf/5952-8898E.pdf > > and B&K:http://www.bksv.com/pdf/bv0031.pdf > andhttp://www.bksv.com/pdf/Bv0032.pdf
Thanks Dale for the excecllent references available online. In connection with my question about averaging the FFT's, I have read elsewhere that this can be done incoherently using their magnitudes or coherently using their complex values. I have also learnt that the windows can use overlapping sections of the original time sequence. This suggests that there are quite a few things I can try. Stan
On 1 Mar, 14:33, Cyst...@hotmail.com wrote:
> This post addresses the implementation of resolution bandwidth in the > context of spectrum analysis in MATLAB. > > Is my understanding correct: > > In an analogue swept frequency spectrum analyzer (SA), the so- > called resolution bandwidth (RBW) is implemented as the final > intermediate frequency (IF) analogue filter. The RBW of the > measurement is varied by changing the bandwidth of the analogue > filter > whose shape is Gaussian.
This may well be true; I don't know too much (I don't, in fact, know anything) about analog SAs.
> In DSP-based spectrum analyzers, there is no 'final IF > (analogue) > filter' and resolution bandwidth is implemented as follows:
No. Resolution bandwidth is not something that is "implemented." The term "implemented" implies that a property is added, by choise, to a system. Resolution badwidth is a fundamental property of the DFT jut as mechanical friction is a funsamental property in the physical world. It is a parameter one to some extent can play with, which some times is what kills an application, but in other applications is irrelevant. Friction is, however, always present.
> the measurement signal, sampled at Fs, runs continuously. A > segment of sampled data, of length L_segment, is windowed prior to > taking its complex FFT.
Yep,
> The latter is averaged over N_segment > segments.
Not necessarily.
> How does the L_segment and N_segment relate to RBW and Fs?
The key to resolution is not L or N, it is the duration of the observation window relative to the period of the sinusoidal. If you observe a sinusoidal signal for a duration T, and sample it with period dT, yu get a total of N = T/dT samples. The interesting fact is that no matter how you change N and dT, as long as the oservation length T is constant (and Nyquist's sampling criterion is met), the bin width in the Fourier spectrum is constant. The number of coefficients in the spectrum changes, but so does the sampling frequency, the net effect being that the resolution (i.e. spectrum bin width) is the same.
> What form of averaging is applied (magnitude/complex)?
Some power spectrum density (PSD) estimatrors average spectra, but that's not necessary when working with spectra of discrete-time signals But if you do average, the length of the signal frames determine the resolution. Rune
Hi Rune,

For other readers of this thread, I think it might be useful to
explain the difference between what I have called Resolution Bandwidth
and the phenomenon that you described using an analogy with friction.

Firstly, for those unfamiliar with the operation of a swept spectrum
analyzer used for making measurements, please refer to the references
posted above by Randy Yates and Dale B. Dalrymple.

The task I wish to perform is the simulation of a practical spectrum
analyzer using MATLAB (please note that I am not attempting to
simulate every aspect of a practical instrument, simply the basic
operation). Depending on the equipment, practical instruments allow
the user to select: the RF attenuator setting; the mixer level; the
detector type; the resolution bandwidth; the sweep time; the video
bandwidth; the averaging mode; the marker mode; and so on. Some of the
aforementioned parameters are inter-related and are described in the
references mentioned earlier. This discussion thread is concerned with
the implementation of the resolution bandwidth. Again, I use the word
implementation because it is a controllable parameter in a practical
instrument that I wish to implement or model or simulate in MATLAB.

Rune, you made it clear that the length (measured in time units) of
the signal to be converted into the frequency domain through the use
of a discrete Fourier transform (DFT) will be the only factor that
determines the spacing (measured in frequency units) of the spectral
bins after the DFT. This is a fact that requires no discussion.
However, it is very confusing to now call the spacing of the frequency
bins 'resolution bandwidth' in view of the previous discussion,
especially when one remembers that an analogue swept frequency
spectrum analyzer has an adjustable resolution bandwidth but does not
perform DFT's.

Kind regards,

Stan


On 6 Mar, 09:28, "DSP user" <Cyst...@hotmail.com> wrote:

> Rune, you made it clear that the length (measured in time units) of > the signal to be converted into the frequency domain through the use > of a discrete Fourier transform (DFT) will be the only factor that > determines the spacing (measured in frequency units) of the spectral > bins after the DFT. This is a fact that requires no discussion. > However, it is very confusing to now call the spacing of the frequency > bins 'resolution bandwidth' in view of the previous discussion, > especially when one remembers that an analogue swept frequency > spectrum analyzer has an adjustable resolution bandwidth but does not > perform DFT's.
The confusion arises when one tries to compare different fields of engineering, like analog and digital signal processing, that use *almost* the same terminology for *almost* the same things. If you want to discuss discrete-time simulations of analog spectrum analysers on the instrument level, then fine, go ahead. However, do make sure to say that this is what you want to discuss. My impression from the first post, was that you have experience with analog equipment and want to use this as a stepping stone into the digital world, using SA concepts to understand properties of the DFT. In that case, it is essential to map out differences and possible misunderstandings in terminology, since such factors will cause big trouble, for a long time, if not resolved at first opportunity. Rune
DSP user wrote:

   ...

> However, it is very confusing to now call the spacing of the frequency > bins 'resolution bandwidth' in view of the previous discussion, > especially when one remembers that an analogue swept frequency > spectrum analyzer has an adjustable resolution bandwidth but does not > perform DFT's.
The resolution bandwidth of analog (swept frequency) spectrum analyzers is also controlled by the amount of information gathered. to increase the resolution in a digital instrument, one samples for a longer time. To increase in with a frequency sweep, one sweeps more slowly. In both cases, finer resolution is had by spending more time. Stan, you can do digitally what is done with analog, but you can't do it the same way. Jerry -- Engineering is the art of making what you want from things you can get. &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;
On Mar 6, 12:46 am, "Rune Allnor" <all...@tele.ntnu.no> wrote:
> However, do make sure to say that this is what you want to discuss. > My impression from the first post, was that you have experience with > analog equipment and want to use this as a stepping stone into > the digital world, using SA concepts to understand properties of the > DFT.
My impression was that the opposite was asked: how to use DFT concepts to understand properties of SA resolution bandwidth. Perhaps the DFT concept of resolution bandwidth in terms of bins is the alien one, as signals in nature in arbitrary (non-synchronous) windows rarely have anything to do with "bins". IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M
On Mar 6, 12:28 am, "DSP user" <Cyst...@hotmail.com> wrote:
> Hi Rune, > ... > This discussion thread is concerned with > the implementation of the resolution bandwidth. Again, I use the word > implementation because it is a controllable parameter in a practical > instrument that I wish to implement or model or simulate in MATLAB. > > Rune, you made it clear that the length (measured in time units) of > the signal to be converted into the frequency domain through the use > of a discrete Fourier transform (DFT) will be the only factor that > determines the spacing (measured in frequency units) of the spectral > bins after the DFT. This is a fact that requires no discussion. > However, it is very confusing to now call the spacing of the frequency > bins 'resolution bandwidth' in view of the previous discussion, > especially when one remembers that an analogue swept frequency > spectrum analyzer has an adjustable resolution bandwidth but does not > perform DFT's. > > Kind regards, > > Stan
Stan When one performs a DFT (usually via FFT) the transform size determines the distance between bin centers. When a rectangular window the size of the transform has been used (also called no window) the resolution bandwidth -is- equal to the seperation between bin centers. Some people speak as if this were a property of the DFT. It is not. It is one of the properties of the rectangular window. By choosing a different window, different, wider resolution bandwidths can be achieved. To achieve a smaller resolution bandwidth requires a larger window. If you follow the common practice that the transform size is the same as the window size, this leads to a larger transform. But again, the resolution bandwidth is due to the window size, not the transform size. And the transform size has determined the new seperation in bin centers. The confusion can be blamed in some part on the fact that there are many digital spectrum analyzers that only implement windows the same size as the selected transform size. The user who 'learns ffts' by playing with these systems can come away thinking that is how ffts are rather that that is how the particular instrument is. Use of a window smaller than the transform is called 'zero filling' or 'zero extending'. Applications like Matlab zero extend when a transform size larger than the size of the data is specified. Use of a window longer than the transform size has been refered to as 'folding' by fred harris, I think because the term 'wrapping' was already taken by the use of terms 'phase unwrapping'. As I recall. I saw this in Handbook on Digital Signal Processing, edited by D. F. Elliott, Academic Press Inc The effective noise bandwidth (ENBW) parameter of the window you use is given for some common windows in the papers I referenced. Or Google 'spectral window' and enbw Dale B. Dalrymple http://dbdimages.com