SINAD measurements, Implementation in Spectrum Lab, Tests -------------------------------------------------------------- SINAD means SIgnal, Noise And Distortion. The SINAD parameter provides a quantitative measurement of the quality of an audio signal from a communication device. Definition: SINAD := ratio of total signal power (SND) to unwanted signal power (ND) . where SND = Signal+Noise+Distortion ND = Noise+Distortion The ratio is expressed as a logarithmic value in decibel : 10 * log10 ( SND / ND ) The higher the value, the better the audio quality. For more info, search the web for "SINAD and its measurement" which should take you to a nice PDF document with a table of the filter responses. The bandwidth of the audio signal is often limited by a filter. In Spectrum Lab, three different filters can be selected as explained in the help system. The principle of the sinad meter in SL is described at the end of this document. Three different "filters" can be selected in the sinad function as implemented in Spectrum Lab. For details see help system. - Filter "number zero" means no filtering at all, which means no bandwidth limit and a flat response. - Filter "number one" is the C-MESSAGE filter used in North America. - Filter "number two" is the CCITT filter recommended by ITU-T, also called "P53 filter". To check the proper function of the SINAD meter as implemented in DL4YHF's Spectrum Lab, a few theoretic SINAD values were calculated, they are shown later in this document. Notes on SINAD measurements, and what to avoid =================================================== To get the most accurate results, use the lowest possible notch width. If the notch is too wide, a lot of noise power will not be taken into account. ITU-T Recommendation 0.132 describes a notch filter used with 1.02 kHz tones with a maximum notch width of 400 Hz, and a minimum notch width of 25 Hz with a depth of 50 dB. If you make the notch too narrow, the test signal may be outside the notch so it would erroneously be considered as "distortion". Be sure to watch also the spectrum when making SINAD measurements. This helps to avoid false results when the signal from a VHF SSB receiver 'wanders' outside the notch range. Checking the soundcard in full duplex mode ---------------------------------------------- If you produce the 1kHz audio test tone with the same soundcard which also digitizes the received signal, be sure there is no "bypass" in your soundcard ! If the output from the soundcard's DAC is internally fed back to the input of the ADC, the SINAD values always look nice. Disconnect the soundcard's line- input, feed the (software-) test signal generator to the output of the soundcard (on the "circuit" window) and watch the amplitude of the unwanted input signal. With the generator volume set to 0 dB (=full range of the DAC just below the clipping point), the level at the input, measured with the spectrum analyzer, should be 70dB or less. On the author's PC with cheap onboard audio device, the unwanted input signal was at -81 dB which sounds reasonable. If this unwanted feedback is much higher, open the SNDVOL32 program which is part of windows and convince your soundcard not to connect DAC (often called "Wave Out") to the ADC ("Wave In"). Play with the mute controls below the volume sliders until you hear the test tone in your speakers and see ONLY the "line input" signal in the spectrum analyzer. Somey old soundcards were not able to run in full duplex mode at all, which means either the ADC or the DAC could be active but not both at the same time. But these days should be over, even the good old "SoundBlaster 16" ran in full duplex at 44100 samples per second. Theoretic SINAD values for testing purposes ======================================================== (calculated with DL4YHF's "CalcEd") To check the proper function of the SINAD meter, some test signals were required. To simulate a distored audio signal, the three generator channels in SpecLab were used to produce THREE sine waves on different frequencies at 1000 Hz , 2000 Hz , and 3000 Hz . To check the proper function of the "r.m.s. voltmeters", the 'harmonic' frequencies were later changed to 1000.0 Hz , 2000.1 Hz , and 3000.1 Hz . This produces different crest factors in the added waveform, which should not affect the SINAD reading at all (test: OK). Three sine waves to simulate harmonic distortion --------------------------------------------------- Define powers of the signal and harmonics : In SpecLab's Test Tone Generator: (0dB = clipping point of DAC) Tone 1 : 1000.0 Hz, -10 dB Tone 2 : 2000.1 Hz, -13 dB Tone 3 : 3000.1 Hz, -16 dB @P0:=1Watt ; reference power, arbitrarily chosen @P1:=P0 * 10^(-10/10) ; "signal" at 1000 Hz =: 0.1 @P2:=P0 * 10^(-13/10) ; "distortion" at 2000 Hz =: 0.0501187 @P3:=P0 * 10^(-16/10) ; "distortion" at 3000 Hz =: 0.0251189 Calculate filtered POWER levels . Filter 'a' is the C-MESSAGE filter, response: 0.0 dB @ 1000Hz, -1.1dB @ 2000Hz, -3.0dB @ 3000Hz Filter 'b' is the CCITT "p53" filter, response: +1.0 dB @ 1000Hz, -3.0dB @ 2000Hz, -5.6dB @ 3000Hz @P1a := P1 * 10^( 0.0 / 10) @P2a := P2 * 10^(-1.1 / 10) @P3a := P3 * 10^(-3.0 / 10) @P1b := P1 * 10^( 1.0 / 10) @P2b := P2 * 10^(-3.0 / 10) @P3b := P3 * 10^(-5.6 / 10) Theoretic SINAD values [in decibel] for FLAT filter, C-MESSAGE and CCITT-filter . With all THREE tones (1000 Hz, 2000 Hz, 3000 Hz) : 10*log((P1 +P2 +P3 )/(P2 +P3 )) =: 3.67192 10*log((P1a+P2a+P3a)/(P2a+P3a)) =: 4.6864 10*log((P1b+P2b+P3b)/(P2b+P3b)) =: 6.9281 (test: OK, accuracy about 0.01dB) Only TWO tones at 1000 Hz and 2000 Hz : 10*log((P1 +P2 )/P2 ) =: 4.76435 10*log((P1a+P2a)/P2a) =: 5.52716 10*log((P1b+P2b)/P2b) =: 7.7901 (test: OK, accuracy about 0.01dB) Only TWO tones at 1000 Hz and 3000 Hz : 10*log((P1 +P3 )/P3 ) =: 6.97323 10*log((P1a+P3a)/P3a) =: 9.51497 10*log((P1b+P3b)/P3b) =: 12.8323 (test: OK, accuracy about 0.01dB) Implementation of the SINAD meter in Spectrum Lab ===================================================== The classic SINAD meter which runs in the time domain: Audio input (from receiver to SINAD meter) | \|/ | Audio Filter | |-----> 1st RMS voltmeter ---> Sig+Noise+Distortion (SND) | \|/ | Notch Filter | \|/ | 2nd RMS voltmeter ---------------> Noise+Distortion (ND) In Spectrum Lab, the SINAD meter processes the result from an FFT (fast fourier transform) which is also used in the main spectrum analyzer. The FFT transforms the signal from the time domain into the frequency domain, where filtering and RMS (root mean square) measuring is much easier. The SINAD algorithm used here is : 1. Multiply the FFT results (frequency bins) with the CCITT or C-MESSAGE filter response, all in the frequency domain. 2. Add the powers from all FFT bins between 50 Hz and 5000 Hz. The total power calculated this way is the SND value. 3. Add the powers from all FFT bins between 50 Hz and 5000 Hz, EXCLUDING the notch range. The power calculated this way from this will be the ND value. 4. Calculate 10 * log(SND/ND) to find the SINAD value. The SINAD values are calculated with a numeric interpreter function called -you guessed it- "sinad". The function takes up to four input parameters, like: sinad(#channel, center_freq, notch_width, filter_model) The parameters are explained in the help system, look for 'SINAD calculation' in the file interpr.htm after installing Spectrum Lab V2.3 build3 or any later version. -...- Author: Wolfgang Buescher, DL4YHF Website: www.qsl.net/dl4yhf/spectra1.html Revision: 2003-12-17 (YYYY-MM-DD) Credits: Thanks to Jan Verduyn, G0BBL, for suggestions and information about SINAD measurements . .-.-.