We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X
Maximize Your Experience: Reap the Personalized Advantages by Completing Your Profile to Its Fullest! Update Here
Stay in the loop with the latest from Microchip! Update your profile while you are at it. Update Here
Complete your profile to access more resources.Update Here!
0
$0.00
Item Qty
Your cart is empty.

dsPIC DSC Noise Suppression Library


The dsPIC DSC Noise Suppression Library provides a function to suppress the effect of noise in a speech signal. This function is useful for microphone-based applications that have a potential for incoming speech corruption from ambient noise. It is especially suitable for systems where an acoustically isolated noise reference is not available, such as:

  • Hands-free cell phone kits
  • Speaker phones
  • Intercoms
  • Teleconferencing systems
  • Headsets
  • Front-end to a speech recognition system
  • Any microphone-based application that needs to eliminate undesired noise

Input Audio Files with Noise 

 

Output Audio Files with suppressed Noise 

Example Noisy Input File - Babble Noise

Example Noise Suppressed Output File - Babble Noise

Example Noisy Input File -Machine Noise

Example Noise Suppressed Output File - Machine Noise

Example Noisy Input File - White Noise

Example Noise Suppressed Output File - White Noise

Description

The Noise Suppression Library is written almost entirely in assembly language. It is highly optimized to make extensive use of the dsPIC DSC device DSP instruction set and advanced addressing modes. The algorithm has been implemented keeping in mind the need to avoid data overflow. The library functions can be easily called by the user application through a well-documented Application Programmer’s Interface.

The noise suppression function removes noise from a 10 ms block of 16-bit speech data sampled at 8 kHz. This function is primarily a Frequency Domain algorithm in which a Fast Fourier Transform (FFT) is performed on each 10 ms block of data to analyze the frequency components of the signal. Thereafter, a Voice Activity Detection (VAD) algorithm is used to determine if the signal segment is speech or noise. The noise suppression algorithm maintains a profile of the noise and updates it every time a noise segment is detected by the VAD. Every frequency band of the input signal is then scaled according to the proportion of noise contained in that frequency band, thereby causing a significant degree of noise suppression in the resultant signal. The Algorithm thus adapts to changes in the nature and level of noise and does not require a separate noise reference input.

Features

Key feature of the Noise Suppression Library include:

    • Simple user interface – only one library file and one header file

    • All functions called from a C application program

    • Full compliance with the Microchip C30 Compiler, Assembler and Linker

    • Highly optimized assembly code that uses DSP instructions and advanced addressing modes

    • Comprehensive API provides parametric control of the Noise Suppression Engine

    • Noise reduction level can be controlled from 0 dB to 44 dB

    • Audio Bandwidth: 0-4 kHz at 8 kHz sampling rate

    • Library delivered on CD, which also includes:

    o Several sample .wav files that incorporate different types of noise components

    o User’s Guide

    o Sample demo application with complete source code

Resource Requirements

Computational Requirements: 3.5 MIPS
Program Flash Memory: 8 KB
RAM: 1 KB

This library is available for free download and there are no associated royalties for this library

dsPIC DSC Noise Suppression Library


Title
Date
dsPIC DSC Noise Suppression Library User’s Guide 31 Oct 2014 Download
NS setup 31 Oct 2014 Download