Spectrogram Graph

This graph shows a spectrogram plot over the region from 10Hz to the end of the measurement. It can be used to view the results of sweep measurements, the frequency content of imported audio files or the results of stepped sine measurements for which the spectrum data has been captured at each measurement frequency.

The spectrogram is like a waterfall viewed from above, with the level indicated by colour. The scale showing how colour relates to level is displayed to the right of the plot. The vertical axis of the plot can show time, increasing towards the top of the plot, or frequency with time on the horizontal axis. When viewing sweep measurements the time starts before the peak of the impulse so that the onset of the response can be seen. The areas where the response is decaying more slowly show up as streaks along the time axis. The dashed line shows the peak level in the plot at each frequency.

Spectrogram

The spectrogram plot is generated in the same way as the Spectral Decay plot, shifting the impulse response window to the right by a proportion of the time range to generate each succeeding slice. The window type is selected in the graph controls. The plot uses logarithmically spaced data at 96 points per octave.

To produce the spectrogram plot click the Generate in the bottom left corner of the graph area (shortcut Alt+G). The legend panel shows the plot value at the intersection of the vertical and horizontal cursor lines.

An ideal Spectrogram decays very rapidly off the bottom of the scale range. Here is an example of a plot produced from a soundcard loopback measurement in Fourier mode.

Spectrogram Ideal

Spectrogram Controls - Sweep Measurements

Spectrogram Controls

Mode selects the type of spectrogram plot that will be produced, which can be either Fourier or Wavelet. In Fourier mode the plot uses fixed width windows, which mean the plot has the same time resolution at all frequencies. If the plot spans a wide range of frequencies this usually means the time resolution is either too low at high frequencies or too high at low frequencies. A 100 ms window, for example, gives 10 Hz frequency resolution. At low frequencies that is a big octave fraction (1/1.4 octaves at 20 Hz), at high frequencies a very, very small octave fraction (1/1386 octaves at 20 kHz). For a time-frequency plot it would be more useful if the tradeoff between time and frequency resolution varied with frequency, using a constant octave fraction for frequency resolution rather than a constant number of Hz and so giving higher time resolution at high frequencies and lower at low frequencies. A wavelet transform can achieve that, specifically a constant Q Continuous Wavelet Transform (CWT). A constant Q wavelet transform is mathematically equivalent to using a frequency-dependent window to produce the spectrogram, which is what REW does. This method is faster than typical CWT calculations, but may produce some artefacts in parts of the response that extend to frequencies close to half the sample rate - using a higher sample rate shifts these beyond the usual range of interest.

Here is a 1/6 octave Wavelet spectrogram of the same soundcard loopback measurement shown above. It becomes narrower as frequency increases, reflecting the increasing time resolution of the wavelet plot.

Wavelet Spectrogram Ideal

Here is the same measurement from the first image above as a 1/12 octave Wavelet spectrogram.

Wavelet Spectrogram

The difference between the Fourier and Wavelet spectrograms can be more easily seen when looking at responses with reflections. Here are two plots of a response which has a series of reflections at 1 ms intervals after the peak. In the Fourier spectrogram, using a 10 ms window and a 10 ms span after the peak, the effect on the frequency response and decay are clearly visible, with peaks at 1 kHz intervals. However, the reflections themselves cannot be distinguished.

Wavelet Spectrogram

The wavelet plot also shows the frequency response and decay effects, but thanks to its greater time resolution at high frequencies the reflections themselves become visible as horizontal bars.

Wavelet Spectrogram

In Wavelet mode a Freq. Resolution control replaces the Window control and allows resolutions between 1 octave and 1/24th octave to be selected.

The Window type control selects the window that is used for each slice of a Fourier spectrogram, Hann is well suited to viewing the content of imported audio files, Gaussian provides a more optimal time/frequency tradeoff for sweep measurements.

The Span before peak and Span after peak controls determine how much spectrogram data will be generated around the impulse response peak for a sweep measurement. There are no span controls for imported audio files, the spectrogram is generated for the whole span of the file.

Draw contours adds contour lines at the dB interval set in the adjacent spinner.

Spectrogram with contours

Normalise to peak at each frequency scales (boosts) the plot at each frequency so that it has the same peak value. This can be useful when examining energy decay or the time alignment between drive units as it removes the level differences. Note that using 3D enhancement with normalisation may result in artefacts along the frequency axis.

Wavelet Spectrogram Normalised

Fill spectrogram floor fills the floor of the plot with the colour at the bottom of the scale range. When the floor is filled the grid is drawn on top of the spectrogram, it can be shown/hidden using the Show/Hide Grid toggle in the Graph menu or using the Ctrl+Shift+G shortcut.

Wavelet Spectrogram Floor Filled

If Show modal frequencies is selected the theoretical modal frequencies for the room dimensions entered in the Modal Analysis section of the EQ Window are plotted at the bottom of the graph.

The Amplitude control offers a choice between linear and logarithmic scales. The log scales are dB SPL and dBFS, the linear scales are % peak and % FS. Using the linear % peak scale with a Wavelet plot makes it easier to see timing shifts. The dBFS and % FS scales may eb useful when viewing imported audio files.

Frequency axis determines whether frequency is along the X or Y axis. Spectrograms of audio data typically have frequency along the Y (vertical) axis, having frequency along the X (horizontal) axis allows easier visual comparison with waterfall plots.

The Colour Scheme for the plot can be changed, the plots above use the "Heat" scheme, here is a plot using the "Copper" colour scheme with 3D enhancement active.

Spectrogram, copper colour scheme

One of the colour schemes is based on cubehelix by Dave Green, see https://www.mrao.cam.ac.uk/~dag/CUBEHELIX/. It is based on a helical path around the diagonal of an RGB colour cube, taking into account the perceived intensity of colours to create a scheme that perceptually has monotonically increasing brightness. The cubehelix scheme can be configured to change its appearance using the settings panel below, which is activated by clicking the icon to the right of the colour scheme selector:

cubehelix settings

Start hue is the hue in degrees at the base of the plot. Rotation is how many degrees the helix travels around the cube diagonal, setting rotation to zero produces a scheme with a single hue. Rotation can be positive or negative. Hue factor is a scaling applied to the colours, a factor of 1.0 ensure perceptual uniformity but higher values produce a more colourful scheme. The original scheme covers the whole span from black to white, but the Min grey and Max grey controls allow starting at a level above black, making the start hue visible, and ending before white, leaving some colour at the top of the scale.

The Scale Top, Scale Bottom and Scale Range controls adjust how the plot colours correspond to the values in the Spectrogram data. Any values higher than the Scale Top are drawn in the colour at the top of the scale, any values lower than the Scale Bottom are drawn in the colour at the bottom. If the Scale Top setting is changed the Scale Bottom will be adjusted to keep the same Scale Range. If the Scale Bottom is changed the Scale range will be adjusted to keep the same Scale Top. If the Scale Range is changed the Scale Bottom will be adjusted, keeping the same Scale Top.

Match time scale to window and range adjusts the time axis range so that it starts at the Window width before zero (e.g. -300 ms for a 300 ms Window setting) and ends at the Time Range (e.g. 1000 ms for a 1000 ms Time Range) so that the plot shows all the generated data.

Match top of scale to peak adjusts the Scale Top value so that it corresponds to the highest level found in the data.

Select Plot the peak energy curve to overlay a line showing where the highest SPL occurs at each frequency, this can highlight variations in peak energy arrival time versus frequency - an ideal peak energy curve would be a straight line with the same time value for all frequencies.

3D enhancement gives the plot a more three-dimensional appearance.

Spectrogram, 3D enhanced

If Banded colours is selected the colour scale has discrete steps rather than a continuous blend from one colour to another - there are 11 colours in that case to provide 10 bands across the scale range.

Spectrogram, banded colours

The control settings are remembered for the next time REW runs. The Apply Default Settings button restores the controls to their default values.

Spectrogram Controls - Stepped Sine Measurements

Spectrogram Controls Stepped Sine

Stepped sine measurements have a reduced set of controls, to select the amplitude, frequency axis, colour scheme and the SPL range. The equivalent of the time axis for stepped sine measurements is the test frequency at which the spectrum data was captured, those frequencies are shown along the axis. When a stepped sine measurement is selected the axis is automatically scaled to show all of the test frequencies in the measurement, but it can subsequently be zoomed in or out using the axis zoom buttons. Note that spectrograms can only be generated for stepped sine measurements that had the option to Capture spectrum data at each frequency selected.

Stepped sine spectrogram

Help Index