dsPIC30F Noise Suppression Library Summary Features The dsPIC30F Noise Suppression (NS) Library provides a function to suppress the effect of noise interfering with a speech signal. This function is useful for microphone-based applications, which have a potential for incoming speech getting corrupted by ambient noise captured by the microphone. It is especially suitable for systems in which an acoustically isolated noise reference is not available, such as: * Hands-free Cell Phone Kits * Speakerphones * Intercoms * Teleconferencing Systems * Headsets * As a front-end to a Speech Recognition system * Any microphone-based application that needs to eliminate undesired noise Key feature of the Noise Suppression Library include: * All functions can be called from either a C or assembly application program * Five user functions: - NoiseSuppressionInit - NoiseSuppression - InitRateConverter - SRC_upConvert - SRC_downConvert * Full compliance with the Microchip dsPIC30F C30 C Compiler, Assembler and Linker * Simple user interface - just one library file and one header file * Highly optimized assembly code, utilizing DSP instructions and advanced addressing modes * Audio Bandwidth: 0-4 kHz at 8 kHz sampling rate * 10-20 dB noise reduction, depending on type of noise - Several speech recordings corrupted by Babble, Car Cabin, White and Narrowband Noise included for library evaluation * "dsPIC30F Noise Suppression Library User's Guide" is provided to help the user understand and use the library * Demo application source code is provided with the library * Accessory Kit available for purchase includes: an audio cable, headset, oscillators, microphone, speaker, DB9 M/F RS-232 cable, DB9M-DB9M Null Modem Adapter and can be used for library evaluation Description The Noise Suppression Library is written entirely in assembly language and is highly optimized to make extensive use of the dsPIC30F DSP instruction set and advanced addressing modes. The algorithm avoids data overflow. The Noise Suppression Library provides a "NoiseSuppressionInit" function for initializing the various data structures required by the algorithm and a "NoiseSuppression" function to remove noise from a 10 ms block of sampled 16-bit speech data. The user can easily call both functions through a well-documented Application Programmer's Interface (API). The "NoiseSuppression" function is primarily a Frequency Domain algorithm. 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 NS 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. The dsPIC30F Noise Suppression Library uses an 8 kHz sampling rate. However, the library includes a sample rate conversion function that ensures interoperability with libraries designed for higher sampling rates (9.6 kHz, 11.025 kHz or 12 kHz). The conversion function allows incoming signals at higher sampling rates to be converted to a representative 8 kHz sample. Similarly, the conversion function allows the output signal to be converted upward from 8 kHz to match the user application. Resource Requirements Noise Suppression Computational Requirements: 3.3 MIPS Program Flash Memory: 7 KB RAM: 1 KB Sample Rate Conversion Computational Requirements: 1 MIPS Program Flash Memory: 2.6 KB RAM: 0.5 KB Note: The user application might require an additional 1 KB-1.5 KB of RAM for data buffering (application-dependent). Devices Supported dsPIC30F6014 dsPIC30F6012 dsPIC30F5013 dsPIC30F5011 dsPIC30F4013 Noise Suppression Noise and Speech User Application Microchip Technolog y Incor porated Speech Host System Requirements (For programming and debugging using MPLAB(R) IDE) * * * * PC-compatible system with an Intel Pentium(R) class or higher processor, or equivalent A minimum of 16 MB RAM A minimum of 40 MB available hard drive space Microsoft(R) Windows(R) 98, Windows 2000 or Windows XP Part Numbers and Ordering Information: dsPIC30F Noise Suppression Library Part Number Description Availability SW300040-EVAL SW300040-5K SW300040-25K SW300040-100K dsPIC30F Noise Suppression Library Software License (Evaluation Only) dsPIC30F Noise Suppression Library Software License (Up to 5K units) dsPIC30F Noise Suppression Library Software License (5K+ to 25K units) dsPIC30F Noise Suppression Library Software License (25K+ to 100K units) Now Now Now Now AC300030 Accessory Kit (includes: audio cable, headset, oscillators, microphone, speaker, DB9 M/F RS-232 cable, DB9M-DB9M Null Modem Adapter) Now Note: Quantities are per project, payable as a one-time license fee based on estimated lifetime volume for products resulting from the project. Please consult the factory for quantities above 100K. dsPIC(R)Development Tools from Microchip MPLAB(R) IDE MPLAB(R) Visual Device Initializer (included in MPLAB(R) IDE) MPLAB(R) C30 C Compiler MPLAB(R) ICD 2 In-Circuit Debugger/Programmer MPLAB(R) ICE 4000 MPLAB(R) PM3 Universal Device Programmer dsPIC30F Math Library (included in download of MPLAB(R) C30 C Compiler) dsPIC30F DSP Library dsPIC30F Peripheral Library dsPICworksTM Data Analysis and DSP Software dsPIC(R) Digital Filter Design dsPIC30F Soft-Modem Library dsPIC(R) Speech Recognition Library dsPIC(R) Symmetric Key Embedded Encryption Library dsPIC(R) Asymmetric Key Embedded Encryption Library dsPIC30F Acoustic Echo Cancellation Library dsPIC30F Noise Suppression Library CMX-RTXTM for dsPIC30F CMX-Tiny+TM for dsPIC30F CMX-SchedulerTM for dsPIC(R) Devices dsPICDEMTM Starter Demonstration Board dsPICDEMTM 28-pin Starter Demonstration Board dsPICDEMTM 1.1 General Purpose Development Board dsPICDEMTM MC1 Motor Control Development System dsPICDEM.netTM 1 Connectivity Development Boards dsPICDEM.netTM 2 Connectivity Development Boards Free SW006012 DV164005, DV164007 ICE4000 DV007004 Free Free Free Free SW300001 SW300002/3/4/5 SW300010/11/12 SW300050 SW300055 SW300060 SW300040 SW300031 SW300032 Free at www.cmx.com DM300016 DM300017 DM300014 DM300020 DM300004-1 DM300004-2 Americas: Atlanta (770) 640-0034 * Boston (774) 760-0087 * Chicago (630) 285-0071 * Dallas (972) 818-7423 * Detroit (248) 538-2250 * Kokomo (765) 864-8360 * Los Angeles (949) 462-9523 * San Jose (650) 215-1444 * Toronto (905) 673-0699 * Asia/Pacific: Australia-Sydney 61-2-9868-6733 * China-Beijing 86-10-8528-2100 * China-Chengdu 86-28-8676-6200 * China-Fuzhou 86-591-8750-3506 * China-Hong Kong SAR 852-2401-1200 * China-Shanghai 86-21-5407-5533 * China-Shenyang 86-24-2334-2829 * China-Shenzhen 86-755-8203-2660 * China -Shunde 86-757-2839-5507 * China-Qingdao 86-532-502-7355 * India-Bangalore 91-80-2229-0061 * India-New Delhi 91-11-5160-8631 * Japan-Kanagawa 81-45-471-6166 * Korea-Seoul 82-2-554-7200 * Singapore 65-6334-8870 * Taiwan-Kaohsiung 886-7-536-4818 Taiwan-Taipei 886-2-2500-6610 * Taiwan-Hsinchu 886-3-572-9526 * Europe: Austria-Weis 43-7242-2244-399 * Denmark-Ballerup 45-4450-2828 * France- Massy 33-1-69-53-63-20 * Germany-Ismaning 49-89-627-144-0 * Italy-Milan 39-0331-742611 * Netherlands-Drunen 31-416-690399 * England-Berkshire 44-118-921-5869 (As of 3/05) Microchip Technology Inc. * 2355 W. Chandler Blvd. * Chandler, AZ 85224-6199 USA * (480) 792-7200 * FAX (480) 792-7277 The Microchip name and logo, the Microchip logo, Accuron, dsPIC, KEELOQ, microID, MPLAB, PIC, PICmicro, PICSTART, PRO MATE, PowerSmart, rfPIC and SmartShunt are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. AmpLab, FilterLab, Migratable Memory, MXDEV, MXLAB, PICMASTER, SEEVAL, SmartSensor and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, Application Maestro, dsPICDEM, dsPICDEM.net, dsPICworks, ECAN, ECONOMONITOR, FanSense, FlexROM, fuzzyLAB, In-Circuit Serial Programming, ICSP, ICEPIC, MPASM, MPLIB, MPLINK, MPSIM, PICkit, PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal, PowerInfo, PowerMate, PowerTool, rfLAB, rfPICDEM, Select Mode, Smart Serial, SmartTel Total Endurance and WiperLock are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. All other trademarks mentioned herein are property of their respective companies. (c) 2005, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. 3/05 DS70124C *DS70124C*