Ripple Attenuation for Induction Motor Finite Control Set Model Predictive Torque Control Using Novel Fuzzy Adaptive Techniques

: Finite control set model predictive torque control (FCS-MPTC) strategy has been widely used in induction motor (IM) control due to its fast response characteristic. Although the dynamics of the FCS-MPTC method are highly commended, its steady-state performance—ripple deserves attention in the meantime. To improve the steady-state performance of the IM drives, this paper proposes an improved FCS-MPTC strategy, based on a novel fuzzy adaptive speed controller and an adaptive weighting factor, tuning strategy to reduce the speed, torque and ﬂux ripples caused by different factors. Firstly, a discrete predicting plant model (PPM) with a new ﬂux observer is established, laying the ground for achieving an FCS-MPTC algorithm accurately. Secondly, after ana-lyzing the essential factors in establishing a fuzzy adaptive PI controller, with high ripple suppression capacity, an improved three-dimensional controller is designed. Simultaneously, the implementation procedures of the fuzzy adaptive PI controller-based FCS-MPTC are presented. Considering that a weighting factor must be employed in the cost function of an FCS-MPTC method, system ripples increase if the value of the weighting factor is inappropriate. Then, on that basis, a novel fuzzy adaptive theory-based weighting factor tuning strategy is proposed, with the real-time torque and ﬂux performance balanced. Finally, both simulation and hardware-in-loop (HIL) test are conducted on a 1.1 kW IM drive to verify the proposed ripple reduction algorithms.


Introduction
Induction motors (IM) that are endowed with the advantages of simple and robust structure, low cost, stable operations and a wide speed regulation range have been broadly adopted in industrial applications, such as electric vehicles, mining and textile, etc. [1][2][3][4]. To ensure or improve the machine control performance, many advanced control strategies have been developed so far, the most famous being field-oriented control (FOC), which is based on the coordinate transformation principle [5][6][7]. Generally, the traditional FOC strategy is achieved by using three proportional integrate (PI) controllers in the cascaded control loops to regulate the speed, flux and torque. Although the PI control techniques are now mature, several defects still exist [8,9]. For example, it is tedious to tune the internal parameters (at least six) of those PI controllers. Specifically, the complicated parametertuning schemes, not only increase the time cost in practical applications, as well as burden the optimization process for obtaining better control performance.
Due to the merits of the optimal control mechanism, easy parameter tuning process and quick response, model predictive control (MPC) has been broadly adopted in the area of IM control [10]. MPC controllers can be used to achieve different functions, such as model degree of the torque and flux are balanced according to their real-time values, ensuring that the flux and torque ripples do not exceed the upper limit. The reason why it contributes in reducing the system ripples caused by the external sensors is that if the weighting factor is not proper, the ripples become larger when the sensors are not accurate, and hence, the adaptive weighting factor can prevent the ripples from growing further in this case. The rationale behind the fuzzy adaptive speed controller is that when the speed ripples grow, a set of PI parameters that can narrow the bandwidth of the system would be employed. Then, the high-frequency disturbances arising from the inaccurate sensors are excluded, thereby ensuring that the magnitude of the ripples is limited. Compared to the existing ripple optimization methods in [17][18][19][20][21][22][23][24][25][26][27][28][29], the proposed ripple attenuation strategies are totally different, and the novelties are reflected in the following aspects: (1) The novel idea that using a fuzzy adaptive PI controller to reduce the system ripples (mainly caused by the external sensors) of the FCS-MPTC method is studied. Traditionally, the fuzzy adaptive speed controller is adopted to improve the dynamics of the system, and there are few studies using it to improve the steady-state performance.
On this basis, this study is comparatively pretty novel. (2) Unlike the traditional two-dimensional fuzzy adaptive PI controller, the proposed one aim to improve the steady-state performance of the system. To achieve this goal, firstly, the input scaling factor of the fuzzy controller is optimized, relying on the pre-setting speed, enlarging the variation range of input and output. Secondly, the structure of the fuzzy controller is rebuilt. In detail, both the current and previous speed errors and the error between the current and the previous speed errors (CPSE-E) are treated as the inputs to build a three-dimensional fuzzy controller. This assists in evaluating the effectiveness of the proportional and integral factors designed in the previous period and ultimately provide guidelines for generating new control parameters. What needs to be mentioned is that although the fuzzy control strategies that are achieved by using the previous states or errors were studied previously in [33][34][35]. The proposed fuzzy controller is still pretty novel considering its structure and role in suppressing the steady-state ripples of an IM. This contributes to enriching the fuzzy control theories and prompting the relevant applications. (3) Few studies incorporate the fuzzy adaptive theory into the weighting factor tuning process for an FCS-MPTC strategy. However, this paper proposes a new fuzzy adaptive weighting factor tuning strategy, whereby the inputs are torque and flux errors. By balancing the importance degree of the two variables, the torque and flux ripples are inclined to decrease.
The structure of the rest paper is as follows. Section 2 introduces a system model that is suitable for designing an FCS-MPTC algorithm. For the sake of high flux observation estimation accuracy, a new numerical-solution-based flux observer is introduced. In Section 3, the proposed fuzzy adaptive PI controller-based FCS-MPTC method is developed. Section 4 presents the new adaptive weighting factor tuning strategy. Section 5 discusses the simulation and hardware-in-loop (HIL) testing results of the proposed FCS-MPTC algorithms, and Section 6 outlines the conclusion.

Modelling for IM FCS-MPTC
A discrete predicting plant model (PPM) is the prerequisite for achieving an IM FCS-MPTC algorithm. In this section, the mathematical model of an IM is established. To obtain the rotor flux used for feedback regulation, a novel numerical solution-based current-type flux observer is presented.
The commonly-used IM models concerning electrical properties include flux model and current model [36]. Considering that the currents, rather than the flux, can usually be measured to construct different control strategies in real applications, this paper uses the state-space current model to describe the general behaviors of the system. In addition, in comparison with the stator field orientation-based model (dq-axis reference frame), because the IM model based on rotor field orientation (MT-axis reference frame) is totally decoupled, it is employed for analysis. The differential equations in MT-axis frame are as follows, where the iron saturation and eddy current are assumed to be negligible, where i sM and i sT are stator currents. u sM and u sT are stator voltage. While, ω e and ∆ω are the synchronous speed, and slip speed, respectively; i rM and i rT are the rotor currents; R s and L s represent the stator resistance, and inductance, respectively; R r and L r are the rotor resistance, and inductance, respectively; and L m is the mutual inductance between the stator and rotor windings.
In terms of FCS-MPTC, torque and flux (rotor flux in this paper) are the TCOs, but they cannot be detected directly using sensors. In this case, observers are the available solutions to the problem. To observe the torque of an IM, the electromagnetic torque calculation strategy can be used: where T e is the electromagnetic torque. ψ r is the rotor flux, and p is the number of pole pairs. It can be seen that once the rotor flux is obtained, the torque can be calculated subsequently. Now, there exist two main flux observation methods, that is, the current-type observer [37] and the voltage-type observer [38]. Comparatively, the accuracy of the latter approach is relatively lower due to the internal integrators. Therefore, a current-type observer is adopted in this paper. As in [39], according to (1)-(5) and the flux descriptions, the rotor flux can be derived as, where T r is the electrical time constant of the rotor windings, and it equals L r R r . s is a differential operator. Obviously, Equation (6) represents a typical delay element. Traditionally, the delay effect would be ignored because T r is usually small, and a proportional element can be obtained: Although the flux estimation process by using (7) becomes simple, the accuracy is less accurate. This is prone to degrade the control performance. In this paper, for the purpose of calculating ψ r precisely, a method based on numerical calculation is adopted. In detail, by transforming (6) to the differential equation, it can be obtained that: Then, to solve (8) and the rotor flux can be derived as, where t is time. So far, the IM model in the time domain has been established completely. Substitute (3) and (4) into (1) and (2), respectively and then, the Euler forward algorithm can be used Processes 2021, 9, 710 5 of 22 to discretize them in a time step of T (sampling time) to calculate the future states at t k+1 as follows: where the superscripts k+1 and k represent the future and current states, respectively. C 1 is a constant, and it satisfies that C 1 = T L s L r −L m 2 . As for the rotor flux, in the control period between t k and t k+1 , where 0 ≤ t ≤ T, the detected current value i k sM at t k and T should be adopted to predict the flux at t k+1 , that is: Then, the future torque can be calculated by: From (12) and (13), it can be seen that only i k sM and i k+1 sT are needed for calculating flux and torque information, so it is not necessary to predict the M-axis current i k+1 sM , which is another advantage of the new flux calculation method. Overall, the discrete PPM used for achieving an IM FCS-MPTC algorithm is (11)-(13).

Proposed Fuzzy Adaptive PI Controller-Based FCS-MPTC
This section introduces the traditional fuzzy adaptive PI controller that focuses on the system dynamic performance firstly, explaining the reasons why it contributes less to the ripple reduction in the stable state. Then, the improved fuzzy adaptive controller that aims to enhance the steady-state performance is developed. Finally, the implementation procedures of the fuzzy adaptive PI controller-based FCS-MPTC strategy are detailed.

Traditional Fuzzy Adaptive PI Controller
In order to improve the dynamic performance of the IM control system, a traditional fuzzy adaptive PI controller, which is shown in Figure 1 is usually used for speed regulation, where ω r and ω ref are the real and reference rotor speed. ∆ω r is the speed error, K ω and K dω are the input scaling factors. In 1 , In 2 and Out p , Out i are the inputs and outputs of the fuzzy inference engine, respectively. D e_kp and D e_ki are the outputs of the defuzzification part. K p * and K i * are the output scaling factors. ∆k p and ∆k i are the compensation values for the PI controller.  As for the traditional controller, there are several features that need to be mentioned. First, the fuzzy controller contains five parts, namely, fuzzification, membership function, fuzzy control rules, defuzzification and adjustment. All of them are the fundamental components of a fuzzy controller. Secondly, in terms of the input scaling factors Kω and Kdω, they are of fixed magnitude. Usually, to ensure In1 and In2 to stay between −1 and 1 [40], Kω is set as the reciprocal of the maximum speed value ωr_max, that is, As for the traditional controller, there are several features that need to be mentioned. First, the fuzzy controller contains five parts, namely, fuzzification, membership function, fuzzy control rules, defuzzification and adjustment. All of them are the fundamental components of a fuzzy controller. Secondly, in terms of the input scaling factors K ω and K dω , they are of fixed magnitude. Usually, to ensure In 1 and In 2 to stay between −1 and 1 [40], K ω is set as the reciprocal of the maximum speed value ω r_max , that is, and K dω is the reciprocal of the maximum acceleration which can be calculated by using the rated torque T rated and overload ratio k, where J is the rotor inertia. It can be noticed that K dω is determined by the largest torque that can be generated by the machine, which is inclined to occur in the starting stage. Thirdly, the derivative of the speed errors (DSE) is selected as one input of the fuzzy inference engine because it represents the change rate of speed (dynamics). The reason why the speed errors and the DSE are able to improve the dynamics can be summarized as follows; (1) when the DSE and speed errors are large, the machine starts to speed up or down. The fuzzy controller will generate large compensation values to ensure that the proportional and integral factors stand at a relatively large position so as to ensure a fast response.
(2) When DSE is large but the speed errors are small, load variations occur when the speed nearly levels off. In this case, a large proportional gain is needed to quicken the process of returning to the normal state. It deserves to be mentioned that the traditional fuzzy adaptive controller has an obvious significance in improving the system dynamics regardless of parameter mismatch. However, as for the increasing ripples caused by the parameter mismatch issue, the traditional fuzzy adaptive controller cannot suppress them effectively, and below are the reasons; (1) in the stable state, both the DSE and the speed errors are small. Namely, the values of ∆ω r and d∆ω r /dt comply with the trend. After they pass through the fuzzification part, because K ω and K dω are fixed and large, In 1 and In 2 are very close to zero, leading to the fact that the final compensation values generated by the fuzzy controller are too small to influence the initial parameters of the PI controller. Consequently, the ripples will maintain at a large level continuously. (2) d∆ω r /dt only reflects the speed change rate but it cannot be used to evaluate the control effect (especially the shifting trend of the ripples) of the current PI parameters. For the sake of ripple reduction, these two aspects can be optimized.

Proposed Fuzzy Adaptive PI Controller Used for Ripple Reduction
To solve the above two issues, in order to make the fuzzy adaptive PI controller suitable for ripple reduction, an improved controller is proposed as in Figure 2, where ∆ω r ' and ∆ω cp are the previous speed error and the CPSE-E, respectively. K ω ' and K cp are the input scaling factors. In 3 is the input of the fuzzy inference engine and σ represents the maximum allowable speed ripple range. Compared to the traditional fuzzy controller in Figure 1, the novelties of the proposed controller include that firstly, the structure is rebuilt. Specifically, both the current and previous speed errors and the CPSE-E are selected as the inputs of the fuzzy controller. In addition, differing from the two-dimensional fuzzy controller in Figure 1, the improved fuzzy controller is three-dimensional. Secondly, the input scaling factors are modified. Without using fixed parameters, the input scaling factors K ω , K ω ' and K cp are mutable and determined by the rated speed and the maximum allowable ripple range. This can widen the range of In 1 , In 2 and In 3 so the range of the output compensation values is expanded as well. Thirdly, considering that the structure and the range of the input values get changed, the fuzzy control rules and membership functions require to be modified correspondingly. In addition to these differences, the fundamental components of the improved fuzzy adaptive PI controller are the same to those in Figure 1. In this part, the design procedures of each component are discussed, which will reflect the novelties at length. allowable ripple range. This can widen the range of In1, In2 and In3 so the range of the output compensation values is expanded as well. Thirdly, considering that the structure and the range of the input values get changed, the fuzzy control rules and membership functions require to be modified correspondingly. In addition to these differences, the fundamental components of the improved fuzzy adaptive PI controller are the same to those in Figure 1. In this part, the design procedures of each component are discussed, which will reflect the novelties at length. In reference to the traditional fuzzy controller using the DSE, which reflects the system dynamics as one of the inputs, the variables that can reflect the steady-state performance should be selected as the inputs for the new controller considering that this paper focuses on ripple reduction. First of all, when the machine rotates stably, the magnitude of the speed errors directly represents the severity of the ripples. When it is large, the speed tracking capacity of the system is poor, and the bandwidth of the whole system is wide. In this case, a smaller proportional gain or larger integral gain of the PI controller is needed to narrow the system bandwidth so as to improve the steady-state performance. On the contrary, when the speed errors are small, a general conclusion that the current inservice PI controller parameters are suitable can be reached as long as the speed errors are able to level off. Secondly, as the CPSE-E is able to embody the changing trend of the speed ripples, with the support of the speed errors, it can be adopted to evaluate the steady-state performance. In detail, firstly, when the previous and current speed errors are positive, the real speed exceeds the reference value. At the moment, if the CPSE-E is positive, the speed ripples is inclined to increase. This demonstrates that the parameters of the PI controller in the last control period are not proper. It needs to be mentioned that only when the CPSE-E is negative can we reach a conclusion that the control parameters are decent. Secondly, when the previous speed error is positive or negative while the current one is negative or positive, the CPSE-E is undoubtedly negative or positive. In this case, the magnitude of the CPSE-E determines whether the controller parameters are excessively sensitive. Thirdly, when the previous and current speed errors are both negative, the real speed

Explanations of Three-Dimensional Fuzzy Controller Concerning Novel Structure
In reference to the traditional fuzzy controller using the DSE, which reflects the system dynamics as one of the inputs, the variables that can reflect the steady-state performance should be selected as the inputs for the new controller considering that this paper focuses on ripple reduction. First of all, when the machine rotates stably, the magnitude of the speed errors directly represents the severity of the ripples. When it is large, the speed tracking capacity of the system is poor, and the bandwidth of the whole system is wide. In this case, a smaller proportional gain or larger integral gain of the PI controller is needed to narrow the system bandwidth so as to improve the steady-state performance. On the contrary, when the speed errors are small, a general conclusion that the current in-service PI controller parameters are suitable can be reached as long as the speed errors are able to level off. Secondly, as the CPSE-E is able to embody the changing trend of the speed ripples, with the support of the speed errors, it can be adopted to evaluate the steady-state performance. In detail, firstly, when the previous and current speed errors are positive, the real speed exceeds the reference value. At the moment, if the CPSE-E is positive, the speed ripples is inclined to increase. This demonstrates that the parameters of the PI controller in the last control period are not proper. It needs to be mentioned that only when the CPSE-E is negative can we reach a conclusion that the control parameters are decent. Secondly, when the previous speed error is positive or negative while the current one is negative or positive, the CPSE-E is undoubtedly negative or positive. In this case, the magnitude of the CPSE-E determines whether the controller parameters are excessively sensitive. Thirdly, when the previous and current speed errors are both negative, the real speed is lower than the pre-setting speed. Then, if the CPSE-E is positive, the speed ripples are decreasing, but if the CPSE-E is negative, the ripples grow continuously. Simultaneously, the magnitude of the CPSE-E determines the response sensitivity of the PI controller parameters.
According to be the above analysis, the previous speed errors, current speed errors and CPSE-E are closely related to the steady-state performance of the system. Hence, they can be employed as the inputs of the fuzzy controller, reducing the IM speed ripples during control. On this ground the proposed three-dimensional fuzzy controller is developed, which is brand-new indeed.

Design of Each Fuzzy controller Component (a) Fuzzification
With the use of the fuzzification part, the actual input values can be converted to the fuzzy domain. Referring to the standardization control theory, the fuzzy domain is set as [−1, 1]. Therefore, the inputs of the proposed fuzzy controller can be described as: Now, a new issue is understanding how to design the input scaling factors. In order to enlarge the range of In 1 , In 2 and In 3 , which can improve the sensitivity of the fuzzy controller in the stable states, K ω , K ω and K cp are designed as, where σ represents the maximum allowable speed ripple range (in percentage) in the highspeed situations. The rationale behind the scaling factor design method can be summarized as that, firstly, because the speed ripples need to meet the performance requirement that includes σ in engineering, effective measures must be taken to achieve this goal. In some particular scenarios (e.g., parameter mismatch conditions). while the ripples are inclined to exceed the allowable range, they can be suppressed by a marked parameter adjustment operation before the ripples reach the upper limit point (the goal of this paper), which depends on the fuzzy control rules and membership function. Hence, in real applications, as long as the membership function and fuzzy control rules are well-designed, In 1 and In 2 will range from −1 and 1 when K ω and K ω satisfy (19). Secondly, when the speed ripples are controlled within the limited range, the magnitude of the maximum CPSE-E equals 2ω ref· σ%, so K cp should be designed as the value in (19).

(b) Fuzzy control rules
The fuzzy control rules are the core of the fuzzy inference engine, which are used to build bridges between the inputs and the outputs. To formulate the control rules, linguistic expressions need to be defined to describe the fuzzy variables. In this paper, the linguist expressions include positive large (PL), positive medium (PM), positive small (PS), zero (ZO), negative small (NS), negative medium (NM) and negative large (NL). For the outputs, more accurate compensation values could be obtained by using the following subset: {PL, PM, PS, ZO, NS, NM, NL}. However, for the sake of inference burden reduction, only five linguist descriptions are employed for the inputs of the three-dimensional fuzzy controller, that is, {PL, PM, ZO, NM, NL}. Then, as for the proportional gain k p and integral gain k i of the PI controller, 85 rules that are extracted from the existing knowledge (the larger k p /k i is, the wider the system bandwidth is) and practical experiences can be designed as in series of Tables 1 and 2, respectively. '*' represents that the corresponding situations will never appear. The fuzzy control rules can be generally summarized as follows: 1.
When the signs of In 1 and In 2 are the same, if In 3 indicates that the speed ripples are increasing, a negative value of ∆k p and a positive value of ∆k i should be applied to reduce the bandwidth of the system. In this case, the system response speed drops, so that the speed ripples can be suppressed before it reaches the upper limit.

2.
When the signs of In 1 and In 2 are the same, if In 3 indicates that the speed ripples are decreasing, the in-service PI controller parameters are suitable. Both the values of ∆k p and ∆k i should be only adjusted slightly.

3.
When the signs of In 1 and In 2 are opposite, if the absolute value of In 3 is large, a negative value of ∆k p and a positive value of ∆k i are adopted to restrain the response speed of the system. 4.
When the signs of In 1 and In 2 are opposite, if the absolute value of In 3 is small, the relatively smaller compensation values are generated to adjust the parameters of the PI controller. In these cases, it is not necessary to markedly adjust the controller parameters because the in-service parameter values calculated in the previous period are appropriate. ative value of Δkp and a positive value of Δki are adopted to restrain the response speed of the system. 4. When the signs of In1 and In2 are opposite, if the absolute value of In3 is small, the relatively smaller compensation values are generated to adjust the parameters of the PI controller. In these cases, it is not necessary to markedly adjust the controller parameters because the in-service parameter values calculated in the previous period are appropriate.  By using Tables 1 and Tables 2, the fuzzy control rules are defined in the form of "ifthen": where A, B and C represent the fuzzy description subsets corresponding to the inputs, and If In 1 is A, In 2 is B and In 3 is C, Then Out is D.
where A, B and C represent the fuzzy description subsets corresponding to the inputs, and D is the fuzzy description subsets corresponding to the outputs.

(c) Membership functions
With respect to the inputs, the membership functions play a role in mapping the normalized variables to the membership degree between 0 and 1. However, for the outputs, the membership functions convert the membership degree to the normalized values. When designing a membership function, the following aspects need to be considered. (1) The membership functions have to fully cover the fuzzy domain. Otherwise, the blank area occurs, causing ineffective control. (2) Adjacent membership functions should intersect with each other, but it is not allowed that three membership functions have a common area of intersection. (3) When the degree of intersection between two adjacent membership functions penetrates, the fuzzy controller is more adaptable to parameter change of the system and has stronger robustness, while if it is small, the control sensitivity is higher.
(4) In addition to the intersection degree (ID), the slope of each member function is related to the control sensitivity. Usually, the larger the slope, the more sensitive the fuzzy controller becomes.
In light of the above analysis and the fuzzy control rules, the membership functions for the inputs (In 1 , In 2 and In 3 ) and outputs (Out p and Out i ) are designed as in Figure 3. It can be seen that when the speed errors are large, the slope of the membership functions for In 1 and In 2 is designed to be large as well, and simultaneously, the ID between membership functions gets low. These indicate that when the speed errors approach the upper limit, the fuzzy controller becomes more sensitive, resulting in remarkable variations with respect to the PI controller parameters. The PI controller is endowed with lower bandwidth, as well as superior ripple reduction capacity. As far as In 3 is concerned, when the CPSE-E is large or small, the corresponding membership functions are with large slopes (sensitive controller), while when the CPSE-E is medium, the controller is less sensitive because the membership function slopes are small. The rationale behind the design method of the membership functions shown in Figure 3c is as follows. (1) Small CPSE-E contributes less to ripple reduction, but large CPSE-E is prone to increase the ripples. (2) Only when the CPSE-E is medium can it be concluded that the PI controller parameters are appropriate. Before leaving Figure 3, the relationship between the inputs and outputs in the form of surface view is partially given to explain the fuzzy controller more explicitly.

(d) Defuzzification
The outputs of the fuzzy inference engine are still fuzzy sets. They cannot be directly used for adjusting the PI controller parameters, so they need to be converted to crisp values by the use of the defuzzification part. In engineering, the most common strategy is the centroid defuzzification which contains most of the inference results [41]: where v(x i ) and u(y i ) are the membership degree, x i and y i mean the values corresponding to its degree of membership, m represents the number of membership functions. It needs to be mentioned that D e_kp and D e_ki range from −1 to 1.
because the membership function slopes are small. The rationale behind the design method of the membership functions shown in Figure 3c is as follows. (1) Small CPSE-E contributes less to ripple reduction, but large CPSE-E is prone to increase the ripples. (2) Only when the CPSE-E is medium can it be concluded that the PI controller parameters are appropriate. Before leaving Figure 3, the relationship between the inputs and outputs in the form of surface view is partially given to explain the fuzzy controller more explicitly. (d) Defuzzification The outputs of the fuzzy inference engine are still fuzzy sets. They cannot be directly used for adjusting the PI controller parameters, so they need to be converted to crisp values by the use of the defuzzification part. In engineering, the most common strategy is the centroid defuzzification which contains most of the inference results [41]: Because the outputs of the defuzzification part are between −1 and 1, it is necessary to employ output scaling factors to alter them to the appropriate levels. On this ground the compensation values can be obtained by using the following equations: Finally, the real-time proportional gain k p and integral gain k i of the adaptive PI controller can be derived as, where k p0 and k i0 are the initial proportional and integral gains, respectively, and together with K p * and K i *, they can be designed by using the numerical method in [42].

Implementation of Proposed Fuzzy Adaptive PI Controller-Based FCS-MPTC
The previous chapters introduce the IM model and the improved fuzzy adaptive PI controller used for FCS-MPTC control and system ripple reduction, laying the ground for achieving a fuzzy adaptive PI controller-based FCS-MPTC. The implementation of the proposed FCS-MPTC strategy is shown in Figure 4. At the kth period, the proposed FCS-MPTC implementation procedures are: (a) Measurement: The phase currents i k a , i k c and rotor speed ω k r are measured by using current and speed sensors (common methods in engineering).
(g) Evaluation: Substitute the seven the predicted values into a traditional one-step cost function (25) and determine the optimal voltage vector and the corresponding switching states [43].
where λ is weighting factor, and in this paper, it is tuned by using the proposed method in the next chapter. T e * and Ψ r * are the reference torque, and flux, respectively.
(h) Actuation: Apply the optimum switching states to the drive system. T + for the candidate voltage vectors. As for a two-level inverter, a total of seven phase voltage vectors that are denoted as u000, u100, u110, u010, u011, u001, and u101 are among the alternatives, (g) Evaluation: Substitute the seven the predicted values into a traditional one-step cost function (25) and determine the optimal voltage vector and the corresponding switching states [43].
where λ is weighting factor, and in this paper, it is tuned by using the proposed method in the next chapter. Te* and Ψr* are the reference torque, and flux, respectively.
(h) Actuation: Apply the optimum switching states to the drive system.

Novel Adaptive Weighting Factor Tuning Strategy
Usually, the weighting factor λ is set as the quotient of the rated flux and rated torque. By doing this, the magnitudes of the torque and flux terms in (25) can be deemed

Novel Adaptive Weighting Factor Tuning Strategy
Usually, the weighting factor λ is set as the quotient of the rated flux and rated torque. By doing this, the magnitudes of the torque and flux terms in (25) can be deemed to stand at the same level, representing that the torque performance and the flux performance are of equal importance when using the cost function for evaluation. However, just as we illustrated in [44], this method might not be optimal in some working conditions so as to cause either large flux or torque ripples. To solve this problem, this part introduces a novel fuzzy adaptive weighting factor tuning method, which is shown in Figure 5, where ψ k r and T k e are the observed flux, and torque at t k , respectively. ∆T e and ∆Ψ r are the torque and flux errors, respectively. K T and K Ψ are the output scaling factors. Out is the output of the fuzzy inference engine. D e_λ is the output of the defuzzification part. K w * is the output scaling factor. ∆λ and λ 0 are the compensation value, and the initial weighting factor, respectively. It can be seen that, firstly, the input variables of the fuzzy controller are the torque and flux errors. The rationale behind this design method is that when ΔTe is large, the torque performance needs to be focused on, thereby increasing the value of the weighting factor [44]. On the contrary, if ΔΨr is large, the importance degree of flux should outweigh that of torque. In this case, λ requires to be decreased. Secondly, the fuzzy controller still contains five parts. Referring to the design procedures and the relevant theories in Chapter 3, each component of the fuzzy controller can be designed as follows.

(a) Fuzzification
To make In1 and In2 of the fuzzy controller range from −1 and 1, KT and KΨ are designed as, where σ1 and σ2 represent the maximum allowable torque and flux ripple range (in percentage) in the high-torque/flux cases. The rationale behind the scaling factor design method is similar to that in Section 3.2.2.

(b) Fuzzy control rules
For the inputs and outputs, they can be either positive or negative, so the fuzzy subset is selected as {PL, PM, PS, ZO, NS, NM, NL}, and 49 fuzzy control rules are shown in Table  3. The fuzzy control rules can be summarized as follows: (1) When In1 is large or medium (large torque error), a large or medium positive value of Δλ is generated regardless of the magnitude of In2. In this case, the priority is to suppress the torque ripples because the torque performance is the direct output of the machine. (2) When In1 is small, the output of the fuzzy controller is determined by In2. If In2 is large, a large negative compensation value is generated to stress the importance of flux, while if In2 is small, the weighting factor does not need to be adjusted significantly. It can be seen that, firstly, the input variables of the fuzzy controller are the torque and flux errors. The rationale behind this design method is that when ∆T e is large, the torque performance needs to be focused on, thereby increasing the value of the weighting factor [44]. On the contrary, if ∆Ψ r is large, the importance degree of flux should outweigh that of torque. In this case, λ requires to be decreased. Secondly, the fuzzy controller still contains five parts. Referring to the design procedures and the relevant theories in Chapter 3, each component of the fuzzy controller can be designed as follows.

(a) Fuzzification
To make In 1 and In 2 of the fuzzy controller range from −1 and 1, K T and K Ψ are designed as, where σ 1 and σ 2 represent the maximum allowable torque and flux ripple range (in percentage) in the high-torque/flux cases. The rationale behind the scaling factor design method is similar to that in Section 3.2.2.

(b) Fuzzy control rules
For the inputs and outputs, they can be either positive or negative, so the fuzzy subset is selected as {PL, PM, PS, ZO, NS, NM, NL}, and 49 fuzzy control rules are shown in Table 3. The fuzzy control rules can be summarized as follows: (1) When In 1 is large or medium (large torque error), a large or medium positive value of ∆λ is generated regardless of the magnitude of In 2 . In this case, the priority is to suppress the torque ripples because the torque performance is the direct output of the machine. (2) When In 1 is small, the output of the fuzzy controller is determined by In 2 . If In 2 is large, a large negative compensation value is generated to stress the importance of flux, while if In 2 is small, the weighting factor does not need to be adjusted significantly.
(c) Membership functions The membership functions for the inputs (In 1 and In 2 ) and output are depicted in Figure 6. Interestingly, the IDs of NL and NM, PM and PL domains in Figure 6a are weak. This draws clear lines between the large and medium-range for the flux and torque deviations. In this paper, by adopting these kinds of membership functions, when |In 1 | > 0.9, the torque and flux deviation will be directly identified as the large level. This contributes to ensuring the torque and flux ripples are prevented from exceeding the upper limit as much as possible. In addition, the slopes of the input and output member functions are large when the corresponding values are small or zero, demonstrating that the fuzzy controller is pretty sensitive even if the system ripples are not large.   In2   PL  PL  PM  NL  NL  NL  PM  PL  PM  PL  PM  NM  NM  NM  PM  PL  PS  PL  PM  NS  NS  NS  PM  PL  ZO  PM  PS  ZO  ZO  ZO  PS  PM  NS  PL  PM  NS  NS  NS  PM  PL  NM  PL  PM  NM  NM  NM  PM  PL  NL  PL  PM  NL  NL  NL  PM  PL (c) Membership functions The membership functions for the inputs (In1 and In2) and output are depicted in Figure 6. Interestingly, the IDs of NL and NM, PM and PL domains in Figure 6a are weak. This draws clear lines between the large and medium-range for the flux and torque deviations. In this paper, by adopting these kinds of membership functions, when |In1| > 0.9, the torque and flux deviation will be directly identified as the large level. This contributes to ensuring the torque and flux ripples are prevented from exceeding the upper limit as much as possible. In addition, the slopes of the input and output member functions are large when the corresponding values are small or zero, demonstrating that the fuzzy controller is pretty sensitive even if the system ripples are not large.

(d) Defuzzification
By using the centroid defuzzification method, the output of the defuzzification part is,

(d) Defuzzification
By using the centroid defuzzification method, the output of the defuzzification part is, where w(z i ) is the membership degree, z i is the value corresponding to its degree of membership. The compensation value is calculated as follows: Then, as is illustrated in Figure 5, the real-time weighting factor used for the cost function is, where λ 0 equals the quotient of the rated flux Ψ r_rated and rated torque T rated , that is:

Simulation and Hardwar-In-Loop Testing Results
In this part, simulation and HIL tests were conducted on a three-phase IM drive whose parameters are given in Table 4 to verify the ripple suppression effect of the proposed FCS-MPTC strategy in the stable states. The simulation was carried out in MATLAB/Simulink 2018b (see Figure 7a), and the HIL testing results were obtained from an RT Lab-based control board (see Figure 7b). It deserves to be mentioned again that the requirements concerning the allowable speed, torque and flux ripple ranges are only applicable to the high-speed/torque/flux situations because in the low-speed cases, the magnitudes of them (rather than percentage ripples) are usually specified. Hence, in this chapter, the no-load and low-speed situations are not considered.

Simulation Results
On the one hand, in order to verify that the proposed adaptive weighting factor tuning strategy was able to suppress the system ripples caused by the internal factors, a comparative study was carried out. In detail, the performance of the traditional FCS-MPTC with fixed PI parameters and fixed weighting factor (λ0) were firstly given, and then it was compared with the performance of the FCS-MPTC with fixed PI parameters but adaptive weighting factor. The simulation process for the two algorithms was conducted as follows: Between 0 and 5.0 s, the IM motor operated at the rated speed stably under the rated load torque. Then, at 5.0 s, a sudden load of 5 Nm was removed, and then the machine works at 110 rad/s under 5 Nm until 10.0 s. Figure 8 shows the system performance of the traditional FCS-MPTC method. It can be seen that when the weighting factor equals λ0, the speed ripples reached 0.4% of the rated speed (nearly 0.4 rad/s or 4 rpm) under the rated load situation and they are 0.3% of the rated speed under 5 Nm. As for the current, the ripples of isT over the high-load range are ±2 A and they are ±1.6 A in the medium-load case. In terms of the torque, when 10 Nm imposed on the rotor, the ripples are ±2.5 Nm

Simulation Results
On the one hand, in order to verify that the proposed adaptive weighting factor tuning strategy was able to suppress the system ripples caused by the internal factors, a comparative study was carried out. In detail, the performance of the traditional FCS-MPTC with fixed PI parameters and fixed weighting factor (λ 0 ) were firstly given, and then it was compared with the performance of the FCS-MPTC with fixed PI parameters but adaptive weighting factor. The simulation process for the two algorithms was conducted as follows: Between 0 and 5.0 s, the IM motor operated at the rated speed stably under the rated load torque. Then, at 5.0 s, a sudden load of 5 Nm was removed, and then the machine works at 110 rad/s under 5 Nm until 10.0 s. Figure 8 shows the system performance of the traditional FCS-MPTC method. It can be seen that when the weighting factor equals λ 0 , the speed ripples reached 0.4% of the rated speed (nearly 0.4 rad/s or 4 rpm) under the rated load situation and they are 0.3% of the rated speed under 5 Nm. As for the current, the ripples of i sT over the high-load range are ±2 A and they are ±1.6 A in the medium-load case. In terms of the torque, when 10 Nm imposed on the rotor, the ripples are ±2.5 Nm (25%), satisfying the requirement in Table 4. However, when the load is was 5 Nm, although the magnitude of the ripples decreases to 2.2 Nm, the ripples in percentage are 44% because the torque base becomes smaller. This proves that σ 2 is only applicable to the high-torque situations. Whereas, it cannot be concluded that the FCS-MPTC algorithm is not suitable for IM control in the medium-and low-torque cases because other kinds of requirements (such as ripple magnitude) are usually specified for these situations in engineering. As far as the flux is concerned, it is interesting that the ripples were too small to be visible. According to (6), this occurs because of the machine rotor parameters (L r /R r is large). However, another phenomenon that needs to be mentioned is that when using an FCS-MPTC algorithm to control the motor, steady-state errors existed in the flux. In Figure 8, the steady-state errors are about 0.012 Wb and 0.005 Wb for the high-load, and medium-load situations, respectively. Before leaving Figure 8, it can be seen that the ripples of the control effort of the PI controller reach ±1.2 in the high-speed and high-load cases.    Figure 9 illustrates the system performance of the proposed FCS-MPTC method with fixed PI parameters but adaptive weighting factor. In comparison with Figure 8, the speed, current and torque ripples are smaller regardless of load conditions. In detail, in the highspeed and high-load situations, they are ±0.3 rad/s (0.3%), ±1.8 A, and ±1.75 Nm (17.5%), respectively. It can be seen that the torque ripples decrease so significantly that the proposed weighting factor tuning strategy is able to make the system satisfy the requirement. Although the speed ripples just drop slightly, it still proves that the proposed strategy has higher speed reduction capacity compared to the traditional FCS-MPTC. Besides, in the medium-load conditions, the torque ripples the speed, current and torque ripples are just ±0.2 rad/s (0.2%), ±1.3 A, and ±1.6 Nm, respectively, which are also smaller than those in Figure 8. When it comes to the flux, the steady-state error was reduced by 0.002 Wb in the high-load situation, but it stays at the previous level when the load is 5 Nm. Compared to Figure 8, the ripples of the control effort of the PI controller in Figure 9 are much smaller (±0.9), which is one important reason why the proposed algorithm is able to suppress torque ripples.  Figure 9 illustrates the system performance of the proposed FCS-MPTC method with fixed PI parameters but adaptive weighting factor. In comparison with Figure 8, the speed, current and torque ripples are smaller regardless of load conditions. In detail, in the highspeed and high-load situations, they are ±0.3 rad/s (0.3%), ±1.8 A, and ±1.75 Nm (17.5%), respectively. It can be seen that the torque ripples decrease so significantly that the proposed weighting factor tuning strategy is able to make the system satisfy the requirement. Although the speed ripples just drop slightly, it still proves that the proposed strategy has higher speed reduction capacity compared to the traditional FCS-MPTC. Besides, in the medium-load conditions, the torque ripples the speed, current and torque ripples are just ±0.2 rad/s (0.2%), ±1.3 A, and ±1.6 Nm, respectively, which are also smaller than those in Figure 8. When it comes to the flux, the steady-state error was reduced by 0.002 Wb in the high-load situation, but it stays at the previous level when the load is 5 Nm. Compared to Figure 8, the ripples of the control effort of the PI controller in Figure 9 are much smaller (±0.9), which is one important reason why the proposed algorithm is able to suppress torque ripples. On the other hand, for the purpose of verifying that the proposed FCS-MPTC (with adaptive PI controller parameters and adaptive weighting factor) is able to attenuate the system ripples caused by the external factors, assuming that the speed sensor has random errors, the control performance of the traditional and the proposed FCS-MPTC strategies are compared. In the simulation, random errors were added to the measured speed to form the feedback speed, and the simulation process was conducted in the same way as On the other hand, for the purpose of verifying that the proposed FCS-MPTC (with adaptive PI controller parameters and adaptive weighting factor) is able to attenuate the system ripples caused by the external factors, assuming that the speed sensor has random errors, the control performance of the traditional and the proposed FCS-MPTC strategies are compared. In the simulation, random errors were added to the measured speed to form the feedback speed, and the simulation process was conducted in the same way as before. Figures 10 and 11 demonstrate the control performance of the traditional FCS-MPTC, and the proposed FCS-MPTC, respectively. First of all, compared to the results in Figure 8, the speed, current and torque ripples in Figure 10 witness a significant increase when the external disturbances are applied to the system. In detail, in the high-load situations, the speed, current and torque ripples are ±0.8 rad/s (0.8%), ±3 A, and ±4.8 Nm (48%), respectively, and in the medium-load condition, they are ±0.9 rad/s (0.9%), ±3.5 A, and ±5 Nm (50%), respectively. Obviously, the system performance, especially the torque ripples, cannot meet the requirements in Table 4, and the speed ripples are very close to the upper limit. Secondly, it can be noticed that after using the proposed FCS-MPTC method with adaptive PI controller parameters and adaptive weighting factor, the steady-state performance of the system has been improved greatly. Specifically, the speed ripples in the high-torque and medium-torque conditions are ±0.5 rad/s (0.5%) and ±0.55 rad/s (0.55%), respectively. As for the current ripples, the magnitude of them decreases by 1.1 A under 10 Nm. Most importantly, the torque ripples are only 2 Nm (20%) at the rated working point, satisfying the requirement, though the ripples in percentage for mediumload condition are still high (44%) due to the lower torque base value. These prove that the proposed FCS-MPTC has great capacity in suppressing the system ripples. Finally, being similar to Figures 8 and 9, the flux ripples in Figure 11 are small, but there still exist steady-state errors.       Figure 11. Performance of proposed FCS-MPTC with adaptive PI parameters and adaptive weighting factor.

HIL Testing Results
The HIL testing verification procedures are consistent with those in simulation. Figure 12 compares the system performance of the traditional FCS-MPTC and the proposed strategy with fixed PI parameters but adaptive weighting factor. As with the simulation results, intuitively, Figure 12b shows slightly better performance than Figure 12a. Figure  13b illustrates that the proposed FCS-MPTC with adaptive PI parameters and adaptive weighting factor has much greater capacity in suppressing the speed, current and torque ripples when the external disturbances exist. Overall, the steady-state control performance of the system can be improved by using the proposed FCS-MPTC strategy, and hence, it can be of great significance in industrial applications.

HIL Testing Results
The HIL testing verification procedures are consistent with those in simulation. Figure 12 compares the system performance of the traditional FCS-MPTC and the proposed strategy with fixed PI parameters but adaptive weighting factor. As with the simulation results, intuitively, Figure 12b shows slightly better performance than Figure 12a. Figure 13b illustrates that the proposed FCS-MPTC with adaptive PI parameters and adaptive weighting factor has much greater capacity in suppressing the speed, current and torque ripples when the external disturbances exist. Overall, the steady-state control performance of the system can be improved by using the proposed FCS-MPTC strategy, and hence, it can be of great significance in industrial applications.

Conclusions
This paper proposes FCS-MPTC ripple attenuation techniques for IM drives (mainly working at the high-speed conditions) by using novel fuzzy adaptive PI controller and fuzzy adaptive weighting factor tuning strategy. The main contributions and novelties are as follows: 1. The PPM of the IM drives is established for achieving the FCS-MPTC algorithm. It needs to be mentioned that, in this paper, in order to calculate the rotor flux more accurately, a novel flux observer based on the numerical solution of flux differential equation is derived. 2. The reasons why the traditional fuzzy adaptive speed controller contributes less in suppressing the system ripples are analyzed theoretically. On this basis, an improved three-dimensional fuzzy adaptive PI controller was developed, with a new structure and modified input scaling factors. The proposed fuzzy adaptive PI controller is suitable for ripple reduction because the bandwidth of the system becomes narrow when the speed ripples are large, eliminating the impact of the high-frequency disturbances. 3. A novel weighting factor tuning strategy based on fuzzy adaptive theory was developed. It is achieved by balancing the ripples of flux and torque. The proposed weighting factor strategy is adjusted in real-time, avoiding the ripples caused by the inappropriate internal parameters.

Conclusions
This paper proposes FCS-MPTC ripple attenuation techniques for IM drives (mainly working at the high-speed conditions) by using novel fuzzy adaptive PI controller and fuzzy adaptive weighting factor tuning strategy. The main contributions and novelties are as follows: 1.
The PPM of the IM drives is established for achieving the FCS-MPTC algorithm. It needs to be mentioned that, in this paper, in order to calculate the rotor flux more accurately, a novel flux observer based on the numerical solution of flux differential equation is derived.

2.
The reasons why the traditional fuzzy adaptive speed controller contributes less in suppressing the system ripples are analyzed theoretically. On this basis, an improved three-dimensional fuzzy adaptive PI controller was developed, with a new structure and modified input scaling factors. The proposed fuzzy adaptive PI controller is suitable for ripple reduction because the bandwidth of the system becomes narrow when the speed ripples are large, eliminating the impact of the high-frequency disturbances.

3.
A novel weighting factor tuning strategy based on fuzzy adaptive theory was developed. It is achieved by balancing the ripples of flux and torque. The proposed weighting factor strategy is adjusted in real-time, avoiding the ripples caused by the inappropriate internal parameters.