Sensorless Control With Switching Frequency Square Wave Voltage Injection for SPMSM With Low Rotor Magnetic Anisotropy

High-frequency signal injection sensorless algorithms are widely studied and used for rotor angle estimation in permanent magnet synchronous motor (PMSM) at low speed or standstill. One of the main drawbacks of such methods is the acoustic noise connected to the voltage injection. In order to minimize this problem, it is advisable to increase the frequency of the injected signal. Thus, many studies focus on square-wave injection at the switching frequency, which is the maximum theoretical frequency. Since these methods exploit the rotor magnetic anisotropy, it is relatively easy to use them in interior PMSMs, where the rotor anisotropy is high. On the contrary, it is hard to exploit them in surface PMSMs, which have an almost symmetric rotor, although a low rotor magnetic anisotropy is still present. In this article, a sensorless algorithm with switching frequency square-wave injection is developed for surface PMSMs. To increase the signal-to-noise ratio, current oversampling is exploited. The benefits of such a technique are demonstrated with experimental results on a 2 N·m SPMSM.


I. INTRODUCTION
P ERMANENT magnet synchronous motors (PMSMs) are achieving increasing importance in various sectors thanks to their features: high torque-to-inertia ratio, high torque density and low maintenance.
According to the rotor construction, PMSMs can be divided in two main categories: motors with magnets mounted on rotor surface (surface PMSM, SPMSM) and motors with magnets mounted inside the rotor (interior PMSM, IPMSM).
The different position of the magnets influences the rotor magnetic symmetry. Indeed, SPMSM rotor is almost symmetric from a magnetic point of view, i.e., the direct axis inductance Manuscript  (Ld) is almost equal to the quadrature axis inductance (Lq). On the contrary, IPMSM are characterized by rotor anisotropy, i.e., Ld value is lower than Lq value. One of the main drawbacks of PMSM is that rotor position is needed in order to realize a proper control [usually a fieldoriented control (FOC)]. This measure can be obtained using encoders, resolvers, or Hall effect probes. However, the use of such transducers is related to some disadvantages, the main of which are the cost increase, the machine size increase, and the reliability reduction. For this reason, many studies focus on rotor angle estimation, in order to eliminate the position sensor; thus, such techniques are known as sensorless algorithms.
Sensorless controls can be divided in two main groups: passive methods and active methods.
Passive methods are based on estimators and exploit the machine model to determine rotor angle. Various techniques have been proposed so far. Disturbance observers for back electromotiveforce (back EMF) estimation are developed in [1], [2], and [3], a reduced-order extended Kalman filter is proposed in [4], [5], [6], and [7], whereas sliding-mode observers are exploited in [8], [9]. Other passive methods are based, instead, on rotor flux estimation [10], [11]. All above-mentioned techniques are characterized by performance degradation in the low-speed region since the back EMF tends to zero while speed approaches zero.
For this reason, active methods are used in the low-speed region. These methods exploit the rotor anisotropy by injecting a high-frequency (HF) voltage and demodulating the corresponding HF measured current.
The HF injection is connected to various drawbacks, e.g., additional losses, torque ripple, and acoustic noise. In various applications, the additional acoustic noise caused by the HF injection could be intolerable. Since the acoustic noise is significantly reduced if the injection frequency is increased, many studies focus on frequency increase. If a single current sample and a single PWM update are performed for each PWM period, the maximum frequency is achievable by injecting a square wave with a frequency equal to half of the switching frequency (fsw/2) [20], [21], [22], [23]. If double sample/double update is performed, a square wave with a frequency equal to fsw can be injected [24], [25].
As it will be shown in Section II, the current component containing the angle information is proportional to the anisotropy ratio [i.e., (Lq-Ld)/Lq], thus, the higher is the difference between Lq and Ld, the easier is to estimate precisely the rotor position. For this reason, HF voltage injection methods are particularly suitable for IPMSMs.
Several articles deal with sensorless control exploiting PWM ripple and measuring the current derivative with a measure oversampling [26], [27], [28], [29]. The current derivative evaluation can be performed during an active voltage vector [26] or during a zero voltage state [27]; in [28] the current derivative is calculated during the longer state, which can be an active vector or a zero vector depending on the working point. Nevertheless, also this technique is carried out on motors with high anisotropy ratio: 22% in [26], 78% in [28] and 17% in [29]. In [27], an SPMSM is considered, however a highly precise sigma-delta measuring system is needed. Although it is very low, magnetic anisotropy is also present in SPMSM motors. Indeed, there is still a slight asymmetry where the magnets are attached to the rotor and, furthermore, the magnetic permeability of magnets is not exactly the same as that of air.
In this article, differently from the above cited works, a SPMSM with about a 10% anisotropy ratio, evaluated at 5 kHz, is considered. Therefore, there is a significant problem connected to the signal-to-noise ratio of current measurements. This aspect is particularly critical since in this article standard industrial LEM sensors are used instead of high-precision sensors, in order to test algorithm robustness.
To overcome this problem, a new demodulation method with current oversampling while using square-wave voltage injection is proposed in this article exploiting field programmable gate array (FPGA) use. Current measurements with the double sample and with the oversample are compared. Then, a FOC is implemented exploiting the rotor angle estimation with the current oversample.
The rest of this article is organized as follows. The estimation algorithm is described in Section II. The experimental test bench is shown in Section III, whereas the experimental results are reported in Section IV. Finally, conclusion is carried out in Section V.

A. Principle of High-Frequency Pulsating Injection
T are the stator voltage and current components in the rotor reference frame, L d and L q are the d-axis and q-axis inductances, ω r is the rotor speed, and λ f is the permanent-magnet flux linkage.
If a HF voltage is injected in the rotor reference frame, the stator resistance can be neglected, since the terms L d di r d dt and L q di r q dt are significantly higher in comparison to the R s i r d and R s i r q ones. Moreover, since the HF voltage injection is exploited in the low-speed region, the rotor speed ω r is negligible in comparison to the injected voltage frequency. Therefore, (1) can be simplified in where [v r dh , v r qh ] T and [i r dh , i r qh ] T are the HF voltage and current components. From (2), one can obtain as In this article, the HF voltage is injected in the d-axis (pulsating HF injection). Since the rotor position is unknown, it is necessary to distinguish between the real rotor reference frame (RRF) and the estimated rotor reference frame (ERF).
The rotor angle error between the RRF and the ERF can be defined asθ The HF voltage is injected in the ERF d-axis, as shown in where [vr dh , vr qh ] T are the HF voltage components in the ERF, V h is the amplitude of the injected voltage and ω h is the frequency of the injected voltage.
Since it exists an angle errorθ r between the RRF and the ERF, the voltage injection in the RRF is given by (6), from which it derives The current components [ir dh , ir qh ] in the ERF are related to the current components in the RRF by (8). Substituting (3) in (8), one obtains (9) Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.
Substituting (6) into (9) and developing the calculations, one finally obtains where ΔL = L q − L d . From (10) one can demodulate the ir qh component as in For small errors, (12) is verified and therefore (11) can be approximated as in (13) Since the quantity in the square bracket is always positive ε is proportional toθ r and can be therefore used as feedback error to implement the rotor angle estimator.

B. Proposed Square-Wave Injection With Current Oversample
In this article, an ERF square wave is injected in the d-axis, as shown in (14) vr where cw = cw(t) is the PWM Carrier Wave which can be expressed as in (15) where f cw is the frequency of the carrier wave and indicates the floor function. From (14), (16) Since (9) is valid for an arbitrary voltage injection and the relation in (17) can be verified, substituting (16) and (17) in (9) leads to (18) From (18) one can demodulate the ir qh component as in For small errors, (12) is valid and therefore (19) can be approximated as Since cw ∈ [−1; 1], the quantity in the square bracket is always positive, thus ε is proportional toθ r and can be therefore used as feedback error to implement the rotor angle estimator.
Injecting a square wave at fsw frequency, a double pulsewidth modulation (PWM) update is necessary for each period; moreover, at least two current samples must be performed in each PWM period [24].
As it can be noticed from (10), the ir qh component is proportional to the anisotropy ratio, i.e., ΔL/L q . Since this article focuses on SPMSMs, which are characterized by a very low anisotropy ratio, the ir qh fundamental component is considerably weak; as a consequence, the signal-to-noise ratio is weak.
In this article, current oversampling is proposed to increase the signal-to-noise ratio, as shown in the control scheme of Fig. 1. As a matter of fact, the noise in current measurements can be usually assumed as Gaussian white noise with zero mean; therefore, by oversampling the current measurements and calculating the average over one switching period, the noise decreases [26], [27], [28], [29]. In order to evaluate the effectiveness of the proposed solution, both the double sample per period technique (DS) and the oversampling technique (OS) are implemented and tested. The two different approaches are shown in Figs. 2 and 3. Please note that, since the fundamental frequency is significantly lower than the injection frequency, it can be considered as a constant during the switching period, therefore ir q can be used to estimated the angle instead of ir qh . Indeed, the integration of a constant (low-frequency fundamental waveform) multiplied by the sine function (18), leads to zero contribution.
In both figures, the PWM carrier wave, the analog to digital converter (ADC) sample interrupt, the cw interrupt, the gate pulses and the vr dh are shown. Details on the experimental test bench are provided in Section III; however, oscilloscope acquisitions in Figs. 2 and 3 are here reported to explain the proposed technique.
In the DS, the currents are sampled on PWM carrier wave bottom and top, as it is shown in Fig. 2. In the OS, the current sample is performed each 1 μs (i.e., 200 samples per PWM period, being fsw equal to 5 kHz), as Fig. 3 shows.
In order to implement the proposed algorithm, a FPGA is exploited. In particular, the PWM carrier wave, the vr dh injection, the gate pulse signals, and the ADC interrupts are managed by the FPGA, as shown in Fig. 1. The ADC interrupts are generated each 1 μs in the OS and on carrier wave bottom and top in the DS. Moreover, (18) is implemented in the FPGA. As a matter of fact, for each ADC interrupt, a value of the error ε is calculated and integrated; the integrator is reset each carrier wave interrupt (cw interrupt). Since error ε is in FPGA arbitrary units, the integration output corresponds to the error average over the switching period, as indicated by the blue rectangle in Fig. 1. Please note that the cw interrupt is generated by the FPGA on the carrier wave rising zero crossing.   The output of ε integrator is sampled each cw interrupt and the sample and hold output (γ FPGA ) is sent to the microcontroller. The signal is sent to a bang-bang control which gives as output −1 or +1, multiplied by an opportune gain. The bang-bang output corresponds to the estimated speed and the bang-bang gain is the maximum speed at which the control can work. Therefore, the estimated speed is integrated to obtain the estimated angleθ r , which is used by the FPGA for current demodulation and by the FOC control implemented in the microcontroller. Since the output of the bang-bang control cannot be used as speed feedback in the FOC (indeed it provides only the maximum or the minimum speed value), a PLL is used to evaluate the estimated speedω r fromθ r . The algorithm in the microcontroller is executed each cw interrupt, i.e., once per PWM period.
In terms of FPGA computational complexity, as can be noted from Fig. 1, the two most expensive operations are the currents abc-to-dq transformation and the sin(-cw π/2) calculation. Regarding the former, please note the angleθ r is updated at the microcontroller sampling frequency. For this reason the sin(θ r ) and cos(θ r ) quantities are calculated in the microcontroller and passed to the FPGA. In this way the abc-to-dq transformation reduces to 6 multiplications and 4 sums. Modern FPGAs are usually equipped with tens of multiplier making this operation not particularly computationally expensive. The sin(-cw π/2) operation is performed using a CORDIC algorithm. The latter works with integer numbers and return the results in a number of clock cycles equal to the number of bits used for number representation. In this article, a 32 bits representation is used. Also in this case 32 clock cycles are an acceptable delay compared to the 100 clock cycles available every sample time (sampling at 1 μs with an FPGA clock frequency of 100 MHz).

III. TEST BENCH
The control hardware used to perform the experimental tests is shown in Fig. 4. The algorithm is implemented in Dspace MicrolabBox, which integrates an FPGA and a microcontroller. Two currents are measured with 10 A LEMs. The gate pulses are sent as single-ended digital signals to a custom board which converts the signals to fiber optic signals used to control the inverter. In order to obtain the measurements shown in Figs. 2 and 3, the ADC interrupt drives a digital output, whereas the PWM carrier wave and the vr dh drive two analog outputs; please note that since conversion from FPGA units to volts is performed, the scales in Figs. 2 and 3 for such quantities are not significant. The gate signals are measured on the custom board with the oscilloscope. Dspace MicrolabBox has a resolver interface, which is used to  measure the rotor angle, in order to compare it with the estimated one.
The first motor test bench, used for tests presented in Section IV-A-IV-F, is shown in Fig. 5(a), a 2 N·m motor is used to test the proposed algorithm, whereas a 25.7 N·m motor simulates the load. The load motor has an encoder and can perform a precise sensored control, to provide the desired torque. A prototype inverter is used to control the tested motor, whereas a commercial inverter is used to control the load-motor and the  I  FIRST TEST MOTOR PARAMETERS   TABLE II  CONTROL PARAMETERS   TABLE III  SECOND TEST MOTOR PARAMETERS torque reference is sent via Modbus to the inverter by Dspace. The parameters of the first test motor are given in Table I.
L d and L q are measured with the LCR meter GW Instek LCR-817. The inverter used to supply the motor has 5 kHz switching frequency and 4 μs dead times; please note that this is quite high value. Dead times were not compensated on purpose, in order to test the algorithm robustness towards inverter nonlinearities.
The main parameters of the first load motor are also given in Table I. Control parameters are given in Table II. A second test bench equipped with a load cell able to measure the motor torque is used for tests presented in Section IV-G, since torque fluctuations are also evaluated in that case. The second test bench is shown in Fig. 5(c), while the parameters of the second test motor are given in Table III. The second test motor was connected to the same experimental setup and control hardware as the first one, and coupled with another SPMSM to provide the load torque when needed.
The injected voltage amplitude V h is 100 V; this value is chosen empirically to obtain a good angle estimation as shown in Fig. 7. Please note that at standstill the maximum injectable voltage is V dc /2, i.e., approximately, 280 V. Therefore, there is a significant voltage margin in the low speed region, where the proposed algorithm is used, since 35% of V dc /2 is injected. Moreover, the injected voltage amplitude is comparable with the values proposed in the technical literature. As a matter of fact, the injected voltage amplitude is 50 V in [20] for a 320 V-motor, 8 V with a 50 V dc-link (32% of Vdc/2) in [21], 85 V for a 380 V-motor in [23] and 50 V with a 250 V dc-link (40% of V dc /2) in [24].

A. FGPA Output in Open-Loop
In order to verify the effectiveness of the proposed OS, in comparison to a traditional DS, the FPGA output γ FPGA (i.e., the sample and hold output in Fig. 1) is measured with a fixed estimated angle (θ r ) and a variable rotor angle (θ r ). In other words, the microcontroller algorithm is disabled, the motor is moved by the coupled motor and a fixedθ r is used to perform the axis transformation from the measured currents (stationary reference frame) to the dq-currents (ERF); in this condition, γ FPGA , which is proportional to the angle error, is measured. This test is performed for various angleθ r ; the case in whicĥ θ r = 0 is shown in the following, just as an example.
Observing the ir qh expression in (20), applying the demodulation process of (19), it is easy to observe that γ FPGA should be theoretically as in where K depends on L d , L q , V h , f sw , on ADC conversion factor and on the number of samples per period. Therefore, K is a constant for each type of sampling method; as a matter of fact, it depends only on motor parameters, on HF voltage injection waveform, on the measurement hardware and on the number of samples per period. The motor is turned several times with the external motor and the γ FPGA is plotted as a function of the angle error, together with the ideal plot; γ FPGA with the DS is shown in Fig. 6, whereas γ FPGA with the OS is shown in Fig. 7.  From Figs. 6 and 7, one can observe that the DS, which is usually exploited for IPMSM [24], cannot be used for SPMSM since the signal-to-noise ratio is too low and the effect of high order harmonics is predominant. On the contrary, the OS shows a good correspondence with the ideal behavior and just a small offset can be noted; in particular, the angle error at the zero crossing (which is the parameter that affects the estimation algorithm of Fig. 1) is moderate.

B. Current Oscillation During Turn On/Off Transients
In order to evaluate the effects of the current oscillations during turn ON/OFF transients, a modified oversampling method is tested, as reported in Fig. 8, where gate pulses (blue, green and grey), sample interrupt (pink) and carrier wave (yellow) are reported. Current sample is disactivated for 6 μs during the switching.
However, observing Fig. 9, one can note that the behavior with the modified oversampling method is worst than the behaviour shown in Fig. 7; moreover, the modified oversampling method is more complicated to be implemented and therefore it is not used for the experimental tests.  In order to better understand the effect of current oscillations during switching phase, the instantaneous iq value (calculated in the FPGA each 1 μs) is sent to a digital to analog converter (DAC) and acquired with the oscilloscope. Iq is shown in Fig. 10 (blue), together with the sin(cw · π/2) (green), the carrier wave (yellow) and Vdh (pink). One can note a significant oscillation during the switching phase; however, only a few current samples are performed during this phase, and, therefore, the contribution of these samples in the integration process carried out over the entire switching period is limited.

C. Speed-Loop FOC Control. Speed Step in the Low-Speed Region
From the results shown in Fig. 6 it is clear that the DS cannot be used to implement a FOC control. In confirmation of that, a motor starting with no-load using DS was tested and failed. Moreover, motor starting to 250 r/min, using OS, is performed and then the control is switched to DS, causing the loss of angle estimation, as shown in Fig. 11.
Therefore, an FOC control is realized with the angle estimator shown in Fig. 1 and exploiting the OS. The initial polarity uncertainly is detected as shown in [23] and [30]. Reference and measured speed are shown in Fig. 12, where a test with speed Fig. 11. Reference speed (blue) and measured speed (red). FOC control, no-load, starting with OS and switch to DS at 5.8 s.  steps without load is performed. The speed reference is set to 50 r/min (1% of the rated speed) and 250 r/min (5% of the rated speed). The corresponding angle errorθ r is shown in Fig. 13, whereas an enlargement of measured angle and estimated angle is shown in Fig. 14.
The same test is carried out with full-load. A full-load step is applied at standstill, then the motor is started with full-load and speed steps are performed.
Reference and measured speed for the full load test are shown in Fig. 15. The corresponding angle errorθ r is shown in Fig. 16, whereas an enlargement of the measured angle and estimated angle is shown in Fig. 17.
Even if a certain speed ripple can be seen, one has to note that the motor is working in the very-low speed region. Indeed the speed ripple at 50 r/min is about ±20 r/min, which corresponds      to ± 0.4% of the rated speed. Moreover, this method guarantees high robustness towards load perturbation at standstill and in the load-speed region (as demonstrated by the load step at standstill in Fig. 15), it allows to start the motor with full-load and it is then integrated with a model-based method for the medium-high speed region, where the motor usually works during steadystates as shown in Section IV-F.

D. Speed-Loop FOC Control. Load Step
A full-load step and a load release are applied both at 50 and 250 r/min. Reference and measured speed during load steps at 50 rpm are shown in Fig. 18, angle error is shown in Fig. 19, whereas a phase current is shown in Fig. 20. The same quantities are shown for the load step at 250 r/min in Figs. 21-23, respectively.
In both cases, the FOC control can face the load step and the estimation algorithm follows the rotor angle also during the load step.

E. Speed-Loop FOC Control. Sinusoidal Reference
Tests with a sinusoidal speed reference at 5 Hz are performed. In Fig. 24, reference and measured speed are shown in the noload case, whereas the same plot is shown in Fig. 25 for the test   at full-load. From these results, one can note that the speed loop bandwidth is about 5 Hz.

F. Integration With a Model-Based Method for High-Speed
The proposed technique is particularly indicated for standstill and for the low speed region. However, for medium and high speed, a model-based method is more suitable, since it does not require any additional signal injection. For this reason, the proposed HF method is integrated with the rotor flux observer   (RFO) proposed in [10] which was proven to have high performance in a wide speed range [31].
The HF method is used until 350 r/min (7% of the rated speed) and then the algorithm switches to the RFO method.
In Fig. 26 motor starting with no-load is shown; 50, 250, and 5000 r/min (rated speed) steps are shown.
In Fig. 27, a full-load step is performed at standstill and then 50, 250, and 2500 r/min (50% of rated speed) steps are shown. Please note that the load motor drive maximum operating speed is 2500 r/min, therefore load steps can be performed only in this speed range.
In Fig. 28, a full load-step is applied at 350 r/min (HF method), then the reference speed is set to 355 r/min (RFO method) and a negative and then a positive full-load steps are performed.   Please note that with both methods the drive is able to perform a full-load step. Moreover, the speed ripple is comparable using HF and RFO methods.
Rotor position estimation is compared with the estimation of the model-based RFO (back EMF). The comparison was carried out during the load test shown in Fig. 27. As it can be seen from    Fig. 29, the RFO method does not estimate properly the angle during the load step that is imposed at a zero reference speed. At 50 r/min (see Fig. 30) the angle error obtained with RFO method is similar to the one obtained with HF method, even if it is slightly wider close to the reference speed step change, and at 250 r/min (see Fig. 31) the angle error with the RFO method is slightly lower than the angle error with the HF method. However, the RFO method is able to perform a full-load step only starting from 300 r/min; for this reason the algorithm switches to RFO estimation at 350 r/min, in order to have a sufficient safety margin for load step disturbance rejection. Speed ripple Fig. 32. Measured speed during speed steps with no-load, obtained with the proposed algorithm (blue) and with the sensorless torque control in [32] (red) on the second test bench.
at 350 rpm with HF method and at 355 r/min with RFO method is shown in Fig. 28. Despite the difference in the angle error the speed ripple is almost the same.

G. General Validity of the Proposed Method and Comparison With the State of the Art
In this article, a particularly challenging application for sensorless switching frequency voltage injection is considered. The critical aspects are as follows.
1) Low anisotropy ratio (about 10% at 5 kHz). In the considered motor, the permanent magnets are directly mounted on a symmetric rotor, therefore the anisotropy ratio is quite low and it is comparable with the other ratio values found in the technical literature (9.8% in [32], 15% in [33]). 2) Relatively low-switching frequency (5 kHz). 3) Elevate dead times (4 μs). 4) Current measures performed with two industrial standard LEM sensors. Since it is proven that the proposed algorithm works in these conditions, it is expected that this method can work with good performance in the majority of industrial applications.
To evaluate the validity of the proposed method, a comparison with an algorithm which is representative of the state of the art has been performed. The sensorless torque control algorithm described in [32] was chosen for this test, as it is characterized by a low torque ripple and it was therefore considered by the authors as one of the most promising in the technical literature. Both the algorithms are tested in the same conditions on the second test bench, which is equipped with a load cell to measure the motor torque ripple in the two cases. First, a low-speed test with no-load, similar to the one described in Section IV-C, has been carried out. The reference speed is set to 50 and then to 250 r/min. Fig. 32 shows the comparison between the results obtained with the sensorless torque control in [32] and with the proposed algorithm. As it can be easily noticed from the graphs, the proposed method is characterized by a significantly lower speed ripple at both speed levels. Fig. 33. Measured speed during rated load step appliance and removal at 250 r/min, obtained with the proposed algorithm (blue) and with the sensorless torque control in [32] (red) on the second test bench. Fig. 34. Measured torque during rated load step appliance and removal at 250 r/min, obtained with the proposed algorithm (blue) and with sensorless torque control in [32] (red) on the second test bench.
Then, full-load tests were carried out using both algorithms. Figs. 33 and 34 show the speed and the measured torque, respectively, obtained applying and removing a full-load torque step to both algorithms, as the reference speed is kept equal to 250 r/min. As it can be seen from the figures, both algorithms react well to the load step at 250 r/min, showing a comparable speed ripple at full load. The speed and torque ripple before the appliance of the load step are larger in the case of the sensorless torque control in [32], though it has a lower torque ripple at rated load.
Figs. 35 and 36 show the speed and the measured torque, respectively, obtained after applying and removing a full load step at very low speed (50 r/min) to both algorithms. The proposed algorithm shows a generally more stable performance at very low speed, with smaller speed and torque ripples when the rated torque is applied. Moreover, the speed overshoot obtained with the proposed algorithm when the load is removed is much lower than in the case of the sensorless control torque in [32].
Finally, an acoustic measurement is carried out to evaluate the intensity of the motor noise with both algorithms. The noise is Fig. 35. Measured speed during rated load step appliance and removal at 50 r/min, obtained with the proposed algorithm (blue) and with the sensorless torque control in [32] (red) on the second test bench. Fig. 36. Measured torque during rated load step appliance and removal at 50 r/min, obtained with the proposed algorithm (blue) and with sensorless torque control in [32] (red) on the second test bench. measured while the motor is rotating at 250 r/min with full load torque applied, evaluated at 0.8 m from the motor. The results of the measurements are: 1) Background noise: 38 dB 2) Sensorless torque control [32]: 53 dB 3) Proposed algorithm: 49 dB

V. CONCLUSION
A high-frequency voltage injection sensorless algorithm is considered in this article. In particular, a square wave at the switching frequency is injected, in order to minimize the voltage injection disadvantages, the main of which is the acoustic noise. The algorithm is applied to SPMSMs, which are characterized by a low anisotropy ratio and, therefore, the signal-to-noise ratio of such sensorless algorithms is significantly low. The experimental tests show the impossibility of using a double sample approach (e.g., two current samples per PWM period), which is usually used for IPMSM. On the contrary, the oversampling method proposed in this article shows a good angle estimation and an FOC is implemented using the proposed technique. The proposed sensorless algorithm demonstrates a good response both with no-load and full-load; the stability is kept also during load steps and the speed loop bandwidth is about 5 Hz. A parallel comparison between the proposed algorithm and a state-of-art injection sensorless algorithm (presented in [32]) has been also carried out, showing a better response of the proposed algorithm in terms of torque and speed in most of the tests.