4.0

4.0 | 2 ratings Rate this file 67 downloads (last 30 days) File Size: 36.34 KB File ID: #25188

Binary Step Size Based LMS Algorithms(BS-LMS)

by Samir Mishra

 

31 Aug 2009 (Updated 11 Dec 2009)

Code covered by the BSD License  

Modification of LMS algorithm for better convergence and lesser MSE using two step sizes

Download Now | Watch this File

File Information
Description

I was trying out modifications of the LMS algorithm so that it will converge faster and the mean square error will also be smaller. Getting to one of the drawbacks of LMS, that it has only one controllable parameter "mu", the selection of whose value will be the most critical from design point of view w.r.t. convergence. So, I wanted to implement LMS in such a way that the step-size adapts to the error occurring in each iteration.

What I came out with is the Binary Step-size LMS algorithm.Here, we have two step sizes calculated from 2 values, delta and deviation. When the error increases from the previous value of error , step size is (delta+deviation). And when the error decreases from its previous value, step size is (delta-deviation). I implemented an adaptive equalizer using the BS-LMS algorithm. It was found that this converges faster than the LMS algorithm.

Moreover, considering the NLMS(Normalized LMS) algorithm where the step size is always (delta/energy of input signal), the NLMS converges faster than LMS. Putting the binary step size concept along with the NLMS, I found that the convergence rates of BS-NLMS and NLMS are nearly equal, however, the mean square error resulting from BS-NLMS has a smaller value as compared to that from NLMS.

From the figures it may be noted that the mean square error for binary step size based algorithms is lesser than their one step size counterparts. For example, the MSE from BS-LMS is smaller than LMS and that of BS-NLMS is smaller than NLMS. This is advantageous when we would need to maintain high precision in our equalizers.

Required Products Signal Processing Toolbox
MATLAB release MATLAB 7 (R14)
Zip File Content  
Other Files BS-LMS/bs_lms_equalizer.m,
BS-LMS/Four_types_LMS.fig,
BS-LMS/weights_BSLMS.fig,
license.txt
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (3)
01 Sep 2009 Ashok Kumar  
01 Sep 2009 Ashok Kumar

Great Work.

10 Dec 2009 Tomer Yablonka

Great work. Thanks a lot but I think you have a bug in the simulation.
When using the delta+deviation scenario, you update the previous error (e_k1) and then do the comparison - which is wrong. You have to update e_k1 after the comparison

Please login to add a comment or rating.
Updates
11 Dec 2009

Code changes as per bugs shown by observers

Tag Activity for this File
Tag Applied By Date/Time
signal processing Samir Mishra 31 Aug 2009 16:50:05
communications Samir Mishra 31 Aug 2009 16:50:06
optimization Samir Mishra 31 Aug 2009 16:50:06
lms Samir Mishra 31 Aug 2009 16:50:06
system identification Samir Mishra 31 Aug 2009 16:50:06
application govind rajulu 27 Jan 2010 07:59:19
lms govind rajulu 27 Jan 2010 08:02:28
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com