NoiseLesser: Noise Reduction at the audio level
Years ago I made on my software page some older noise reduction software available. It was programmed in Simulink, but it lacked a Graphical User Interface (GUI).
Now, by using Labview, I am able to add a GUI and to combine the different algorithms in the NoiseLesser program.
Most modern transceivers have NR on board. However the effectiveness is sometimes very questionable. The noise reduction in my FTDX5000 by the way is doing a good job and much better than the IC7700.
The purpose of noise reduction is improving readability and decreasing listening fatigue.
Developing noise reduction for very weak signal reception is a little bit of an art. It is difficult to predict the perception of algorithms and settings. Especially for speech. I expect that my noise reduction for speech can be improved further e.g. by using more knowledge of the characteristics of speech. Noise reduction has to be evaluated using very weak signals.
The reduction of noise is not necessarily done at the IF intermediate frequency level of a receiver. Only unwanted strong modulated signals which affect the AGC have to be filtered out at the IF. Noise and most QRM is broadband and fairly constant and we can set the RF gain of the receiver to a level so the AGC is not active.
In this way it is valid to do noise reduction at the audio level.
Matlab/Simulink is very well suited for playing with Digital Signal Processing and Software Defined Radio (SDR). It supports the development of DSP for e.g. noise reduction. Simulink makes it possible to interactively play with DSP as with an analogue or digital electronic schematic. It uses functional blocks (large library) to make up the processing. Each block is unambiguously and clearly described. It supports a lot of ways to measure and test while developing. Such a schematic made out of blocks is needed because a lot of processing is going on in parallel and in a data flow, like in an analogue or digital electronic circuit. It helps keeping an overview of what is programmed. You don’t need to know how to program lines of DSP software, you can stay focused on the functionality.
For home and personal use, there is a (too limited!) low cost version available. See also:
http://nl.mathworks.com/pricing-licensing/index.html?intendeduse=home
http://nl.mathworks.com/products/matlab-home/
http://nl.mathworks.com/hardware-support/rtl-sdr.html
http://nl.mathworks.com/discovery/sdr.html
Book: SDR using MATLAB/Simulink and the RTL-SDR with support files (FREE)
The presented NoiseLesser software on this page is a result of this playing and learning with Simulink.
NoiseLesser (Freeware)
The NoiseLesser noise reduction is focused on finding the best setting for the actual band conditions. It is therefore equipped with two sets of controls. This enables keeping one set as a reference for the other set. By switching between both settings the preferred setting for the best readability of the signal can be found.
Several algorithms are implemented for CW and speech. All algorithms are based on selective filtering. Noise cannot be subtracted from the total signal, because it is not predictable. You don’t know what to subtract. By selective filtering the noise from unwanted frequencies is attenuated. This is very effective, provided you know the frequency components you do need.
Download NoiseLesser (free)
NoiseLesser software is in the NoiseLesser download (zip) file.
Update May 2016: nLMS CW NR improved leakage setting in NoiseLesser_v21a.zip
A supporting tool (Device_Numbers zip file) is available to check the numbering of the audio devices in Windows.
The installation is simple. Unpack the files in a directory of choice.
Run the executable by double clicking or making a shortcut on the desktop.
The first time it will ask to install the (32-bit) LabVIEW Run-Time Engine 2013 and will show the link to the correct page (http://www.ni.com/download/labview-run-time-engine-2013/4059/en/). The 64-bit version RTE will not work. NI asks you to register, that’s free, but of course very annoying.
I like to thank Igor, UA3DJY, very much for doing beta testing the software.
Also want to thank Eric, PA3DES, for beta testing and helping connecting to powerSDR.
The manual is available also in Dutch and Russian.
Many thanks for Dmitry, RK3AOL, for translating it into Russian.
Noise Reduction Manual (English)
Noise Reduction Manual (Russian)
Noise Reduction Manual (Dutch)
The next three mp3 files can be used for test using VAC and Audacity:
UA3DJY has used VBcable with success instead of VAC.
An example of noise reduction results with these three mp3 files:
The NoiseLesser software is made available "as is". I am not able to give any substantial support. However don’t hesitate to ask. Feedback is much appreciated.
Software and Manual are freeware for private and non-commercial use in educational institutions only. Permission is granted to use the information and the software for private and non-commercial use in educational institutions only. Any commercial or other application, distribution and sale is prohibited.
I will not accept responsibility for any damage to your equipment through the use of this information and the software or as a result thereof.
Al rights reserved © PA0SIM.
[up]
Last update: September 18, 2017
© PA0SIM