implementation of lms and vslms algorithms for speech enhancement using...

5
ISSN: 2278 909X International Journal of Advanced Research in Electronics and Communication Engineering (IJARECE) Volume 4, Issue 11, November 2015 2659 All Rights Reserved © 2015 IJARECE AbstractThis paper describes a speech enhancement system based on TMS320C6713 digital signal processor (DSP) for real-time application. As the technology advances, we require more complex systems for sophisticated algorithms involving digital signal processing (DSP) techniques. Therefore, the hardware implementation of algorithms using DSP has gained much more attention during past few years. One of the most important applications of DSP is speech enhancement which focuses on eliminating the background noise from the speech signal. In this paper we will focus on enhancement of speech audio signal from noise and will compare Least Mean-Square (LMS) and Variable Step-Size LMS (VSLMS) algorithms using DSP processor with code composer studio (CCS) v3.1. As an input we have used clean Hindi audio speech signal and uniform noise signal for examining the SNR. Index TermsAdaptive Noise Cancellation (ANC), Least Mean Squared (LMS), Signal-to-Noise Ratio (SNR), Variable Step-Size LMS (VSLMS). I. INTRODUCTION Speech signals in the real world scenarios are often corrupted by various types of degradations. Degraded speech here means poor perceptual quality and intelligibility. Poor perceptual quality of speech will lead to listener fatigue and poor intelligibility will lead to degraded performance in tasks like speech and speaker recognition. The objective of this paper is noise minimization and quality improvement of the signal through hardware implementation of adaptive noise cancellation. DSP processors are used for speech enhancement and are primarily concerned with real-time signal processing. Real-time signal processing means that the processor will keep pace with some external event [2]. Deepika Pandey, ECE Department, IMS Engineering College, Ghaziabad, India. Akshita Bhatnagar, ECE Department, IMS Engineering College, Ghaziabad, India. Aniket Kumar, ECE Department, IMS Engineering College, Ghaziabad, India. Pankaj Goel, ECE Department, IMS Engineering College, Ghaziabad, India. Mahesh Chandra, ECE Department, BIT Mesra, Ranchi, India. Real-world signals which are analog in nature need to be processed so that the information contained in them can be displayed, analyzed or converted to other useful form [9].This operation is performed by Digital Signal Processing (DSP) system. The DSK board is of an approximate size of 5x8 inches. TMS320C6713 is floating-point digital signal processor having 16-bit stereo codec TLV320AIC23 (AIC23) for analog input and output [6]. The DSK board includes 256 kB (kilobytes) of flash memory and 16 MB of synchronous dynamic random access memory [6]. There are also four connectors on the board for input and output connections: MIC IN is for microphone input, LINE IN is for line input, LINE OUT is for line output, and through HEADPHONE headphones can be connected to play the output (usually multiplexed with line out). In this paper, the comparative performance of LMS and VSLMS adaptive algorithms are presented when implemented on TMS320C6713 DSP kit and the obtained results were then analyzed using Goldwave software. II. ADAPTIVE FILTERS A filter is a device that can map its input signal to an output signal in order to extract the desired information contained in the signal. Adaptive filter is a filter that is capable of tracking the variations in the statistical characteristics of input data such as mean and correlation functions and capable of self-adjusting its parameters. Adaptive filters are used for most of applications today because they have the ability to self-modify its frequency response and also to adapt the response according to the changes in the input signal characteristics. Fig. 1 General Adaptive Filter Configuration Adaptive filters are needed where the signal or system involved is fluctuating, or statistics involved and parameters of random signal are changing from time to time. The aim of adaptive filtering systems is to minimize the noise portion in order to obtain the uncorrupted desired signal. Here, a reference Implementation of LMS and VSLMS algorithms for Speech Enhancement using TMS320C6713 DSP Processor Deepika Pandey, Akshita Bhatnagar, Aniket Kumar, Pankaj Goel, Mahesh Chandra

Upload: buinhu

Post on 28-May-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

ISSN: 2278 – 909X International Journal of Advanced Research in Electronics and Communication Engineering (IJARECE)

Volume 4, Issue 11, November 2015

2659

All Rights Reserved © 2015 IJARECE

Abstract— This paper describes a speech enhancement

system based on TMS320C6713 digital signal processor

(DSP) for real-time application. As the technology advances,

we require more complex systems for sophisticated

algorithms involving digital signal processing (DSP)

techniques. Therefore, the hardware implementation of

algorithms using DSP has gained much more attention

during past few years. One of the most important

applications of DSP is speech enhancement which focuses on

eliminating the background noise from the speech signal. In

this paper we will focus on enhancement of speech audio

signal from noise and will compare Least Mean-Square

(LMS) and Variable Step-Size LMS (VSLMS) algorithms

using DSP processor with code composer studio (CCS) v3.1.

As an input we have used clean Hindi audio speech signal

and uniform noise signal for examining the SNR.

Index Terms— Adaptive Noise Cancellation (ANC), Least

Mean Squared (LMS), Signal-to-Noise Ratio (SNR),

Variable Step-Size LMS (VSLMS).

I. INTRODUCTION

Speech signals in the real world scenarios are often corrupted

by various types of degradations. Degraded speech here means

poor perceptual quality and intelligibility. Poor perceptual

quality of speech will lead to listener fatigue and poor

intelligibility will lead to degraded performance in tasks like

speech and speaker recognition. The objective of this paper is

noise minimization and quality improvement of the signal

through hardware implementation of adaptive noise

cancellation.

DSP processors are used for speech enhancement and are

primarily concerned with real-time signal processing. Real-time

signal processing means that the processor will keep pace with

some external event [2].

Deepika Pandey, ECE Department, IMS Engineering College, Ghaziabad,

India. Akshita Bhatnagar, ECE Department, IMS Engineering College,

Ghaziabad, India.

Aniket Kumar, ECE Department, IMS Engineering College, Ghaziabad, India.

Pankaj Goel, ECE Department, IMS Engineering College, Ghaziabad,

India. Mahesh Chandra, ECE Department, BIT Mesra, Ranchi, India.

Real-world signals which are analog in nature need to be

processed so that the information contained in them can be

displayed, analyzed or converted to other useful form [9].This

operation is performed by Digital Signal Processing (DSP)

system. The DSK board is of an approximate size of 5x8 inches.

TMS320C6713 is floating-point digital signal processor having

16-bit stereo codec TLV320AIC23 (AIC23) for analog input

and output [6]. The DSK board includes 256 kB (kilobytes) of

flash memory and 16 MB of synchronous dynamic random

access memory [6]. There are also four connectors on the board

for input and output connections: MIC IN is for microphone

input, LINE IN is for line input, LINE OUT is for line output,

and through HEADPHONE headphones can be connected to

play the output (usually multiplexed with line out).

In this paper, the comparative performance of LMS and

VSLMS adaptive algorithms are presented when implemented

on TMS320C6713 DSP kit and the obtained results were then

analyzed using Goldwave software.

II. ADAPTIVE FILTERS

A filter is a device that can map its input signal to an output

signal in order to extract the desired information contained in

the signal. Adaptive filter is a filter that is capable of tracking

the variations in the statistical characteristics of input data such

as mean and correlation functions and capable of self-adjusting

its parameters. Adaptive filters are used for most of applications

today because they have the ability to self-modify its frequency

response and also to adapt the response according to the changes

in the input signal characteristics.

Fig. 1 General Adaptive Filter Configuration

Adaptive filters are needed where the signal or system

involved is fluctuating, or statistics involved and parameters of

random signal are changing from time to time. The aim of

adaptive filtering systems is to minimize the noise portion in

order to obtain the uncorrupted desired signal. Here, a reference

Implementation of LMS and VSLMS algorithms

for Speech Enhancement using TMS320C6713

DSP Processor

Deepika Pandey, Akshita Bhatnagar, Aniket Kumar, Pankaj Goel, Mahesh Chandra

ISSN: 2278 – 909X International Journal of Advanced Research in Electronics and Communication Engineering (IJARECE)

Volume 4, Issue 11, November 2015

2660

All Rights Reserved © 2015 IJARECE

of the noise signal which is called as reference signal x(n) is

given to the filter. We need to design a filter so that output y(n)

becomes close estimate of d(n). For this the adaptive filter

performs the task of prediction which involves filtering of the

reference signal x(n). The noise which is present in the reference

signal is then subtracted from the primary signal which will

provide an error signal e(n). Error signal e(n) will be feedback to

adaptive algorithm and filter weights are adjusted so that y(n)

becomes better estimate of d(n). Several Adaptive Algorithms

can be used such as Least Mean Square (LMS), Recursive Least

Mean Square (RLS), Normalized Least Mean Square (NLMS),

Variable Step-Size LMS (VSLMS), etc.

A. Adaptive Noise Cancellation

Adaptive noise cancellation (ANC) shown in Fig.2 is

performed by subtracting predicted noise from a received

signal, and continues the process of updating filter weights in

order to get an improved signal-to-noise ratio. The ANC system

is composed of two types of inputs, one is a primary input also

called as source signal s(n) and other is reference input or noise

input x(n). The primary signal gets corrupted by a noise x1(n)

which is usually correlated with noise signal x(n). The reference

signal can vary in amplitude, phase or time [1] as it is not

correlated with noise portion of primary signal.

We get the desired signal d(n) after the addition of primary

signal s(n) to the correlated noise signal x1(n). The reference

signal x(n) will be given to adaptive filter such that its output

y(n) can be subtracted from desired signal d(n) to yield error

signal e(n).

Fig. 2 Adaptive Noise Cancellation System

The output of the summer block is feedback to adaptive filter

in order to update the filter coefficients. The above process will

run recursively till we get the signal which is free of noise (no or

reduced noise component) which is supposed to be exactly the

same or similar to primary signal s(n).

B. Adaptive Algorithms

The two classes of adaptive algorithms which we will use in

this paper are: Least Mean-Square (LMS) and Variable

Step-size LMS (VSLMS).

1. LMS algorithm

The LMS algorithm was devised by Widrow and Hoff in 1959

[1]. It is widely used because of its simplicity and it is a

stochastic gradient-based algorithm. This algorithm belongs to

the family of stochastic gradient algorithms involving filtering

and adaptive process. The filter tap weights for the adaptive

filter are updated with each iteration according to the following

recursive relation [3, 6]:

𝑤𝑘(𝑛 + 1) = 𝑤𝑘 (𝑛) + 2 𝛽 𝑥 (𝑛 − 𝑘)𝑒 (𝑛) (1)

where, k =0,1,…., N-1, x(n) represents the input vector or time

delayed input samples, wk(n) is the N weights or coefficients of

the adaptive FIR filter tap at specific time n and β is called as

the step size.

The value of β will affect the performance of the LMS

algorithm, if β value is too small, in this case the adaptive filter

will take more time to converge to its optimal solution and if β

value is too large then in that case the adaptive filter becomes

quite unstable and its output will diverge from optimal solution

[4].

2. VSLMS algorithm

The VSLMS algorithm was introduced in 1986 [8]. LMS

algorithm has fixed step size value for every tap weight in each

iteration [5]. In VSLMS algorithm the step size is improved

after every sample of data, as weight improves in LMS

algorithm.

y(n)=wH(n).x(n) (2)

e(n) = d(n) – y(n) (3)

ŵ(n+ 1) = ŵ(n) + µ.x(n).e(n) (4)

VS LMS algorithm is obtained by combining LMS algorithms

with different step sizes. Larger step-size will provide faster

convergence whereas smaller step-size will reduce the

misadjustment factor.

C. Experimental Setup

Fig. 3 Real-time experimental setup using DSP processor

The DSP development software i.e. Code Compose Studio

can accept either C or assembly code to generate output (.out)

file, which can be load on DSP chip. In this case, C

programming is used corresponding to the desired problem. The

real-time experimental setup using DSP processor as shown in

Fig. 3 has one DSK (DSP Starter Kit), one Lenovo laptop with

CCSv3.1, one HP laptop with Goldwave software which is used

ISSN: 2278 – 909X International Journal of Advanced Research in Electronics and Communication Engineering (IJARECE)

Volume 4, Issue 11, November 2015

2661

All Rights Reserved © 2015 IJARECE

to record the output and one Headphone to play the output using

HEADPHONE OUT port of DSK.

III. RESULTS

We have implemented the LMS and VSLMS algorithms in C

code using DSP kit (TMS320C6713) and observed the

following waveforms in Goldwave: Noise, dplusn (desired

signal+noise), error (e(n)), yn (output of adaptive filter).

We have given uniform noise as an interference signal which

was added to clean speech signal (yaha se lagbhag paanch mile

dakshin pashchim me katghar gaon hai). Both noise signal and

clean audio signal are played repeatedly through window media

player and given to LINE IN port of DSK board using 3.5mm

jack cable whose other side is connected to PC. The output is

played through headphone connected at HEADPHONE OUT

port of DSK board.

A. For LMS Algorithm

For the applied input at LINE IN port of the DSK (DSP Starter

Kit) board, following output has been obtained which are shown

below:

Table I. SNR calculations for LMS algorithm

.

.Fig. 4 Bar chart representation of input – output SNRs for LMS algorithm

TABLE I shows the values of input SNRs and corresponding

output SNRs calculated for LMS algorithm. The Bar chart

shown in Fig.4 is showing relationship between Input SNR and

output SNR.

Fig. 5 Noisy signal waveform for LMS

Fig. 5 is showing noisy signal waveform i.e. clean Hindi audio

signal plus noise signal observed on Goldwave for the LMS

algorithm.

Fig. 6 Estimated Signal (Output) Waveform for LMS

The above Fig.6 shows the output waveform of estimated signal

e(n) for the applied clean Hindi audio signal and uniform noise

signal for LMS algorithm. Here it has been clearly shown that

the noise get cancelled after applying the LMS algorithm.

B. For VSLMS Algorithm

For the VSLMS algorithm, following observations were made

using DSP6713 processor for the applied inputs.

S.No. INPUT SNR (dB) OUTPUT SNR (dB)

1 -15 15.35

2 -10 25.75

3 -5 27.43

4 0 32.09

ISSN: 2278 – 909X International Journal of Advanced Research in Electronics and Communication Engineering (IJARECE)

Volume 4, Issue 11, November 2015

2662

All Rights Reserved © 2015 IJARECE

Table II. SNR calculations for VSLMS

Fig. 7 Bar chart representation of input – output SNRs for VSLMS algorithm

TABLE II shows the values of input SNRs and corresponding

output SNRs calculated for VSLMS algorithm. The bar chart

shown in Fig.7 is showing relationship between Input SNR and

output SNR.

Fig. 8 Noisy signal Waveform for VSLMS

Fig. 8 is showing noisy signal waveform i.e. clean Hindi audio

signal plus noise signal observed on Goldwave for the VSLMS

algorithm.

.

Fig. 9 Estimated Signal (Output) Waveform for VSLMS

Fig. 9 shows waveform for estimated signal e(n) for the

applied clean Hindi audio signal and uniform noise signal for

VSLMS algorithm. Here it has been clearly shown that the noise

get minimized

Fig. 10 Comparative Performance of LMS and VSLMS

IV. CONCLUSION

In this paper the behavior of LMS and VSLMS algorithms

was analyzed for Hindi clean audio signal & uniform noise as an

interference signal. Experimentally It has been observed that for

a fixed filter length, at low input SNR values, say -15 dB,

VSLMS algorithm performs better than LMS algorithm

whereas, at higher input SNR values, say 0 dB, LMS algorithm

performs better than VSLMS algorithm.

S.No. INPUT SNR (dB) OUTPUT SNR (dB)

1 -15 22.45

2 -10 24.57

3 -5 25.57

4 0 24.52

ISSN: 2278 – 909X International Journal of Advanced Research in Electronics and Communication Engineering (IJARECE)

Volume 4, Issue 11, November 2015

2663

All Rights Reserved © 2015 IJARECE

REFERENCES

[1] Vijay Kumar Gupta, Mahesh Chandra, and S.N. Sharan, “Real

Time Implementation Of Adaptive Noise Canceller,” International

Conference On Systemics, Cybernetics and Informatics, 2012, 24-28.

[2] Muhammad Amir Shafiq, Saqib Ejaz and Nisar Ahmed, “Hardware

Implementation of Adaptive Noise Cancellation over DSP Kit

TMS320C6713,” International Journal of Signal Processing, vol. 7,

Issue 1 ,2013, 75-86.

[3] Rajkumar Thennua and S.K.Aggarwal, “Hardware Implementation

of Adaptive Algorithms for Noise Cancellation,” International

Conference on Network Communication and Computer,553-557,2011.

[4] Rajkumar Thennua and S.K.Aggarwal, "Hardware Implementation

of NLMS Algorithm for Adaptive Noise Cancellation." National

Conference on Electronics and Communication (NCEC-2010). 2010.

[5] Sulekha saxena, V.K Gupta, Mahesh Chandra, and Pankaj Goel, “A

Family of Adaptive Filter Algorithms in Noise Cancellation for Speech

Enhancement,” International Journal of Electronic and Electrical

Engineering, vol. 5, Number 6, 2012, 511-513.

[6] Chassing Rulph & Reay Donald,“Digital Signal Processing &

Application with TMS320C6713 & TMS320C6416 DSK”(ISBN

978-0-470-13866-3, John Wiley & Sons, Inc, Edition 2nd 2008).

[7] Paulo S.R. Diniz, “Adaptive Filtering Algorithms and Practical

Implementation”(ISBN 978-0-387-31274-3, Kluwer Academic

Publishers, Edition 3rd 2008).

[8] Alexander D. Poularikas, Zayed M. Ramadan, “Adaptive Filtering

Primer with MATLAB”, (ISBN 978-0-8493-7043-4, Taylor & Francis

Group, LLC, 2006).

[9] M. A. Shanooja and J. Ramesh Kumar, “Low power VLSI

architecture for adaptive filter and its application to noise

cancellation,”International Journal of Emerging Trends in

Engineering and Development, vol. 2, Issue 3, 2013, 366-376.