diff --git a/doc/img/MainSpectrum.png b/doc/img/MainSpectrum.png
index 75533ecf9..22b428fb7 100644
Binary files a/doc/img/MainSpectrum.png and b/doc/img/MainSpectrum.png differ
diff --git a/doc/img/MainSpectrum.xcf b/doc/img/MainSpectrum.xcf
index e856b9748..8b32ffbc1 100644
Binary files a/doc/img/MainSpectrum.xcf and b/doc/img/MainSpectrum.xcf differ
diff --git a/doc/img/MainWindow_spectrum_gui.png b/doc/img/MainWindow_spectrum_gui.png
index 251f20deb..324798a7e 100644
Binary files a/doc/img/MainWindow_spectrum_gui.png and b/doc/img/MainWindow_spectrum_gui.png differ
diff --git a/doc/img/MainWindow_spectrum_gui.xcf b/doc/img/MainWindow_spectrum_gui.xcf
index 6719d6c15..75763fdd8 100644
Binary files a/doc/img/MainWindow_spectrum_gui.xcf and b/doc/img/MainWindow_spectrum_gui.xcf differ
diff --git a/doc/img/MainWindow_spectrum_gui_F.png b/doc/img/MainWindow_spectrum_gui_F.png
index 7b1d1b46f..37076537c 100644
Binary files a/doc/img/MainWindow_spectrum_gui_F.png and b/doc/img/MainWindow_spectrum_gui_F.png differ
diff --git a/doc/img/MainWindow_spectrum_gui_F.xcf b/doc/img/MainWindow_spectrum_gui_F.xcf
index 8d5d3f494..ec72053c1 100644
Binary files a/doc/img/MainWindow_spectrum_gui_F.xcf and b/doc/img/MainWindow_spectrum_gui_F.xcf differ
diff --git a/doc/img/Spectrum_Measurement_dialog_AdjChannelPower.png b/doc/img/Spectrum_Measurement_dialog_AdjChannelPower.png
new file mode 100644
index 000000000..ff93ec737
Binary files /dev/null and b/doc/img/Spectrum_Measurement_dialog_AdjChannelPower.png differ
diff --git a/doc/img/Spectrum_Measurement_dialog_ChannelPower.png b/doc/img/Spectrum_Measurement_dialog_ChannelPower.png
new file mode 100644
index 000000000..0baf48f3b
Binary files /dev/null and b/doc/img/Spectrum_Measurement_dialog_ChannelPower.png differ
diff --git a/doc/img/Spectrum_Measurement_dialog_SNR.png b/doc/img/Spectrum_Measurement_dialog_SNR.png
new file mode 100644
index 000000000..727609a83
Binary files /dev/null and b/doc/img/Spectrum_Measurement_dialog_SNR.png differ
diff --git a/doc/img/Spectrum_Measurement_dialog_none.png b/doc/img/Spectrum_Measurement_dialog_none.png
new file mode 100644
index 000000000..63e75e98f
Binary files /dev/null and b/doc/img/Spectrum_Measurement_dialog_none.png differ
diff --git a/doc/img/Spectrum_Measurement_dialog_peak.png b/doc/img/Spectrum_Measurement_dialog_peak.png
new file mode 100644
index 000000000..a38c2516f
Binary files /dev/null and b/doc/img/Spectrum_Measurement_dialog_peak.png differ
diff --git a/doc/img/Spectrum_Measurements.png b/doc/img/Spectrum_Measurements.png
new file mode 100644
index 000000000..67cfca60c
Binary files /dev/null and b/doc/img/Spectrum_Measurements.png differ
diff --git a/sdrgui/gui/glspectrumgui.ui b/sdrgui/gui/glspectrumgui.ui
index afa1bf3cd..edc077739 100644
--- a/sdrgui/gui/glspectrumgui.ui
+++ b/sdrgui/gui/glspectrumgui.ui
@@ -1100,7 +1100,7 @@
- :/ruler.png:/ruler.png
+ :/caliper.png:/caliper.png
true
diff --git a/sdrgui/gui/spectrum.md b/sdrgui/gui/spectrum.md
index d7e8e4a8a..8fa681178 100644
--- a/sdrgui/gui/spectrum.md
+++ b/sdrgui/gui/spectrum.md
@@ -55,6 +55,12 @@ Values may be suffixed by a multiplier character:
Use mouse right click anywhere in the view to remove the last entered marker. Use shift and mouse right click to remove all markers.
+Spectrum measurements
+
+When activated in the spectrum measurements dialog (B.6.5) the measured values are displayed along with the spectrum. The measurements table can be displayed on the left, right, top or bottom of the spectrum view. You can use the splitter handle to arrange the partition between table and spectrum view. Details on the available measurements are discussed in the [Spectrum measurement control dialog](spectrummeasurements.md) documentation.
+
+![Spectrum Measurements](../../doc/img/Spectrum_Measurements.png)
+
Mouse scroll wheel
![Spectrum Mousewheel](../../doc/img/MainWindow_spectrum_mousewheel.png)
@@ -282,7 +288,9 @@ When in linear mode the range control (B.3.3) has no effect because the actual r
Use this button to freeze the spectrum update. Useful when making measurements with the markers.
-B.6.2: Spectrum server control
+B.6.2: Save spectrum to CSV file
+
+B.6.3: Spectrum server control
A websockets based server can be used to send spectrum data to clients. An example of such client can be found in the [SDRangelSpectrum](https://github.com/f4exb/sdrangelspectrum) project.
@@ -342,92 +350,24 @@ The server only sends data. Control including FFT details is done via the REST A
-B.6.3: Spectrum markers dialog
+B.6.4: Spectrum markers dialog
Opens the [spectrum markers dialog](spectrummarkers.md)
-B.6.4: Spectrum calibration
+B.6.5: Spectrum measurements dialog
+
+Opens the [Spectrum measurement control dialog](spectrummeasurements.md) Check this link for details on the available measurements.
+
+B.6.6: Spectrum calibration
Use the toggle button to switch between relative and calibrated power readings.
Right click to open the [calibration management dialog](spectrumcalibration.md)
-B.6.5: Go to annotation marker
+B.6.7: Go to annotation marker
This combo only appears if the spectrum display is the spectrum of a device (i.e. main spectrum) and if there are visible annotation markers. It allows to set the device center frequency to the frequency of the selected annotation marker.
-B.7.1: Measurement
-
-Selects a measurement to perform on the spectrum:
-
-* None - No measurement is performed.
-* Peak - Displays highest peak power and frequency.
-* Ch Power - Channel power.
-* Adj Ch - Adjacent channel power.
-* SNR - Signal to Noise Ratio.
-* SNFR - Signal to Noise Floor Ratio.
-* THD - Total Harmonic Distortion.
-* THD+N - Total Harmonic Distortion plus Noise.
-* SINAD - Signal to Noise and Distortion ratio.
-* SFDR - Spurious Free Dynamic Range
-
-The measurement result is displayed in the top-right of the spectrum.
-When any measurement is selected, the resolution bandwidth (RBW), which is the sample rate / FFT size, is additionally displayed in the top-left of the spectrum.
-Several of the measurements highlight the measurement region on the spectrum. This can be toggled on and off with the 'Highlight measurement' button.
-
-Peak
-
-The peak measurement displays the power and frequency of the FFT bin with the highest magnitude.
-
-![Peak measurement](../../doc/img/Spectrum_Measurement_Peak.png)
-
-Channel Power
-
-Channel power measures the total power within a user-defined bandwidth, at the center of the spectrum:
-
-![Adjacent channel power measurement](../../doc/img/Spectrum_Measurement_ChannelPower.png)
-
-Adjacent Channel Power
-
-The adjacent channel power measurement measures the power in a channel of user-defined bandwidth at the center of the spectrum and compares it to the power in the left and right adjacent channels.
-Channel separation is specifed in the 'Spacing' field.
-
-![Adjacent channel power measurement](../../doc/img/Spectrum_Measurement_AdjChannelPower.png)
-
-Signal to Noise Ratio
-
-The SNR measurement estimates a signal-to-noise ratio.
-The fundamental signal is the largest peak (i.e. FFT bin with highest magnitude).
-The bandwidth of the signal is assumed to be the width of the largest peak, which includes adjacent bins with a monotonically decreasing magnitude.
-Noise is summed over the full bandwidth (i.e all FFT bins), with the fundamental and user-specified number of harmonics being replaced with the noise median from outside of these regions.
-The noise median is also subtracted from the signal, before the SNR is calculated.
-
-![SNR measurement](../../doc/img/Spectrum_Measurement_SNR.png)
-
-Signal to Noise Floor Ratio
-
-The SNFR measurement estimates a signal-to-noise-floor ratio.
-This is similar to the SNR, except that the noise used in the ratio, is only the median noise value calculated from the noise outside of the fundamental and harmonics, summed over the bandwidth of the signal.
-One way to think of this, is that it is the SNR if all noise outside of the signal's bandwidth was filtered.
-
-Total Harmonic Distortion
-
-THD is measured as per SNR, but the result is the ratio of the total power of the harmonics to the fundamental.
-
-Total Harmonic Distortion Plus Noise
-
-THD+N is measured as per SNR, but the result is the ratio of the total power of the harmonics and noise to the fundamental.
-
-Signal to Noise and Distortion Ratio
-
-SINAD is measured as per SNR, but the result is the ratio of the fundamental to the total power of the harmonics and noise.
-
-Spurious Free Dynamic Range
-
-SFDR is a measurement of the difference in power from the largest peak (the fundamental) to the second largest peak (the strongest spurious signal).
-
-![SFDR measurement](../../doc/img/Spectrum_Measurement_SFDR.png)
-
3D Spectrogram Controls
![3D Spectrogram](../../doc/img/MainWindow_3D_spectrogram.png)
diff --git a/sdrgui/gui/spectrummeasurements.md b/sdrgui/gui/spectrummeasurements.md
new file mode 100644
index 000000000..1fe3f2f0d
--- /dev/null
+++ b/sdrgui/gui/spectrummeasurements.md
@@ -0,0 +1,85 @@
+Spectrum measurements controls
+
+This dialog controls which measurements are carried out on the spectrum and what is displayed on the spectrum window.
+
+No measurements
+
+![Spectrum Measurements dialog - none](../../doc/img/Spectrum_Measurement_dialog_none.png)
+
+The spectrum is displayed the usual way without the measurements table
+
+Peaks
+
+Shows the n largest peaks in magnitude
+
+![Spectrum Measurements dialog - peak](../../doc/img/Spectrum_Measurement_dialog_peak.png)
+
+
+ - **Display results table**: lets you choose whether the table is displayed at the left, right, top or bottom of the spectrum view. This control is common to all measurement types
+ - **Highlight on spectrum**: controls whether the artifacts are displayed or not on the spectrum view. This control is common to all measurement types having artifacts
+ - **Results precision**: controls the number of decimal places displayed on the power readings in dB. This control is common to all measurement types
+ - **Peaks**: controls the number of peaks
+
+Channel Power
+
+Channel power measures the total power within a user-defined bandwidth. Channel shift is adjustable with the dialog.
+
+![Spectrum Measurements dialog - channel power](../../doc/img/Spectrum_Measurement_dialog_ChannelPower.png)
+
+ - **Results precision**: controls the number of decimal places displayed on the power readings in dB
+ - **Center frequency offset**: channel offset from the center in Hz
+ - **Channel bandwidth**: bandwidth of the channel in Hz
+
+Spectrum display with the highlight artifact on:
+
+![Spectrum Measurements - channel power](../../doc/img/Spectrum_Measurement_ChannelPower.png)
+
+Adjacent channel power
+
+The adjacent channel power measurement measures the power in a channel of user-defined bandwidth and compares it to the power in the left and right adjacent channels. Channel shift and adjacent channels width and separation are also adjustable with the dialog.
+
+![Spectrum Measurements dialog - adjacentchannel power](../../doc/img/Spectrum_Measurement_dialog_AdjChannelPower.png)
+
+ - **Center frequency offset**: channels offset from the center in Hz
+ - **Channel bandwidth**: bandwidth of the in-channel in Hz
+ - **Channel spacing**: In-channel to adjacent channel centers spacing in Hz
+ - **Adjacent channel bandwidth**: Adjacent channels bandwidth in Hz
+
+Spectrum display with the highlight artifact on:
+
+![Spectrum Measurements - adjacentchannel power](../../doc/img/Spectrum_Measurement_AdjChannelPower.png)
+
+SNR
+
+![Spectrum Measurements dialog - SNR](../../doc/img/Spectrum_Measurement_dialog_SNR.png)
+
+ - **Harmonics**: controls the number of harmonics for THD, THD+N or SINAD measurements (see next)
+
+SNR: Signal to Noise Ratio
+
+The SNR measurement estimates a signal-to-noise ratio. The fundamental signal is the largest peak (i.e. FFT bin with highest magnitude). The bandwidth of the signal is assumed to be the width of the largest peak, which includes adjacent bins with a monotonically decreasing magnitude. Noise is summed over the full bandwidth (i.e all FFT bins), with the fundamental and user-specified number of harmonics being replaced with the noise median from outside of these regions. The noise median is also subtracted from the signal, before the SNR is calculated.
+
+![Spectrum Measurements - SNR](../../doc/img/Spectrum_Measurement_SNR.png)
+
+SFNR: Signal to Noise Floor Ratio
+
+The SNFR measurement estimates a signal-to-noise-floor ratio. This is similar to the SNR, except that the noise used in the ratio, is only the median noise value calculated from the noise outside of the fundamental and harmonics, summed over the bandwidth of the signal. One way to think of this, is that it is the SNR if all noise outside of the signal's bandwidth was filtered.
+
+THD: Total Harmonic Distortion
+
+THD is measured as per SNR, but the result is the ratio of the total power of the harmonics to the fundamental.
+
+THD+N: Total Harmonic Distortion Plus Noise
+
+THD+N is measured as per SNR, but the result is the ratio of the total power of the harmonics and noise to the fundamental.
+
+SINAD: Signal to Noise and Distortion Ratio
+
+SINAD is measured as per SNR, but the result is the ratio of the fundamental to the total power of the harmonics and noise.
+
+SFDR: Spurious Free Dynamic Range
+
+SFDR is a measurement of the difference in power from the largest peak (the fundamental) to the second largest peak (the strongest spurious signal).
+
+![Spectrum Measurements - SFDR](../../doc/img/Spectrum_Measurement_SFDR.png)
+
diff --git a/sdrgui/resources/caliper.png b/sdrgui/resources/caliper.png
new file mode 100644
index 000000000..6abd2c0b3
Binary files /dev/null and b/sdrgui/resources/caliper.png differ
diff --git a/sdrgui/resources/res.qrc b/sdrgui/resources/res.qrc
index 90fe1ae90..9817bd60e 100644
--- a/sdrgui/resources/res.qrc
+++ b/sdrgui/resources/res.qrc
@@ -1,5 +1,6 @@
+ caliper.png
flip_windows.png
waterfall_3d.png
bell_max.png