Widrow, Hoff and others proposed the least mean square error (LMS) algorithm in 1960. It has been widely used due to its simple structure, small amount of calculation, good stability and easy implementation. The disadvantage of the LMS algorithm is that it has a slow convergence speed. It cannot overcome the inherent contradiction between convergence speed and steady-state error: under the premise of convergence, if the step size is taken to a larger value, although the convergence speed can be improved, the steady-state error will increase accordingly. On the contrary, although the steady-state error is reduced, the convergence speed will slow down. To solve this contradiction, many improved adaptive algorithms have been proposed. A large category of them is the variable step size LMS algorithm. Reference [4] proposed the Sigmoid function variable step size LMS algorithm (SVSLMS). In the initial stage or when the coefficient parameters of the unknown system change, the step size of this algorithm is large, so that the algorithm has a faster convergence speed; after the algorithm converges, no matter how large the interference signal e(n) at the main input is, the adjustment step size is kept very small, so as to obtain a smaller steady-state offset noise. However, the Sigmoid function is too complex and changes too much when the error e(n) is close to zero, and does not have the characteristic of slow change, which makes the SVSLMS algorithm still have a large step size change in the adaptive steady-state stage; the algorithm proposed in reference [5] introduces multiple adjustment parameters, so the step size factor is not easy to design and control; references [6-8] proposed three step size design methods with nonlinear relationship with the error signal. This type of algorithm has good convergence performance, but all three algorithms have exponential operations when calculating the step size factor. In digital signal processing, the amount of calculation required for an exponential operation is equivalent to the amount of calculation required for multiple multiplication operations.
Therefore, this type of algorithm increases the computational complexity when implemented. In order to overcome the shortcomings of the above variable step size LMS adaptive filter, a new variable step size LMS adaptive filtering algorithm is proposed here. The algorithm has good convergence performance, fast convergence speed, small steady-state error, good robustness, and small amount of calculation when calculating the variable step size factor.
1 Analysis of the new variable step-size LMS algorithm
The iterative formula of the basic fixed step-size LMS algorithm can be expressed as:
Where: X(n) represents the input signal vector at time n; W(n) represents the weight coefficient of the adaptive filter at time n; d(n) is the expected output value; e(n) is the error; μ is the parameter (step-size factor) that controls stability and convergence speed. Based on the literature [6, 7], this paper establishes a functional relationship between the step-size μ(n) and the error e(n): the inverse tangent function is an increasing function of the independent variable, and changes smoothly around zero, and is a bounded function, and the function value will not diverge. According to W(k+1)=W(k)=w*=the best Wiener solution, that is, 2μ(n)e(n)X(n)=0 and 0<μ(n)<1/λmax, that is, |e(n)X(n)|=0, the minimum value of e(n) is obtained.
According to the above discussion, the variable step size μ(n) of the new algorithm can be taken as:
μ(n)=βαtan(α|e(n)X(n)|).
At the initial moment, |e(n)X(n)| is very large. Since the inverse tangent is an increasing function of the independent variable, μ(n) is relatively large. As the algorithm approaches the steady state, |e(n)X(n)| decreases continuously, and μ(n) also decreases continuously. When the steady state is reached, |e(n)X(n)| is very small, and μ(n) is also very small. At this time, the steady-state misalignment error is also very small.
It can be seen from Figure 1 that the larger α is, the larger the step size is at the same error level, but the step size changes more dramatically when the error is close to zero. Figure 2 is the step size change curve when β takes different values. It can be seen that the step size decreases as β decreases.
2 Simulation and result analysis
The convergence performance of the algorithm is verified by computer simulation. The simulation conditions are: the order of the adaptive filter is L=2; the FIR coefficient of the unknown system is W=[0,0]
T
; the reference input signal x(n) is a Gaussian white noise with zero mean and variance 1; v(n) is a Gaussian white noise unrelated to x(n). 200 independent simulations were performed with 1 000 sampling points, and then the statistical average was calculated to obtain the learning curve.
Figure 3 is the convergence curve corresponding to different β values when α is fixed. As the β value increases, the convergence speed of the algorithm gradually increases. Figure 4 is the convergence curve corresponding to different α values when β remains unchanged. As α gradually decreases, the error of the algorithm also decreases, but the time to reach steady state gradually increases.
Reference [7] proposed an improved variable step size LMS algorithm, whose step size is a function of e(n)X(n):
μ(n)=β[1-exp(-α|e(n)x(n)|
2
)],
and this algorithm takes α=15 and β=0.3. Figure 5 is a comparison between the algorithm in this paper and the algorithm in reference [7] when the unknown system changes at the 500th sampling point and the coefficient vector becomes W=[0.2, 0.5]
T.
500 independent simulations are performed, and then the statistical average is calculated to obtain the learning curve. It can be seen that the algorithm described in this paper has a faster convergence speed and returns to the steady state faster, indicating that this algorithm has better robustness and less computational complexity.
3 Specific implementation on DSP
This paper uses TI's TMS320C5402 chip, which adopts Harvard architecture and has high parallelism. It also has a highly integrated instruction system, which simplifies the compilation process. The modular structure programming enhances the portability of the program.
The program is compiled in the CCS environment, linked to generate a public target code file, and then loaded into the DSP for operation. This paper uses C language programming. Figure 6 shows the input signal contaminated by noise, and Figure 7 shows the filtered signal. Comparing the two figures, it can be seen that the noise of the mixed signal is well suppressed after being processed by the algorithm in this paper, while the original signal is significantly enhanced and improved.
4 Conclusion
This paper proposes a new variable step size LMS algorithm. The algorithm analyzes the optimal Wiener solution and uses the inverse tangent function to establish the nonlinear functional relationship between the step size factor μ(n) and the error e(n). This algorithm has the characteristics of automatically increasing the step size in the initial stage and the unknown system time-varying stage, and a very small step size in the steady state, and has good robustness and small computational complexity. Through the implementation on DSP, it is shown that this algorithm is feasible, the implementation method is simple, and the filtering effect is good.
Previous article:DSP chip function expansion
Next article:Analysis of Video Codec on Embedded DSP
- Popular Resources
- Popular amplifiers
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- Rambus Launches Industry's First HBM 4 Controller IP: What Are the Technical Details Behind It?
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- Issues with changing MAC when batch flashing blueNRG-1 with BlueNRG-X Flasher Utility
- EEWORLD University Hall ---- Lao Wu's MCU Practice_NO.1 Project Practice
- [NXP Rapid IoT Review] + Rapid IoT Studio online IDE
- I'm studying BQ76940 recently and want to develop a BMS. I've been looking for information and encountered some questions during the process.
- [Sipeed LicheeRV 86 Panel Review] 4. Building a cross-compilation environment
- [Speech and vision module based on ESP32S3] Software development progress - ESP32S3 JPEG encoding performance test
- 【GD32E231 DIY Contest】4. Achieve 60-second timing
- 【DIY Creative LED V2】V2 version
- How to analyze the role of this diode in the MOS tube perfusion circuit?
- [RVB2601 Creative Application Development] Unboxing and Getting Started