Share this

High-frequency signal injection method based on Kalman filter

2026-04-06 08:16:12 · · #1
Department of Electrical Engineering and Applied Electronic Technology, Tsinghua University, Beijing 100084, China; Zheng Zedong, Li Yongdong; ENSEEIHT LAPLACE-CNRS Laboratory, Toulouse 31071, Maurice Fadel. Abstract: High-frequency signal injection is an effective method for solving low-speed problems in sensorless motor control. A key issue in high-frequency signal injection is how to extract high-frequency signals from the current signal. Traditional methods using high-pass, low-pass, and band-pass filters suffer from drawbacks such as computational complexity, large errors, easy generation of amplitude and phase errors, and significant susceptibility to noise, especially switching noise, limiting the application of signal injection methods. The Kalman filter, an adaptive filter, is widely used in signal detection, particularly in positioning and navigation systems. This paper proposes a method for signal extraction using a Kalman filter, leveraging its adaptive characteristics to automatically identify and detect high-frequency signals of specific frequencies in the motor current. Simulation and experimental verification are conducted using a permanent magnet synchronous motor as an example. Simulation and experimental results show that this method has a simple structure and good stability, making it a good signal processing method for high-frequency signal injection, which can be used in low-speed control of AC motors based on high-frequency signal injection. Keywords: Kalman filter, high-frequency signal injection, permanent magnet synchronous motor, sensorless control, low-speed control. (CLC Number: TM351) 1 Introduction Sensorless motor control technology is currently a hot research topic in the field of AC drives. Because it does not require mechanical sensors, the system cost is reduced, the structure is simpler, the mechanical size is reduced, and the reliability is improved. Sensorless control requires estimating or observing speed and position based on voltage and current detection results. At low speeds, the voltage signal in the motor is relatively small, and signal detection errors and noise can cause significant errors in the estimation results. Therefore, the low-speed problem is a bottleneck restricting the development of sensorless motor control technology. Especially at zero speed, the motor fundamental voltage is almost zero. Theoretically, without signal injection, traditional sensorless control schemes will fail near zero speed. High-frequency signal injection is an important method to solve this problem. The injected high-frequency signal, due to its sufficiently high frequency, will not affect the rotational speed or torque. However, due to factors such as magnetic field saturation and salient poles, the injected high-frequency signal will produce different responses depending on the rotor position. Therefore, rotor position information can be obtained by detecting the response of the injected signal. Typically, a high-frequency voltage signal is injected, and the current response is detected to obtain rotor position information. Since motors are usually controlled by inverters, the detected signal includes not only the fundamental signal and the response of the injected signal, but also harmonics generated by PWM switching, external interference, etc. Therefore, how to extract useful information from the current and reduce the influence of harmonics and noise is an important problem that the high-frequency injection method needs to solve. Common methods use high-pass and band-pass filters to extract the signal. To achieve a good amplitude-frequency response, special filters, such as Chebyshev filters, are required. The algorithms are relatively complex, and it is unavoidable that they will affect the signal amplitude and phase. The extracted signal often contains harmonics and noise signals with similar frequencies, affecting system performance. This paper proposes a method using a Kalman filter to extract the signal. Kalman filters are adaptive filters that have been widely used in signal detection and processing since their inception, especially in navigation and positioning systems. [5][6][7] Kalman filters can extract signals of specific frequencies from signals containing multi-band harmonics and noise without generating amplitude and phase errors, resulting in good system stability. This paper takes a permanent magnet synchronous motor as an example and verifies the effectiveness of this method through simulation and experiment. 2. Principle of high-frequency injection method To use the high-frequency injection method to detect rotor position, the rotor must have a certain magnetic salient pole, that is, the inductance of the stator winding must be a function of the rotor position. Therefore, it is generally used in salient pole motors. In non-salient pole motors, since the magnetic saturation of the stator winding varies with the rotor position, the high-frequency injection method is also applicable when the saturation of the winding is not too small. [1][2] Under the rotor magnetic field oriented synchronous coordinate system, the permanent magnet motor model can be written in the following form: (1) The speed and back EMF only exist in the fundamental frequency equation, and the high frequency part equation can be written in the following form: (2) In sensorless control, there will be a certain deviation between the estimated value and the actual value of the rotor flux linkage angle. The deviation is defined as: Where U[sub]d[/sub], U[sub]q[/sub], I[sub]d[/sub], I[sub]q[/sub]—— motor d and q axis voltage and current U[sub]dh[/sub], U[sub]q[/sub], I[sub]dh[/sub], I[sub]qhh[/sub]—— motor d and q axis high frequency voltage and current L[sub]d[/sub], L[sub]q[/sub], L[sub]dh[/sub], L[sub]qh[/sub]—— stator winding d and q axis fundamental frequency inductance and high frequency inductance R—— Stator winding resistance R[sub]dh[/sub], R[sub]qh[/sub]——stator winding d-axis and q-axis high-frequency electrical resistance. Generally, R[sub]dh[/sub]=R[sub]qh[/sub]——rotor electric angular velocity——rotor flux linkage amplitude——rotor electric angle. In practical applications, the terminal voltage is generally replaced by the reference voltage. We use superscript to indicate that the variable is the value in the synchronous coordinate system with estimated angle orientation, and there is an angle deviation from the actual value. Then, in the coordinate system with estimated angle orientation, we can get from (2): (4) Where: is the transformation matrix between the variables of the two coordinate systems. The impedance is defined as follows: (5a) (5b) (5c) (5d) (5e) Therefore, the high-frequency component of the current can be written as: (6) In order to reduce torque ripple, the high-frequency voltage signal is only injected into the d-axis of the coordinate system with the estimated angle orientation: (7) Then the high-frequency current of the dq-axis can be written as: (8) (9) So when a high-frequency voltage is injected into the d-axis, and the rotor position estimation error is not zero, a high-frequency current will appear in the q-axis current. By detecting the high-frequency component in the q-axis current, information about the rotor position error can be obtained. In the above formula, Rdiff and Ldiff are the difference between the resistance and inductance of the d-axis and q-axis at high frequency. At high frequency, the impedance generated by the inductor is much greater than the resistance value, so the resistance value can be ignored, and the above formula can be written as: (10) The first term in the above formula is basically zero, and the second term sinusoidal component is generally used to extract rotor position information. 3. Traditional Signal Extraction and Processing Methods Traditional methods generally process signals using the following steps: First, a bandpass filter is used to extract the high-frequency components from the q-axis current signal. Then, the high-frequency components are multiplied by a certain factor, and a low-pass filter is used to extract the second term in equation (10). (11) (12) (13) (14) Based on this, the rotor speed can be identified using a PI circuit, and then the rotor position is obtained by integration. As shown in Figure 1. [img=Fig.1. Traditional signal processing method]/uploadpic/THESIS/2007/11/2007111618321340863P.jpg[/img] Fig.1. Traditional signal processing method The entire system block diagram is as follows: [img=Fig.2. Traditional high-frequency injection method block diagram]/uploadpic/THESIS/2007/11/2007111618323232761Q.jpg[/img] Fig.2. Traditional HF injection method After applying a high-frequency injection voltage, corresponding high-frequency components will appear in the d- and q-axis currents. Therefore, the high-frequency components should be removed from the feedback current used as the input of the current regulator; otherwise, the current regulator will generate a corresponding response to eliminate these high-frequency components. The final result is that corresponding high-frequency components also appear in the d- and q-axis reference voltages to cancel the high-frequency injection voltage. Therefore, a low-pass filter is applied to the dq-axis current to filter out high-frequency components, and then used as the feedback input of the current regulator. 4. Signal processing method based on Kalman filter Assume the measured value of the dq-axis current is as follows: (15) Where, , are the fundamental component (DC component) of the dq-axis current. The current equation (15) can be written in a unified form: (16) Taking the amplitude of the sine component, the amplitude of the cosine component and the DC component in the current as variables, the Kalman filter model is established as follows: (17) Assuming that the amplitude of the high-frequency component and the fundamental component change slowly, the discrete equation can be written as: (18) (19) F is the identity matrix. Where w —— input noise (system noise) v —— output noise (measurement noise) The noise is generally a stationary Gaussian white noise with an average value of zero. The covariance matrix of the noise is defined as (20a) (20b) The Kalman filter iteration process is as follows: (1) Calculate the prior estimate and corresponding error for the next step (21a) (21b) (2) Calculate the Kalman gain (21c) (3) Calculate the current optimal estimate from the measurement vector (21d) (4) Calculate the error of the current optimal estimate (21e) Where the matrix P is defined as the mean square of the error of the estimate (22) where E{•} represents the expected value. [3][4] In order to improve the ability of the Kalman filter to identify high-frequency components, we try to remove the fundamental frequency component in the dq axis current before the Kalman filter. Therefore, we take the dq axis current minus the reference value of the dq axis current as the input of the Kalman filter: (23a) (23b) Here, we control the output of the Kalman filter of the dq axis as follows: (24a) (24b) Add the current setpoint to the DC component at its output to obtain the observed value of the fundamental component of the dq axis current: (25a) (25b) And use this quantity as the feedback of the current regulator. According to the amplitude of the high-frequency component in the q axis current (mainly the sine component), the rotor speed and angle are identified by the model reference adaptive method. When the error of the rotor angle estimation is zero, the amplitude of the sine component should be zero. Generally, the speed identification can be achieved by a proportional-integral circuit, as follows: (26a) (26b) Usually, the estimated speed is then passed through a low-pass filter to reduce the noise. Adjusting the values ​​of the Q and R matrices can also remove noise from the current measurement in the output of the Kalman filter, resulting in an optimal estimate of the measured current. [5][6][7] Another important issue in the high-frequency injection method is dead-zone compensation. The most direct method for dead-zone compensation is based on the direction of the three-phase current output by the inverter. However, since the actual current measurement often contains a lot of measurement noise, compensation errors often occur near the zero-crossing point of the current. Therefore, the dq-axis current is usually filtered and then inversely transformed to the three-phase coordinate system, and the filtered current value is used as the basis for compensation. This avoids the phase shift problem caused by direct filtering of the phase current. However, in the high-frequency injection method, since the dq-axis circuit still contains high-frequency AC components, filtering on the dq-axis will also cause phase shift. The Kalman filter, through appropriate Q and R matrix settings, can effectively remove noise from the dq-axis circuit without causing phase shift. Therefore, we take the sum of the fundamental and high-frequency components of the dq-axis current after Kalman filtering, as shown in equation (27), and transform it back to the three-phase coordinate system as the basis for dead zone compensation. (27) The system block diagram is shown in Figure (3). [IMG=Fig. 3 Block diagram of high-frequency injection method based on Kalman filter]/uploadpic/THESIS/2007/11/2007111618433353532D.jpg[/IMG] Fig. 3 HF injection method based on Kalman filter 5. Simulation results To verify the effectiveness of the above algorithm, we performed simulation verification using Matlab simulink. In the simulation, the motor dq-axis inductances are: Ld=1.0 mH, Lq=1.5 mH, the injection voltage amplitude is 20V, and the frequency is 500Hz. The motor adopts rotor field-oriented vector control, and the fundamental frequency component of the d-axis current is controlled to be zero. The separation results of the fundamental and high-frequency components in the d-axis and q-axis currents are shown in Figures 4 and 5. It can be seen that the Kalman filter can effectively extract the high-frequency components from the d- and q-axis currents without causing phase lag in the high-frequency AC components. [IMG=Fig. 4. d-axes current analyses results during start-up]/uploadpic/THESIS/2007/11/2007111618434666740S.jpg[/IMG] Fig. 4. d-axes current analyses results during start-up [IMG=Fig. 5. q-axes current analyses results during load torque impact after start-up]/uploadpic/THESIS/2007/11/20071116184358194093.jpg[/IMG] Fig. 5. q-axes current analyses results during load torque impact after start-up 6. Experimental Results To verify the effectiveness of the theoretical analysis and simulation results, experiments were conducted on an experimental platform consisting of a TI C6711 floating-point DSP and an Alter EP1K100 FPGA. The motor was a surface-mount permanent magnet synchronous motor with an inductance of L = 1.25mH. Although it was a surface-mount motor, it still exhibited a certain degree of salient pole effect due to magnetic saturation, thus the high-frequency injection method remained applicable. The injected high-frequency signal had an amplitude of 30V and a frequency of 500Hz. The motor employed rotor field-oriented vector control, with the d-axis current fundamental frequency component controlled to zero and a control period of 100µs. The mechanical angular velocity estimation results during acceleration from 0.5Hz to 5Hz and then deceleration to 0.5Hz are shown in Figure 6. The rotor position estimation error during acceleration is shown in Figure 7. It can be seen that the speed and rotor position estimations have good stability and dynamic response speed, and the angle estimation error can be controlled within a very small range. Moreover, this algorithm can be applied not only in the low-speed region but also achieves good performance in the high-speed region. When the motor is under low-speed no-load, the back EMF and current are very small, so the effects of noise, interference, and measurement errors are more significant, causing fluctuations in speed control at low speeds. In the medium-to-high speed range, the accuracy of both speed and position estimation can be improved. Figure 8 shows the speed estimation results during sudden torque increase and decrease after startup, verifying the system's load-carrying capacity. Figure 9 shows the rotor speed waveform when a certain torque is applied to the motor at zero speed. It can be seen that the system has excellent load-carrying capacity and response speed at zero speed, and the system can quickly stabilize after being loaded. Figure 10 shows the signal processing results of the Kalman filter KF on the d-axis current during startup. It can be seen that the Kalman filter converges in a very short time and accurately separates the high-frequency and fundamental frequency components in the d-axis current. [IMG=Fig. 6. Speed ​​estimation results during acceleration]/uploadpic/THESIS/2007/11/20071116184418769279.jpg[/IMG] Fig. 6. Speed ​​estimation results during acceleration [IMG=Fig. 7. Rotor position estimation error during acceleration from 0.5Hz to 10Hz]/uploadpic/THESIS/2007/11/20071116184434528769.jpg[/IMG] Fig. 7. Rotor position estimation error during acceleration from 0.5Hz to 10Hz [IMG=Fig. 8. Speed ​​estimation results during sudden load increase]/uploadpic/THESIS/2007/11/2007111618444666405S.jpg[/IMG] Figure 8. Speed ​​estimation results during load torque impact. [IMG=Figure 9. Rotor speed at zero with some load torque impact.]/uploadpic/THESIS/2007/11/2007111618445841747L.jpg[/IMG] Figure 9. Rotor speed at zero with some load torque impact. [IMG=Figure 10. d-axis current analyses results during start-up.]/uploadpic/THESIS/2007/11/2007111618450975365Z.jpg[/IMG] Figure 10. d-axis current analyses results during start-up. 7. Conclusion This paper proposes a signal processing method using a Kalman filter for high-frequency signal injection. Compared with traditional methods, this method has a simpler and more direct algorithm, and the system is simplified. Through simulation and experimental verification, this method can effectively extract the high-frequency components from the motor current and accurately estimate the rotor position and speed, making it a very good high-frequency signal injection method for motor control. (Proceedings of the 2nd and 3rd Servo and Motion Control Forums)
Read next

CATDOLL 108CM Bebe

Height: 108cm Weight: 14.5kg Shoulder Width: 26cm Bust/Waist/Hip: 51/47/59cm Oral Depth: 3-5cm Vaginal Depth: 3-13cm An...

Articles 2026-02-22