In many applications, such as hands-free telephony and teleconferencing, captured speech signals include significant background noise. This noise can make processing the speech more difficult. Methods are necessary to remove, or at least reduce, the noise in the signal.

One method for Noise Reduction is the Singular Value Decomposition (SVD). This method assumes that the desired signal, y(n), and noise signal, n(n), have low cross-correlation, and that the noise is white Gaussian. We begin be taking a portion of the noisy signal of length N,x(n) = y(n) + n(n) with n = 0,1,…,N – 1, and write it as the N – M + 1 by M Hankel Matrix

X =
x(0)x(1)x(N – M)
x(1)x(2)x(N – M + 1)
x(M – 1)x(M)x(N – 1)

From this, we use the singular value decomposition X = UΦV*, where U is an orthogonal N – M + 1 by M matrix, V is an orthogonal M by Mmatrix and Φ is a diagonal M by M matrix whose entries are φ0 ≥ φ1 ≥ ⋯ ≥ φM – 1. We will create Φ̃ by keeping only the largest K entries ofΦ. This is basically removing the low power, i.e. noise, portion of the signal. We then define  by  = UΦ̃V*. This is almost the Hankel matrix of the estimated signal ŷ(n). We arrive at that matrix by averaging the entries of  over the diagonals, i.e.

ŷ(j) =
j
i,j – i
i=0
j + 1

The SVD algorithm requires tuning in order to work. That is, a decision needs to be made about what the values for NM, and K should be. Ncan be chosen so as to easily integrate this algorithm into other processing. For example, if the speech is going to be processed by a vocoder that operates on 20ms frames and samples at 8kHz, it makes sense to choose N = 160. The choices of M and K can make drastic differences in the effectiveness of the algorithm. This is where PSO becomes effective. We can use PSO to search for the optimal values of M and K. As the objective function, we will use ƒ(M,K) = |ŷ| + |x – ŷ| – |x|. This function measures the gain achieved by separating the noise from the desired signal. Maximizing this function will lead to improved noise reduction. We can then use the decision from that portion of the signal to begin examining the next portion of the signal. Since speech signals are processed in frames of time where the properties remain mostly stationary, the signal and noise portions of the noisy signal will remain similar from one frame to the next. This allows us to use PSO to track the speech signal amid the noise from frame to frame.

VOCAL’s Noise Reduction solutions are used in military, industrial and commercial applications such as cockpits, call centers, and other challenging acoustic environments that can interfere with effective voice communications. Our Microphone Noise Reduction solutions provide different methods to enhance speech depending on the system configuration and information available.

Our experience in the development and configuration of mobile, network, and telephony applications will help you select the right noise solution for your product design. Contact us to discuss your noise reduction requirements.

results of noise reduction processing
Noise reduction enhances voice communications by reducing background noise to effectively increase the SNR of speech

download brochure request demo

Noise Reduction Software

VOCAL’s noise reduction software may be  licensed standalone, as a library or part of a complete design. Our software libraries are optimized for leading DSPs and microprocessors from TI, ADI, Intel, AMD, ARM and other vendors.  Custom noise solutions are also available for your voice communications application needs.

More Information

Platforms

supported platforms

VOCAL’s optimized software is available for the following platforms. Please contact us for specific noise reduction supported platforms.

ProcessorsOperating Systems
  • Texas Instruments – C6xx (TMS320C62x, TMS320C64x, TMS320C645x, TMS320C66x, TMS320C67x), DaVinci, OMAP, C5xx (TMS320C54x, TMS320C55x)
  • Analog Devices – Blackfin, ADSP-21xx, TigerSHARC, SHARC
  • PowerPC, PowerQUICC
  • MIPS – MIPS32, MIPS64, MIPS4Kc
  • ARM – ARM7, ARM9, ARM9E, ARM10E, ARM11, StrongARM, ARM Cortex-A8/A9/A15, Cortex-M3/M4
  • Intel / AMD – x86, x64 (both 32 and 64 bit modes)
  • Linux, uClinux, BSD, Unix
  • Microsoft Windows ACM / RTC / CE / Mobile
  • Apple iOS / iPhone / iPad & MacOS
  • eCOS / eCOSPro
  • Google Android
  • Green Hills Integrity
  • Micrium μCOS
  • Symbian
  • Wind River VxWorks
  • VOCAL LANsEND