1 Introduction

If inverter-fed and pulse width modulated (PWM) electrical drives are to be operated in a highly dynamic manner, then this requires current control that reacts quickly and without overshoot. A complicating factor here is that the stator current space vector´s direct and quadrature axis components are coupled with each other. An important task of the stator current controller is therefore to decouple these controlled variables. With standard methods, which are based on a continuous-time decoupling, this is only possible without stability problems up to a certain product of stator frequency and sampling time of the current control [1] (see also Sect. 4). For drives which are to handle speeds for which the product mentioned can be larger and which should nevertheless feature a highly dynamic, decoupled transient response, a decoupling strategy adapted to the problem must therefore be implemented. For this purpose, numerous methods are known from the scientific literature. A systematic comparison between them – especially for quite large ratios between stator and sampling frequency, where the differences in the methods become obvious – is, however, hardly to be found. This paper is therefore addressed to this topic. The aim is to establish a uniform discrete-time model of the controlled system on which an optimal decoupling strategy can be based and to propose solutions for this.

That a discrete-time model description is suitable as a basis for decoupling – and not only because of the use of microprocessors for drive control, but simply because of the operation of pulse width modulation-based inverters for machine power supply – has already been shown in [1,2,3,4,5,6]. Furthermore, discrete-time machine models and drive controls were also favored in [7, 8], for example, although discrete-time signal processing was cited as the primary motivation there. In this respect, differences arise mainly with respect to the placement of the hold elements. While in [1,2,3,4,5,6] they are modeled in the stationary reference frame, in [7, 8] the implicit assumption is initially made that the hold elements are performed in the rotating reference frame. Only in the context of a correction step it is then taken into account that the section-wise constancy of the manipulated variables is to be assumed rather in the stationary reference frame than in a rotating reference frame. Furthermore, in [1, 2, 4, 6, 7] discrete-time state-space methods were used to derive the decoupling equations, while in [3, 5] z-transfer functions were used for this purpose. Both state-space based methods and z-transfer functions are discussed in [8]. In addition, in the case of transfer function-based methods, a distinction must be made as to whether P-canonical structures or feedback-oriented methods are used as the basis for decoupling. In this respect, a P-canonical form was used in [3, 5], in which weakly damped poles of the transfer functions are compensated by zeros, but not shifted. This can cause undesired oscillations if the modeling is not exact or if disturbance variables occur, provided they apply before the section with the compensated pole. The above statement about pole compensation also applies to some of the discrete-time decoupling structures described in [8], which can be interpreted as compensation controllers. In this paper, therefore, only those discrete-time decoupling methods are favored in which, with respect to the decoupling, a pole shift and no pole compensation takes place. While in [1, 2, 4, 6] only current state controllers are considered for this purpose, the present paper focuses on the decoupling strategy based on a discrete-time model for an otherwise classical PI current controller. However, state space methods are considered for comparison purposes, especially since they are more suitable for very high rates of speed change than classical PI current controllers, as the considerations in Sects. 3.2, 3.3 and 5 will show.

It should also be mentioned that nowadays also numerous publications are available in which, for example in [9], the existence of magnetic cross-coupling between the stator current components and the induced voltages caused by them is assumed. This is not taken into account in the present paper in order to avoid expansiveness, although such decoupling measures can in principle also be integrated into the analyzed methods.

First, Sect. 2 considers the basic continuous-time and discrete-time model equations of the electrical subsystem of the induction machine with squirrel-cage (IM) and the permanent-magnet synchronous machine (PMSM) and combines them into a common model for the decoupling task. Subsequently, Sect. 3 deals with different decoupling strategies for the current components including a detailed comparison of their performance based on simulation studies. This is followed in Sect. 4 by theoretical studies on the stability limit when using continuous-time based decoupling methods. Finally, measurement results for the favored decoupling strategy are presented in Sect. 5 and the paper is rounded off by a summary in Sect. 6.

2 Continuous-time and discrete-time model equations of the electrical subsystem of inverter-fed three-phase drives

Typically, the dynamic behavior of the electrical subsystem of three-phase machines is described with the help of space vector equations. This mathematical tool is also used in the following. For the stator current space vector \({\underline{i}}_{\mathrm{S}}^{\mathrm{s}}\) of an IM or PMSM described in an orthogonal stationary reference frame, which is obtained from the stator phase currents \({i}_{\mathrm{S},\mathrm{a}}\), \({i}_{\mathrm{S},\mathrm{b}}\) and \({i}_{\mathrm{S},\mathrm{c}}\), it then follows [6, 8]

$$ \underline {i}_{\text{S}}^{s} = \frac{2}{3} \left( {i_{\text{S,a}} + \text{e}^{{{\text{j}}\frac{2\pi }{3}}} i_{\text{S,b}} + \text{e}^{{\text{j}\frac{4\pi }{3}}} i_{\text{S,c}} } \right) $$
(1)

Subsequently, \(\underline {i}_{{\text{S}}}^{{\text{s}}}\) is transformed by means of the rotational transformation

$$ \underline {i}_{\text{S}}^{\text{r}} = \text{e}^{{ - \text{j}\gamma_{\text{S}} }} \underline {i}_{\text{S}}^{\text{s}} $$
(2)

into a rotating reference frame, the so-called d-q reference frame. In Eq. (2) \({\gamma }_{\mathrm{S}}\) indicates the angle of rotation of the rotating reference frame with regard to the stationary reference frame. In which reference frame the respective space vector is represented is indicated by the superscript “s” (for stationary reference frame) or “r” (for rotating reference frame). The stator voltage space vector \({\underline{v}}_{\mathrm{S}}^{\mathrm{s}}\) or \({\underline{v}}_{\mathrm{S}}^{\mathrm{r}}\), the back-EMF voltage space vector \({\underline{v}}_{\mathrm{PM}}^{\mathrm{s}}\) or \({\underline{v}}_{\mathrm{PM}}^{\mathrm{r}}\), and the permanent magnet flux space vector \({\underline{\Psi }}_{\mathrm{PM}}^{\mathrm{s}}\) or \({\underline{\Psi }}_{\mathrm{PM}}^{\mathrm{r}}\) for the PMSM as well as the rotor flux space vector \({\underline{\Psi }}_{\mathrm{R}}^{\mathrm{s}}\) or \({\underline{\Psi }}_{\mathrm{R}}^{\mathrm{r}}\) for the IM are also defined in a corresponding manner.

2.1 Continuous-time model equations of the PMSM

Using the space vectors introduced above, the stator voltage equation of the PMSM in the rotating reference frame is [6, 8]

$$ \underline {v}_{\text{S}}^{\text{r}} = {\text{R}}_{\text{S}} \underline {i}_{\text{S}}^{\text{r}} + L_{\text{S}} \frac{{{\text{d}}\underline {i}_{\text{S}}^{\text{r}} }}{{{\text{d}}t}} + {\text{j}}\omega L_{\text{S}} \underline {i}_{\text{S}}^{\text{r}} + \underline {v}_{\text{PM}}^{\text{r}} $$
(3a)

with

$$ \underline {v}_{{{\text{PM}}}}^{\text{r}} = {\text{j}}\omega \underline {\Psi }_{{{\text{PM}}}}^{\text{r}} $$
(3b)

where \({R}_{\mathrm{S}}\) denotes the stator resistance, \({L}_{\mathrm{S}}\) denotes the stator inductance, and \(\omega ={\dot{\gamma }}_{\mathrm{S}}\) denotes the electric rotor position angular velocity and hence also the angular velocity of the rotating reference frame. However, this representation assumes that there is no magnetic anisotropy of the stator inductance and that the stator inductances do not depend on the current. If the first of these two assumptions does not apply, the direct axis stator inductance \(L_{{{\text{S}},{\text{d}}}}\) and the quadrature axis stator inductance \(L_{{{\text{S}},{\text{q}}}}\) must be introduced. However, the stator voltage equations must then be specified in real terms. In this case, using the space vector components \(i_{{{\text{S}},{\text{d}}}} + {\text{j}} i_{{{\text{S}},{\text{q}}}} = \underline {i}_{{\text{S}}}^{{\text{r}}}\), \(v_{\text{S},\text{d}} + {\text{j}} v_{\text{S},\text{q}} = \underline {v}_{\text{S}}^{\text{r}}\), \(v_{{{\text{PM}},{\text{d}}}} + {\text{j}} v_{{{\text{PM}},{\text{q}}}} = \underline {v}_{{{\text{PM}}}}^{{\text{r}}}\) and \(\Psi_{{{\text{PM}},{\text{d}}}} + {\text{j}} \Psi_{{{\text{PM}},{\text{q}}}} = \underline {\Psi }_{{{\text{PM}}}}^{{\text{r}}}\) as well as considering the relation \(\Psi_{{{\text{PM}},{\text{q}}}} = 0\) being valid because of the rotor orientation and consequently \(v_{{{\text{PM}},{\text{d}}}} = 0\) [6, 8], they are

$$ v_{{\text{S}},{\text{d}}} = R_{\text{S}} i_{{\text{S}},{\text{d}}} + L_{\text{S},{\text{d}}} \frac{{\text{d}}i_{\text{S},{\text{d}} }}{{{\text{d}}t}} - \omega L_{{\text{S}},{\text{q}}} i_{{\text{S}},{\text{q}}} $$
(4a)
$$ v_{{\text{S}},{\text{q}}} = R_{\text{S}} i_{{\text{S}},{\text{q}}} + L_{{\text{S}},{\text{q}}} \frac{{\text{d}}i_{\text{S},{\text{q}} }} {{{\text{d}}t}} + \omega L_{{\text{S}},{\text{d}}} i_{{\text{S}},{\text{d}}} + v_{{\text{PM}},{\text{q}}} $$
(4b)

In order to avoid expansiveness, \({L}_{\mathrm{S},\mathrm{d}}\) and \({L}_{\mathrm{S},\mathrm{q}}\) are considered as constant parameters in the following. If necessary, they must be re-adjusted in reality depending on the operating point. A quite exact possibility for this is described in [6].

Because dealing with few complex equations is clearer than dealing with twice as many real equations, it is aimed to summarize Eqs. (4a) and (4b) also for \({L}_{\mathrm{S},\mathrm{d}}\ne {L}_{\mathrm{S},\mathrm{q}}\) in a suitable complex form. For this purpose, it is assumed that the stator resistance, like the stator inductance, is direction-dependent, i.e., would have different values in the d and q directions, in such a way that the stator time constant \({\tau }_{\mathrm{S}}\) resulting from stator inductance and stator resistance becomes direction-independent. That means it should be applied

$$ \tau_{\text{S}} = \tau_{{\text{S}},{\text{d}}} = \frac{L_{\text{S},{\text{d}} }}{R_{{\text{S},{\text{d}}} }} = \tau_{{\text{S}},{\text{q}}} = \frac{L_{{\text{S},{\text{q}}} }}{R_{{\text{S},{\text{q}}} }} $$
(5)

if \(R_{{{\text{S}},{\text{d}}}}\) and \(R_{{{\text{S}},{\text{q}}}}\) are understood to be the mentioned fictitious directional stator resistances. It is true that this directional dependence of \(R_{{\text{S}}}\) does not correspond to reality. However, because the size of the stator resistance does not have too great influence on the current controller parameterization, this error can be accepted. For this purpose, based on the mean value

$$ \overline{L}_{{\text{S}}} = \frac{{L_{{{\text{S}},{\text{d}}}} + L_{{{\text{S}},{\text{q}}}} }}{2} $$
(6)

of the direction-dependent stator inductances, it is suitable to determine the stator time constant as

$$ \tau_{{\text{S}}} = \frac{{\overline{L}_{{\text{S}}} }}{{R_{{\text{S}}} }} $$
(7)

Based on these simplifications, in Eq. (4a) \(R_{{\text{S}}}\) is replaced by \(R_{{{\text{S}},{\text{d}}}}\) and in Eq. (4b) \(R_{{\text{S}}}\) is replaced by \(R_{{{\text{S}},{\text{q}}}}\) followed by the replacement of \(R_{{{\text{S}},{\text{d}}}}\) by \(\frac{{L_{{{\text{S}},{\text{d}}}} }}{{\tau_{{\text{S}}} }}\) and \(R_{{{\text{S}},{\text{q}}}}\) by \(\frac{{L_{{{\text{S}},{\text{q}}}} }}{{\tau_{{\text{S}}} }}\), according to Eq. (5). Thus, the stator voltage Eqs. (4a) and (4b) can be approximated by the relation

$$ v_{{{\text{S}},{\text{d}}}} = \frac{{L_{{{\text{S}},{\text{d}}}} }}{{\tau_{{\text{S}}} }} i_{{{\text{S}},{\text{d}}}} + L_{{{\text{S}},{\text{d}}}} \frac{{{\text{d}}i_{{{\text{S}},{\text{d}}}} }}{{{\text{d}}t}} - \omega L_{{{\text{S}},{\text{q}}}} i_{{{\text{S}},{\text{q}}}} $$
(8a)
$$ v_{{{\text{S}},{\text{q}}}} = \frac{{L_{{{\text{S}},{\text{q}}}} }}{{\tau_{{\text{S}}} }} i_{{{\text{S}},{\text{q}}}} + L_{{{\text{S}},{\text{q}}}} \frac{{{\text{d}}i_{{{\text{S}},{\text{q}}}} }}{{{\text{d}}t}} + \omega L_{{{\text{S}},{\text{d}}}} i_{{{\text{S}},{\text{d}}}} + v_{{{\text{PM}},{\text{q}}}} $$
(8b)

If furthermore the transformations

$$ i_{{{\text{S}},{\text{d}}}}^{\# } = \frac{{L_{{{\text{S}},{\text{d}}}} }}{{\overline{L}_{{\text{S}}} }} i_{{{\text{S}},{\text{d}}}} $$
(9a)
$$ i_{{{\text{S}},{\text{q}}}}^{\# } = \frac{{L_{{{\text{S}},{\text{q}}}} }}{{\overline{L}_{{\text{S}}} }} i_{{{\text{S}},{\text{q}}}} $$
(9b)

are carried out, then the stator voltage equations are as follows:

$$ v_{{{\text{S}},{\text{d}}}} = \frac{{\overline{L}_{{\text{S}}} }}{{\tau_{{\text{S}}} }} i_{{{\text{S}},{\text{d}}}}^{\# } + \overline{L}_{{\text{S}}} \frac{{{\text{d}}i_{{{\text{S}},{\text{d}}}}^{\# } }}{{{\text{d}}t}} - \omega \overline{L}_{{\text{S}}} i_{{{\text{S}},{\text{q}}}}^{\# } $$
(10a)
$$ v_{{{\text{S}},{\text{q}}}} = \frac{{\overline{L}_{{\text{S}}} }}{{\tau_{{\text{S}}} }} i_{{{\text{S}},{\text{q}}}}^{\# } + \overline{L}_{{\text{S}}} \frac{{{\text{d}}i_{{{\text{S}},{\text{q}}}}^{\# } }}{{{\text{d}}t}} + \omega \overline{L}_{{\text{S}}} i_{{{\text{S}},{\text{d}}}}^{\# } + v_{{{\text{PM}},{\text{q}}}} $$
(10b)

Formally, the necessary symmetry of the equation coefficients is again present, which is necessary for the combination of Eqs. (10a) and (10b) to a space vector equation. Using Eq. (10a) as its real part and Eq. (10b) as its imaginary part, and considering Eq. (7), we obtain the result

$$ \underline {v}_{{\text{S}}}^{{\text{r}}} = R_{{\text{S}}} \underline {i}_{{\text{S}}}^{{\# {\text{r}}}} + \overline{L}_{{\text{S}}} \frac{{{\text{d}}\underline {i}_{{\text{S}}}^{{\# {\text{r}}}} }}{{{\text{d}}t}} + {\text{j}} \omega \overline{L}_{{\text{S}}} \underline {i}_{{\text{S}}}^{{\# {\text{r}}}} + \underline {v}_{{{\text{PM}}}}^{{\text{r}}} $$
(11)

with

$$ \underline {i}_{{\text{S}}}^{{\# {\text{r}}}} = i_{{{\text{S}},{\text{d}}}}^{\# } + {\text{j }}i_{{{\text{S}},{\text{q}}}}^{\# } $$
(12)

and \(v_{{{\text{PM}},{\text{d}}}} = 0\). Formally, this procedure is similar to system modeling by means of stator flux components, where – apart from the voltage drop at the stator resistance – there is also symmetry in the equation coefficients, and subsequent conversion to stator current components [10].

In the next step, Eq. (11) is put into state form, from which

$$ \frac{{{\text{d}}\underline {i}_{{\text{S}}}^{{\# {\text{r}}}} }}{{{\text{d}}t}} = \left( { - \frac{1}{{\tau_{{\text{S}}} }} - {\text{j}}\omega } \right) \underline {i}_{{\text{S}}}^{{\# {\text{r}}}} + \frac{1}{{\overline{L}_{{\text{S}}} }} \left( {\underline {v}_{{\text{S}}}^{{\text{r}}} - \underline {v}_{{{\text{PM}}}}^{{\text{r}}} } \right) $$
(13)

follows, if considering Eq. (7), and which forms the basis for the discretization still to be performed.

2.2 Continuous-time model equations of the IM

For the induction machine, the space vector state differential equations are obtained in the rotor flux fixed reference frame as follows, according to [6, 8]:

$$ \frac{{{\text{d}}\underline {i}_{{\text{S}}}^{{\text{r}}} }}{{{\text{d}}t}} = \left( { - \frac{1}{{\tau_{{\upsigma }} }} - {\text{j}}\omega_{{\text{S}}} } \right) \underline {i}_{{\text{S}}}^{{\text{r}}} + \frac{1}{{L_{{\upsigma }} }} \left( {\underline {v}_{{\text{S}}}^{{\text{r}}} - \underline {v}_{{{\text{ind}}}}^{{\text{r}}} } \right) $$
(14)
$$ \frac{{{\text{d}}\underline {\Psi }_{{\text{R}}}^{{\text{r}}} }}{{{\text{d}}t}} = \left( { - \frac{1}{{\tau_{{\text{R}}} }} - {\text{j}}\left( {\omega_{{\text{S}}} - \omega } \right)} \right) \underline {\Psi }_{{\text{R}}}^{{\text{r}}} + \frac{{L_{{\text{m}}} }}{{\tau_{{\text{R}}} }} \underline {i}_{{\text{S}}}^{{\text{r}}} $$
(15)

with

$$ \underline {v}_{{{\text{ind}}}}^{{\text{r}}} = \frac{1}{{1 + \sigma_{{\text{R}}} }} \left( {{\text{j}}\omega - \frac{1}{{\tau_{{\text{R}}} }}} \right) \underline {\Psi }_{{\text{R}}}^{{\text{r}}} $$
(16)

In this, \({\tau }_{\upsigma }\) denotes the leakage time constant, \({L}_{\upsigma }\) the total leakage inductance, \({\tau }_{\mathrm{R}}\) the rotor time constant, \({L}_{\mathrm{m}}\) the mutual inductance, and \({\sigma }_{\mathrm{R}}\) the rotor leakage factor. As in the PMSM, \(\omega \) is the electric rotor position angular velocity, whereas \({\omega }_{\mathrm{S}}={\dot{\gamma }}_{\mathrm{S}}\) is the angular velocity of the rotating reference frame, i.e., in the IM, unlike the PMSM, \(\omega \ne {\omega }_{\mathrm{S}}\) generally holds. Furthermore, \({\underline{v}}_{\mathrm{ind}}^{\mathrm{r}}\) has similarities with a space vector of back-EMF voltages. It should also be noted that in a rotor flux fixed reference frame \({\Psi }_{\mathrm{R},\mathrm{q}}=0\) holds. That the representation of the dynamic behavior of the induction machine takes place in this reference frame is assumed in the following. From Eq. (15), after separation into real and imaginary part, one then obtains

$$ \frac{{{\text{d}}\Psi_{{{\text{R}},{\text{d}}}} }}{{{\text{d}}t}} = - \frac{1}{{\tau_{{\text{R}}} }} \Psi_{{{\text{R}},{\text{d}}}} + \frac{{L_{{\text{m}}} }}{{\tau_{{\text{R}}} }} i_{{{\text{S}},{\text{d}}}} $$
(17a)
$$ \omega_{{\text{S}}} = \omega + \frac{{L_{{\text{m}}} }}{{\tau_{{\text{R}}} }} \frac{{i_{{{\text{S}},{\text{q}}}} }}{{\Psi_{{{\text{R}},{\text{d}}}} }} $$
(17b)

Because \({\tau }_{\mathrm{R}}\) is usually significantly larger than the settling time of the current control loop, it follows from Eq. (17a), taking into account \({\Psi }_{\mathrm{R},\mathrm{q}}=0\), that the rotor flux space vector \({\underline{\Psi }}_{\mathrm{R}}^{\mathrm{r}}\) hardly changes during the period in which the stator currents settle in response to changing setpoints. \({\underline{\Psi }}_{\mathrm{R}}^{\mathrm{r}}\) can thus be regarded as constant area-by-area, similar to \({\underline{\Psi }}_{\mathrm{PM}}^{\mathrm{r}}\) in the PMSM. Because \(\omega \) hardly changes significantly in the transient phase of the stator currents, this also applies to \({\underline{v}}_{\mathrm{ind}}^{\mathrm{r}}\).

2.3 Summary of the continuous-time model equations of PMSM and IM

A comparison of Eqs. (13) and (14) in conjunction with the above remarks shows that both PMSM and IM have an identical model basis for the design of a suitable decoupling strategy. Therefore, the relevant equations of both machine types are summarized as follows. Instead of \({\tau }_{\mathrm{S}}\) or \({\tau }_{\upsigma }\) then only the time constant \(\tau \) and instead of \({\overline{L} }_{\mathrm{S}}\) or \({L}_{\upsigma }\) only the inductance \(L\) appears in it. As angular velocity of the rotating reference frame \({\omega }_{\mathrm{S}}\) is used in the summarized differential equations. Likewise, the space vector of the induced voltages \({\underline{v}}_{\mathrm{ind}}^{\mathrm{r}}\) is used there and subsequently interpreted as a disturbance variable. If we use the notation \({\underline{i}}_{\mathrm{S}}^{\mathrm{r}}\) instead of \({\underline{i}}_{\mathrm{S}}^{\#\mathrm{r}}\) even for PMSM for the purpose of simplification, then the space vector state differential equation applies machine-independently

$$ \frac{{{\text{d}}\underline {i}_{{\text{S}}}^{{\text{r}}} }}{{{\text{d}}t}} = \left( { - \frac{1}{\tau } - {\text{j}}\omega_{{\text{S}}} } \right) \underline {i}_{{\text{S}}}^{{\text{r}}} + \frac{1}{L} \left( {\underline {v}_{{\text{S}}}^{{\text{r}}} - \underline {v}_{{{\text{ind}}}}^{{\text{r}}} } \right) $$
(18)

If the real and imaginary part of this is written down separately, we get the real differential equations

$$ \frac{{{\text{d}}i_{{{\text{S}},{\text{d}}}} }}{{{\text{d}}t}} = - \frac{1}{\tau } i_{{{\text{S}},{\text{d}}}} + \omega_{{\text{S}}} i_{{{\text{S}},{\text{q}}}} + \frac{1}{L} \left( {v_{{{\text{S}},{\text{d}}}} - v_{{{\text{ind}},{\text{d}}}} } \right) $$
(19a)
$$ \frac{{{\text{d}}i_{{{\text{S}},{\text{q}}}} }}{{{\text{d}}t}} = - \frac{1}{\tau } i_{{{\text{S}},{\text{q}}}} - \omega_{{\text{S}}} i_{{{\text{S}},{\text{d}}}} + \frac{1}{L} \left( {v_{{{\text{S}},{\text{q}}}} - v_{{{\text{ind}},{\text{q}}}} } \right) $$
(19b)

and, from this, the according block diagram shown in Fig. 1. Therein

$$ R = \frac{L}{\tau } $$
(20)

holds.

Fig. 1
figure 1

Block diagram of that part of the electrical subsystem of a PMSM or IM described in the rotating reference frame which is relevant for decoupling

2.4 Discrete-time decoupling-relevant model equations of PMSM and IM

Due to the dynamic behavior of inverters operated by pulse width modulation, which is comparable to discrete-time systems, it has proven useful to discretize the models of inverter-fed electrical machines [1,2,3,4,5,6]. The switching period (reciprocal of the switching frequency) of the inverter is used as the sampling time \({T}_{\mathrm{s}}\), if the current control algorithm is executed once per switching period, or half the switching period if the current control algorithm is executed twice per switching period. The manipulated variables of this discrete-time model are the controller output variables. In the stationary reference frame, these correspond to the mean values of the stator voltages acting on the machine per sampling interval due to the pulse width modulators operating there. In the following, these controller output quantities are referred to as reference voltages. The space vector based on them is the reference voltage space vector \({\underline{v}}_{\mathrm{ref}}^{\mathrm{s}}\) or \({\underline{v}}_{\mathrm{ref}}^{\mathrm{r}}\), respectively. In the rotating reference frame it has the real part \({v}_{\mathrm{ref},\mathrm{d}}\) and the imaginary part \({v}_{\mathrm{ref},\mathrm{q}}\).

If the processor used for current control can execute the current control algorithm so quickly that the instant of time at which the controller output variables begin to act on the controlled system approximately matches with the instant of time of current detection, i.e., the sampling time instant, then the current control algorithm operates without a so-called computational dead time. Otherwise, to avoid floating effects, the controller output variables only become effective at the beginning of the following sampling instant. In this case, there is a dead time of one sampling interval. It should be noted here that this computational dead time only acts as a pure dead time in the stationary reference frame, provided that the controller output variables are transformed back into the stationary reference frame with the same transformation angle \({\gamma }_{\mathrm{S}}\) as the angle with which the transformation of the stator currents into the rotating reference frame is performed. In addition, [5] discusses the case where the calculation dead time is only half a sampling interval. However, this variant is not considered further in this paper in order to avoid expansiveness.

The core of the required discrete-time model is the stator current space vector difference equation. It follows from the general solution of Eq. (18) when written for a sampling interval reaching from the sampling time instant \(kT\) to the sampling time instant \(\left(k+1\right)T\), \(k\in {\mathbb{N}}_{0}\). It reads under the assumption that \({\omega }_{\mathrm{S}}\) is constant within the considered sampling interval [6]

$$ \begin{aligned} \underline {i}_{{{\text{S}},k + 1}}^{{\text{r}}} = & {\text{e}}^{{ - \frac{{T_{{\text{s}}} }}{\tau } {-} {\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} \underline {i}_{{{\text{S}},k}}^{{\text{r}}} \\ & + \mathop \smallint \limits_{{kT_{{\text{s}}} }}^{{\left( {k + 1} \right)T_{{\text{s}}} }} {\text{e}}^{{\left( { - \frac{1}{\tau } - {\text{j}}\omega_{{\text{S}}} } \right) \left( {\left( {k + 1} \right)T_{{\text{s}}} - t} \right)}} \frac{1}{L} \left( {\underline {v}_{{\text{S}}}^{{\text{r}}} \left( t \right) - \underline {v}_{{{\text{ind}}}}^{{\text{r}}} \left( t \right)} \right){\text{ d}}t \\ \end{aligned} $$
(21)

If now \(\underline {v}_{{\text{S}}}^{{\text{r}}} \left( t \right)\) is replaced by \({\text{e}}^{{ - {\text{j}}\gamma_{{\text{S}}} \left( t \right)}} \underline {v}_{{\text{S}}}^{{\text{s}}} \left( t \right)\) (cf. Eq. 2), \(\underline {v}_{{{\text{ind}}}}^{{\text{r}}} \left( t \right)\) is considered constant within a sampling interval, and it is assumed that \(\gamma_{{\text{S}}} \left( t \right)\) changes linearly within the integration interval according to

$$ \gamma_{{\text{S}}} \left( t \right) = \gamma_{{{\text{S}},k}} + \omega_{{\text{S}}} \left( {t - kT_{{\text{s}}} } \right) $$
(22)

then it follows from Eq. (21), considering Eq. (20),

$$\begin{aligned} \underline {i}_{{{\text{S}},k + 1}}^{{\text{r}}} = & \, {\text{e}}^{{ - \frac{{T_{{\text{s}}} }}{\tau } {-}{\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} \underline {i}_{{{\text{S}},k}}^{{\text{r}}} + \mathop \smallint \limits_{{kT_{{\text{s}}} }}^{{\left( {k + 1} \right)T_{{\text{s}}}}}\\& {\text{e}}^{{\left( { - \frac{1}{\tau} -{\text{j}}\omega_{{\text{S}}} } \right) \left( {\left( {k + 1}\right)T_{{\text{s}}} - t} \right)}} \frac{1}{L} {\text{e}}^{{ -{\text{j}} \left( {\gamma_{{{\text{S}},k}} + \omega_{{\text{S}}}\left( {t - kT_{{\text{s}}} } \right)} \right)}} \underline {v}_{{\text{S}}}^{{\text{s}}} \left( t \right){\text{ d}}t \\&-\frac{1}{L} \mathop \smallint \limits_{{kT_{{\text{s}}} }}^{{\left({k + 1} \right)T_{{\text{s}}} }} {\text{e}}^{{\left( { -\frac{1}{\tau } - {\text{j}}\omega_{{\text{S}}} } \right) \left({\left( {k + 1} \right)T_{{\text{s}}} - t} \right)}} {\text{d}}t \underline {v}_{{{\text{ind}},k}}^{{\text{s}}} { } \\= & \, \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau } {-} \text{j}\omega_{\text{S}} T_{\text{s}} }} \underline {i}_{\text{S},k}^{\text{r}} + \text{e}^{{{-} \text{j}\omega_{\text{S}} T_{\text{s}} }} \text{e}^{{{-} \text{j}\gamma_{\text{S},k} }}\\ & \frac{1}{L} \mathop \smallint \limits_{{kT_{\text{s}} }}^{{\left( {k +1} \right)T_{\text{s}} }} {\text{e}}^{{ - \frac{1}{\tau } \left( {\left( {k + 1}\right)T_{\text{s}} - t} \right)}} \underline {v}_{\text{S}}^{\text{s}} \left( t \right)dt \\ &- \frac{{1 - {\text{e}}^{{ - \frac{{T_{{\text{s}}} }}{\tau }- {\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} }}{{R \left( {1 +{\text{j}}\omega_{{\text{S}}} \tau } \right)}} \underline {v}_{{{\text{ind}},k}}^{{\text{r}}} \\ \end{aligned}$$
(23)

If we further assume that \({\mathrm{e}}^{- \frac{1}{\tau } \left(\left(k+1\right){T}_{\mathrm{s}}-t\right)}\) in the integrand of Eq. (23) does not change much within the integration interval, we can approximately replace this term by its mean value \(\frac{1}{{T}_{\mathrm{s}}}\underset{k{T}_{\mathrm{s}}}{\overset{\left(k+1\right){T}_{\mathrm{s}}}{\int }}{\mathrm{e}}^{- \frac{1}{\tau } \left(\left(k+1\right){T}_{\mathrm{s}}-t\right)}\mathrm{ d}t=\frac{\tau }{{T}_{\mathrm{s}}}\left(1-{\mathrm{e}}^{- \frac{{T}_{\mathrm{s}}}{\tau }}\right)\) in relation to the integration interval and then pull this term in front of the integral. Together with \(\frac{1}{{T}_{\mathrm{s}}}\), the leaving integral \(\underset{k{T}_{\mathrm{s}}}{\overset{\left(k+1\right){T}_{\mathrm{s}}}{\int }}{\underline{v}}_{\mathrm{S}}^{\mathrm{s}}(t)\mathrm{ d}t\) in Eq. (23) remains at the mean value of the stator voltage space vector represented in the stationary reference frame and thus corresponds to the reference voltage space vector \({\underline{v}}_{\mathrm{ref}}^{\mathrm{s}}\) transferred from the current controller to the pulse width modulators. Thus, taking into account \(\text{e}^{{{-} \text{j}\gamma_{\text{S},\,k} }} \underline {v}_{{{\text{ref}},k}}^{\text{s}} = \underline {v}_{{{\text{ref,}}\,k}}^{\text{r}}\) according to Eq. (2), the following relation is valid

$$ \text{e}^{{{-} \text{j}\gamma_{\text{S},k} }} \frac{1}{{T_{\text{s}} }} \mathop \smallint \limits_{{kT_{\text{s}} }}^{{\left( {k + 1} \right)T_{\text{s}} }} \underline {v}_{\text{S}}^{\text{s}} \left( t \right) {\text{d}}t = \text{e}^{{{-} \text{j}\gamma_{\text{S},k} }} \underline {v}_{{{\text{ref}},k}}^{\text{s}} = \underline {v}_{{{\text{ref}},k}}^{\text{r}} $$
(24a)

provided that in the sampling interval \(k{T}_{\mathrm{s}}\le t<\left(k+1\right){T}_{\mathrm{s}}\) the reference voltage space vector \({\underline{v}}_{\mathrm{ref},k}^{\mathrm{r}}\) is already effective. In this respect, it is understood here that the index \(k\) means that \({\underline{v}}_{\mathrm{ref},k}^{\mathrm{r}}\) is formed from measured and intermediate quantities acquired at time \(k{T}_{\mathrm{s}}\). I.e., the mentioned computational dead time is neglected. If this dead time must be taken into account, the stator voltage space vector mean value generated by pulse width modulation depends on the reference voltage space vector \({\underline{v}}_{\mathrm{ref},k-1}^{\mathrm{s}}\). Instead of Eq. (24a) one then obtains

$$ \text{e}^{{{-} \text{j}\gamma_{\text{S},k} }} \frac{1}{{T_{\text{s}} }} \mathop \smallint \limits_{{kT_{\text{s}} }}^{{\left( {k + 1} \right)T_{\text{s}} }} \underline {v}_{\text{S}}^{\text{s}} \left( t \right) {\text{d}}t = \text{e}^{{{-} \text{j}\gamma_{\text{S},k} }} \underline {v}_{{{\text{ref}},k - 1}}^{\text{s}} $$
$$ \approx {\text{e}}^{{{-} {\text{j }}\left( {{\upgamma }_{{{\text{S}},k - 1}} + \omega_{{\text{S}}} T_{{\text{s}}} } \right)}} \underline {v}_{{{\text{ref}},k - 1}}^{{\text{s}}} = {\text{e}}^{{ - {\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} \underline {v}_{{{\text{ref}},k - 1}}^{{\text{r}}} $$
(24b)

Equation (24a) or (24b) inserted into Eq. (23) yields, considering Eq. (20) as well as the statements directly behind Eq. (23), the stator current space vector difference equation [6]

$$\begin{aligned} \underline {i}_{{{\text{S}},k + 1}}^{{\text{r}}} = &{\text{e}}^{{ - \frac{{T_{{\text{s}}} }}{\tau } -{\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} \underline {i}_{{{\text{S}},k}}^{{\text{r}}} + \frac{{\left( {1 - {\text{e}}^{{- \frac{{T_{{\text{s}}} }}{\tau }}} } \right) {\text{e}}^{{ -{\text{j}}\left( 2 \right)\omega_{{\text{S}}} T_{{\text{s}}} }}}}{R} \underline {v}_{{{\text{ref}},k\left( { - 1}\right)}}^{{\text{r}}} \\ & - \frac{{\left( {1 - {\text{e}}^{{ -\frac{{T_{{\text{s}}} }}{\tau } - {\text{j}}\omega_{{\text{S}}}T_{{\text{s}}} }} } \right)}}{{R \left( {1 +{\text{j}}\omega_{{\text{S}}} \tau } \right)}} \underline {v}_{{{\text{ind}},k}}^{{\text{r}}} \\ \end{aligned}$$
(25)

in which the bracketed 2 in \({\mathrm{e}}^{- \mathrm{j}(2){\omega }_{\mathrm{S}}{T}_{\mathrm{s}}}\)and the bracketed − 1 in \({\underline{v}}_{\mathrm{ref},k(-1)}^{\mathrm{r}}\) are only valid if a computational dead time of one sampling interval is to be considered. For the case of an existing computational dead time of one sampling interval, this result is also derived in [3], but without specifying the discrete-time influence of \({\underline{v}}_{\mathrm{ind},k}^{\mathrm{r}}\).As an example, Fig. 2 shows the discrete-time block diagram resulting from Eq. (25) in space vector representation for the case of an existing computational dead time of one sampling interval.

Fig. 2
figure 2

Approximated discrete-time space vector block diagram of the decoupling-relevant electrical subsystem of the inverter-fed PMSM or IM in the rotating reference frame

As already mentioned, some publications first ignore the fact that \({\underline{v}}_{\mathrm{ref},k(-1)}=\frac{1}{{T}_{\mathrm{s}}}\underset{k{T}_{\mathrm{s}}}{\overset{\left(k+1\right){T}_{\mathrm{s}}}{\int }}{\underline{v}}_{\mathrm{S}}(t)\mathrm{ d}t\) is valid only in the stationary reference frame, and instead assume \({\underline{v}}_{\mathrm{ref},k(-1)}^{\mathrm{r}}=\frac{1}{{T}_{\mathrm{s}}}\underset{k{T}_{\mathrm{s}}}{\overset{\left(k+1\right){T}_{\mathrm{s}}}{\int }}{\underline{v}}_{\mathrm{S}}^{\mathrm{r}}(t)\mathrm{ d}t\). To reduce the resulting error, the solution obtained by the discretization is then adjusted by means of an angular correction. In [8], the correction term \({\mathrm{e}}^{\mathrm{j}{\omega }_{\mathrm{S}}\frac{3 {T}_{\mathrm{s}}}{2}}\) is used for this purpose in the control law when there is a computational dead time of one sampling interval, which corresponds to the correction term \({\mathrm{e}}^{-\mathrm{j}{\omega }_{\mathrm{S}}\frac{3 {T}_{\mathrm{s}}}{2}}\) in the controlled system model. However, in [8] the discretization is done only via a Taylor series expansion terminated after the linear element. For better comparability with the result from Eq. (25), this path is not followed here, but it is assumed that in Eq. (21) \({\underline{v}}_{\mathrm{S}}^{\mathrm{r}}(t)\) is constant within the integration boundaries and therefore can be drawn behind the integral and replaced by \({\underline{v}}_{\mathrm{ref}, {k-1}}^{\mathrm{r}}\). As a result, including the correction term \({\text{e}}^{ - {{\text{j}}\omega_{{\text{S}}}} \frac{{3 T_{{\text{s}}} }}{2}}\), one obtains the relation

$$ \underline {i}_{{{\text{S}},k + 1}}^{{\text{r}}} = {\text{e}}^{{ - \frac{{T_{{\text{s}}} }}{\tau } - {\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} \underline {i}_{{{\text{S}},k}}^{{\text{r}}} + \frac{{1 - {\text{e}}^{{ - \frac{{T_{{\text{s}}} }}{\tau } - {\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} }}{{R \left( {1 + {\text{j}}\omega_{{\text{S}}} \tau } \right)}} \left( {{\text{e}}^{{ - {\text{j}}\omega_{{\text{S}}} \frac{{3 T_{{\text{s}}} }}{2}}} \underline {v}_{{{\text{ref}},k - 1}}^{{\text{r}}} - \underline {v}_{{{\text{ind}},k}}^{{\text{r}}} } \right) $$
(26)

In [5] a similar solution is worked out. In case of a computational dead time of one sampling interval, treated in [5] as instance \(m=0\), the discretization result is given as a transfer equation in the z-domain and reads as follows

$$\begin{aligned} \underline {I}_{{{\text{S}},{\text{z}}}}^{{\text{r}}} \left( z \right) =&\frac{1}{{R \left( {1 + {\text{j}}\omega_{{\text{S}}} \tau }\right)}} \frac{{1 - {\text{e}}^{{ - \frac{{T_{{\text{s}}} }}{\tau }- {\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} }}{{z -{\text{e}}^{{ - \frac{{T_{{\text{s}}} }}{\tau } -{\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} }}\\&\left({\frac{{{\text{e}}^{{ - {\text{j}}\omega_{{\text{S}}} T_{{\text{s}}}}} }}{z}\underline {V}_{{{\text{ref}},{\text{z}}}}^{{\text{r}}}\left( z \right) - \underline {V}_{{{\text{ind}},{\text{z}}}}^{{\text{r}}} \left( z \right)}\right) \end{aligned}$$
(27a)

However, the correct discrete-time integration of \(\underline {v}_{{{\text{ind}}}}^{{\text{r}}}\) was not addressed in [5]. It was therefore added to Eq. (27a) for the purpose of completeness according to Eqs. (25) and (26). If Eq. (27a) is transformed back into the time domain, the difference equation

$$ \begin{aligned}\underline {i}_{{{\text{S}},k +1}}^{{\text{r}}} = &{\text{e}}^{{ - \frac{{T_{{\text{s}}} }}{\tau } -{\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} \underline {i}_{{{\text{S}},k}}^{{\text{r}}} + \frac{{1 - {\text{e}}^{{ -\frac{{T_{{\text{s}}} }}{\tau } - {\text{j}}\omega_{{\text{S}}}T_{{\text{s}}} }} }}{{R \left( {1 + {\text{j}}\omega_{{\text{S}}}\tau } \right)}}\\&\left( {{\text{e}}^{{ -{\text{j}}\omega_{{\text{S}}} T_{{\text{s}}} }} \underline {v}_{{{\text{ref}},k - 1}}^{{\text{r}}} - \underline {v}_{{{\text{ind}},k}}^{{\text{r}}} } \right)\end{aligned}$$
(27b)

follows. It differs from Eq. (26) only in the deviating rotation factor before \({\underline{v}}_{\mathrm{ref},k-1}^{\mathrm{r}}\).

In contrast to the discretization variants mentioned so far, [1] takes another approach. In it, the averaging effect of the pulse width modulation in the stationary reference frame is approximated from the point of view of the rotating reference frame by the multiplicative additional term \(\frac{\frac{{\omega }_{\mathrm{S}}{T}_{\mathrm{s}}}{2}}{\mathrm{sin}\frac{{\omega }_{\mathrm{S}}{T}_{\mathrm{s}}}{2}} {\mathrm{e}}^{- \mathrm{j}\frac{{\omega }_{\mathrm{S}}{T}_{\mathrm{s}}}{2}}\). Furthermore, in [1] the effect of the space vector of the reference and induced voltages on the stator current space vector difference equation is approximated by means of a Taylor series terminated after the linear element. If one replaces this for better comparability with the solution from Eq. (25) by the term \(\frac{1-{\mathrm{e}}^{- \frac{{T}_{\mathrm{s}}}{\tau } - \mathrm{j}{\omega }_{\mathrm{S}}{T}_{\mathrm{s}}}}{R \left(1+\mathrm{j}{\omega }_{\mathrm{S}}\tau \right)}\), which would be valid in the case of pulse width modulation directly in the rotating reference frame (see Eq. (26)), then, in the case of an existing computational dead time of one sampling interval, one obtains the result

$$ \begin{aligned} \underline {i}_{\text{S},k + 1}^{\text{r}} = & \,{\text{e}}^{{ -\frac{{T_{\text{s}} }}{\tau } - \text{j}\omega_{\text{S}} T}} \underline {i}_{\text{S},k}^{\text{r}} +\frac{{1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{s}} }}}}{{R \left( {1 + \text{j}\omega_{\text{S}} \tau } \right)}}\\&\left({\frac{{\frac{{\omega_{\text{S}} T_{\text{s}} }}{2}}}{{\sin \frac{{\omega_{\text{S}}T_{\text{s}} }}{2}}} \text{e}^{{ - \text{j}\frac{{3\omega_{\text{S}} T_{\text{s}} }}{2}}} \underline {v}_{{{\text{ref}},k - 1}}^{\text{r}} - \underline {v}_{{{\text{ind}},k}}^{\text{r}} } \right)\end{aligned}$$
(28)

3 Discrete-time decoupling

3.1 Theoretical principles

First, a decoupling is performed on the basis of Eq. (25). The aim here is to specify the reference voltage space vector in such a way that the couplings of the controlled system are compensated. Couplings in the controlled system are present if the stator current component \({i}_{\mathrm{S},\mathrm{d}}\) or the reference voltage component \({v}_{\mathrm{ref},\mathrm{d}}\) in the current or a past sampling instant influences the stator current component \({i}_{\mathrm{S},\mathrm{q}}\) in a future sampling instant or if \({i}_{\mathrm{S},\mathrm{q}}\) or \({v}_{\mathrm{ref},\mathrm{q}}\) in the current or a past sampling instant influences \({i}_{\mathrm{S},\mathrm{d}}\) in a future sampling instant. This is exactly the case when complex equation coefficients occur in the stator current difference Eq. (25) at \({\underline{i}}_{\mathrm{S},k}^{\mathrm{r}}\) or \({\underline{v}}_{\mathrm{ref},k}^{\mathrm{r}}\) or \({\underline{v}}_{\mathrm{ref},k-1}^{\mathrm{r}}\), respectively. For \({\omega }_{\mathrm{S}}\ne 0\) this is obviously the case.

If the system behavior is described by means of z-transfer equations, then, in case of a coupled system, complex coefficients occur in the nominator and denominator polynomial of the z-transfer function of the controlled system. Furthermore complex coefficients in the denominator polynomial result in complex poles of the transfer function that are not supplemented by complex poles conjugate to it.

Decoupling would be desirable regardless of whether a state controller or a classic PI controller is to be implemented. Because the underlying control theory must be known when using a state controller – even if at first only the decoupling is to be designed – but the state space methodology is not to be discussed here, the focus of the following considerations is on the decoupling with an otherwise classic PI controller. However, the results of designing a decoupling current state controller are given for comparison purposes.

In order to separate decoupling and controller design from each other, it is aimed that in the stator current space vector difference equation of the decoupled system – apart from the disturbance influence – the equation coefficients of the coupled system for \({\omega }_{\mathrm{S}}=0\) occur. Because they are real and therefore describe a decoupled system. The specific dynamics setting is only done in the controller. For this purpose, the control law is

$$ \underline {v}_{{{\text{ref}},k}}^{{\text{r}}} = \left\{ {\begin{array}{*{20}c} {{\text{e}}^{{ {\text{j}}\omega_{{\text{S}}} T_{\text{S}}}} \underline {v}_{{{\text{PI}},k}}^{{\text{r}}} + \underline {v}_{{{\text{dec}},k}}^{{\text{r}}} + \underline {v}_{{{\text{d}},k}}^{{\text{r}}} \;{\text{without}}\; {\text{calc}}.\; {\text{dead}}\; {\text{time}}} \\ {{\text{e}}^{{ {\text{j}}2\omega_{{\text{S}}} T_{\text{S}}}} \underline {v}_{{{\text{PI}},k}}^{{\text{r}}} + \underline {v}_{{{\text{dec}},k}}^{{\text{r}}} + \underline {v}_{{{\text{d}},k}}^{{\text{r}}} \; {\text{with}}\; {\text{calc}}.\; {\text{dead}}\; {\text{time}}} \\ \end{array} } \right. $$
(29)

It includes the component \(\underline {v}_{{{\text{PI}},k}}^{{\text{r}}}\), which emanates from the PI current controller and is still to be defined and freed from decoupling tasks, as well as the component \(\underline {v}_{{{\text{dec}},k}}^{{\text{r}}}\) for decoupling the controlled system. For \(\underline {v}_{{{\text{dec}},k}}^{{\text{r}}}\), in the case of a neglected computational dead time,

$$ \underline {v}_{{{\text{dec}},k}}^{\text{r}} = R \frac{{\text{e}^{{ \text{j}\omega_{\text{S}} T_{\text{S}} }} }}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }} \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \left( {1 - \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} } \right) \underline {i}_{\text{S},k}^{\text{r}} $$
(30)

is applied. If the influence of \(\underline {v}_{{{\text{ind}},k}}^{{\text{r}}}\) on \(\underline {i}_{{{\text{S}},k + 1}}^{{\text{r}}}\) is also to be eliminated without the current controller having to be active for this purpose,

$$ \underline {v}_{\text{d},k}^{\text{r}} = \frac{{\text{e}^{{ \text{j}\omega_{\text{S}} T_{\text{S}} }} \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{S}} }} } \right)}}{{\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) \left( {1 + \text{j}\omega_{\text{S}} \tau } \right)}} \underline {v}_{{{\text{ind}},k}}^{\text{r}} $$
(31)

is to be chosen. This corresponds to a disturbance rejection. If one finally substitutes Eqs. (29) to (31) into Eq. (25), then the decoupled and disturbance compensated stator current space vector difference equation follows

$$ \underline {i}_{\text{S},k + 1}^{\text{r}} = \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \underline {i}_{\text{S},k}^{\text{r}} + \frac{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }}{R} \underline {v}_{\text{PI},k}^{\text{r}} $$
(32)

As intended, it contains only real equation coefficients. All couplings are thus eliminated.

If a computational dead time of one sampling interval is to be considered in the modeling and if one would proceed for the compensation of complex coefficients in Eq. (25) as in the case without computational dead time, then one would get

$$ \underline {v}_{{{\text{dec}},k - 1}}^{\text{r}} = {R} \frac{{\text{e}^{{ \text{j}2\omega_{\text{S}} T_{\text{S}} }} }}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }} \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \left( {1 - \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} } \right) \underline {i}_{\text{S},k}^{\text{r}} $$
(33)
$$ \underline {v}_{\text{d},k - 1}^{\text{r}} = \frac{{\text{e}^{{ \text{j}2\omega_{\text{S}} T_{\text{S}} }} \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } - \text{j}\omega_{\text{S}} T}} } \right)}}{{\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) \left( {1 + \text{j}\omega_{\text{S}} \tau } \right)}} \underline {v}_{{{\text{ind}},k}}^{\text{r}} $$
(34)

However, \(\underline {v}_{{{\text{dec}},k - 1}}^{{\text{r}}}\) depends on values of \(\underline {i}_{{\text{S}}}^{{\text{r}}}\) at time instant \(kT_{{\text{S}}}\), which are not known at time instant \(\left( {k - 1} \right)T_{{\text{S}}}\) yet. To get rid of this problem, Eq. (33) is increased by a whole time index value and then the resulting space vector \(\underline {i}_{{{\text{S}},k + 1}}^{{\text{r}}}\) is replaced by the right-hand side of Eq. (25). With respect to Eq. (34), note that \(\underline {v}_{{{\text{ind}},k}}^{{\text{r}}} \approx \underline {v}_{{{\text{ind}},k - 1}}^{{\text{r}}}\) holds because the d and q components of the space vector of the induced voltages hardly change within the time period relevant to the transient of the stator currents. If now also Eq. (34) is given under this premise for the time index \(k\), one obtains for the case of a computational dead time of one sampling interval in total the decoupling and disturbance rejection law

$$ \begin{aligned} &\underline {v}_{{{\text{dec}},k}}^{\text{r}} = R \frac{{\text{e}^{{ \text{j}2\omega_{\text{S}} T_{\text{S}} }}}}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }} \text{e}^{{ - \frac{{T_{\text{S}}}}{\tau }}} \left( {1 - \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} } \right) \\ &\qquad \cdot \left( {\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } - \text{j}\omega T_{\text{S}} }}\underline {i}_{\text{S},k}^{\text{r}} + \frac{{\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}}}}{\tau }}} } \right) \text{e}^{{ - \text{j}2\omega_{\text{S}} T_{\text{S}} }} }}{R} \left({\underline {v}_{{{\text{ref}},k - 1}}^{\text{r}} - \underline {v}_{\text{d},k}^{r} } \right)} \right) \\ &\quad= \text{e}^{{ \text{j}2\omega_{\text{S}} T_{\text{S}} }}\left( {1 - \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} } \right) \text{e}^{{ -\frac{{T_{\text{S}} }}{\tau }}} \\ & \qquad\cdot \left( {R \frac{{\text{e}^{{ -\frac{{T_{\text{S}} }}{\tau }}} }}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }}\text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} \underline {i}_{\text{S},k}^{\text{r}} + \text{e}^{{ -\text{j}2\omega_{\text{S}} T_{\text{S}} }} \left( {\underline {v}_{{{\text{ref}},k -1}}^{\text{r}} - \underline {v}_{\text{d},k}^{\text{r}} } \right)} \right) \\\end{aligned} $$
(35)
$$ \underline {v}_{\text{d},k}^{\text{r}} = \frac{{\text{e}^{{\text{j}2\omega_{\text{S}} T_{\text{S}} }} \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } -\text{j}\omega_{\text{S}} T_{\text{S}} }} } \right)}}{{\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}}}}{\tau }}} } \right) \left( {1 + \text{j}\omega_{\text{S}} \tau } \right)}}\underline {v}_{{{\text{ind}},k}}^{\text{r}}$$
(36)

For the decoupled and disturbance compensated stator current space vector difference equation, it follows by substituting in Eq. (25)

$$ \underline {i}_{\text{S},k + 1}^{\text{r}} = \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \underline {i}_{\text{S},k}^{\text{r}} + \frac{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }}{R} \underline {v}_{\text{PI},k - 1}^{\text{r}} $$
(37a)

If this relationship is z-transformed and the z-transfer function \(\frac{{\underline {I}_{\text{S},z}^{\text{r}} \left( z \right)}}{{\underline {V}_{\text{PI},z}^{\text{r}} \left( z \right)}}\) is built, it is as follows

$$ \frac{{\underline {I}_{\text{S, z}}^{\text{r}}} \left( z \right)}{{\underline {V}_{\text{PI},z}^{\text{r}} \left( z \right)}} = \frac{1}{R} \frac{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }}{{z \left( {z - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)}} $$
(37b)

It has only real coefficients and real poles \({z}_{1}=0\) as well as \({z}_{2}={\mathrm{e}}^{- \frac{{T}_{\mathrm{S}}}{\tau }}\). This ensures a decoupled and oscillation-free system behavior.

To illustrate the decoupling structure described last, Fig. 3a shows the discrete-time space vector block diagram of that part of the electrical subsystem of the PMSM or IM described in the rotating reference frame that is relevant for decoupling, including decoupling and disturbance rejection control as well as a PI current controller. Its parameters are marked in Fig. 3a with \({K}_{\mathrm{P}}\) for the proportional coefficient and \({K}_{\mathrm{I}}\) for the integral-action coefficient. The space vector output of the controller integrators is \({\underline{v}}_{\mathrm{I}}^{\mathrm{r}}\). \({\underline{i}}_{\mathrm{S},\mathrm{ref}}^{\mathrm{r}}\) denotes the stator current setpoint space vector.

Fig. 3
figure 3

Discrete-time space vector block diagram of the current control loop of an inverter-fed PMSM or IM in a rotating reference frame with existing computational dead time of one sampling interval, disturbance rejection control and a feedback-oriented discrete-time decoupling b discrete-time P-canonical decoupling according to Eq. (41b)

It is of great importance that this decoupling method is based on feedback, i.e., that the paths required for decoupling lead from the controlled variables as well as from other variables used for decoupling to the manipulated variables, and that these paths do not contain any dynamic elements. This means that no compensation of complex poles can take place in the command transfer function (see also Sect. 3.2). Instead, all complex poles, which are responsible for the coupling – unless they occur as conjugate complex pole pairs – are shifted to real pole positions, as Eq. (37b) shows.

In contrast to such feedback-oriented decoupling structures, P-canonical decouplings consist exclusively of paths leading from the output variables of the preceding controller, which is only responsible for controlling the decoupled controlled system, to the manipulated variables. These paths may have dynamic elements that can be used to compensate for poles in the controlled system transfer functions. To illustrate the difference between feedback-oriented and P-canonical decouplings, Fig. 3b shows the block diagram corresponding to Fig. 3a when the decoupling is implemented as a P-canonical structure. The representation here is based on Eq. (41b) discussed in Sect. 3.2 after its back transformation into the time domain. The term \(\frac{1}{z-{\mathrm{e}}^{- \frac{{T}_{\mathrm{S}}}{\tau }}}\) contained in Eq. (41b), which is the z-transfer function of a P–T1 element, is shown in Fig. 3b via the corresponding difference equation and marked as P–T1 element.

3.2 Comparison of PI controller-based decoupling methods

Decisive for whether a discrete-time decoupling is required or a decoupling based on continuous-time considerations is sufficient is the product \({\omega }_{\mathrm{S}}{T}_{\mathrm{s}}\) of stator angular frequency and sampling time [1]. If one opts for a continuous-time designed decoupling, it follows from Eq. (18) when using \({\underline{v}}_{\mathrm{ref}}^{\mathrm{r}}\) instead of \({\underline{v}}_{\mathrm{S}}^{\mathrm{r}}\) that for the elimination of the complex term \(-\mathrm{j}{\omega }_{\mathrm{S}} {\underline{i}}_{\mathrm{S}}^{\mathrm{r}}\) and for the compensation of \({\underline{v}}_{\mathrm{ind}}^{\mathrm{r}}\) the approach

$$ \underline {v}_{{{\text{ref}}}}^{{\text{r}}} = \underline {v}_{{{\text{PI}}}}^{{\text{r}}} { } + {\text{ j}}\omega_{{\text{S}}} L \underline {i}_{{\text{S}}}^{{\text{r}}} + \underline {v}_{{{\text{ind}}}}^{{\text{r}}} $$
(38)

is suitable. If the controlled system would act continuously in time, then substituting Eq. (38) into Eq. (18) would yield the stator current space vector differential equation\(\frac{\mathrm{d}{\underline{i}}_{\mathrm{S}}^{\mathrm{r}}}{\mathrm{d}t} = -\frac{1}{\tau } {\underline{i}}_{\mathrm{S}}^{\mathrm{r}} + \frac{1}{L} {\underline{v}}_{\mathrm{PI}}^{\mathrm{r}}\),which would lead to a stator frequency-independent decoupled and stable operation by appropriate specification of \({\underline{v}}_{\mathrm{PI}}^{\mathrm{r}}\). However, because inverter-fed three-phase drives operated via pulse width modulators act more like a discrete-time system according to the explanations in Sect. 2.4, stability problems are to be expected in the discrete-time implementation of Eq. (38) depending on the sampling and stator frequency. To illustrate this potential risk and how to avoid it, Fig. 4a through 4l show the simulated ramp-up of an inverter-fed PMSM based on name plate data, machine and inverter parameters shown in Table 1.

Fig. 4
figure 4figure 4

Course of the stator current setpoint and actual value components as well as other quantities during a reversing process with direct axis current set to zero a continuous-time decoupling according to Eq. (38), switching and sampling frequency 2 kHz b continuous-time decoupling according to Eq. (38), switching and sampling frequency 3 kHz c continuous-time decoupling according to Eq. (38), switching and sampling frequency 4 kHz d continuous-time decoupling, carried out by means of setpoint components, switching and sampling frequency 4 kHz e discrete-time decoupling according to Eqs. (35) and (36) and based on the controlled system model in [2,3,4, 6], switching and sampling frequency 2 kHz f discrete-time decoupling according to Eqs. (35) and (36) and based on the controlled system model in [2,3,4, 6], switching and sampling frequency 4 kHz g discrete-time P-canonical decoupling according to Eq. (40b) and based on the controlled system model in [5], switching and sampling frequency 4 kHz h discrete-time P-canonical decoupling according to Eq. (41b) and based on the controlled system model in [2,3,4, 6], switching and sampling frequency 4 kHz i discrete-time P-canonical decoupling based on Eq. (26) according to an idea from [8], switching and sampling frequency 4 kHz j discrete-time decoupling according to Eq. (42) and based on the controlled system model in [1], switching and sampling frequency 4 kHz k discrete-time P-canonical decoupling according to Eq. (43) and based on the controlled system model in [1], switching and sampling frequency 4 kHz l discrete-time decoupling based on the controlled system model in [2,3,4, 6], state controller, switching and sampling frequency 2 kHz

Table 1 Machine and inverter parameters, including name plate data

The acceleration process is to be carried out from standstill up to 6000 min−1. Due to the number of pole pairs \({n}_{\mathrm{P}}=5\), the stator frequency is then 500 Hz. The nominal value 3.4 A of the quadrature axis current is applied as setpoint \({i}_{\mathrm{S},\mathrm{q},\mathrm{ref}}\). Because the nominal speed is 5500 min−1, no field weakening is required. I.e., \({i}_{\mathrm{S},\mathrm{d},\mathrm{ref}}=0\) is specified. When the stated maximum speed is reached, \({i}_{\mathrm{S},\mathrm{q},\mathrm{ref}}=-3.4 \; \mathrm{A}\) is applied until − 6000 min−1 is reached, and so on (reversing process). A computational dead time of one sampling interval was taken into account, while Fig. 4a shows the ramp-up with a switching and sampling frequency of \({f}_{\mathrm{PWM}}=2 \; \mathrm{kHz}\), Fig. 4b shows the time characteristics for \({f}_{\mathrm{PWM}}=3 \; \mathrm{kHz}\) and Fig. 4c the time characteristics for \({f}_{\mathrm{PWM}}=4 \; \mathrm{kHz}\), each for the case of a time-continuously designed decoupling and disturbance rejection according to Eq. (38) (but see the note just before Fig. 4d). The controller parameters of the PI current controller were designed discrete-time. This was also based on a computational dead time of one sampling interval. In view of this, a double real pole at \(z=\frac{1}{2}\) was aimed at for the z-command transfer function of the closed current control loop, resulting in

$$ K_{\text{P}} = \frac{{R_{\text{S}} }}{{4 \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{{\tau_{\text{S}} }}}} } \right)}},\,K_{\text{I}} T_{\text{S}} = \frac{{R_{\text{S}} }}{4} $$
(39)

The direct and quadrature axis current setpoint and actual values (\({i}_{\mathrm{S},\mathrm{d},\mathrm{ref}}, {i}_{\mathrm{S},\mathrm{d}}\), \({i}_{\mathrm{S},\mathrm{q},\mathrm{ref}}\), \({i}_{\mathrm{S},\mathrm{q}}\)) as well as the speed (\(n\)) and the reference voltage space vector magnitude (\(\left|{\underline{v}}_{\mathrm{ref}}^{\mathrm{r}}\right|\)) can be seen on all figures. Furthermore, a signal is shown which indicates, in case of positive values, that the voltage limit has been reached.

It can be seen that with continuous-time designed decoupling, the current control becomes unstable above a certain stator frequency. For \({f}_{\mathrm{PWM}}=2 \; \mathrm{kHz}\), this value is about 380 Hz. At \({f}_{\mathrm{PWM}}=3 \; \mathrm{kHz}\), the stability problems start at about 500 Hz just in the transition range to generator operation and then subside again below about 280 Hz. It is important to note that the stability problems occur before the voltage limit is reached, which is seen by the fact that the trajectories of \({i}_{\mathrm{S},\mathrm{d}}\) and \({i}_{\mathrm{S},\mathrm{q}}\) begin to diverge just before the dot-dashed line changes from zero to a positive value. In this case, reaching the voltage limit is rather a reaction to the unstable behavior of the current control loop. At \({f}_{\mathrm{PWM}}=4 \; \mathrm{kHz}\), unstable operation no longer occurs with the continuous-time decoupling for the specified driving profile.

To avoid an unsatisfactory decoupling based on a continuous-time model, one could alternatively generate the voltages needed for decoupling using the stator current setpoint components. To consider approximately the time delay between the stator current setpoint and actual value components, it would also be convenient to run the setpoint components before introducing them into Eq. (38) – instead of \({\underline{i}}_{\mathrm{S}}^{\mathrm{r}}\) – via P–T1 elements with the settling time constant of the closed-loop current control as time constant. However, the use of setpoints does not represent decoupling, but is merely a precontrol of the voltages ideally required for decoupling. Accordingly, the complex poles of the controlled system model are at best approximately compensated, but in no case shifted into real areas where they do not cause coupling and oscillations. To demonstrate that the use of current setpoints for decoupling does not solve the decoupling task, Fig. 4d shows the time curves of the stator current direct and quadrature axis components as well as other quantities obtained during the described reversing process when, at a switching and sampling frequency of 4 kHz, this method was used for decoupling purposes and the current setpoint components are previously passed over the aforementioned P–T1 elements. Furthermore, it should be noted that the decoupling law used in Fig. 4a through 4d still contains the rotation factor \({\mathrm{e}}^{ \mathrm{j}2{\omega }_{\mathrm{S}}{T}_{\mathrm{S}}}\) as in Eq. (59) (see Sect. 4). Without it, the course of \({i}_{\mathrm{S},\mathrm{d}}\) and \({i}_{\mathrm{S},\mathrm{q}}\) would have a less favorable appearance.

A comparison with Fig. 4c shows that the oscillations in both stator current components increase again during the reversing process with the decoupling variant using current setpoints. As has already been mentioned, replacing the actual values with setpoint values does not solve the decoupling problem. This statement is confirmed by another comparison (see Fig. 5a and b).

Fig. 5
figure 5

ah Course of the stator current setpoint and actual value components as well as other quantities during repetitive acceleration and deceleration with direct axis current setpoint set to zero, a switching and sampling frequency of 6 kHz and various decoupling methods. a Continuous-time designed decoupling according to Eq. (59), b continuous-time designed decoupling, realized with setpoints, c discrete-time designed decoupling according to Eq. (35), following [2,3,4, 6], d discrete-time designed P-canonical decoupling according to Eq. (41b), e discrete-time designed P-canonical decoupling according to Eq. (40b), following [5], f discrete-time designed P-canonical decoupling according to Eq. (40b), but with \({\mathrm{e}}^{\mathrm{j}\frac{3}{2}{\omega }_{\mathrm{S}}{T}_{\mathrm{s}}}\) instead of \({\mathrm{e}}^{\mathrm{j}{\omega }_{\mathrm{S}}{T}_{\mathrm{s}}}\), following [8], g discrete-time designed decoupling according to Eq. (43), following [1], h discrete-time dead beat state controller

With the drive variant with discrete-time decoupling according to Eqs. (35) and (36), no stability problems occur even at \({f}_{\mathrm{PWM}}=2 \; \mathrm{kHz}\) (see Fig. 4e), and at \({f}_{\mathrm{PWM}}=4 \; \mathrm{kHz}\) it can be seen in Fig. 4f that the actual values of the stator current components follow their setpoint values with the least error with reference to the preceding figures. However, Fig. 4e also shows that the decoupling is not perfect. This is because the envelope of \({i}_{\mathrm{S},\mathrm{d}}\) has an unexpected overshoot when the sign of \({i}_{\mathrm{S},\mathrm{q},\mathrm{ref}}\) changes. A detailed analysis of this behavior showed that it only occurs at a very high speed change rate. This is because up to now the assumption was made implicitly that the stator angular frequency does not change so fast that different values of \({\omega }_{\mathrm{S}}\) would have to be calculated simultaneously at different points in the current control algorithm. But this would be necessary for a complete decoupling, where even a value of \({\omega }_{\mathrm{S}}\) lying in a future sampling interval would be required and, strictly speaking, \({\omega }_{\mathrm{S}}\) must not be considered constant even within a sampling interval. However, because this cannot be modeled in the current control algorithm, non-negligible inaccuracies occur in case of a relatively large product of stator angular frequency and sampling time. While a state controller can significantly attenuate the above-mentioned deviation of \({i}_{\mathrm{S},\mathrm{d}}\) by means of a more rigidly adjustable integral-action component, there is no possibility for a PI controller to do so. At \({f}_{\mathrm{PWM}}=4 \; \mathrm{kHz}\) and above, however, this problem no longer plays a role in the example.

If a decoupling structure based on Eq. (27a) is used for the reversal process and a P-canonical decoupling method in the z-domain is developed from it, similar to [5], the following control law is obtained for the decoupling and disturbance rejection

$$\begin{aligned} \underline {V}_{{{\text{ref}},z}}^{\text{r}}\left( z \right) = \; & \text{e}^{{\text{j}\omega_{\text{S}} T_{\text{S}} }} \left( \left( {1 +\text{j}\omega_{\text{S}} \tau } \right) \frac{{z - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }- \text{j}\omega_{\text{S}} T_{\text{s}} }} }}{{z - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} }}\right.\\&\left.\frac{{1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} }}{{1 - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{s}} }} }} \underline {V}_{\text{PI},z}^{\text{r}} \left( z \right) + \underline {V}_{{{\text{ind}},z}}^{\text{r}} \left( z \right) \right)\end{aligned}$$
(40a)

On the one hand, it is constructed in such a way that with \({\underline{V}}_{\mathrm{PI},\mathrm{z}}^{\mathrm{r}}\left(z\right)\) or \({\underline{v}}_{\mathrm{PI},k}^{\mathrm{r}}\), respectively, an input is available to which a PI controller can be connected, as in Fig. 3b, whose task is to control the decoupled and disturbance-compensated system, e.g., using the controller coefficients given in Eq. (39). On the other hand, the complex pole from Eq. (27a) can be found in Eq. (40a) as a zero. Other complex factors from Eq. (27a) appear in Eq. (40a) in inverted form.

If we now insert Eq. (40a) into Eq. (27a), then the terms mentioned compensate each other. In order for Eq. (40a) to remain a causal transfer equation, the complex zero in it is supplemented by a real pole, which arises from the zero for \({\omega }_{\mathrm{S}}=0\). A similar procedure is followed with the other complex factors. The resulting transfer equation contains only real coefficients, which excludes coupling – if the space vector of the induced voltages is disregarded. However, by substituting Eq. (40a) into Eq. (27a), it can also be seen that the complex pole \({\mathrm{e}}^{- \frac{{T}_{\mathrm{s}}}{\tau } - \mathrm{j}{\omega }_{\mathrm{S}}{T}_{\mathrm{s}}}\) from Eq. (27a) is not shifted, but only compensated by a zero with the same value. Because such a compensation never takes place completely in reality and because the complex pole can still be excited by distortions and initial values, a compensated complex pole can still cause coupling and oscillations.

In order to be able to implement Eq. (40a) in a simple way, the numerator of the first fraction occurring in it is extended additively by \({\mathrm{e}}^{- \frac{{T}_{\mathrm{S}}}{\tau }}-{\mathrm{e}}^{- \frac{{T}_{\mathrm{S}}}{\tau }}\) and then the concerned fraction is split into two parts. This leads to the following control law, which in the paths between the PI controller output variables and the manipulated variables contains exclusively P elements and discrete-time P-T1elements:

$$\begin{aligned} &\underline {V}_{{{\text{ref}},z}}^{\text{r}}\left( z \right) = ~ \text{e}^{{\text{j}\omega_{\text{S}} T_{\text{S}} }} \left( \left( {1 +\text{j}\omega_{\text{S}} \tau } \right)\right.\\&\left( {1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} + \frac{{1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} }}{{z - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau }}} }} \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} \left({1 - \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{s}} }} } \right)} \right)\\&\left.\frac{{\underline {V}_{\text{PI},z}^{\text{r}} \left( z \right)}}{{1 - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{s}} }} }} + \underline {V}_{{{\text{ind}},z}}^{\text{r}} \left( z \right) \right)\end{aligned}$$
(40b)

Figure 4g shows which time characteristics are obtained with the decoupling strategy according to Eq. (40b) during the reversing process and a switching frequency of 4 kHz.

At low stator frequencies, deviations of the stator current quadrature axis component from its nominal value as well as drops of the stator current direct axis component during the change in the quadrature axis current setpoint can be seen. Whether this is essentially related to the selected discrete-time model or to the underlying P-canonical decoupling structure can be clarified most simply by also decoupling the discrete-time model based on Eq. (25) by means of a P-canonical structure. In the z-domain, this results in the control law

$$ \begin{aligned}\underline {V}_{{{\text{ref}},z}}^{\text{r}}\left( z \right) = \; & ~ \text{e}^{{\text{j}2\omega_{\text{S}} T_{\text{S}} }} \left( \frac{{z - \text{e}^{{- \frac{{T_{\text{s}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{s}} }} }}{{z - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau }}} }} \underline {V}_{\text{PI},z}^{\text{r}} \left( z \right)\right.\\&\left. + \frac{{1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau } - \text{j}\omega_{\text{S}}T_{\text{s}} }} }}{{\left( {1 + \text{j}\omega_{\text{S}} \tau } \right) \left( {1 - \text{e}^{{- \frac{{T_{\text{s}} }}{\tau }}} } \right)}} \underline {V}_{{{\text{ind}},z}}^{\text{r}} \left( z \right) \right)\end{aligned}$$
(41a)
$$ \begin{aligned}\qquad\qquad=& \, \text{e}^{{\text{j}2\omega_{\text{S}} T_{\text{s}} }} \left( \left({1 + \frac{{\text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} }}{{z - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau }}} }} \left( {1 - \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{s}} }}} \right)} \right) \underline {V}_{\text{PI},z}^{\text{r}} \left( z \right)\right.\\&\left. +\frac{{1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{s}} }}}}{{\left( {1 + \text{j}\omega_{\text{S}} \tau } \right) \left( {1 - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau }}} } \right)}} \underline {V}_{{{\text{ind}},z}}^{\text{r}} \left( z \right) \right)\end{aligned}$$
(41b)

As can be seen, there are also slight deformations in the direct and quadrature axis actual current values in Fig. 4h. It can therefore be assumed that these slight deformations are due to the selected P-canonical structure. The drop in the direct axis component of the stator current in Fig. 4g, on the other hand, is more likely due to inaccuracies in the discrete-time model.

For the purpose of completeness, Fig. 4i shows the corresponding time courses when the decoupling is realized as a P-canonical structure based on Eq. (26). However, there are no significant differences in the course of \({i}_{\mathrm{S},\mathrm{q}}\) compared to Fig. 4g. The deviations of \({i}_{\mathrm{S},\mathrm{d}}\) in Fig. 4g, on the other hand, no longer occur in Fig. 4i.

At the end of the comparison of the different decoupling methods, the results of the considered reversing process is presented, if the control is based on the discrete-time model according to Eq. (28) derived from [1]. If, based on this, the same considerations are applied as for the decoupling and disturbance rejection of the discrete-time model according to Eq. (25), then the control law becomes

$$ \begin{aligned}& \underline {v}_{{{\text{ref}},k}}^{\text{r}} = \frac{{\sin \frac{{\omega_{\text{S}} T_{\text{s}}}}{2}}}{{\frac{{\omega_{\text{S}} T_{\text{s}} }}{2}}} \text{e}^{{ \text{j} \frac{{3\omega_{\text{S}}T_{\text{s}} }}{2}}} \frac{{\left( {1 + \text{j}\omega_{\text{S}} \tau } \right) \left({1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} } \right)}}{{1 - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau } {-} \text{j}\omega_{\text{S}} T_{\text{s}} }} }} \\ &\quad\cdot \left({\underline {v}_{\text{PI},k - 1}^{\text{r}} + R \frac{{\text{e}^{{ - \frac{{T_{\text{s}}}}{\tau }}} }}{{1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} }} \left( {1 -\text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{s}} }} } \right) \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }- \text{j}\omega_{\text{S}} T_{\text{s}} }} \underline {i}_{\text{S},k}^{\text{r}} } \right) \\ &\quad +\text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} \left( {1 - \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{s}}}} } \right) \underline {v}_{{{\text{ref}},k - 1}}^{\text{r}} \\ & \quad+\frac{{\sin \frac{{\omega_{\text{S}} T_{\text{s}} }}{2}}}{{\frac{{\omega_{\text{S}} T_{\text{s}}}}{2}}} \text{e}^{{ \text{j} \frac{{3\omega_{\text{S}} T_{\text{s}} }}{2}}} \left( {1 - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau }}} \left( {1 - \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{s}} }} }\right)} \right) \underline {v}_{{{\text{ind}},k}}^{\text{r}} \\\end{aligned} $$
(42)

Implementing it in the example drive results in the time courses shown in Fig. 4j.

If one finally generates from Eq. (28) a decoupling set up as a P-canonical structure, it leads in the z-domain to the control law

$$ \begin{aligned} \underline {V}_{{{\text{ref}},z}}^{\text{r}} \left( z \right) = & \frac{{\sin \frac{{\omega_{\text{S}} T_{\text{s}} }}{2}}}{{\frac{{\omega_{\text{S}} T_{\text{s}} }}{2}}}\text{e}^{{ \text{j} \frac{{3\omega_{\text{S}} T_{\text{s}} }}{2}}} \cdot \left( \left( {1 + \text{j}\omega_{\text{S}} \tau } \right)\right.\\& \left( {1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} + \frac{{1 - \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} }}{{z - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau }}} }} \text{e}^{{ - \frac{{T_{\text{s}} }}{\tau }}} \left({1 - \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{s}} }} } \right)} \right)\\&\left.\frac{{\underline {V}_{\text{PI},z}^{\text{r}} \left( z \right)}}{{1 - \text{e}^{{ -\frac{{T_{\text{s}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{s}} }} }} + \underline {V}_{{{\text{ind}},z}}^{\text{r}} \left( z \right) \right) \\\end{aligned} $$
(43)

The resulting time courses are shown in Fig. 4k.

On the one hand, this shows that the decoupling method based on Fig. 4j delivers the same control quality for the reversal process as the method based on Fig. 4f. On the other hand, all decoupling methods based on a P-canonical structure produce a slight deformation in the stator current components in some areas. This is due to the fact that the complex poles of the z-transfer function of the controlled system are not shifted but only compensated. This is not the case with decoupling methods based on feedback structures, if the controlled system poles are shifted to real, decoupling and non-oscillatory positions. For this reason, feedback structures are to be preferred, whereby the decouplings according to Eqs. (35) and (36) as well as Eq. (42) have the highest control quality, at least in the example drive considered.

To demonstrate that a state controller is in principle capable of significantly mitigating the effects of incomplete decoupling, Fig. 4l shows the time responses corresponding to the previous figures when a current state controller is used instead of a PI current controller at the switching frequency \({f}_{\mathrm{PWM}}=2 \; \mathrm{kHz}\) and this is parameterized according to the setting rules as discussed in Sect. 3.3. The control eigenvalues \({z}_{\mathrm{R},1}\) and \({z}_{\mathrm{R},2}\) are set to 0.5 for better comparability of the results with those from the previous figures, as are the poles of the z-command transfer function there.

As can be clearly seen, for the state controller at \({f}_{\mathrm{PWM}}=2 \; \mathrm{kHz}\), hardly any more overshoot of the envelope of \({i}_{\mathrm{S},\mathrm{d}}\) occurs.

In order to be able to observe the transient response with higher resolution, Fig. 5a–g shows responses of the current control loop at quadrature axis current setpoint steps executed in quick succession. For this purpose, the speed profile is modified in such a way that the nominal value of the stator current quadrature axis component is used to accelerate only up to a speed of approx. 4500 min−1, where a sign change of \({i}_{\mathrm{S},\mathrm{q},\mathrm{ref}}\) then takes place until the speed has dropped to 4200 min−1. As soon as this speed is fallen below, the sign of \({i}_{\mathrm{S},\mathrm{q},\mathrm{ref}}\) is changed again. As a result, the current control loop is excited within a few milliseconds with changing quadrature axis current setpoints, at a stator frequency in the range of 375 Hz. The maximum frequency was reduced in comparison to the profile in Fig. 4a–k in order to prevent the magnitude of the reference voltage space vector from being limited because the stator current setpoint steps now take place partly in motor operation and need therefore higher voltage.

Figure 5a is based on a continuous-time designed decoupling by means of stator current actual value components according to Eq. (59), while in Fig. 5b the decoupling is performed by means of stator current setpoint components. In Fig. 5c a discrete-time designed decoupling according to Eq. (35) is implemented, which is based on a model according to Eq. (25) [2,3,4, 6]. For comparison purposes, Fig. 5d shows the system response when the decoupling is also based on a model according to Eq. (25), but realized as a P-canonical structure according to Eq. (41b). Finally, Fig. 5e–g illustrates the corresponding time courses when the decouplings are implemented according to Eqs. (40b) and based on [5], (40b) with \({\mathrm{e}}^{\mathrm{j}\frac{3}{2}{\omega }_{\mathrm{S}}{T}_{\mathrm{S}}}\) instead of \({\mathrm{e}}^{\mathrm{j}{\omega }_{\mathrm{S}}{T}_{\mathrm{S}}}\) and based on [8] as well as (42) [1]. All curve shapes in Fig. 5a–g are based on a switching and sampling frequency of 6 kHz.

As shown in Fig. 5c–g, the curves of the quadrature axis current actual value hardly show any differences for the discrete-time designed decouplings, if combined with a PI current controller. With the time-continuously designed decoupling, on the other hand, there are control deviations in the quadrature axis current which hardly decrease. The reason for this is the insufficient decoupling in the given stator frequency range, which is why the controller integrators have to take over decoupling tasks. For them to be able to do this, a control deviation must be present at their inputs. Significant differences between the discrete-time decoupling methods can be seen above all in the curves of the actual direct axis current values. Ideally, they are close to zero. Deviations from this then indicate incomplete decoupling. This is the case for all decoupling methods investigated except for those based on Eqs. (35) and (42) and, with minor constraints, for the method based on Eq. (26). Even in the case of the method based on the correct controlled system model (25) but realized as a P-canonical structure, deviations of \({i}_{\mathrm{S},\mathrm{d},k}\) from the nominal value zero are present. This is another indication that feedback structures should be preferred over P-canonical structures for decoupling.

It is interesting to note that in Fig. 5d–f there is nothing to indicate that, when the stator frequency range in question is passed through quickly using P-canonical decoupling methods, deformations occur in certain areas in the quadrature axis current profile similar to those in Fig. 4g, h, i and k.

3.3 Comparison with state controller based decoupling

If a state controller with integral-action component is designed for the controlled system according to Eq. (25) for the case of a computaional dead time of one sampling interval, then corresponding to [6] the following control law is obtained

$$ \underline {v}_{{{\text{ref}},k}}^{\text{r}} = \underline {M} \underline {i}_{{\text{S},{\text{ref}},k}}^{\text{r}} - \underline {K}_{\text{P}} \underline {i}_{\text{S},k}^{\text{r}} - \underline {K}_{\text{T}} \underline {v}_{\text{T},k}^{\text{r}} + \underline {K}_{\text{I}} \underline {v}_{\text{I},k}^{\text{r}} + \underline {K}_{z} \underline {v}_{{{\text{ind}},k}}^{\text{r}} $$
(44a)
$$ \underline {v}_{\text{I},k + 1}^{\text{r}} = \underline {v}_{\text{I},k}^{\text{r}} + \underline {i}_{{\text{S},{\text{ref}},k}}^{\text{r}} - \underline {i}_{\text{S},k}^{\text{r}} $$
(44b)
$$ \underline {v}_{\text{T},k + 1}^{\text{r}} = \text{e}^{{ - \text{j}2\omega_{\text{S}} T_{\text{S}}}} \left( {\underline {v}_{{{\text{ref}},k}}^{\text{r}} - \underline {K}_{z} \underline {v}_{{{\text{ind}},k}}^{\text{r}} } \right) $$
(44c)

using the controller coefficients

$$ \underline {M} = \frac{{R \, \text{e}^{{ \text{j}2\omega_{\text{S}} T_{\text{S}} }} }}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }} \left( {1 - z_{\text{R},1} } \right) $$
(45a)
$$ \begin{aligned}\underline {K}_{\text{P}} = &\frac{{R\, \text{e}^{{\text{j}2\omega_{\text{S}} T_{\text{S}} }} }}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }}\left( \left( {1 - z_{\text{R},1} } \right) \left( {1 - z_{\text{R},2} } \right)\right.\\&\left.+ \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } {-} \text{j}\omega_{\text{S}} T_{\text{S}} }} \left( {1 -z_{\text{R},1} - z_{\text{R},2} } \right) + \text{e}^{{ - 2\left( { \frac{{T_{\text{s}} }}{\tau } + \text{j}\omega_{\text{S}} T_{\text{S}} } \right)}} \right)\end{aligned}$$
(45b)
$$ \underline {K}_{\text{T}} = \text{e}^{{ \text{j}2\omega_{\text{S}}T_{\text{S}} }} \left( {\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } {-} \text{j}\omega_{\text{S}} T_{\text{S}}}} + 1 - z_{\text{R},1} - z_{\text{R},2} } \right)$$
(45c)
$$ \underline {K}_{\text{I}} = \frac{{R \, \text{e}^{{\text{j}2\omega_{\text{S}} T_{\text{S}} }} }}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }}\left( {1 - z_{\text{R},1} } \right) \left( {1 - z_{\text{R},2} } \right)$$
(45d)
$$ \underline {K}_{\text{z}} = \frac{{\text{e}^{{\text{j}2\omega_{\text{S}} T_{\text{S}} }} }}{{1 - \text{e}^{{ - \frac{{\text{T}_{\text{S}} }}{\tau }}} }}\frac{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{S}} }}}}{{1 + \text{j}\omega_{\text{S}} \tau }} $$
(45e)

In it, \({z}_{\mathrm{R},1}\) and \({z}_{\mathrm{R},2}\) denote the predeterminable control eigenvalues, which can also be interpreted as poles of the z-command transfer function. Newly, in Eqs. (44a) and (44c) the space vector \({\underline{v}}_{\mathrm{T}}^{\mathrm{r}}\) appears. It represents a state variable which is used to describe the influence of the computational dead time. The underlying state space model is a 3rd order system. Thus, three control eigenvalues can be specified. In addition to the already mentioned control eigenvalues \({z}_{\mathrm{R},1}\) and \({z}_{\mathrm{R},2}\), the fixed control eigenvalue \({z}_{\mathrm{R},3}=0\) was specified, which is used to model the dynamics of the computational dead time which cannot be eliminated by the control.

In order to be able to theoretically separate the dynamics of the control from the required decoupling in the current state controller, the two control eigenvalues \({z}_{\mathrm{R},1}\) and \({z}_{\mathrm{R},2}\) are specified in a thought experiment as real numbers with their amounts matching exactly the amounts of the corresponding eigenvalues of the controlled system. That is, \({z}_{\mathrm{R},1}={\mathrm{e}}^{- \frac{{T}_{\mathrm{S}}}{\tau }}\) and \({z}_{\mathrm{R},2}=1\) (open integrator) are chosen. Thus, the state controller is only supposed to effect a decoupling, which is just characterized by the fact that the resulting difference equations describing the relation between \({\underline{i}}_{\mathrm{S},\mathrm{ref}}^{\mathrm{r}}\) and \({\underline{i}}_{\mathrm{S}}^{\mathrm{r}}\) have exclusively real coefficients (cf. Sect. 3.1). If this is done in that way, the following setting values result from Eqs. (45b)–(45d)

$$ \underline {K}_{\text{P}} = - \frac{{R \left( {\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)^{2} \text{e}^{{ \text{j}\omega_{\text{S}} T_{\text{S}} }} }}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }} \left( {1 - \text{e}^{{{-}\text{ }\text{j}\omega_{\text{S}} T_{\text{S}} }} } \right) $$
$$ \underline {K}_{\text{T}} = - \text{e}^{{ \text{j}2\omega_{\text{S}} T_{\text{S}} }} \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \left( {1 - \text{e}^{{{-} \text{j}\omega_{\text{S}} T_{\text{S}} }} } \right) $$
$$ \underline {K}_{\text{I}} = 0 $$

Substituting them into the current state control law (44a) and neglecting the terms \(\underline{M} {\underline{i}}_{\mathrm{S},\mathrm{ref},k}^{\mathrm{r}}\) and \({\underline{K}}_{\mathrm{z}} {\underline{v}}_{\mathrm{ind},k}^{\mathrm{r}}\), we just get the decoupling part of the state controller. If we denote its output quantity by \({\underline{v}}_{\mathrm{dec},k}^{\mathrm{r}}\) as in the case of the more classical current controller from Sect. 3.1, then the decoupling part of the current state controller is as follows

$$\begin{aligned}\underline {v}_{\text{dec},k}^{\text{r}} =\, \,&\frac{{R \left( {\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)^{2} \text{e}^{{ \text{j}\omega_{\text{S}} T_{\text{s}} }} }}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }} \left( {1 - \text{e}^{{{-} \text{j}\omega_{\text{S}} T_{\text{S}} }} } \right) \underline {i}_{\text{S},k}^{\text{r}}\\ & + \text{e}^{{ \text{j}2\omega_{\text{S}} T_{\text{S}} }} \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \left( {1 - \text{e}^{{{-} \text{j}\omega_{\text{S}} T_{\text{S}} }} } \right) \underline {v}_{\text{T},k}^{\text{r}}.\end{aligned}$$

If \({\underline{v}}_{\mathrm{T},k}^{\mathrm{r}}\) is replaced by the right-hand side of Eq. (44c) written for \(k\) instead of \(k+1\) and assuming \({\underline{v}}_{\mathrm{ind},k-1}^{\mathrm{r}}={\underline{v}}_{\mathrm{ind},k}^{\mathrm{r}}\), we obtain, taking into account Eqs. (36) and (45e), exactly Eq. (35). This means that the decoupling part of the current state controller exactly matches the decoupling derived in Sect. 3.1. Accordingly, both controller structures produce identical decoupling. The only difference is the control of the decoupled system, for which the current state controller has more degrees of freedom. In Fig. 4l they have already been used to reduce decoupling errors due to fast changing stator angular frequency. Another possibility to demonstrate the degrees of freedom of a state controller is shown in Fig. 5h, where a state controller with integral-action component is used as a current controller and is parameterized as a dead beat controller with respect to the command response. This realizes the shortest possible command step response. However, the manipulated variable deviations during setpoint changes are then significantly higher than with the PI controller, so that the voltage limit is briefly reached during the transition processes from negative to positive quadrature axis current in Fig. 5h. For the same reason, some controller coefficients are significantly larger in the dead beat controller setting than with the PI controller, so that the noise components typically contained in the current measurement signals are amplified correspondingly more than with the PI controller. Moreover, because the dead beat controller reacts more sensitively than the PI controller to system parameters that are not precisely known, it is advisable to set the dynamics of a state controller in real drives somewhat less stiffly than in the dead beat configuration – for example as it is done in Fig. 4l.

4 Theoretical considerations on the stability of continuous-time decoupling methods

As can be seen from the curves shown in Sect.  3.2, stability problems can occur in the current control loop with an unfavorable product of stator frequency and sampling time, if the decoupling is designed to be continuous-time. Therefore, it is to be estimated in the following where the stability limit lies in this case. For this purpose, Eq. (38) implemented in discrete-time but designed using a continuous-time model is inserted into Eq. (25), first for the case of a negligible computational dead time. Thus the stator current space vector difference equation is obtained

$$ \begin{aligned} \underline {i}_{\text{S},k +1}^{\text{r}} = & \left( \text{e}^{{ - \frac{{\text{T}_{\text{s}} }}{\tau } {-} \text{j}\omega_{\text{S}}\text{T}_{\text{S}} }} + \text{j}\omega_{\text{S}} L\frac{{\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}}}}{\tau }}} } \right) \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} }}{R} \right)\underline {i}_{\text{S},k}^{\text{r}} \\ & + \frac{{\left( {1 - \text{e}^{{ -\frac{{T_{\text{S}} }}{\tau }}} } \right) \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} }}{R}\underline {v}_{\text{PI},k}^{\text{r}} \\&+ \left( {\frac{{\left( {1 - \text{e}^{{ -\frac{{T_{\text{S}} }}{\tau }}} } \right) \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} }}{R}- \frac{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{S}} }}}}{{R \left( {1 + \text{j}\omega_{\text{S}} \tau } \right)}}} \right) \underline {v}_{\text{ind},k}^{\text{r}} \\ \end{aligned}$$
(46)

If, for simplicity, it is assumed that instead of a PI controller only a P controller with the proportional coefficient \({K}_{\mathrm{P}}\) is used, then the characteristic equation of the closed current loop follows from Eq. (46) under consideration of Eq. (20)

$$ z - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } {-} \text{j}\omega_{\text{S}} T_{\text{S}} }} + \left( {\frac{{K_{\text{P}} }}{R} - \text{j}\omega_{\text{S}} \tau } \right)\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} = 0 $$
(47)

If we denote the zero of Eq. (47) by \(z_{1}\), then it is as follows

$$ z_{1} = \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} \left( {\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} - \frac{{K_{\text{P}} }}{R}\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) + \text{j}\omega_{\text{S}} \tau \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)} \right) $$
(48)

For a stable control loop, \(\left| {z_{1} } \right| < 1\) must hold for it [11]. Even for the most favorable case in this respect, where \(\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} - \frac{{K_{\text{P}} }}{R}\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)\) would be zero – which would correspond to a dead-beat controller apart from the incomplete decoupling – the current control loop decoupled in this way is stable only for

$$ \left| {\omega_{\text{S}} T_{\text{S}} } \right| < \frac{{T_{\text{S}} }}{{\tau \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)}} $$
(49a)

If, on the other hand, a more practically relevant proportional coefficient were used, as given in Eq. (39), then stable operation would be given for \(R = R_{{\text{S}}}\) und \(\tau = \tau_{\text{s}}\) only within the range

$$ \left| {\omega_{\text{S}} T_{\text{S}} } \right| < \frac{{T_{\text{S}} \sqrt {1 - \left( {\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} - \frac{1}{4}} \right)^{2} } }}{{\tau \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)}} $$
(49b)

For \(\tau \gg T_{{\text{S}}}\) this means stability for \(\left| {\omega_{{\text{S}}} T_{{\text{S}}} } \right| < 1\) or \(\left| {\omega_{{\text{S}}} T_{{\text{S}}} } \right| < 0.66\), respectively.

In order to compensate the rotation by the factor \({\text{e}}^{{{-} {\text{j}}\omega_{{\text{S}}} T_{{\text{S}}} }}\) (cf. Equation (25) with neglected computational dead time) contained in the controlled system model, the following approach can be used as an alternative to the discretized Eq. (38)

$$ \underline {v}_{{{\text{ref}},k}}^{\text{r}} = \text{e}^{{ \text{j}\omega_{\text{S}} T_{\text{S}} }} \left( {\underline {v}_{\text{PI},k}^{\text{r}} + \text{j}\omega_{\text{S}} L \underline {i}_{\text{S},k}^{\text{r}} + \underline {v}_{{{\text{ind}},k}}^{\text{r}} } \right) $$
(50)

Substituted into Eq. (25), it leads to the characteristic equation

$$ z - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } {-} \text{j}\omega_{\text{S}} T_{\text{S}} }} + \left( {\frac{{K_{\text{P}} }}{R} - \text{j}\omega_{\text{S}} \tau } \right)\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) = 0 $$
(51)

with the zero

$$ z_{1} = {\text{e}}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \cos \omega_{\text{S}} T_{\text{S}} - \frac{1}{4} + {\text{j}}\left( { - {\text{e}}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \sin \omega_{\text{S}} T_{\text{S}} + \omega_{\text{S}} \tau \left( {1 - {\text{e}}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)} \right) $$
(52a)

applicable for \(K_{\text{P}} = \frac{R}{{4 \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)}}\). If it is now assumed that at least \(\left| {\omega_{{\text{S}}} T_{{\text{S}}} } \right| < 0.66\) applies as before, the approximations \(\cos \omega_{{\text{S}}} T_{{\text{S}}} \approx 1\) and \(\sin \omega_{{\text{S}}} T_{{\text{S}}} \approx \omega_{{\text{S}}} T_{{\text{S}}}\) can be roughly made. This gives the approximate solution for \(z_{1}\)

$$ z_{1} = \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} - \frac{1}{4} + \text{j} \omega_{\text{S}} T_{\text{S}} \left( {\frac{{\tau \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)}}{{T_{\text{S}} }} - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) $$
(52b)

and with the requirement \(\left| {z_{1} } \right| < 1\) the stability range

$$ \left| {\omega_{\text{S}} T_{\text{S}} } \right| < \frac{{\sqrt {1 - \left( {\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} - \frac{1}{4}} \right)^{2} } }}{{\frac{\tau }{{T_{\text{S}} }} \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }} $$
(53)

The consequence of this would be in the case \(\tau \gg {T}_{\mathrm{S}}\) an almost unlimited stability range with respect to \({\omega }_{\mathrm{S}}\). In any case, the addition of the rotation factor \({\mathrm{e}}^{ \mathrm{j}{\omega }_{\mathrm{S}}{T}_{\mathrm{S}}}\) to the control law results in a significant improvement of the stability behavior.

If a computational dead time of one sampling interval is to be considered, then Eq. (38) in the variant

$$ \underline {v}_{{{\text{ref}},k}}^{\text{r}} = \underline {v}_{\text{PI},k}^{\text{r}} + \text{j}\omega_{\text{S}} L \underline {i}_{\text{S},k - 1}^{\text{r}} + \underline {v}_{{{\text{ind}},k - 1}}^{\text{r}} $$
(54)

inserted in Eq. (25) and again under the simplifying assumption of a pure P current controller, leads to the characteristic equation

$$ z^{2} - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } {-} \text{j}\omega_{\text{S}} T_{\text{S}} }} z + \left( {\frac{{K_{\text{P}} }}{R} - \text{j}\omega_{\text{S}} \tau } \right)\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) \text{e}^{{ - \text{j}2\omega_{\text{S}} T_{\text{S}} }} = 0 $$
(55)

The two zeros of this are

$$ \begin{aligned}z_{1/2} =& \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }}\left( \frac{1}{2} \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \pm \left(\frac{1}{4} \text{e}^{{ - \frac{{2T_{\text{S}} }}{\tau }}} \right.\right.\\&\left.\left.- \frac{{K_{\text{P}}}}{R}\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) +\text{j}\omega_{\text{S}} \tau \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }\right) \right)^{\frac{1}{2}} \right)\end{aligned}$$
(56)

Looking at this result for practically relevant values of \(K_{\text{P}}\), it is found that the real part of the bracket expression, which is exponentiated by \(\frac{1}{2}\), is nearby the stability limit significantly smaller in magnitude than the imaginary part. As an approximation, the real part of this bracket expression can therefore be neglected, so that the root can simply be taken. The following then applies approximately for the zeros \(z_{1}\) and \(z_{2}\)

$$ z_{1/2} \approx \text{e}^{{ - \text{j}\omega_{\text{S}} T_{\text{S}} }} \left( {\frac{1}{2} \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \pm \sqrt {\frac{{\left| {\omega_{\text{S}} \tau } \right| \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)}}{2}} \left( {1 + \text{j}} \right)} \right) $$
(57)

If one forms the absolute value from this and requires that it should be smaller than 1, this leads to the inequality for the zero with the larger absolute value

$$ \left| {\omega_{\text{S}} T} \right| < \frac{{T_{\text{S}} }}{\tau } \frac{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} \sqrt { \frac{1}{2} - \frac{1}{16} \text{e}^{{ - \frac{{2T_{\text{S}} }}{\tau }}} } }}{{1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }} $$
(58)

If again \(\tau \gg T_{{\text{S}}}\) applies, then stability exists for \(\left| {\omega_{\text{S}} T_{\text{S}} } \right| < 0.34\).

Obviously, it is also to be expected in the case of a computational dead time of one sampling interval that the compensation of the rotation factor \(\text{e}^{{ - \text{j}2\omega_{\text{S}} T_{\text{S}} }}\) present in the controlled system leads to an extension of the stability area. In order to verify this, the correspondingly modified approach

$$ \underline {v}_{\text{ref},k}^{\text{r}} = \text{e}^{{\text{j}2\omega_{\text{S}} T_{\text{s}} }} \left( {\underline {v}_{\text{PI},k}^{\text{r}} + \text{j}\omega_{\text{S}} L \underline {i}_{\text{S},k - 1}^{\text{r}} + \underline {v}_{{{\text{ind}},k - 1}}^{\text{r}} } \right) $$
(59)

is used and inserted into Eq. (25), which generates the characteristic equation

$$ z^{2} - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } {-} \text{j}\omega_{\text{S}} T_{\text{S}} }} z + \left( {\frac{{K_{\text{P}} }}{R} - \text{j}\omega_{\text{S}} \tau } \right)\left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) = 0 $$
(60)

Its zeros are for \(K_{\text{P}} = \frac{R}{{4 \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right)}}\)

$$ \begin{aligned} z_{1/2} = & \frac{1}{2}\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{S}} }} \\&\pm \left({\frac{1}{4} \text{e}^{{ - \frac{{2T_{\text{S}} }}{\tau } - \text{j}2\omega_{\text{S}} T_{\text{S}} }}- \frac{1}{4} + \text{j}\omega_{\text{S}} \tau \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}}}}{\tau }}} } \right)} \right)^{\frac{1}{2}} \\ = & \frac{1}{2} \text{e}^{{- \frac{{T_{\text{S}} }}{\tau } - \text{j}\omega_{\text{S}} T_{\text{S}} }} \\&\pm \left(\frac{1}{4} \text{e}^{{ - \frac{{2T_{\text{S}} }}{\tau }}} \cos 2\omega_{\text{S}} T_{\text{S}}\right.\\&\left.- \frac{1}{4} + \text{j}\left( { - \frac{1}{4} \text{e}^{{ - \frac{{2T_{\text{S}} }}{\tau }}} \sin 2\omega_{\text{S}} T_{\text{S}} + \omega_{\text{S}} \tau \left( {1 - \text{e}^{{ -\frac{{T_{\text{S}} }}{\tau }}} } \right)} \right) \right)^{\frac{1}{2}}\\ \end{aligned} $$
(61a)

With regard to the bracket expression to be exponentiated by \(\frac{1}{2}\), in view of the previously obtained estimates for \(\left| {\omega_{{\text{S}}} T_{{\text{S}}} } \right|\), it is also to be expected here that the real part of this bracket expression is significantly smaller in amount than the amount of the imaginary part, which is why the real part can again be neglected during the square root extraction. As an approach, with an additional approximation of \(\sin 2\omega_{{\text{S}}} T_{{\text{S}}}\) by \(\omega_{{\text{S}}} T_{{\text{S}}}\) (not \(2\omega_{{\text{S}}} T_{{\text{S}}}\), because otherwise the approximation term at the stability boundary would be greater than 1, which is the maximum for \(\sin 2\omega_{{\text{S}}} T_{{\text{S}}}\)), the result is obtained as follows

$$ z_{1/2} \approx \frac{1}{2} \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau } {-} \text{j}\omega_{\text{S}} T}} \pm \sqrt {\frac{{\left| {\omega_{\text{S}} T_{\text{S}} } \right| \left( {\frac{\tau }{{T_{\text{S}} }} \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) - \frac{1}{4} \text{e}^{{ - \frac{{2T_{\text{S}} }}{\tau }}} } \right)}}{2}} \left( {1 + j} \right) $$
(61b)

The magnitude of this, in conjunction with the requirement \(\left| {z_{1/2} } \right| {<} 1\) and neglecting the term \(\text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}}\break \left( {\cos \omega_{\text{S}} T_{\text{S}} - \sin \omega_{\text{S}} T_{\text{S}} } \right) \sqrt {\frac{{\left| {\omega_{\text{S}} T_{\text{s}} } \right| \left( {\frac{\tau }{{T_{\text{S}} }} \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) - \frac{1}{4} \text{e}^{{ - \frac{{2T_{\text{S}} }}{\tau }}} } \right)}}{2}}\), leads to the stability range

$$ \left| {\omega_{\text{S}} T_{\text{S}} } \right| < \frac{{1 - \frac{1}{4} \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }}{{\frac{\tau }{{T_{\text{S}} }} \left( {1 - \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} } \right) - \frac{1}{4} \text{e}^{{ - \frac{{T_{\text{S}} }}{\tau }}} }} $$
(62)

For \(\tau \gg T_{{\text{S}}}\) then \(\left| {\omega_{{\text{S}}} T_{{\text{S}}} } \right| < 1\) holds.

If one evaluates Eq. (62) with the data on which the simulations in Fig. 4a–c were based (sampling frequency 2 kHz, 3 kHz and 4 kHz, respectively, time constant \(\tau \approx \mathrm{3.27} \; \mathrm{ms}\)), then the estimated stator frequency values \({f}_{\mathrm{S}}\approx \mathrm{349.4} \; \mathrm{Hz}\) (for \({T}_{\mathrm{S}}=\frac{1}{2 \; \mathrm{kHz}}\)), \({f}_{\mathrm{S}}\approx 509 \; \mathrm{Hz}\) (for \({T}_{\mathrm{S}}=\frac{1}{3 \; \mathrm{kHz}}\)) and \({f}_{\mathrm{S}}\approx \mathrm{668.3} \; \mathrm{Hz}\) (for \({T}_{\mathrm{S}}=\frac{1}{4 \; \mathrm{kHz}}\)) result at the stability limit. The first two agree quite well with those read in Fig. 4a and b, respectively. Regarding the third, this frequency was not approached in Fig. 4c. The quite good agreement of the theoretically predicted stability limits with the stability limits that occurred in the simulation are a further indication that the favored discrete-time system model according to Eq. (25) describes the true system behavior sufficiently accurately.

To conclude the above stability considerations, the case where the continuous-time designed decoupling is carried out with the help of the stator current setpoint components will briefly be touched upon. There the terms containing \(\mathrm{j}{\omega }_{\mathrm{S}}\tau \) multiplicatively are left out in the characteristic Eqs. (47), (51), (55) and (60). The stability region widens thereby in comparison to the case where the stator current actual value components are used for the continuous-time designed decoupling. However, the stator current direct and quadrature axis components remain more strongly coupled to each other, which can sometimes even lead to unacceptable operating states (cf. Figure 4d). For this reason, a stability analysis for time-continuous designed decouplings realized with stator current setpoint components is omitted here.

5 Experimental results

To verify the simulation results, in a real PMSM drive whose machine parameters are already used in the simulations of Sect. 3.2, the control structure shown in Fig. 3a and alternatively as current state controller was implemented and thus the time responses contained in Figs. 4e, f, l and 5c were reproduced with the same switching and sampling frequency as there. Moreover, for the state controller, curves were recorded for the switching frequencies \({f}_{\mathrm{PWM}}=4 \; \mathrm{ kHz}\) and \({f}_{\mathrm{PWM}}=6 \; \mathrm{ kHz}\). In addition, the motion profile from Fig. 4e and f is further supplemented by a variant with the switching frequency \({f}_{\mathrm{PWM}}=6 \; \mathrm{kHz}\). The results obtained are shown in Figs. 6a–f and 7, although only two quantities could be recorded at a time and therefore only the quantities \({i}_{\mathrm{S},\mathrm{d},k}\) and \({i}_{\mathrm{S},\mathrm{q},k}\) are presented. Furthermore, it should be taken into account that the simulation results also show the curves between the sampling time instants, whereas the figures in Sect. 5 only display the sampled values, connected by interpolation.

Fig. 6
figure 6

a–c Course of the stator current actual value components evaluated on a real PMSM drive during reversing operation with direct axis current setpoint set to zero, PI controller with discrete-time decoupling according to Eqs. (35) and (36) in the stator frequency range \(-500 \; \mathrm{Hz}\le {f}_{\mathrm{S}}\le 500 \; \mathrm{Hz}\) as well as a switching and sampling frequency of a 2 kHz b 4 kHz c 6 kHz. d–f Course of the stator current actual value components evaluated on a real PMSM drive during reversing operation with direct axis current setpoint set to zero and state controller in the stator frequency range \(-500 \; \mathrm{Hz}\le {f}_{\mathrm{S}}\le 500 \; \mathrm{Hz}\) as well as a switching and sampling frequency of a 2 kHz b 4 kHz c 6 kHz

Fig. 7
figure 7

Course of the stator current actual value components evaluated on a real PMSM drive with stepwise quadrature axis current setpoint change, direct axis current setpoint set to zero, PI controller with discrete-time decoupling according to Eqs. (35) and (36) in the stator frequency range about 375 Hz as well as a switching and sampling frequency of 6 kHz

It can be seen that the decoupling errors decrease significantly with increasing switching or sampling frequency and that they are considerably smaller for the state controller than for the PI controller. However, it is also visible that at \(f_{{{\text{PWM}}}} = 2\; {\text{kHz}}\), the real PI-controlled drive has considerably greater problems in performing decoupling correctly than the simulation suggested. These enhanced problems are due to model inaccuracies, which are always to be expected with real drives. It should also be remembered that runtime aspects must be considered in the encoder evaluation that were not taken into account in the simulations. Therefore, the use of a state controller is recommended at the latest for such unfavorable quotients of stator and sampling frequency as they are based on Fig. 6a.

With respect to Fig. 7, it should be noted that in the real drive, due to the lower priority of the interrupt responsible for the driving profile compared to the current controller interrupt, the acceleration and deceleration times differ slightly from those in Fig. 5c. Furthermore, a slight influence of \({i}_{\mathrm{S},\mathrm{d},k}\) during the settling of \({i}_{\mathrm{S},\mathrm{q},k}\) is observed in Fig. 7.

6 Conclusion

In this paper, different decoupling strategies for inverter-fed, current-controlled and pulse-width modulated PMSM and IM drives were compared on the basis of simulations. It has been shown that discrete-time methods are superior to continuous-time methods, especially for a relatively large product of stator frequency and sampling time. Within the discrete-time decoupling methods, the feedback-based ones have been shown to be more advantageous than those implemented as a P-canonical structure. To complement the simulations, the effectiveness of the favored decoupling method was verified on a real drive.