+ All Categories
Home > Documents > A Stochastic Approach to Digital Control Design and Implementation

A Stochastic Approach to Digital Control Design and Implementation

Date post: 16-Jan-2016
Category:
Upload: phucborso1
View: 28 times
Download: 0 times
Share this document with a friend
Description:
Power electronics has already shown its importance as an indispensable solid-statetechnology for industrial process applications after decades of evolution and advance. Theimplementation of power electronics techniques brings energy, cost and space savings,elimination of severe audio noise, reduction of maintenance and improvement ofperformance and reliability. Industrial automation, energy conservation and environmentalpollution controls now increasingly depend on the techniques and development of powerelectronics. Due to the drastically reducing cost and dramatically improved system performance of power electronics, its applications are extended to various areas likeindustrial, commercial, residential, municipal, and aerospace systems.
143
e Florida State University DigiNole Commons Electronic eses, Treatises and Dissertations e Graduate School 10-19-2006 A Stochastic Approach to Digital Control Design and Implementation in Power Electronics Da Zhang Florida State University is Dissertation - Open Access is brought to you for free and open access by the e Graduate School at DigiNole Commons. It has been accepted for inclusion in Electronic eses, Treatises and Dissertations by an authorized administrator of DigiNole Commons. For more information, please contact [email protected]. Recommended Citation Zhang, Da, "A Stochastic Approach to Digital Control Design and Implementation in Power Electronics" (2006). Electronic eses, Treatises and Dissertations. Paper 543. hp://diginole.lib.fsu.edu/etd/543
Transcript
Page 1: A Stochastic Approach to Digital Control Design and Implementation

The Florida State UniversityDigiNole Commons

Electronic Theses, Treatises and Dissertations The Graduate School

10-19-2006

A Stochastic Approach to Digital Control Designand Implementation in Power ElectronicsDa ZhangFlorida State University

This Dissertation - Open Access is brought to you for free and open access by the The Graduate School at DigiNole Commons. It has been accepted forinclusion in Electronic Theses, Treatises and Dissertations by an authorized administrator of DigiNole Commons. For more information, please [email protected].

Recommended CitationZhang, Da, "A Stochastic Approach to Digital Control Design and Implementation in Power Electronics" (2006). Electronic Theses,Treatises and Dissertations. Paper 543.http://diginole.lib.fsu.edu/etd/543

Page 2: A Stochastic Approach to Digital Control Design and Implementation

THE FLORIDA STATE UNIVERSITY

COLLEGE OF ENGINEERING

A STOCHASTIC APPROACH TO DIGITAL CONTROL DESIGN AND IMPLEMENTATION IN POWER

ELECTRONICS

By

DA ZHANG

A Dissertation submitted to the Department of Electrical and Computer Engineering

in partial fulfillment of the requirements for the degree of

Doctor of Philosophy

Degree Awarded: Fall Semester, 2006

Page 3: A Stochastic Approach to Digital Control Design and Implementation

The members of the Committee approve the Dissertation of Da Zhang defended on Oct. 19th, 2006

Hui Li

Professor Directing Dissertation Emmanuel G. Collins Outside Committee Member Simon Y. Foo Committee Member Bing W. Kwan Committee Member

Approved: Victor DeBrunner, Chair, Department of Electrical and Computer Engineering Ching-Jen Chen, Dean, College of Engineering The Office of Graduate Studies has verified and approved the above named committee members.

ii

Page 4: A Stochastic Approach to Digital Control Design and Implementation

ACKNOWLEDGEMENTS

I would like to thank my academic advisor, Dr. Hui Li for her guidance and encouragement throughout my graduate program, and my committee members, Dr. Simon Y. Foo, Dr. Bing W. Kwan and Dr. Emmanuel G. Collins, for their invaluable advice and guidance. I would also like to thank the academic and administrative staff in the Department of Electrical and Computer Engineering and the Center for Advanced Power Systems (CAPS). Most importantly, I would like to thank my family and friends for their support throughout my graduate school experience.

iii

Page 5: A Stochastic Approach to Digital Control Design and Implementation

TABLE OF CONTENTS List of Tables ................................................................................................ Page vii List of Figures ................................................................................................ Page viii Abstract ...................................................................................................... Page xiii 1. INTRODUCTION .......................................................................................... Page 1 1.1 Background........................................................................................... Page 1 1.2 Objective and organization of dissertation ........................................... Page 5 2. STATE-OF-ART FPGA CONTROLLERS REVIEW................................... Page 9 2.1 Hybrid DSP and FPGA based digital controller ................................... Page 9 2.2 FPGA-based controller ......................................................................... Page 11 2.2 Stochastic FPGA-based controller........................................................ Page 15 3. STOCHASTIC ARITHMETIC ...................................................................... Page 16 3.1 Introduction........................................................................................... Page 16 3.2 Randomization Process......................................................................... Page 17 3.3 Stochastic Multiplication ...................................................................... Page 21 3.4 Other Stochastic Arithmetic.................................................................. Page 24 3.5 Derandomization................................................................................... Page 30 4. NEW STOCHASTIC ANTI-WINDUP PI CONTROLLERS........................ Page 33 4.1 Introduction of stochastic integrator ..................................................... Page 34 4.2 Proposed anti-windup strategies based on the stochastic integrator..... Page 36 4.3 Digital implementation of proposed stochastic anti-windup controller Page 45 5. STOCHASTIC NEURAL NETWORK.......................................................... Page 46 5.1 Introduction........................................................................................... Page 46 5.2 Principles of stochastic neural network ............................................... Page 48 5.2.1 Artificial neuron........................................................................... Page 48 5.2.2 Stochastic signed multiplication .................................................. Page 49 5.2.3 Stochastic approach to sigmoid activation function .................... Page 52

iv

Page 6: A Stochastic Approach to Digital Control Design and Implementation

6. STOCHASTIC MOTOR DRIVE CONTROLLER........................................ Page 61 6.1 Introduction........................................................................................... Page 61 6.2 Stochastic speed controller analysis...................................................... Page 63 6.3 Stochastic estimator design................................................................... Page 65 6.3.1 Torque and flux estimation using stochastic arithmetic .............. Page 66 6.3.2 Stochastic neural network estimator ............................................ Page 71 6.4 System design ....................................................................................... Page 76 6.5 Verification ........................................................................................... Page 80 6.5.1 Hardware-in-the-loop verification for stochastic speed controller Page 80 6.5.2 Verification of estimator .............................................................. Page 82 6.6 Conclusion ............................................................................................ Page 91 7. STOCHASTIC NEURAL NETWORK WIND SPEED ESTIMATOR......... Page 94 7.1 Introduction to sensorless small wind turbine generation system ........ Page 94 7.2 Design of the ANN wind velocity estimator......................................... Page 96 7.2.1 Principle of sensorless small wind turbine system ...................... Page 96 7.2.2 Neural network estimation principle............................................ Page 98 7.2.3 Neural Network Training Procedure............................................ Page 100 7.2.4 Simulation results of the proposed neural network wind speed estimator....................................................................................... Page 103 7.2.5 Hardware-in-the-loop experiment verification of the proposed neural network wind speed estimator using RTDS and dSPACE Page 105 7.3 Stochastic Neural Network wind speed estimator design..................... Page 112 7.4 Experimental Result using FPGA and RTDS....................................... Page 112 7.5 Conclusion ............................................................................................ Page 114 8. CONCLUSION............................................................................................... Page 116 8.1 Summary ............................................................................................... Page 116 8.2 Future work........................................................................................... Page 117 8.2.1 Implement real experimental verification of stochastic motor drive controller............................................................................. Page 117 8.2.2 Improve random engine design.................................................... Page 117 8.2.3 Implement ANN digital hardware with on-line training characteristics Page 118 APPENDIX ................................................................................................ Page 120 A MOTOR NOMENCLATURE AND PARAMETERS......................... Page 120 B WIND TURBINE PARAMETERS...................................................... Page 121

v

Page 7: A Stochastic Approach to Digital Control Design and Implementation

REFERENCES ................................................................................................ Page 122 BIOGRAPHICAL SKETCH .............................................................................. Page 128

vi

Page 8: A Stochastic Approach to Digital Control Design and Implementation

LIST OF TABLES Table 4.1: Integral state of the proposed stochastic anti-windup PI controller ... Page 41 Table 5.1: Comparison of look-up table and stan activation function using FPGA complier .................................................................................. Page 60 Table 6.1: Comparison of digital resources used by conventional and proposed anti-windup PI controllers................................................................... Page 82 Table 7.1: Weights and biases of the neural network wind speed estimator ....... Page 102

vii

Page 9: A Stochastic Approach to Digital Control Design and Implementation

LIST OF FIGURES Figure 1.1: A control system of a variable speed wind generation system ......... Page 2 Figure 2.1: Generalized concept of a DSP/FPGA digital controller ................... Page 10 Figure 2.2: A concurrent and simple FPGA controller of an AC/DC converter with power factor correction ............................................................. Page 13 Figure 2.3: The induction motor field-oriented control scheme implemented as a stochastic controller .................................................................. Page 14 Figure 3.1: The randomization process of an input variable .............................. Page 18 Figure 3.2: Single bit random engines ................................................................ Page 20 Figure 3.3: An improved 8-bit random engine ................................................... Page 21 Figure 3.4: The comparison between stochastic approach and traditional digital implementation of unsigned multiplication ..................................... Page 22 Figure 3.5: Simulation diagram and result of stochastic signed multiplication .. Page 23 Figure 3.6: Stochastic unsigned addition ............................................................ Page 25 Figure 3.7: Stochastic unsigned square ............................................................... Page 25 Figure 3.8: Stochastic signed subtraction ........................................................... Page 26 Figure 3.9: Stochastic integrator ......................................................................... Page 26 Figure 3.10: Stochastic square root calculation .................................................. Page 27 Figure 3.11: Stochastic unsigned division .......................................................... Page 28 Figure 3.12: Stochastic signed division .............................................................. Page 29 Figure 3.13: Stochastic unsigned division without saturation problem .............. Page 30 Figure 3.14: Feedback loop based derandomizer ............................................... Page 31

viii

Page 10: A Stochastic Approach to Digital Control Design and Implementation

Figure 4.1: Structure of a proportional-integral (PI) controller ........................... Page 33 Figure 4.2: Block diagram of digital integrator ................................................... Page 34 Figure 4.3: Block diagram of the traditional and stochastic integration schemes Page 35 Figure 4.4: Randomization process and an example ........................................... Page 35 Figure 4.5: Traditional anti-windup strategies for digital integrator ................... Page 37 Figure 4.6: Proposed stochastic anti-windup integration scheme (I)................... Page 38 Figure 4.7: Proposed stochastic anti-windup integration scheme (II) ................. Page 39 Figure 4.8: Proposed stochastic anti-windup integration scheme (III) ................ Page 40 Figure 4.9: Digital design scheme of stochastic anti-windup PI controller I....... Page 42 Figure 4.10: Digital design scheme of stochastic anti-windup PI controller II ... Page 43 Figure 4.11: Digital design scheme of stochastic anti-windup PI controller III .. Page 44 Figure 5.1: (a) Biological neuron (b) Artificial neuron ....................................... Page 48 Figure 5.2: An example of stochastic unsigned multiplication............................ Page 49 Figure 5.3: Probability distribution of N and maximum...................................... Page 51 Figure 5.4: Stochastic approach of tansig activation function............................. Page 53

Figure 5.5: Approximation: F(x)= 12)

11(

−−

−+ N

xx Vs G(x)= ……………….. Page 55 xN

e 2−

Figure 5.6: Approximation maximum error (G(x)-F(x)) with N………………. Page 56 Figure 5.7: Tansig( x) vs. stan(N,x) .............................................................. Page 57 12 −N

Figure 5.8: Digital design scheme of stochastic tan-sigmoid activation function generator ............................................................................................. Page 58 Figure 5.9: FPGA implementation result............................................................. Page 59

ix

Page 11: A Stochastic Approach to Digital Control Design and Implementation

Figure 5.10: Stansig Approximation error with increased N............................... Page 59 Figure 6.1: General block diagram of motor drive control .................................. Page 61 Figure 6.2: Block diagram of field oriented controlled induction motor drive showing FGPA based torque and flux estimator ............................... Page 62 Figure 6.3: Block diagram of proposed anti-windup PI speed controller............ Page 63 Figure 6.4: Simplified block diagram of stochastic based torque and flux estimator............................................................................................. Page 67 Figure 6.5: Digital implementation of stochastic flux estimator ......................... Page 69 Figure 6.6: Digital implementation of stochastic torque estimator...................... Page 70 Figure 6.7: Proposed stochastic neural network estimator for field-oriented induction motor drive......................................................................... Page 73 Figure 6.8: Conventional approach of neural network estimator of the induction motor's feedback signals .................................................................... Page 74 Figure 6.9: Proposed stochastic ANN approach of neural network estimator of the induction motor's feedback signals.......................................... Page 75 Figure 6.10: Proposed control structure for field-oriented induction motor drive applying stochastic theory ....................................................... Page 77 Figure 6.11: The hardware realization of proposed control algorithms using FPGA XC3S400 ............................................................................... Page 78 Figure 6.12: Hardware-in-the loop test setup using FPGA and RTDS................ Page 79 Figure 6.13: HIL experimental results of step speed response of proposed

controller and conventional controllers…………………………… Page 81 Figure 6.14: HIL experimental results of performance comparison of proposed anti-windup controller and conventional anti-windup controllers... Page 81 Figure 6.15: Matlab/Simulink model for the field-oriented control motor and estimator........................................................................................... Page 83

x

Page 12: A Stochastic Approach to Digital Control Design and Implementation

Figure 6.16: Flux estimation and comparison vs. the traditional method............ Page 84 Figure 6.17: The torque estimation error versus FPGA clock rate ...................... Page 84 Figure 6.18: Comparison between stochastic and DSP torque estimation with different clock steps ......................................................................... Page 85 Figure 6.19: The experimental setup ................................................................... Page 86 Figure 6.20: Maxplus II VHDL simulation of dtiRv s

dsssds

sds )(∫ ⋅−=ψ and

.................................................................... Page 87 dtiRv sqss

sqs

sqs )(∫ ⋅−=ψ

Figure 6.21: Experimental result of the stochastic-FPGA (VHDL coded) and DSP ................................................................................................ Page 88 Figure 6.22: Hardware-in-the-loop test setup using FPGA and RTDS ............... Page 90 Figure 6.23: HIL results of NN estimator performance for the induction motor’s torque ............................................................................................... Page 91 Figure 6.24: HIL results of NN estimator performance for the induction motor’s flux ................................................................................................ Page 92 Figure 6.25: HIL results of NN estimator performance of unit vector: cosine wave Page 92 Figure 6.26: HIL results of NN estimator performance of unit vector: sine wave Page 93 Figure 7.1: Small wind turbine system ................................................................ Page 95 Figure 7.2: Power coefficient vs speed ratio........................................................ Page 97 Figure 7.3: Wind turbine power curves vs rotor speed and wind velocity .......... Page 97 Figure 7.4: A typical structure of artificial neuron .............................................. Page 98 Figure 7.5: Wind turbine model with NN wind speed estimator......................... Page 99 Figure 7.6: Neural network structure of the wind speed estimator...................... Page 100 Figure 7.7: Proposed training scheme for neural network of estimating wind velocity Page 101

xi

Page 13: A Stochastic Approach to Digital Control Design and Implementation

Figure 7.8: Wind velocity estimation ANN with five tan-sigmoid neurons and one linear neuron................................................................................ Page 102 Figure 7.9: Training error of the proposed neural network ................................. Page 103 Figure 7.10: Matlab/Simulink model of the wind speed estimator...................... Page 103 Figure 7.11: The wind turbine system with the NN wind estimator.................... Page 104 Figure 7.12: Matlab/ Simulink simulation result: Estimated wind speed vs actual wind speed ....................................................................................... Page 104 Figure 7.13: A voltage-feed double PWM converter wind generation system based on variable speed cage machine............................................. Page 105 Figure 7.14: Experimental verification of the above system using RTDS .......... Page 106 Figure 7.15: dSPACE implementation of NN based wind speed estimator ........ Page 107 Figure 7.16: Hardware verfication of the NN based wind speed estimator......... Page 108 Figure 7.17: A simple sine wave to simulate the effect of the wind speed estimator Page 109 Figure 7.18: A simple sine wave to simulate the effect of the wind speed estimator with a low pass filter ........................................................................ Page 109 Figure 7.19: Wind speed vs estimated wind speed using RTDS ......................... Page 110 Figure 7.20: Fast wind speed vs estimated wind speed using RTDS .................. Page 110 Figure 7.21: Stochastic ANN wind velocity estimator ........................................ Page 111 Figure 7.22: Experimental setup for a varied-speed wind turbine system using a hardware-in-loop real-time digital simulation .............................. Page 113 Figure 7.23: (a) Experimental result of wind speed estimation using stochastic-ANN-FPGA implementation; (b) Experimental result of wind speed estimation using look-up table -ANN-FPGA implementation ................................................................................ Page 114 Figure 8.1: Hardware Implementation of a single bit pseudo-random engine .... Page 117

xii

Page 14: A Stochastic Approach to Digital Control Design and Implementation

ABSTRACT

This dissertation uses the theory of stochastic arithmetic as a solution for the FPGA

implementation of complex control algorithms for power electronics applications. Compared

with the traditional digital implementation, the stochastic approach simplifies the computation

involved and saves digital resources. The implementation of stochastic arithmetic is also

compatible with modern VLSI design and manufacturing technology and enhances the ability of

FPGA devices

New anti-windup PI controllers are proposed and implemented in a FPGA device using

stochastic arithmetic. The developed designs provide solutions to enhance the computational

capability of FPGA and offer several advantages: large dynamic range, easy digital design,

minimization of the scale of digital circuits, reconfigurability, and direct hardware

implementation, while maintaining the high control performance of traditional anti-windup

techniques. A stochastic neural network (NN) structure is also proposed for FPGA

implementation. Typically NNs are characterized as highly parallel algorithms that usually

occupy enormous digital resources and are restricted to low cost digital hardware devices which

do not have enough digital resource. The stochastic arithmetic simplifies the computation of NNs

and significantly reduces the number of logic gates required for the proposed the NN estimator.

In this work, the proposed stochastic anti-windup PI controller and stochastic neural

network theory are applied to design and implement the field-oriented control of an induction

motor drive. The controller is implemented on a single field-programmable gate array (FPGA)

device with integrated neural network algorithms. The new proposed stochastic PI controllers are

also developed as motor speed controllers with anti-windup function. An alternative stochastic

NN structure is proposed for an FPGA implementation of a feed-forward NN to estimate the

feedback signals in an induction motor drive. Compared with the conventional digital control of

motor drives, the proposed stochastic based algorithm has many advantages. It simplifies the

arithmetic computations of FPGA and allows the neural network algorithms and classical control

xiii

Page 15: A Stochastic Approach to Digital Control Design and Implementation

xiv

algorithms to be easily implemented into a single FPGA. The control and estimation

performances have been verified successfully using hardware in the loop test setup.

Besides the motor drive applications, the proposed stochastic neural network structure is

also applied to a neural network based wind speed sensorless control for wind turbine driven

systems. The proposed stochastic neural network wind speed estimator has considered the

optimized usage of FPGA resource and the trade-off between the accuracy and the number of

employed digital logic elements. Compared with the traditional approach, the proposed estimator

uses minimum digital logic resources and enables large parallel neural network structures to be

implemented in low-cost FPGA devices with high-fault tolerance capability. The neural network

wind speed estimator has been verified successfully with a wind turbine test bed installed in

CAPS (Center for Advanced Power Systems).

Given that a low-cost and high-performance implementation can be achieved, it is

believed that such stochastic control ICs will be extended to many other industry applications

involving complex algorithms.

.

Page 16: A Stochastic Approach to Digital Control Design and Implementation

CHAPTER 1

INTRODUCTION 1.1 Background

Power electronics has already shown its importance as an indispensable solid-state

technology for industrial process applications after decades of evolution and advance. The

implementation of power electronics techniques brings energy, cost and space savings,

elimination of severe audio noise, reduction of maintenance and improvement of

performance and reliability. Industrial automation, energy conservation and environmental

pollution controls now increasingly depend on the techniques and development of power

electronics. Due to the drastically reducing cost and dramatically improved system

performance of power electronics, its applications are extended to various areas like

industrial, commercial, residential, municipal, and aerospace systems.

The key element of power electronics is the control of the switching converter. The

raw input power is processed under the controller and generates the desired output power.

A well-designed controller should provide high quality output. For example, when a power

converter is connected to a utility line, a well-regulated output is required. For adjustable

speed AC drives, a carefully designed controller that can provide fast speed-response is

invariably desired. A number of control algorithms and hardware implementations can be

chosen based on different application requirements. Fig. 1.1 shows a control system of a

wind generation system [1]. The system consists of a back-to-back voltage-fed converter. A

vertical wind turbine is coupled to the shaft of a squirrel cage induction generator. A PWM

IGBT (insulated gate bipolar transistor) rectifier is employed to regulate the variable

frequency variable voltage output from the generator. The rectifier also supplies the

excitation needed by the machine. The inverter topology is identical to that of the rectifier

and it supplies the generated power at 60 Hz to the utility grid. The control of both the

rectifier and inverter are highlighted in Fig. 1.1. The rectifier uses indirect vector control in

the inner current control loop while the inverter current controller adopts the direct vector

1

Page 17: A Stochastic Approach to Digital Control Design and Implementation

PWM RectifierVwWind Turbine

C grid

UV

SYNCHRONOUSCURRENT CONTROL

ANDVECTOR ROTATOR

Controller PI

SYNCHRONOUSCURRENT CONTROL WITH

DECOUPLER ANDVECTOR ROTATOR

UV

PWM Inverter

Po Calc.

ControllerController

PI

-1 PI

i

slω

rω∆ oP

*dsi∆

*dsi

*dsoi

sK

+-

*qsi

+ -eT

*eT

rωdP

pP

0* =dsi

dV

V*SPWMMOD

SIGNAL

dV-+*

dV *oP

+

+ -oPFP

FEEDFORWARDPOWER

*qsi

V*SPWMMOD

SIGNAL

ii

v v

rω∆

rω*rω

oP

+-InverterControl

Rectifier control

Figure 1.1 A control system of a variable speed wind generation system [1]

control method. The vector control algorithm permits fast transient response of the system.

In general, power electronics controllers can be classified as analog controller and

digital controller. Until now, the control of power converters is usually based on analog

solutions. The main advantages of an analog solution are low price and ease of use. With

the development of the control techniques and algorithms, the control becomes more and

more complex. Although there are still several analog commercial ICs for solving this type

of control problems, the cost reduction and improving performance of a digital controller

have made it an ideal solution for the power converter control applications. The digital

controller can also reduce the designing time. More and more research on the power

converter control using digital controller has been done in recent years [2-4].

A digital controller for the power electronic systems has the following advantages.

1. The digital controller is in a much higher density compared with the analog

controller. Unlike an analog controller which is normally composed of several IC parts

such as operational amplifiers, a digital controller can be fully integrated into one single

chip which provides the same functionality as an analog controller does.

2. The cost of a highly integrated digital control chip is significantly reduced in

recent years with the development of the semi-conductor techniques. It has reached the

2

Page 18: A Stochastic Approach to Digital Control Design and Implementation

point that the price of a single digital controller is much cheaper than the sum of several

analog parts and circuits.

3. The compact structure of a digital controller helps to improve system

reliability and to eliminate drift and electromagnetic interference (EMI) problems. It

appears to be both cost and time consuming for an analog controller to solve such

problems .

4. Computer based design and software programming are deeply involved in the

implementation of a digital controller. The hardware can be designed in a universal manner

and the software can be flexible. So it makes the system easy to update when the

requirements change.

5. There are many software which can simulate the system environment and

control block, for both analog and digital controllers. But for the analog controller design,

most supported software can only do simulation. Designers must rebuild the circuits with

the simulation results. The digital controller is different. The simulation program can

directly or easily be rearranged to the supported software and downloaded to the digital

chip. It significantly saves the time of building the real circuit and also provides reliability

for the controller performance through simulation results.

6. Normally, it is much easier to test and debug digital circuits compared with

analog circuits. The digital circuits are more stable and noise resistant.

7. As mentioned above, for a lot of applications (especially in the medium and

high power range), it is hard to reduce the price by large-scale production and so the

engineering cost is still a predominant factor in the final product’s cost. One solution to

this problem is the modularization and standardization. Having some multifunctional,

flexible and universal building blocks that can be assembled and reconfigured easily to

form a wide range of different applications will reduce the cost of the engineering design

efforts by sharing with more products. A digital controller provides the ability to support

this solution. The design of a digital controller is something like writing a C++ program

that has a rich volume of supporting libraries and also has more relation to the real

hardware.

All these indicate that digital controllers can greatly reduce the expense and take

3

Page 19: A Stochastic Approach to Digital Control Design and Implementation

place of the existing analog power electronics controllers.

There are different kinds of digital controllers. The first generation of digital

controllers is microcontroller. Since the early 1980s, microprocessors, microcontrollers,

and microcomputers have started and tended to present tremendous impact on power

electronics [5]. Different from the existing analog controllers, they can enable the

implementation of sophisticated and complex control techniques with computer programs

in a much easier way. In the 1980s, the single-chip microcontrollers (such as the Intel

16-byte 8096), the 32-byte microprocessors (such as the Motorola 68020, Intel 80386,

Zilog’s 2800) and microcomputers had already provided the abilities to performing the

dedicated and flexible jobs. Moreover, they enabled the implementation of modern control

theories (such as vector control, siding-mode control, model-reference-adaptive (MRAC)

control, fuzzy control, and state and parameter estimation) for high performance drives [6].

A DSP is a specialized microprocessor. It has the following characteristics:

1. A DSP has faster program execution due to its Harvard architecture that

permits the overlap of instruction fetch and execution of consecutive instructions [6].

2. A DSP chip also uses a dedicated hardware multiplier and barrel shifter and

permits these functions in one instruction cycle time.

3. DSPs can exploit use C language or assembly code for optimized

performance.

4. DSPs are well suited for extremely complex maths-intensive tasks. DSPs

operate in step-by-step manner and hence can provide the ability for the simple re-use of

the processing units. For example, the multiplier used for calculating an FIR can be re-used

by another routine that calculates FFTs.

Because of these characteristics, DSPs are very common in power converters

control since it exploits their mathematical oriented resources. Many arithmetic operations

are provided in a DSP to meet the demand of complex algorithms.

Due to the sequential operations, that is, instructions are executed one after the

other, and shared resources like memory busses, DSPs are not very common in high

switching frequency applications or applications that require massively parallel

calculations. Data loss may occur during the transfer of data and additional cost is needed

4

Page 20: A Stochastic Approach to Digital Control Design and Implementation

to solve these problems. For example, if the multiple-loop schemes of the motor controller

are to be realized by a DSP, most of the computation resource will be devoted to the inter

current-loop and PWM gating signal generations and so only very few computation

resources will be left for the other control loops and this will cause trouble to the whole

control system [7].

It is currently a popular tendency to introduce advanced Very Large Scale

Integration (VLSI) techniques such as Field Programmable Gate Array (FPGA) into power

electronics control. Compared with DSPs and Application Specific Integrated Circuits

(ASICs) that dominate the most available motor control applications, FPGA technique

provides a relatively low cost solution by combining the advantage of both two methods.

Different from DSP, all the internal logic elements of the FPGA and all the control

procedures are executed continuously and simultaneously [8]. The ability of carrying out

parallel processing by means of hardware mode enables a system operates at high speed

with good precision. In comparison with the ASICs, whose high-speed hard-wired logic

can also enhance the computation capability and thus relieve the DSP load factor, the

FPGA supports system reconfigurability and hereby readily meeting the requirements of

the industrial drives which are characterized by rapid evolution and diversified

applications. In general, FPGAs are drawing much attention in recent years due to its

shorter design cycle, lower cost, higher density and high calculation speed. In addition,

with programmable characteristics, the users can design their own ASICs according to

their own schemes, thus eliminate the involvement of the semiconductor manufacturer.

1.2 Objective and organization of dissertation

The problem currently encountered in the design of a single FPGA chip based

Power Converter’s controller is that the limited logic gates available in the device cannot

support complex algorithms which are normally needed for the modern power converter

control. The math-intensive functions in the control algorithms occupy large amount of the

logic elements in the FPGA. Even for a few examples that choose simple control

algorithms and hence are able to be implemented using FPGA controllers, the number of

5

Page 21: A Stochastic Approach to Digital Control Design and Implementation

logic cells used for the control is quite big and so the expensive FPGA chip with more

logic gates have to be selected, which greatly increase the product’s cost.

The objective of this dissertation is to provide a solution to simplify the

complicated mathematical functions and reduce the logic gates used in the FPGA device

for the complex control algorithms. The stochastic arithmetic based on the statistic theory

is applied to replace the normal mathematical operations to reduce the computational logic

elements involved and to enable the implementation of power converter controller using

one single FPGA device.

Chapter 2 presents a review of the literature on FPGA based digital controller for

power electronics applications. Three different FPGA based digital control topologies are

recognized: DSP and FPGA hybrid controller, FPGA controller and stochastic FPGA

controller. The DSP and FPGA hybrid controller combines the advantages of both to

provide a solution for complicated control algorithms. However, the increasing cost and

implementation difficulties limit its applications. The FPGA based controller has the

advantages of high calculation speed and low cost, but its limited ability in mathematical

operations calculation hinders it from many applications. The stochastic FPGA based

controller has just been introduced recently [9] and not many applications have been

applied. However, it provides a possible solution to enhance the computational ability of

FPGA with the same amount of digital logical gates.

Chapter 3 introduces the principle of stochastic arithmetic. Stochastic arithmetic

normally contains three processes: randomization, stochastic arithmetic operation and

derandomization. The randomization process transforms the input data into a random

sequence that only has ‘1’ and ‘0’. The probability of ‘1’ appears in the random sequence

containing the input value. The stochastic arithmetic operations include multiplication,

addition, square, subtraction, integration, square root and division. The derandomization

process is to convert the random sequence into the normal value.

Chapter 4 presents the design and implementation of three new stochastic

anti-windup PI controllers using FPGA. Proportional-integral (PI) controllers are probably

the most commonly used controllers among power electronics applications. The developed

designs provide solutions to enhance the computational capability of FPGA and offer

6

Page 22: A Stochastic Approach to Digital Control Design and Implementation

several advantages: large dynamic range, easy digital design, minimization of the scale of

digital circuits, reconfigurability, and direct hardware implementation, while maintaining

the high control performance of traditional anti-windup techniques.

Chapter 5 presents the proposed stochastic neural network structure. Neural

network (NN) algorithms have growing applications in motor drives to estimate machine

parameters, to generate PWM signals and to design neural controllers. The main

advantages of using neural network algorithms are simplifying the complicated algorithms,

reducing heavy computation demands and improving fault tolerance. In spite of the

apparent potential benefits, broader acceptance of neural network algorithms in motor

drives is still hampered mainly by implementation issues. The current analog

implementations of NN suffer from the non-ideal properties of analog circuit and the

traditional digital implementations cannot provide chips with adequate processing power at

an attractive price [10]. FPGA is concurrent, which supports the massively parallel

calculation of neural network. However, the enormous digital resources involved in these

implementations dramatically increase the cost and complexity of the FPGA IC and block

it from most industry motor drive applications. This problem can be resolved with the

utilization of stochastic arithmetic. The stochastic signed multiplication and stochastic

tansig activation approach are discussed.

Chapter 6 presents an FPGA-based control IC for the field-oriented control of an

induction motor drive. The most important difference from the previously proposed motor

drive control ICs is that it is based on stochastic arithmetic to implement the neural

network algorithm and digital PI algorithms with anti-windup function. These advanced

algorithms need too much required silicon area and are normally hard to be achieved in the

motor control IC design. The main advantage of the proposed method is that the required

digital resources for these algorithms are significantly reduced and the whole control

algorithm can be implemented into a low complexity inexpensive FPGA chip. This

approach simultaneously exploits the high speed of hardware implemented complex

algorithms and the capabilities of traditional control algorithms. The proposed control IC is

verified using an FPGA XC3S400. Due to the advantages of debugging, design period and

real time testing, a hardware-in-the-loop (HIL) test platform using Real Time Digital

7

Page 23: A Stochastic Approach to Digital Control Design and Implementation

8

Simulator (RTDS) is built in the laboratory and the HIL experimental results show that the

proposed FPGA-based control IC can achieve the high performance of adjustable speed

induction motor. Given that a low-cost and high-performance implementation can be

achieved, it is believed that such control IC will be extended to many other industry

applications involving complex algorithms.

Chapter 7 presents another application of a proposed stochastic neural network for

a small wind energy generation system. Artificial neural network (ANN) principles are

applied to implement a novel wind velocity estimator. The proposed stochastic neural

network structure is also introduced to the FPGA implementation of the designed wind

speed estimator. By employing this FPGA based stochastic neural network estimator,

highly precise and fast calculation may be instantly implemented with several stored

weight and bias vectors. Consequently, the complicated algorithm involving the

time-consuming calculation is achieved in a simple and cheap way without losing

accuracy.

Chapter 8 concludes this dissertation. The contributions of the stochastic FGPA

based digital controller to existing power electronics digital controller technology are

summarized and future research directions are provided.

Page 24: A Stochastic Approach to Digital Control Design and Implementation

CHAPTER 2

STATE-OF-ART FPGA CONTROLLERS REVIEW

This chapter presents the state-of-art VLSI technology applied to power electronics

controllers using FPGA. Section 2.1 introduces the hybrid DSP and FPGA based digital

controller. Section 2.2 presents the digital controllers using only FPGA. Section 2.3

introduces the stochastic FPGA based digital controller.

2.1 Hybrid DSP and FPGA based digital controller

DSPs have been widely used in the control of power electronics these years. The

high calculation speed provides the ability to implement complex outer loop control

algorithms [11]. However, DSPs depend heavily on their pipeline architecture and cache.

The software and hardware interrupts normally disturb their mechanisms and slow down

execution speed [12]. Although the DMA controller of DSPs is able to move data in and

out without interrupting the CPU, the inner loop control algorithms such as the current

control loop require the data to be processed immediately with a low latency. This

limitation of DSPs could be overcome by adding a FPGA controller for data buffering and

the low-latency current control. Some research works have been done by using a

DSP/FPGA mixed controller. For example, a space-vector PWM control integrated circuit

(IC) [13] is proposed and can be incorporated with a DSP to provide a simple and effective

solution for high-performance ac drives.

Fig 2.1 illustrates the generalized design concept of a DSP and FPGA based

platform for rapid prototyping of power electronic converters. The platform is largely

digitalized since numerous programmable digital building blocks exist with sufficient

computational power, and on the other hand, the programmable analog system building

blocks lack sufficient bandwidth for most converter applications. So the analog section

only includes a high performance analog to digital converter (ADC) and the galvanic

9

Page 25: A Stochastic Approach to Digital Control Design and Implementation

PCDSP

FPGA

Additionaloutputs

3 top/bottominvertoroutputs

3 currentserial inputs

1 voltageserial input

QuadratureEncoder

input (QEP)

LANA

Connection board

M

C

B

B

12-bitADC

12-bitADC

Positionencoder

DC-busvoltage meas.

Current meas.

Opticallink

Motor(Any type)

Modular 3-phase inverter

Figure 2.1 Generalized concept of a DSP/FPGA digital controller [12]

10

Page 26: A Stochastic Approach to Digital Control Design and Implementation

isolation required for safety and electromagnetic compatibility (EMC). The rest of the

system is fully digitalized. A powerful general-purpose DSP is selected for the signal

processing, user interface and monitoring. A large FPGA is implemented for the data

acquisition and fast control loops. It also provides the function of buffering of the data

subsequently used by the DSP. This platform has been used to design a sampled-data

three-phase dual-band hysteresis current controller and it proves that the FPGA increases

the flexibility and speed of the system.

The DSP/FPGA mixed controller has lots of advantages over the single DSP based

controller. It provides fast control speed, extra system flexibility and easier software design

since the tasks are divided into two parts for DSP and FPGA. However, this structure also

increases the system’s complexity and cost due to its dual devices. It also makes the

hardware harder to test thanks to its complicated structure. Also, DSP is still customized

solutions which are based on software implementation. Meanwhile, FPGA supports direct

hardware implementation and gives the user a chance to arbitrarily design their own ASICs

in lab according to their schemes, without having to involve the semiconductor

manufacture. So for the mixed DSP/FPGA controller, only the FPGA part has this feature

of flexibility and the DSP part still requires long development cycle and poor reuse of

codes.

2.2 FPGA based controller

Another approach is to implement the control algorithm in one single FPGA chip

instead of the common DSP solutions or the DSP/FPGA mixed structure. There are few

published researches on this approach. One of these [4] is applied in a single-phase PWM

inverter. The multiple-loop control scheme, which incorporates an inner current loop with

an outer voltage loop to regulate the output voltage of the PWM inverter, is implemented

based on FPGA XC4010 and the complexity of the control system has been tremendously

reduced. Another application of FPGA controller [3] is shown in Fig. 2.2. Fig.2.2 (a)

presents the general structure of a power factor correction converter whose objective is to

take energy from the ac source and reduce the harmonic currents as much as possible. The

11

Page 27: A Stochastic Approach to Digital Control Design and Implementation

control algorithm is illustrated in Fig.2.2 (b). It has two control loops: one is the current

loop to make the input current proportional to the input voltage, the other one is the voltage

loop to control the output voltage. The digital version of a charge control [14] for PFC

converter is selected as the current loop control algorithm and shown in Fig.2.2 (c). This

algorithm is not feasible in a DSP because of the DSP sequential nature. At least two

instructions would be necessary after every sample (addition and comparison) and this

makes the DSP’s process too slow for obtaining an acceptable duty cycle resolution. By

using FPGA, this algorithm could be implemented. This approach is different from the

traditional algorithms based on PID since no duty cycle is calculated but the switch is

controlled directly. So the average input current is controlled more accurately because the

PWM module is embedded inherently in the proposed algorithm. The voltage control loop

is also calculated for its digital representation and is implemented in the FPGA controller.

Based on the concurrency characteristic of the FPGA device, the new high-speed algorithm

in which all the resources are executed simultaneously can be used for the PFC converter

control while still allowing the system to perform with high accuracy in spite of its

simplicity.

FPGA based digital controller has many advantages compared with the DSP and

mixed DSP/FPGA controllers. It supports high-speed and concurrent control algorithms

and also provides a rapid low-cost manufacturing solution. Moreover, the control

algorithms could be developed in VHSIC (Very High Speed Integrated Circuit) hardware

description language (VHDL) which is now one of the most popular standard HDLs [15].

This language is virtually independent from any particular components or manufacturers

and is supported by all major Computer Aided Engineering (CAE) platforms [16]. The

VHDL code could easily be reused and synthesized into any FPGA and even has a possible

direct path to a customized chip. In this way, the VHDL supports direct hardware

implementation with the same flexibility as software solutions.

The digital controller using only one FPGA device is promising for its cost and

performance. But the number of available logic gates in a typical FPGA device limits its

applications. Also, the complex arithmetic operations in the control algorithm require too

much system resource, which may exceed the device’s ability or significantly increase the

12

Page 28: A Stochastic Approach to Digital Control Design and Implementation

(a) General Scheme of a Power Factor Correction converter

(b) Block diagram of the system and control algorithm

( C ) Current-loop controller schemeof FPGA

(d) Voltage-loop controller schemeof FPGA

FPGACONTROL

Figure 2.2 A concurrent and simple FPGA controller of an AC/DC converter with power factor correction [4]

13

Page 29: A Stochastic Approach to Digital Control Design and Implementation

PWMInverter

+

refsqi

+

rsqU

θje− 2 -> 3

P

Rotor FluxEstimator

Unit VectorCalculator

2 <- 3

-erω r

sdU

ssqUrefω

ssdU

aU

bU

ai

bi

erω

-

-

θje+

32 mLp ⋅

Figure 2.3 The induction motor field-oriented control scheme implemented as a stochastic controller [9]

14

Page 30: A Stochastic Approach to Digital Control Design and Implementation

product’s cost. Until now, most related research work using FPGA devices are focusing on

the PWM ICs (Integrated Circuits) designs [16]-[19] which is still attached to DSP to

construct the whole controller or some simple converter designs [20]-[22]. The potential of

implementing one FPGA chip based controller has not been fully exploited in the

complicated motor control or complex converter control applications.

2.3 Stochastic FPGA based controller

The limitation for FPGA based controller is its limited number of available logic

gates in a typical chip. Modern motor and converter control algorithms including

intelligence control are normally complex and need large number of calculation elements.

The state-of-the-art FPGAs lack the gate density necessary to implement these complex

control algorithms. On the other hand, stochastic arithmetic has been known for many

years [23] due to its ability to save digital implementation resource. It was first applied in

the areas of machine computation simplification which are faced with large, power hungry,

and relatively unreliable hardware implementations. By using stochastic arithmetic, it is

possible to achieve complex computation with very simple hardware [24]. Recently,

Andrei Dinu proposed to apply this method for Motor Controllers [9]. In his paper, he

proposed the idea to use stochastic controller to implement the traditional field-oriented

control scheme, as shown in Fig. 2.3. However, there is no implementation in his research.

15

Page 31: A Stochastic Approach to Digital Control Design and Implementation

CHAPTER 3

STOCHASTIC ARITHMETIC

3.1 Introduction

Stochastic computing principles have been known for many years (B.R. Gains,

1969). The motivation for applying stochastic arithmetic to computation is its simplicity.

The hardware implementations of many control applications are normally space

consuming due to huge size of digital multipliers, adders, etc. Stochastic arithmetic

provides a way to carry out complex computations with very simple hardware and very

flexible design of the system. The stochastic implementation is also compatible with

modern VLSI design and manufacturing technology [24].

The fundamental principles of the stochastic arithmetic [8], [16] are summarized as

followings:

• All inputs are transformed to the binary stochastic pulse streams. This is called

randomization. In this step, the real number is coded into a sequence of binary bits

where the information is contained in the probability of any given bit in the stream

being a logic '1'.

• The stochastic arithmetic that consists of digital gate circuits takes place of the

normal arithmetic. After the first step, the real number becomes the one bus random

stream and so the math operations including multiplication, addition, division,

integration and many others can be implemented with simple digital circuits.

• The stochastic pulse streams are converted back to the normal numerical values.

After these corresponding math operations, the result is still the stochastic binary

streams. This process is to extract the probability information from the streams and

get the real number with the proper representation type. This step is called

derandomization.

16

Page 32: A Stochastic Approach to Digital Control Design and Implementation

The details of the stochastic arithmetic are presented in the following sections.

Section 3.2 presents the principles of randomization and different formats of the stochastic

representation of the real numbers. Section 3.3 uses the multiplication process as an

example to demonstrate the principle of stochastic operation and the advantages over

conventional arithmetic operation. Section 3.4 presents the structures of recently published

stochastic arithmetic. Section 3.5 presents the derandomization process.

3.2 Randomization Process

The Randomization is to transform the real data into binary stochastic pulse

streams. There are three formats for the stochastic representation of the real numbers. If X

is the coded number and p is the probability to have a bit '1' on any position in the bit

stream, then:

a). X in the range of [- ,+ ], the relation is ∞ ∞

ppX−

=1

(3.1a)

b). X in the range of [0,1], the relation is

pX = (3.1b)

c). X in the range of [-1,1], the relation is

12 −⋅= pX (3.1c)

Each of these three formats has its own advantages and disadvantages. (3.1a) has a

wide data change. However, the calculation accuracy is low. (3.1b) and (3.1c) have a small

range of representation with high accuracy. Normally, (3.1c) is chosen for the stochastic

neural network because of the consideration of accuracy and the threshold characteristic of

the activation functions. To satisfy the range limitation, proper normalization is required.

The randomization process can be further explained in Fig. 3.1. Fig. 3.1 (a)

presents the randomization process of (3.1c) with a normalization gain of 1/C. Fig 3.1 (b)

also shows an example with X=128 and C=256. The probability distribution process is also

presented in Fig 3.1 (c). In general, the objective of randomization is to represent the input

data with a sequence of binary bits in which the information of the input data is coded in

17

Page 33: A Stochastic Approach to Digital Control Design and Implementation

++ 0.5

PseudoRandomEngine

A

BA>B

Input X

Constant

C

-C<X<C

R

0<R<C

2

1+= CX

PX

Randomization Block

Output Y1-bit stream

(A) Stochastic Randomization Process

(C) Probability distribution in the output stream

(B) An example

X=128

C=256

011011101101111011111 ...

43

=XP...

Y:

0

XP

Distribution of Probability1 Probability of ‘1’

appears in theoutput 1-bit stream

Figure 3.1 The randomization process of an input variable [9]

18

Page 34: A Stochastic Approach to Digital Control Design and Implementation

the statistical properties of the random stream. For the data in the range of [0,1),

gives the relationship between the input data and the statistical properties of the

random stream and for the input data in the range of [-1,1],

pX =

12 −= pX gives the relations

where p is the probability to have a bit ‘1’ on any position in the bit stream and X is the

input data which needs to be coded.

Normally, the streams of random numbers are generated by a random engine which

provides the fundamental of stochastic transformation. In a purely digital environment, true

randomness is extremely hard to be obtained, so a pseudo-random stream is generated

instead. The pseudo-random numbers are not truly random. Rather, they are computed

from a mathematical formula or simply taken from a precalculated list. But in its period,

the pseudo random numbers have the same statistic characteristics compared with the truly

random and so if the period is long enough, the pseudo random numbers could have the

same performance as the truly random numbers. For the stochastic arithmetic, the

necessary equal distribution of probability can be obtained from the pseudo random

streams if the probability corresponding to each of the N bits of the random samples is 0.5

and also the process responsible for the generation of individual bits are not statistically

correlated. Both of the requirements could be simply achieved by selecting the suitable

seeds. In the digital logic circuit, the pseudo random bits could be easily implemented by a

linear feedback shift register (LFSR) with a feed-back loop containing an XOR gate. Fig.

3.2 gives an example circuit of the classical cascaded random engine using D-flip-flops

and a feedback loop closed through an XOR gate. The operation is cyclical. The length and

content of cyclical pattern generated depends on the number of D-flip-flops and on the

signals included in the feedback loop to the XOR gate.

For the N-bit pseudo random stream generation, the length of each one-bit pattern

needs to be even. Otherwise the probability 0.5 required for each bit stream is impossible

to obtain. The length of the combined N-bit pattern is the smallest common multiple of the

individual one-bit pattern lengths and thus the long pseudo random patterns of N-bit

samples can be obtained if the lengths of the one-bit patterns do not have common integer

divisors except 2. For example, the patterns of 5,7,11,13,17,19 constructed a 6-bit

19

Page 35: A Stochastic Approach to Digital Control Design and Implementation

randomization engine and the aggregate cycle length is 3,233,230 which is more than

enough for the stochastic arithmetic calculation with the power converter applications [9].

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Out

clk

reset

Figure 3.2 single bit random engines

However, for some input values, the direct outputs of Fig. 3.2 cannot be used to

adequately randomize the input variable. If the seeds or default data in these flip-flops have

too many zeroes, only few significant bits are involved in the randomization process and

may result in a relatively short pseudo-random sequence. [9] Especially when the input

sequence only has one ‘1’ and all other ‘0’s, it will only generate a very short cycle which

is repeated throughout the output bit stream. Dinu [9] has proposed a method to eliminate

this drawback. This method adds a supplementary XOR state that generates each output bit

of the randomization engine based on several LSFR signals and effectively increases the

length of the individual bit patterns with just a small increase of the involved digital

sources. Fig 3.3 shows an improved 8-bit random engine proposed by Dinu [9]. However,

several rules need to be set. First, the XOR gate generating the most significant output bits

needs most number of inputs while other XOR gates for the less significant outputs can use

less inputs. The maximum number of inputs for the significant XOR gate is n. Second, it is

preferred to connect the LFSRs with the longest operation periods with the XOR gates that

generates the most significant outputs. Finally, each XOR gates must have different

combinations of the input signals to generate the maximum random sequence.

20

Page 36: A Stochastic Approach to Digital Control Design and Implementation

Besides the method introduced above, there are a large number of acceptable

solutions to improve the performance of pseudo random engine. One possible method is to

change the seeds of the pseudo random engine during the run time. Since each one pair of

LFSR0

LFSR1

LFSR2

LFSR3

LFSR4

LFSR5

LFSR6

LFSR7

CLK

Out0 Out1 Out2 Out3 Out4 Out5 Out6 Out7 Figure 3.3 An improved 8-bit random engine [9]

seeds could generate one different pattern of pseudo random streams, this method could

increase the period without adding LFSRs which will increase the system complexity.

3.3 Stochastic Multiplication

Multiplication is the basic arithmetic operation and typically presents the advantage

of the stochastic arithmetic. Fig. 3.4 (a) shows the traditional digital logic unsigned

multiplier which composes of tens of logic gates. However, the stochastic unsigned 44×

21

Page 37: A Stochastic Approach to Digital Control Design and Implementation

multiplier shown in Fig. 3.4 (b) greatly reduces the number of the logic elements used for

the calculation. Fig. 3.4 (c) presents an example of unsigned stochastic multiplication. The

stochastic unsigned multiplier uses an AND gate as the arithmetic operator.

0 3m 2m 1m 0m0q

2q1q

3q

PP1

PP2

0p1p2p3p4p5p6p7p A block in the bottom two rows

A block in the up row

Full Adder

1+km km

0q1q

incoutc

m

Full Adderoutc

k

inc

jq

(a) A traditional 44× unsigned multiplier circuit [25]

PseudoRandomStreamEngine

ComparatorA

B

A>B

Comparator

ComparatorA

BA>BD-flip-flop

1Z

AND Derandomization

Stochastic unsignedMultiplication

X

Y

ANDPyPx ⋅Px

Py YX ⋅

(b) The Stochastic implementation of unsigned multiplication

AND

61

31

21

=⋅⇒=⋅ outyx ppp101100100010110010101101001011

21

01001010000101001001010000110031

00000010000001001000010000100061

(c) An example of unsigned multiplication

Figure 3.4 the comparison between stochastic approach and traditional digital implementation of unsigned multiplication.

22

Page 38: A Stochastic Approach to Digital Control Design and Implementation

With the one-bit stream represented inputs, the unsigned multiplication is as simple

as just one AND gate. It is obvious that ( AND XP YXPPP YXY ⋅=⋅=) . The digital

implementation of signed multiplication is derived based on the following equations:

12 −= XpX

12 −= YpY

12 −=⋅ XYpYX (3.2)

12)1()1( +−−⋅=−⋅−+⋅= YXYXYXYXXNOR ppppppppP (3.3)

121)12(21224)12()12(

−=−+−−⋅⋅=+−−⋅=−⋅−=⋅

XNORYXYX

YXYXYX

pppppppppppYX

(3.4)

sine wave2

sine wave1

randomengine2

randomengine1

In1Out1

derandomizer

dataout

To Workspace1

Scope1

>=

RelationalOperator2

>=

RelationalOperator1

Product

2

1/2

Gain2

1/2

Gain1

1

1

Constant2

1

Constant1

1

Constant

XOR

AND2

NOT

AND1

(a) Simulation Diagram of stochastic signed multiplication

0 2 4 6 8 10 12 14 16 18 20-0.4

-0.2

0

0.2

0.4

Stochastich mulitplication

normal mulitplication

(b) Comparison between stochastic signed multiplication and normal multiplication

Figure 3.5 Simulation diagram and result of stochastic signed multiplication

23

Page 39: A Stochastic Approach to Digital Control Design and Implementation

(3.2) gives the signed representation of X , Y and YX ⋅ while the output of a

XNOR gate has the probability relation of (3.3). (3.4) derives the expression of the signed

multiplication and so the signed multiplication could be performed using one XNOR gate.

From this example, the implementation of stochastic arithmetic usually has the

following steps:

1. Transform all the input data into random streams of bits with the information

contained.

2. Replace the normal arithmetic operations with the stochastic arithmetic

calculations. This step could significantly save digital circuits.

3. Convert the result random streams back into normal numerical values.

Fig. 3.5 (a) shows the simulation diagram of signed stochastic signed multiplication

using Matlab/Simulink and Fig. 3.5 (b) presents the simulation result of signed

multiplication.

3.4 Other Stochastic Arithmetic

The previous section discusses the stochastic multiplication in detail. In this

section, the commonly used stochastic arithmetic are briefly introduced including addition,

square, subtraction, integration, division and square root [26].

3.4.1 stochastic addition

Figure 3.6 presents the stochastic unsigned addition. It is based on a two-port

selector and the selection signal is decided by a stream of random bits which has the equal

probability to be ‘1’ and ‘0’. The two inputs are all transformed into stochastic

representations. The selector randomly chooses the output from the two input streams.

Since the possibility of both ports are the same, so the result contains the probability

information from both of the two input ports which gives the addition performance. From

the figure, if the input X has the probability of PX and input Y has the probability of PY, the

output stream has the output probability of 2

YX PP + which is automatically normalized.

24

Page 40: A Stochastic Approach to Digital Control Design and Implementation

PseudoRandomStreamEngine

Comparator

A

B

A>B

Comparator

ComparatorA

BA>BD-flip-flop

1Z

Derandomization

X

Y

Px

Py

MUX2:1

select

put1

put2

in

in

2yx PP +

Figure 3.6 Stochastic unsigned addition

3.4.2 stochastic square

Figure 3.7 presents the stochastic square operation. It composes of a D flip-flop and

an AND gate. The AND gate performs the stochastic unsigned multiplication and the two

inputs are the input X and its sequence after the D flip-flop. Based on the random theory,

the output of the D flip-flop has the same probability as the input sequence. However, it is

independent from its input sequence, which is an important condition for the stochastic

unsigned multiplication.

QD

clk QPseudoRandomStreamEngine

Comparator

ComparatorA

BA>BD-flip-flop

1Z

XDerandomization

2X

Figure 3.7 Stochastic unsigned square

3.4.3 stochastic signed subtraction

Fig. 3.8 presents the stochastic signed subtraction. It is similar to the unsigned

addition where a NOT gate is used to change the sign.

25

Page 41: A Stochastic Approach to Digital Control Design and Implementation

PseudoRandomStreamEngine

Comparator

A

B

A>B

Comparator

ComparatorA

BA>BD-flip-flop

1Z

Derandomization

X

Y

Px

PyMUX2:1

select

input1

input2

2yx PP −

Figure 3.8 Stochastic signed subtraction

N-bitUP/DOWN

Counter N-bitComparator

N-bitPseudoRandomEngine

down

up

A

B

A>B∫ ⋅t

dttX0

)(

X

Figure 3.9 stochastic integrator

3.4.4 stochastic integrator

26

Fig 3.9 shows the stochastic integrator. The signed input is transformed to

stochastic random streams using (3.1c). An N-bit up/down counter is applied to integrate

the input. For positive input, the number of ‘1’s should always be bigger than the number

of ‘0’s appeared in the random sequence. If the input data has large value which means the

probability of ‘1’ appears in the random sequence is high, the output of the up/down

counter will go up in proportion to the value of the input data, or vice versa.

3.4.5 stochastic square root

Page 42: A Stochastic Approach to Digital Control Design and Implementation

Square root is always not an easy operation to be implemented using digital logic

gates. Besides the traditional complicated implementation, the stochastic arithmetic

provides another approach with simple digital circuits. Fig. 3.10 shows the circuit

schematic of the stochastic square root operation. The input X is first transformed into

stochastic random sequence. Different from the previous stochastic arithmetic, a feedback

loop is introduced in the stochastic square root operation. As shown in the figure, the

output of the stochastic square root operation is fed back through a stochastic square

operator to generate the anticipated input value. This anticipated input value is compared

with the real input value to adjust the output. The close loop structure, which provides the

method to reduce the comparison error until those two values equal, sends out the correct

square root operation result. Compared with the traditional digital implementation, the

stochastic square root operation has the advantages of simple circuit and easy

implementation. However, several drawbacks need to be mentioned due to its close- loop

structure. It normally requires response time and could not send out the correct result at the

beginning and furthermore the stochastic representation will introduce noise and error. So

the applications using this approach should be limited to those who regard slow and rough

calculations as tolerable.

N-bitUP/DOWN

Counter N-bitComparator

N-bitPseudoRandomEngine

down

up

Q=X/Y

A

B

A>B

Q

Qclk

D

X

Figure 3.10 Stochastic square root calculation

27

Page 43: A Stochastic Approach to Digital Control Design and Implementation

N-bitUP/DOWN

Counter N-bitComparator

N-bitPseudoRandomEngine

down

up

Q=X/Y

A

B

A>BQ=X/Y

X

Y

Figure 3.11 Stochastic unsigned division

3.4.6 stochastic division

Division is another difficult task for digital logic implementations. Many methods

have been proposed with complicated circuits. Stochastic arithmetic also provides a simple

approach using the similar close-loop structure. Fig. 3.11 shows the circuit schematic of

the stochastic unsigned division. Both the inputs X and Y are first transformed into

stochastic random sequences and then a feedback loop is introduced in the stochastic

unsigned division. As shown in the figure, the output of the stochastic unsigned division is

fed back through a stochastic unsigned multiplication with another input of Y to generate

real input value of X to adjust the output of the unsigned division. The close loop structure

provides the method of reducing the comparison error until those two values equal to send

out the correct unsigned division result.

Fig. 3.12 presents the stochastic signed division. It accepts a similar structure with

a few modifications. The stochastic signed multiplication is introduced to implement the

stochastic signed division. Different from the stochastic unsigned division, two XNOR

gates are used to perform the stochastic signed multiplication. Thus the input Y is fed

through a D flip-flop and multiplies itself to generate the square of Y. The square Y

multiplies the output Q and generates the anticipated value of YX ⋅ . The input X also

multiplies Y directly to generate the real value of YX ⋅ . The two values are then compared

to control the output until these two values are equal which gives the division result.

28

Page 44: A Stochastic Approach to Digital Control Design and Implementation

N-bitUP/DOWN

Counter N-bitComparator

N-bitPseudoRandomEngine

down

up

Q=X/Y

A

B

A>BQ=X/Y

clk

Q D2YQ ⋅

YX ⋅X

Y

Figure 3.12 Stochastic signed division

Another important issue of digital division is the saturation problem. It occurs when

the division result is too close to 1 or 0 and therefore the Gaussian distribution of

probabilities in the counter gets distorted. Normally, this saturation problem could be

alleviated by using a large counter and then the Gaussian distribution can be set closer to

the extremes to avoid saturation. However, Dinu [26] proposed a thorough solution to

solve this problem. Fig. 3.13 shows the improved stochastic unsigned division without

saturation problem. It involves three modifications to the previous stochastic unsigned

division [26].

• “Using an N+2 bit counter that stores signed numbers in the interval [-2N+1, 2N+1-1].

• If the counter is already at value 2N-1 but still needs incrementing, then it will be

incremented once more with a probability decided by a second comparator.

• Similarly, if the counter is already at level 0 but needs further decrementing, then it

will be decremented twice with probability controller by a third comparator.” [9]

29

Page 45: A Stochastic Approach to Digital Control Design and Implementation

UP/DOWNCounter

down

up

Q=X/Y

Q=X/YComparatorA

B

A>B

Comparator

B A

-A>B

ComparatorAB

A/2N>B

B

Supplied bythe Pseudo

RandomEngine

Doubledown

Doubleup

X

Y

Figure 3.13 Stochastic unsigned division without saturation problem [26]

3.5 Derandomization After the stochastic multiplication, the data needs to be translated back to the

normal output data. The process to get statistical information out of the random streams is

called derandomization. The derandomizaion of the random stream is determined by

counting the number K of bits ‘1’ in a set of N consecutive samples. Large N will give

precise result while it also takes more time to catch the value from the random streams of

bits. Theoretically, K can be any value between [0, N], but some values are much more

probable than others. The results of the followings have been introduced in [27].

From the statistic theory, the probability P(K) to find K bits ‘1’ in a set of N

samples from a stream with probability ‘p’ is: KNK ppKNK

NKP −−⋅⋅−⋅

= )1()!(!

!)(

NpK ⋅=max

[26].

The function P(K) is a binomial distribution having the maximum at and the

standard deviation which is expressed as )1( ppN −⋅⋅=σ . When N is large, this

30

Page 46: A Stochastic Approach to Digital Control Design and Implementation

X (stochastic representation)

N-bitUP/DOWN

Counter N-bitComparator

N-bitPseudoRandomEngine

down

up

A

B

A>B

N21

DataX

Figure 3.14 feedback loop based derandomizer

probability distribution can almost be considered to have the Gaussian characteristic and

also the K is situated at a distance of 3-σ from Kmax with a probability of over 99.5%.

With the condition mentioned above, the derandomization error could be calculated

as the following:

NNN

⋅=

−⋅⋅⋅≤

23)5.01(5.03

[26] (3.6) NNKp =

∆≅∆

Thus, it could be proved that the larger the number N of samples, the smaller the

derandomization error.

Fig. 3.14 shows the scheme of the derandomization process where a feedback close

loop structure is applied for the fast tracking ability. The output of the up/down counter

will be randomized again and compared with the input stream. When the ‘1’ appears more

frequently or less frequently in the input stream than the output stream, the up/down

counter will continue to increase or decrease until these two frequencies are equal. This

31

Page 47: A Stochastic Approach to Digital Control Design and Implementation

32

derandomization method is easy to be implemented but is not suitable for the continuous

signals with extremely fast changes.

Page 48: A Stochastic Approach to Digital Control Design and Implementation

CHAPTER 4

NEW STOCHASTIC ANTI-WINDUP PI CONTROLLERS

Proportional-integral (PI) controllers are probably the most commonly used

controllers among power electronics applications. The purpose of a PI controller is

normally to stabilize the system, improve the transient response and achieve zero steady

state error. Fig. 4.1 shows the basic structure of a PI controller. It contains both a

proportion component and an integration component with a saturator to guarantee that the

requirement by the physical characteristics of the system will be met.

However, a large step change in the control input will cause the generated control

variable from a PI controller to exceed the prescribed maximum value. Thus a saturator is

applied, which introduces a non-linearity into the system. This phenomenon is called

integrator windup and can lead to large overshoot, long settling times, and even unstable

closed-loop systems [28] since the parameters of the PI controller are normally designed in

a linear region, ignoring the saturation nonlinearity. In an attempt to overcome the windup

phenomenon, a number of anti-windup techniques have been proposed in the literature, for

example [29-33]. Currently, digital implementations of anti-windup PI controllers are

based on a microprocessor or DSP [34]. Hardware solutions such as field programmable

gate arrays (FPGA) have advantages in price, execution speed and flexibility but are

restricted for their poor calculation ability [35] and the low available number of logic gates

Ki

Kp+

+maxu

maxue(t)

uout(t)

maxmax and uuuu inin >−<

1S

uin(t)

Figure 4.1 Structure of a Proportional-integral (PI) controller

33

Page 49: A Stochastic Approach to Digital Control Design and Implementation

in a typical FPGA [10]. Stochastic arithmetic provides an effective method of enhancing

the computational capability of FPGA with the same logic gates density [9]. This is an

efficient implementation approach that uses simple digital logic circuits but has the

advantage of significantly reducing the circuit complexity compared with the traditional

digital implementation approach.

In this chapter, new anti-windup PI controllers are proposed and implemented in a

FPGA device using stochastic arithmetic. The developed designs provide solutions to

enhance the computational capability of FPGA and offer several advantages: large

dynamic range, easy digital design, minimization of the scale of digital circuits,

reconfigurability, and direct hardware implementation, while maintaining the high control

performance of traditional anti-windup techniques.

4.1 Introduction of stochastic integrator

The digital integrator can be expressed in (4.1) and its structure is shown in Fig.

4.2.

)1()()( −+= nynxny (4.1)

Fig. 4.3 (a) presents the traditional accumulator design of a digital integrator. A

large register holds the previous output of the integrator and sent the one step time delayed

output signal back to the adder to perform the integration function. Fig. 4.3 (b) shows

another approach of the digital integrator using stochastic arithmetic. The stochastic digital

+

UnitDelay

X(n)

y(n-1)

y(n)

Figure 4.2 Block Diagram of Digital Integrator

34

Page 50: A Stochastic Approach to Digital Control Design and Implementation

integrator has two elements: a signal value to frequency converter (randomization block)

and an up-down (pulse) counter. In the randomization process shown in Fig. 4.4, the value

of the input signal X is represented by the frequency of ‘1’ appearing in the output bit

stream.

+

R

RandomizationBlock

UP/Down Counter

Down

Up

C2

maxCounterC =

-

Input X

Output

AdderN-bitInput X

Register

Output

( a) Accumulator design of a digital integrator

( b ) Stochastic approach of a digital integrator Figure 4.3 Block diagram of the traditional and stochastic integration schemes

++ 0.5

Pseudo-random

engine

A

BA>B

Input x

Constant

C

-C<X<C

R

0<R<C

X=128

C=256

21+

= CX

Px

011011101101111011111 ...

Randomization Block

Output Y1-bit stream

...Y:

2

1

43

bitsTotals'1'of +

=== CX

NumberP

An example of randomization process

x

Figure 4.4 Randomization process and an example

35

Page 51: A Stochastic Approach to Digital Control Design and Implementation

If p is the probability to have a bit ‘1’ on any position in the bit stream then the value of the

input signal is given by the expression cpx ⋅−= )12( (where c is a constant and the input x

must in the range of –c and c). For example, if the input x equals c, then the output bit

stream will be all ‘1’s and if x equals to –c, the output bit stream will be all ‘0’s. After this

process, the Up/Down counter accumulates the incoming pulses and performs the

integration function.

Compared with the traditional approach of implementing digital integration, the

stochastic method has a larger dynamic range and eliminates the n-bit adder that contains

tens of logic gates. Although the randomization process requires extra digital resources for

the pseudo random engine and the comparator, these resources can be shared if many

digital integrators are employed in the same digital Integrated Circuits (ICs).

4.2 Proposed anti-windup strategies based on the stochastic integrator

To date, most developed anti-windup strategies can be classified as either a

conditional integration scheme, a back-calculation scheme or a hybrid scheme, as

illustrated in Fig. 4.5 (a), (b), and (c), respectively. The conditional integration scheme is

reported as the most popular anti-windup strategy due to its simplicity. The integral action

turns off when the output signal reaches saturator’s limit to avoid the accumulation of

errors which is not able to change the control performance any more. In the back-

calculation and the hybrid schemes, the integral term reduces its absolute value when the

output saturates. The free tuning parameter Ka decides the decreasing rate of the integral

term’s absolute value. These two schemes suffer complicated and time-consuming design

process in optimizing the free parameters Ka which decides the performance of integrator

when saturation happens.

The proposed stochastic anti-windup digital PI control algorithms are illustrated in

Fig. 4.6, Fig. 4.7 and Fig. 4.8. In Fig. 4.6, the saturation signal is connected to the

up/down counter through two AND gates. When the saturation signal is ‘1’, the output of

the two AND gates all become ‘0’, which disables the accumulation of the up/down

36

Page 52: A Stochastic Approach to Digital Control Design and Implementation

Ki

Kp

DigitalIntegrator

++

maxu

maxu

SaturationSignal

+

minumaxu

aK

+-

+-aK

(a) conditional anti-windup integration scheme

(b) Back-calculation anti-windup integration scheme

(c) Hybrid anti-windup integration scheme

)(kTη

ConventionalAlgorithms

Sampler

e(t)e(kT)

0

TA/D

uin(kT)

D/A andZOH

uout(kT) uout(t)

maxmax and uuuu inin >−<

Ki

Kp

DigitalIntegrator

++

maxu

maxu

)(kTηSampler

e(t)e(kT)

T A/D

uin(kT)

D/A andZOH

uout(kT) uout(t)

Ki

Kp

DigitalIntegrator

++

maxu

maxu

)(kTηSampler

e(t)e(kT)

TA/D

uin(kT)

D/A andZOH

uout(kT) uout(t)

Figure 4.5 Traditional anti-windup strategies for digital integrator

37

Page 53: A Stochastic Approach to Digital Control Design and Implementation

++ maxu

maxu

SaturationSignal

R

RandomizationBlock UP/Down

Counter

Down

Up )(kTη

uin(kT)

D/A andZOH

uout(kT) uout(t)

maxmax )(and)( ukTuukTu inin>−<

Ki

Kp

Sampler

e(t)e(kT)

TA/D

Figure 4.6 Proposed stochastic anti-windup integration scheme (I)

38

Page 54: A Stochastic Approach to Digital Control Design and Implementation

++ maxu

maxu

R

RandomizationBlock

UP/DownCounter

Down

Up

max)( ukTuin −<

max)( ukTuin >

Ki

Kp

Sampler

e(t)e(kT)

TA/D )(kTη

uin(kT)

D/A andZOH

uout(kT) uout(t)

Figure 4.7 Proposed stochastic anti-windup integration scheme (II)

39

Page 55: A Stochastic Approach to Digital Control Design and Implementation

++ maxu

maxu

R

RandomizationBlock

UP/Down Counter

Down

Up

R

R

Ki

Kp

Samplere(kT)

TA/D )(kTη

uin(kT) max)( ukTuin >

max)( ukTuin −<

D/A andZOH

uout(kT) uout(t)

Figure 4.8 Proposed stochastic anti-windup integration scheme (III)

40

Page 56: A Stochastic Approach to Digital Control Design and Implementation

counter. The integration process will work as normal when the saturation signal is ‘0’ for

the linear region. So this scheme has the same anti-windup function as the conditional anti-

windup strategy where the integration action switches off when the saturation happens. In

the proposed scheme II shown in Fig. 4.7, when the output of the PI controller exceeds the

upper limit of the saturator, the AND gate sends out ‘0’ to the up port of the counter and

the down port continues to receive the coming pulses and so the integral term will decrease

which will try to bring the PI controller back to the linear region. The saturation taking

place at the lower limit will cause the increase of the integral term and prevent the

accumulation of errors. The last proposed scheme shown in Fig. 4.8 provides a tuning

parameter to adjust the anti-windup performance. The output of the PI controller is

randomized to a bit-stream and connected with the saturation signals with AND gates. In

this way, when saturation happens, the up and down ports all have pulses coming, but the

randomization process decides the rate of the increase or decrease for the integral term

when saturation happens. The constant C in the randomization process becomes a free

tuning parameter that can be adjusted to get the optimized performance. If the output of the

integral is defined as η, the derivative of the integral state η of each proposed strategy is

derived in Table. 4.1 where Ki, shown in Fig. 4.6, Fig. 4.7 and Fig. 4.8, is the integral

constant, C is the constant appearing in the randomization process as shown in Fig. 4.4, Kup

= 1 - uin / C and Kdown =1+uin / C.

Table 4.1 Integral state of the proposed stochastic anti-windup PI controller

A ( ) Ae=•ηStochastic

PI Controllers uin =

uout uin > uout uin < uout

Proposed Scheme I

iK 0 0

Proposed Scheme II

iK ( ) 2//1 CeCKi −− ( ) 2//1 CeCKi +

Proposed Scheme III

iK ( ) ( )[ ]

4/1/12 111 CeKCeCK upi +−−−

( ) ( )[ ]

4/1/12 111 CeKCeCK downi −−+

41

Page 57: A Stochastic Approach to Digital Control Design and Implementation

ComparatorA

BA>B

N-bit Up/Down Counter

UP

DOWN

16b1b

LFSRPSEUDORANDOM

GENERATOR

-1000000000000000

+1000000000000000

MUX

2:1

sel

15b

15b

1bMSB

1: positive 0: negative

16b

16b

16b

16b

SaturationLimit

15b

Kp 15b

-1000000000000000

MUX

2:1

sel

15b

15b

1bMSB

1: positive 0: negative

16b 15b

15b

15b

+

ComparatorA

BA>B

--

MUX

2:1

sel

15b

15b

MUX

2:1

sel

ComparatorA

BB>A

15b

15b

15b

15b

MUX

2:1

sel1b

1b

MUX

2:1

sel

MUX

2:1

sel

1bMSB

1: positive 0: negative

15b

D/AConversion

1bMSB

1bMSB

1b

1b1b

MSB

15bKi

e A/DConversion 15b

Input

Output

Figure 4.9 Digital design scheme of stochastic anti-windup PI controller I

42

Page 58: A Stochastic Approach to Digital Control Design and Implementation

ComparatorA

BA>B

N-bit Up/Down Counter

UP

DOWN

16b1b

LFSRPSEUDORANDOM

GENERATOR

-1000000000000000

+1000000000000000

MUX

2:1

sel

15b

15b

1bMSB

1: positive 0: negative

16b

16b

16b

16b

SaturationLimit

15b

Kp 15b

-1000000000000000

MUX

2:1

sel

15b

15b

1bMSB

1: positive 0: negative

16b 15b

15b

15b

+

ComparatorA

BA>B

--

MUX

2:1

sel

15b

15b

MUX

2:1

sel

ComparatorA

BB>A

15b

15b

15b

15b

MUX

2:1

sel1b

1b

MUX

2:1

sel

MUX

2:1

sel

1bMSB

1: positive 0: negative

15b

D/AConversion

1bMSB

1bMSB

1b

1b1b

MSB

15bKi

e A/DConversion 15b

Input

Output

Figure 4.10 Digital design scheme of stochastic anti-windup PI controller II

43

Page 59: A Stochastic Approach to Digital Control Design and Implementation

ComparatorA

BA>B

N-bit Up/Down Counter

UP

DOWN

16b1b

LFSRPSEUDORANDOM

GENERATOR

-1000000000000000

+1000000000000000

MUX

2:1

sel

15b

15b

1bMSB

1: positive 0: negative

16b

16b

16b

16b

SaturationLimit

15b

Kp 15b

-1000000000000000

MUX

2:1

sel

15b

15b

1bMSB

1: positive 0: negative

16b 15b

15b

15b

+

ComparatorA

BA>B

--

MUX

2:1

sel

15b

15b

MUX

2:1

sel

ComparatorA

BB>A

15b

15b

15b

15b

MUX

2:1

sel1b

1b

MUX

2:1

sel

MUX

2:1

sel

1bMSB

1: positive 0: negative

15b

D/AConversion

1bMSB

1bMSB

1b

1b1b

MSB

15bKi

e A/DConversion 15b

Input

Output

ComparatorA

BA>B

Figure 4.11 Digital design scheme of stochastic anti-windup PI controller III

44

Page 60: A Stochastic Approach to Digital Control Design and Implementation

45

4.3 Digital implementation of proposed stochastic anti-windup controller

Fig. 4.9 illustrates the developed digital design scheme of the proposed stochastic

anti-windup PI controller I. The other two proposed controllers as shown in Fig. 4.10 and

Fig. 4.11 have the same structures except the feedback to the up/down counter. The

scheme is implemented in a Xilinx FPGA chip using ISE 7.01 software for design,

simulation and programming. The controller is written in the VHSIC (Very High Speed

Integrated Circuit) Hardware Description Language (VHDL).

Page 61: A Stochastic Approach to Digital Control Design and Implementation

CHAPTER 5

STOCHASTIC NEURAL NETWORK

5.1 Introduction

Artificial Neural Network (ANN) is the interconnection of artificial neurons and

tends to emulate the biological neural network of human brain [36]. The ANN based

intelligence controller is particularly suitable for power electronics and drives which are

nonlinear, complex, multivariable with parameter variation problem or even unknown and

thus is an important complementary to conventional techniques. There are many

advantages applying neural networks in power electronics. [37,38]

• The neural network controllers or estimators normally have the immunity from

input harmonic ripple and fault tolerance characteristics due to distributed network

intelligence.

• The ANN is able to implement nonlinear input-output mapping.

• The ANN supports extremely fast parallel computation.

• The ANN could ignore the complexity of the dedicated signal processing function

and perform the desired result.

• In contrast to other techniques, neural networks can modify their behavior in

response to the environment changes.

Currently, ANNs have been applied to many power electronic areas including

PWM techniques, adaptive P-I closed loop control, delayless harmonic filtering, model

reference adaptive control, optimal control, vector control, drive feedback signal

processing, on-line diagnostics, estimation of distorted waves, etc. [6] However, ANNs are

currently still limited in the research arena for the power electronics applications which

require the hardware real-time implementation. DSP, ASIC and FPGA are the most

popular hardware devices to implement the control system in power electronics. Since

DSPs are von Neumann machines operating in step-by-step manner [9] and the instructions

46

Page 62: A Stochastic Approach to Digital Control Design and Implementation

in a DSP cannot work in parallel [37], ANN which is full of parallel calculations is

inherently not suitable for DSP. The ASIC and FPGA provides the advantages for the real-

time control algorithms where ANNs play an important role because the hardware structure

can be customized to optimize the speed and to reflect the parallelism of the algorithm, but

there is also a problem. The hurdle is the unavailability of application-specific ICs (ASICs)

and FPGA with adequate processing elements at an attractive price [39]. Most ANN

applications have complicated neural network structures and require large amounts of

hardware sources. But until now, the large and economical ASIC and FPGA chips are still

pending the new development of related research area and are not available for the current

stage and this mainly disturbs the development of ANN applications. The stochastic neural

network technique presents a new approach to solve the above problem and is able to make

the ANNs suitable for current ASIC and FPGA devices. The stochastic neural network

controller combines the advantages of both the ANNs and stochastic arithmetic. These two

algorithms fit each other extremely well. The stochastic technique provides the ability to

simplify the system and allows implementation of an unusually large number of basic

computation elements on a single integrated circuit. The ANN could benefit a lot from this

characteristic. Besides the advantages of ANN as introduced in the previous part, the

stochastic arithmetic also provides some extra benefits [24]:

• It allows the ability of fault tolerance.

• It provides the function to reduce the system to a very low computation hardware

area and could easily be implemented using one FPGA or ASIC device because of

the simple communications over one wire per signal.

• The simple hardware implementation allows high clock rate and the different clock

rates endow the capability to trade off computation time and accuracy without

having to involve in program or hardware changes.

Stochastic neural network was first proposed by Gaines [23] in the field of

computing in 1969. To the present, most of stochastic neural network research is focused

on the development of novel algorithms [7,8,24,40]. Little research is available on the real-

time hardware implementation and it also lacks the applications of the developed

47

Page 63: A Stochastic Approach to Digital Control Design and Implementation

algorithms to other areas. To date, Dinu is the first person to introduce the concept of the

stochastic neural network in power electronics [9].

5.2 Principles of stochastic neural network

In general, a neural network system consists of lots of neurons which are the basic

elements of neural network. Artificial neurons usually contain three math operations:

signed multiplication, signed addition and the nonlinear activation function. Generally, the

multiplication and activation function occupy most of digital resources. So the proposed

neural network structure will apply stochastic implementation to these two operations

while leaving the rest for the traditional method. This approach has considered the trade off

between the accuracy and the number of employed digital logical elements since the

stochastic arithmetic unavoidably introduces noise and variance compared to the traditional

math operations.

5.2.1 Artificial neuron

Neurons are the most basic structures in the human brain. The biological neural

network in human body consists of billions of neurons and generates the thinking process.

Similarly, the artificial neurons interconnect together to perform the artificial neural

network (ANN) which tends to emulate the nervous system of the human brain.

(a) (b)

Figure 5.1 (a) Biological neuron (b) Artificial neuron [6]

48

Page 64: A Stochastic Approach to Digital Control Design and Implementation

AND

61

31

21

=⋅⇒=⋅ outyx ppp 101100100010110010101101001011

21

01001010000101001001010000110031

PseudoRandomEngine

ComparatorA

BA>B

A

BA>B

D-flip-flop

1Z

AND Derandomization

A) Stochastic unsigned Multiplication

X

YPyPx ⋅Px

Py YX ⋅

00000010000001001000010000100061

b) Example of 31

21

Figure 5.2 An example of stochastic unsigned multiplication

The concept of the biological neuron is shown in Fig. 5.1 (a) and this information

inspires the structure of the artificial neuron shown in Fig. 5.1 (b). Both the biological

neurons and artificial neurons have the similar function. They are the basic processing

elements in the neural network systems that receive and combine signals from other nearby

neurons. The artificial neuron is analog summer-like network where the inputs signals pass

through synaptic weights (or gains) and gather in the summing node. After that, the

summed signal will pass through a nonlinear activation or transfer function to generate the

output. Most times, a bias signal is also added in the summing node.

5.2.2 Stochastic signed multiplication

Multiplication is the most frequently used operator in a neural network system.

Thus the implementation of digital multiplication is an important issue in the neural

network applications. And it is also most advantageous for stochastic arithmetic to

implement the multiplication of two stochastic binary streams. For the unsigned

representation where x=p in the range of [0,1], multiplication is simply achieved by an

AND gate. Let the two input variables be x and y. The output of multiplication is z. The

AND gate has output of “1” only when the two input are both “1”s. So it is obvious that

49

Page 65: A Stochastic Approach to Digital Control Design and Implementation

zyxppp zyx =⋅⇒=⋅ . Fig.5.2 presents the structure and an example of stochastic

unsigned multiplication. The signed multiplication is also convenient to achieve with only

one XNOR gate.

From the described equations, the process of the multiplication will not generate

additional errors to the result, so the error of the multiplication is decided by its inherent

variance. The binary stochastic pulse streams can be considered as a Bernoulli sequence.

The mean µ and variance of each independent bit are: 2σ

p=µ (5.1)

)1(2 pp −=σ (5.2)

For a n-bit Bernoulli sequence, the probability of finding k bits ‘1’ is:

knk ppkkn

nkP −−⋅⋅−

= )1(!)!(

! (5.3)

When n is large, the error and distribution will become hard to calculate using

(5.3). So the central limit theorem is utilized to simplify the problem and the following

equation can be derived:

∫ ∞−

≤− a t dteannpXnP 2/2

21πσ

(5.4)

where and n ∑=

=n

iixX

0∞→

If we define:

∫ ∞−

−=x t dtex 2/2

21)(π

φ (5.5)

and

)(1)( xx φφ −=− (5.6)

Then applying (5.4) and (5.5) to (5.3):,we have the following probability:

1)(221

21 2/2/ 22

−=−≈

≤−

≤− ∫∫−

∞−

∞−

adtedteannpXnaP

a ta t φππσ

(5.7)

50

Page 66: A Stochastic Approach to Digital Control Design and Implementation

5001000

15002000

2500

0.020.04

0.06

0.080.10.8

0.85

0.9

0.95

1

NMaximum Error

Pro

babi

lity

Figure 5.3 Probability distribution of N and maximum p∆

Let us define error as:

pXp −=∆−

(5.8)

Therefore from (5.6), (5.7) and (5.8), we have

≤∆n

app σ 1)(2 −aφ (5.9)

From (5.3), we can get 21

max =σ when 21

=p . The distribution is shown in Fig. 5.3

where Z-axis is the probability for the corresponding N (X-axis) and Maximum Error

51

Page 67: A Stochastic Approach to Digital Control Design and Implementation

allowed (Y-axis). AS shown in the figure, when N is large, the maximum error reduces and

its related probability increases which can improve the accuracy. So it is possible to

increase the number of N to improve the performance.

5.2.3 Stochastic approach of sigmoid activation function

Besides the multiplication, the next stage for the neural processing is the nonlinear

activation function. The results of these continuous sigmoid-like activation functions are

limited in the range of [0,1] and for a large input which is out of the threshold, the result

could be considered as “1” or “0”. For a small number of neurons in the systems, the

FPGA based lookup-table to map the activation functions can be implemented directly

with fast operating speed. However, when the number of neurons increases, the

implementation appears to be a problem since the size of the required lookup table for the

parallel calculation becomes unaffordable. B.R. Gaines [23] described the chain structure

of the generalized Adaptive Digital Element (ADDIE) with the related transition equations.

Several detailed structures for the approximations of the sigmoid like activation functions

are proposed with the computational elements based on state machines.

Fig. 5.4 illustrates the algorithm and digital implementation approach of tansig

activation function where p is the probability of "1' appearing in the stochastic pulse

streams, and the relation between x and p is 12 −⋅= pX where X in the range of [-1,1].

The state machine structure of the tansig shown in Fig. 5.4 (a) is engineered by Bradley

and Card [24]. The counter in Fig. 5.4 (b) is a saturating up/down counter which has two

inputs of increment and decrement and will not increase beyond its maximum value or

decrease below its minimum value. Each value stands for different states in Fig. 5.4 (a).

The equation of the tansig function is:

x

x

eexsig 2

2

11)(tan −

+−

= (5.10)

The state machine structure of Fig. 5.4 (a) is based on the theory of Markov chains

and is used to approximate (5.10). The input x (real number) to the tansig function is first

transformed to the binary stochastic pulse streams which is a single bus signal with only '1'

52

Page 68: A Stochastic Approach to Digital Control Design and Implementation

1

2

2N-1-1

2N-1

2N-1

2N

N-bit Up/DownCounter

UP

DOWN

UP

DOWN

Comparator

A

B

A>B

2N-1-1

S1 S2 S3 … …)1(2 −NS12 )1( −−NS 22 −N

S12 −N

S NS2

Output = 0 Output = 1

Stan

(a) State Machine based tansigactivation function

(b) Digital Logic Implementation ofstochastic tansig function

( C) Used symbol for the state machinebased tansig activation function

p

−p

−p

−p

−p

p

−p

p pp

21)'1(' +

=xp

21)'1'( +

==outputoutputp

Figure 5.4 Stochastic approach of tansig activation function

53

Page 69: A Stochastic Approach to Digital Control Design and Implementation

and '0'. This signal is used to control the state of the counter and the output is also the

binary stochastic pulse streams which follows 12 −⋅= pX and requires to be converted

back to real number. Part of the analysis below has been described in [24], [41]-[43] and

this paper further discusses the approximation process and performance with error analysis.

The probability of each state satisfies the following equations:

)()()(........

)()1()()( ........

)()1()()()1()()1()()(

)12(22

)1()1(

132

121

psPpsPsP

psPpsPsP

psPpsPsPpsPpsPsP

NNN

iii

⋅+⋅=

⋅+−⋅=

⋅+−⋅=−⋅+−⋅=

−+

(5.11)

By solving (5.11), the relation between and is: )( isP )( 1−isp

)(1

)( )1( −−= ii sP

ppsP (5.12)

The sum of all these probabilities is 1:

∑ =N

isP2

11)( (5.13)

Combine (5.12) and (5.13), the probability of each state could be derived as:

N

N

NN

2

1ii

21

2

1

12

0i

i1i

)p1

p(1

)p1

p(1)

p1p()P(s

)p1

p(1

)p1

p(1)P(s

1)p1

p()P(s)P(s

−−

−−

⋅−

=⇒

−−

−−

=⇒

=−

⋅=

=∑ ∑

(5.14)

The probability of “1” in the output sequence is the sum of probabilities of the

states which are bigger than or equal to . 12 −Ns

54

Page 70: A Stochastic Approach to Digital Control Design and Implementation

)

1(1

)1

()1

(

)1

(1

)1

(1)

1()(

2

222

2 2

1

1

)1( N

NN

N

N N

pp

pp

pp

pppp

ppoutputP

i

i

−−

−−

−=

−−

−−

⋅−

=

−∑

=

− (5.15)

Suppose x is the input data and y is the output data, apply X and the

approximation equation shown in (5.17):

12 −⋅= p

1)(212

−⋅=−⋅=outputPy

px (5.16)

xNN

exx 22 1

)11( −− ≈

−+ −

(5.17)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

Out

put o

f F(x

) and

G(x

)

+ F(x, N=2)

F(x, N=5)F(x, N=4)F(x, N=3)

Figure 5.5 Approximation: F(x)= 12)

11(

−−

−+ N

xx Vs G(x)= x

N

e 2−

55

Page 71: A Stochastic Approach to Digital Control Design and Implementation

Using (5.15), (5.16) and (5.17), the result of y is:

)2(tan 111)(2 1

2

2

xsigeeoutputPy N

x

x

N

N

=−

+≈−⋅= (5.18)

Fig. 5.5 illustrates approximation performance of (5.17) with different N. As shown

in the figure, with the N number increases, the approximation performances improve. Fig.

5.6 shows the maximum error with different N. From that it can be obviously seen that

when N is large, the error is small and could be ignored.

Fig. 5.7 illustrates the performance of the state machine based tan sigmoid

activation function approximations with different N. The clock rate is 1Mhz, much slower

than the commercial FPGA chip which is above 100Mhz. It is obvious that the

performance improves when N increases and this verifies the above analysis. From

2 3 4 50

0.005

0.01

0.015

0.02

0.025

0.03

N

Max

imum

erro

r of G

(x)-F

(x)

Fig.5.6 Approximation maximum error (G(x)-F(x)) with N

56

Page 72: A Stochastic Approach to Digital Control Design and Implementation

the figure, the random noise is still exist which could be improved with a faster clock rate.

Fig. 5.8 presents the developed digital design scheme of the proposed stochastic

tan-sigmoid activation function. The feedback derandomization block is required to

transform the stochastic output to the physical output. The scheme is implemented in a

Xilinx FPGA chip using ISE 7.01 software for design, simulation and programming. Fig.

5.9 is the experimental result of stochastic tansig versus actual tansig using FPGA. The

result is similar with Fig. 5.7 , which proves the effectiveness of approximation method.

The number of implementation errors is small. Fig. 5.10 shows the amount of errors of the

hardware implementation of stansig function that is reducing rapidly with the increase of

counter size. From both the simulation and experiment results, the approximation is able to

replace the traditional tansig activation function and thus displays the possibility to be

applied in the hardware neural network applications.

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

x

Out

put

tansig(2x)stan(N=2)

tansig(4x)

stan(N=3)

tansig(8x)

stan(N=4)

Figure 5.7 tansig( 2 x) vs. stan(N,x)1−N

57

Page 73: A Stochastic Approach to Digital Control Design and Implementation

ComparatorAB

A>B

N-bit Up/DownCounter

UP

DOWN

16-Bit Up/Down Counter

UP

DOWN

ComparatorABA>B

16b 1b1bMSB

16b

LFSRPSEUDORANDOM

GENERATOR

X+1000000...0000

0

A / D

-

MUX

2 : 1sel MUX

2:1sel

15 b

15b1bMSB

1b

1 : positive0 : negative

11 22:1−− −<=>= nn xorxSaturating Bit

16b

16b

16b

16b

Represent 11 22: −− <<− nn x

1b 1b

1b

Feedback derandomization block

1000000...0000

Figure 5.8 Digital design scheme of stochastic tan-sigmoid activation function generator

58

Page 74: A Stochastic Approach to Digital Control Design and Implementation

-1

1

0.5

0

-0.5

0 1 2 3 4 5 6 7 8 9 1Time (s)

0

Stochastic tansig (N=3)

Tansig(8x)

Figure 5.9 FPGA implementation result

2 3 4 50

0. 01

0. 02

0. 03

0. 04

0.05

0. 06

N

Approxi mation er ror

Figure 5.10 Stansig Approximation error with increased N

59

Page 75: A Stochastic Approach to Digital Control Design and Implementation

60

Table. 5.1 Comparison of look-up table and stan activation function using FPGA complier

One activation function

Two parallel activation functions

Number if bits For data LCs LCs

utilizedLCs LCs

utilized Stan(8,x) 8 75 2% 142 3% Stan(8,x) 16 136 3% 258 6% Tansig(4x) 8 417 11% 816 21%

Table. 5.1 shows the result of the FPGA implementation of stan and tansig

function. Both are achieved using VHDL language in MaxplusII. The download FPGA

chip is EPF10K70RC240-4 (Altera). It can be seen that the stan function saves much more

logic cells and thus in one single chip, many more neurons can be preformed.

Page 76: A Stochastic Approach to Digital Control Design and Implementation

CHAPTER 6

STOCHASTIC MOTOR DRIVE CONTROLLER 6.1 Introduction

The electrical motors convert electrical energy into mechanical energy and are

widely used in industrial applications such as fans, pumps, elevators, electric vehicle,

paper and textile mills and subway transportation, wind generation systems, servos and

robotics, computer peripherals, steel and cement mills, ship propulsion, etc [44]. These

applications range from very precise, high-performance position-controlled drives to

variable-speed drives and the power rating varies from a few watts to many thousands of

kilowatts [45]. Normally, the electrical motors are classified as DC motor and AC motor.

The DC motor use DC power supply as its energy source and thus is easy to get high

performance for variable speed applications with simple control algorithms. However, it

has the disadvantages of high cost, high rotor inertia and maintenance problems with

commutators and brushes. Nowadays, with the development of modern motor control

theory and digital controllers, the AC motor becomes more and more popular and

important.

Fig. 6.1 shows a general block diagram for the control of motor drives. Different

processes and loads determine the detailed control requirements. For example, position

MotorPowerSource

Process /Load

Controller Sensors

Gating Signals

PowerElectronicConverter

Figure 6.1 General block diagram of motor drive control

61

Page 77: A Stochastic Approach to Digital Control Design and Implementation

control is needed for elevator applications while speed control are required for electrical

vehicle applications.

The induction motor, particularly the cage type is most commonly used among all

types of ac machines in industry due to its advantages of cost, reliability and robustness.

Many control algorithms have been developed in the past. Fig. 6.2 shows a typical field-

oriented control scheme of the induction motor for variable-speed applications. Compared

with the traditional scalar control techniques which is simple to implement but has the

inherent coupling effect that gives sluggish response and causes instability problems, the

vector control technique shown in the following figure which was introduced in the

beginning of 1970s provides the solution to these problems and demonstrates that an

induction motor can be controlled like a separately excited dc motor.

The implementation of these complicated control algorithms of the induction is

always a challenging task and almost impossible for analog controllers. Today’s digital

SPWM

ESTIMATOR

AC

InductionMotor

voltagesCurrents

1−VR

VR

Current Controller

Current Controller

Flux Controller

Speed Controller

φφ 23 −

sdsv s

qsv sqsis

dsi

rΨ eθcos eθsin eT

sdsi s

qsi

eθcoseθsin

dsiqsieT

+-

+

-

+

+-

-

∗rω

∗Ψr∗dsi

∗qsi ∗

qsv

∗dsv

Figure 6.2 Block diagram of field oriented controlled induction motor drive showing FGPA based torque and flux estimator

62

Page 78: A Stochastic Approach to Digital Control Design and Implementation

controllers provide the possibility to implement these complex control functions with fast

response speed. This chapter presents the implementation and results of a high

performance induction motor drive controller using FPGA and stochastic arithmetic.

Section 6.2 presents the stochastic speed controller analysis. Section 6.3 presents two

methods to estimate the feedback signals of an induction motor. One applies stochastic

arithmetic to replace the traditional math operations and the other applies the stochastic

neural network structure. Section 6.4 shows the system design of the proposed stochastic

motor drive controller. Section 6.5 presents the verification using simulation, hardware-in-

the-loop and experimental results. Section 6.6 concludes this chapter.

6.2 Stochastic speed controller analysis

PI controllers are the most commonly used controllers among motor drive control

applications. Fig. 6.3 shows the system diagram of the proposed stochastic PI controller

applied to the speed control of induction motor drives. The speed controller is either in

saturation mode or linear mode, which is assumed to be stable. It is desired to characterize

the domain of attraction when the system is saturated. The particular goal is to find a

mathematical relationship that defines the range of the two input signals and for

which the system is stable, i.e., lim

*rω LT

0)( =∞→

tet

. Fast sampling is assumed here, so that the

analog analysis in this section is valid for the digital PI controllers. The analysis is focused

on the Proposed Scheme I. The analyses for Proposed Schemes II and III are much more

difficult and remain to be developed.

+-

∗rω maxImaxI

Stochastic Antio-Windup PI Controller

I, II, III

+-LT

BJS+1 rωinu outue

−<>

≤≤=

u-u

u-u

maxinmax

maxinmax

maxinmaxin

IIII

IIu out

TK

Figure 6.3 Block diagram of proposed anti-windup PI speed controller

63

Page 79: A Stochastic Approach to Digital Control Design and Implementation

The variable-speed motor drive in Fig. 6.2 may be modeled as a first-order system

since fast current control is assumed. The speed-control system therefore is written as

JT

uJ

K Lout

Tr

mr −+−=

ωτ

ω 1 (6.1)

where, referring to Fig. 6.3, BJ

m =τ . From Fig. 6.3 the output of the PI controller uin is

represented by

η+= eKu pin (6.2)

By applying the method introduced in [33], a characterization of the domain for the

attraction of Proposed Scheme I can be derived as following. First, recognize that

. It follows using (6.2) that rre ωω −= *

JTu

JKee L

rm

outT

m

++−−=⋅

*11 ωττ

(6.3)

From Table. 4.1, , and hence u 0.

=η Cpin eK η+= , where Cη is a constant and is

the value of the integral state η when saturation occurs. Now, consider the Lyapunov

function,

2

21)( eeV = (6.4)

Then, in order to ensure stability, ⋅

V must be satisfied. Differentiating (6.5)

yields,

0)( ≤e

++−−=++−−==

JTeeuI

JKee

JTeeu

JKeeeeV L

rm

inT

m

Lr

mout

T

m

*max

2*2.. 1)sgn(111)( ω

ττω

ττ (6.6)

Hence, it is desired that

01)sgn(1)( *max ≤

+++−−=

JT

eKIJ

KeeeV L

rm

CpT

m

ωτ

ητ

(6.7)

Assume eK pC <<η . Then (6.7) is satisfied if

64

Page 80: A Stochastic Approach to Digital Control Design and Implementation

max*

max111 I

JKe

JTI

JKe T

m

Lr

m

T

m

+≤+≤−−τ

ωττ

(6.8)

Equation (6.8) is valid only when the system is saturated. To characterize e when

the system is saturated, one can first characterize e when the system is linear (unsaturated);

all other values of e will then correspond to saturation. If the system is linear, then

pppp K

Ie

KI

IeKeKu)()(

maxmaxmaxin

ηηηη

−≤≤

+−=>≤+=>+= (6.9)

and hence in the saturation region,

p

C

KI

e)( max η−

> and p

C

KI

e)( max η+

−< (6.10)

where the constant integral state Cη is determined by the load torque and time instant

when saturation occurs.

The final characterization for the domain of attraction, obtained using (6.8) and

(6.10), is

maxmax*

maxmax )(11)(1 I

JK

KI

JT

IJ

KK

I T

p

C

m

Lr

m

T

p

C

m

+

−⋅≤+≤−

+−

ητ

ωτ

ητ

(6.11)

6.3 Stochastic estimator design

The feedback signals including torque, flux and unit vectors are important for

motor drives and normally required by the control systems. The processing and estimation

of these signals are complex and occupy large digital resources of the digital controller.

This problem either prevents dedicated control algorithms for high performance or results

in high cost. In this section, stochastic arithmetic principles are introduced to solve this

problem and two different approaches are presented. The first method replaces the

traditional math operators with stochastic operators to save digital resources. The second

method applies stochastic neural network to estimate these feedback signals and has the

advantages of fast parallel computation, immunity from input harmonic ripple and fault

tolerance characteristics due to distributed neural network intelligence [37].

65

Page 81: A Stochastic Approach to Digital Control Design and Implementation

6.3.1 Torque and flux estimation using stochastic arithmetic

The estimation of torque and flux is normally obtained from the induction motor’s

voltage and current signals. (6.12) shows the traditional mathematic method for the torque

and flux estimation from the voltage and current information.

),(3/13/2 cbasds vvvv +−= )(3/1 cb

sqs vvv −=

),(3/13/2 cbasds iiii +−= )(3/1 cb

sqs ii −=i

,)(∫ ⋅−= dtiRv sdss

sds

sdsψ ∫ ⋅−= dtiRv s

qsssqs

sqs )(ψ

)(4/3 sds

sqs

sqs

sdse iiPT ⋅−⋅= ψψ (6.12)

where , and are the phase voltages of the induction motor. i , i and are the

phase currents of the motor. Stationary frame d-q transformation is applied to the formula.

and are the flux components of the induction machine. T is the electric torque of

the induction machine.

av bv

sqs

cv a b ci

sdsψ ψ e

Compared to the current DSP-based torque and flux estimators [46-48], the

proposed stochastic approach provides a low cost, high performance and high flexibility

solution. The stochastic arithmetic has a number of benefits compared with the normal

arithmetic operations and can be implemented using FPGA devices easily. The stochastic

estimator and controller will save computation hardware significantly with some extent of

fault tolerance. The hardware implementation is simple especially for complicated

applications and the performance is stable and robust. In addition, the designer could make

the trade off between computation time and accuracy without hardware changes. The

accuracy of the results depends on the clock rate of FPGA device. The stochastic

implementation of torque and flux estimation using FPGA provides a low cost, faster and

easier approach for induction machines to derive the feedback signals for high performance

control and monitoring purpose.

Based on the stochastic arithmetic introduced in Chapter 3, the algorithm of the

stochastic flux and torque estimation is shown in Fig 6.4. The idea is to integrate the

stochastic arithmetic to (6.12) and thus simplify the digital circuits in the implementation

via FPGA. First, the currents and voltages are converted into the stationary d-q frame; and

66

Page 82: A Stochastic Approach to Digital Control Design and Implementation

ADCADCADC

ADCADCADC

)(31

32

cbasds vvvv +−=

)(3

1cb

sqs vvv −=

)(31

32

cbasds iiii +−=

)(3

1cb

sqs iii −=

sdsv

sqsv

s

dsisqsi

Stochasticintegrator

sdsψ

sqsψ

gain

Randomization Randomization

Stochastic arithmetic)(

43 s

dssqs

sqs

sds iiP

⋅−⋅ ψψ

Derandomization

eT

av

cvbv

aibici

)(31

32

cbasds vvvv +−=

)(3

1cb

sqs vvv −=

)(31

32

cbasds iiii +−=

)(3

1cb

sqs iii −=

sdsv

sqsv

sdsi

sqsi Stochastic

integrator

sdsψ

sqsψ

Adjust

Adjustgain

)(4

3 sds

sqs

sqs

sds iiP

⋅−⋅ ψψ

eT

av

cvbv

aibici

Stochasticarithmetic

sqss

sds iRv ⋅− s

qsssds iRv ⋅−

sdss

sqs iRv ⋅− s

dsssqs iRv ⋅−

sdsψ sds

sqsψ sqsψ

Stochastic fluxestimator

Stochastic Torqueestimator

Figure 6.4 The simplified block diagram of stochastic based torque and flux estimator

67

Page 83: A Stochastic Approach to Digital Control Design and Implementation

these signals are then normalized and transformed to the stochastic representation.

Stochastic signed representation is employed in which the input data are limited to the

range of [-1,1], and the relation between input x and the probability p is . With

the one-bus stochastic pulse streams as the inputs, the stochastic subtraction and

integration with simple architectures replace the normal subtraction and integration. The

integration result, which has been automatically converted to the real number, is the output

of flux with proper gain sets according to (6.12). The torque estimation is similar. The

mixed circuit structure of stochastic multiplication and subtraction is applied. A

derandomzation block, which transforms the stochastic pulse stream to the real number, is

required for the torque estimation that is different from the flux estimation.

12 −⋅= pX

Fig. 6.5 shows the digital implementation of the stochastic flux estimator. K1 is the

normalized gain to set the data to the range of [-1,1]. The randomization is achieved with

one pseudo random generator and one n-bit comparator. A gain of 0.5 is set for the signed

representation and it can be implemented by a shift operation in the FPGA device. The

logic circuits of stochastic signed subtraction and integration are also shown in Fig 6.5. K2

is the adjust gain which is corresponding to the input gain K1 and the clock rate of the

computation.

The same randomization structure is adopted in the digital implementation of the

stochastic torque estimator (Fig 6.6). The stochastic signed multiplication can be achieved

with an XNOR gate and the stochastic signed subtraction is consisted of two AND gates,

one OR gate and one NOT gate. The stochastic signed multiplication approach is proved as

the followings:

Let the two input variables be x and y. The output of multiplication is z. In the

signed representation,

12 −= xpx

12 −= ypy

12 −= zpz (6.13)

Then the reverse of (6.13) is the following:

68

Page 84: A Stochastic Approach to Digital Control Design and Implementation

OutputData

OutputData

k1

k1

k1

k1sR

sR

PseudoRandomStreamEngine

++

1

Normalizedgain

Normalizedgain

Normalizedgain

Normalizedgain

++

++

++

ComparatorA

B

A>B

ComparatorA

B

A>B

ComparatorA

B

A>B

ComparatorA

B

A>B

Comparator

A

B

A>B0.5

D-flip-fllop

D-flip-flop

D-flip-flop

D-flip-flop

0.5

0.5

0.5

0.51Z

1Z

1Z

Up/DownCounter

Up

Down

Up

Dow n

K2

K2

1Z

Adjustablegain

Adjustablegain

sdsv

sdsis

dsi

sqsi

s

qs

v

sqsψ

sdsψ

Up/DownCounter

InputData

InputData

AdjustData

to[-1,1

AdjustData

to[-1,1

RandomizationRandomization

21 input

out

XP

+=

Stochasticsigned

subtraction

Stochasticsigned

subtractionStochasticIntegration

StochasticIntegration Recover

gain

Recovergain

Figure 6.5 Digital implementation of stochastic flux estimator

69

Page 85: A Stochastic Approach to Digital Control Design and Implementation

0.5

k1

k1 sR

PseudoRandomStreamEngine

1

Normalized gain

Comparator

A

B

A>B

Comparator

A

B

A>B

Comparator

A

B

A>B

ComparatorA

BA>B

A

B

A>B

D-flip-fllop

D-flip-flop

D-flip-flop

D-flip-flop

1/2

1Z

1Z

1Z

sqsi

Comparator

Normalized gain

Normalized gain

Normalized gain

++

++

++

++1Z

k2

1/2

1/2

k2 sR

sdsi

1/2

sdsψ

s

qsψ

K2

Adjustablegain

eTN-bitcounter

reset

Clock

OutputData

OutputData

InputData

InputData

AdjustData

to[-1,1

AdjustData

to[-1,1

RandomizationRandomization

21 input

out

XP

+=

Stochasticsigned

Multiplication

Stochasticsigned

Multiplication

Stochasticsigned

subtraction

Stochasticsigned

subtraction

DerandomizationDerandomization

sample differencebetween gain k2 and

N-bit counter

Figure 6.6 Digital implementation of stochastic torque estimator

70

Page 86: A Stochastic Approach to Digital Control Design and Implementation

21+

=xpx

21+

=yp y

21+

=zpz (6.14)

The output of An XNOR gate states:

21

41

41)1()1( +

=+−−

++++

=−⋅−+⋅==xyyxxyyxxypppppp yxyxXNORz (6.15)

Compare (6.14) and (6.15), it is obvious that: yxz ⋅=

The stochastic signed multiplication and subtraction are connected in serial to

construct the equation of torque in (6.12). An N-bit counter is used for the

derandomization to calculate the probability of the bit '1' that appears in the stochastic

random pulses.

Generally, the stochastic arithmetic can reduce logic gates after randomization

since all inputs become one-bit stream and only one or two buses are needed for the

calculation, therefore, only limited logic gates are required for the mathematic calculations.

The random engine shown in Fig. 6.5 and Fig. 6.6 can be constructed using D-flip-flops.

6.3.2 stochastic neural network estimator

This section introduces the principle of estimation of torque, flux and unit vector.

In a vector-controlled induction motor drive system, the unit vector signals are also require

to be realized in real time for the DQ rotating frame. The unit vector could be calculated by

the following equations:

),(3/13/2 cbasds vvvv +−= )(3/1 cb

sqs vvv −=

),(3/13/2 cbasds iiii +−= )(3/1 cb

sqs ii −=i

,)(∫ ⋅−= dtiRv sdss

sds

sdsψ ∫ ⋅−= dtiRv s

qsssqs

sqs )(ψ

,sqsls

sqs

sqm iL ⋅−=ψψ s

dslssds

sdm iL ⋅−=ψψ

71

Page 87: A Stochastic Approach to Digital Control Design and Implementation

,sqslr

sqm

m

rsqr iL

LL

⋅−= ψψ sdslr

sdm

m

rsdr iL

LL

⋅−= ψψ

)(4/3 sds

sqs

sqs

sdse iiPT ⋅−⋅= ψψ

22 )()( sdr

sqrr ψψψ +=

,cosr

sdr

e ψψ

θ = r

sqr

e ψψ

θ =sin (6.16)

where , and are the phase voltages of the induction motor, i , i and are the

phase currents of the motor, v and are the stator voltages in d-q stationary frame,

and are the stator flux linkage in d-q stationary frame,

av

sqs

bv cv a b ci

sds

sqsv s

dsψ

ψ sdmψ and s

qmψ are the airgap

flux linkage in d-q stationary frame, sdrψ and s

qrψ are the rotor flux linkage in d-q

stationary frame, T is the electric torque of the induction machine and e eθcos and eθsin

are the unit vector.

Figure 6.7 presents a control structure for the digital realization of a field-oriented

induction motor. A stochastic neural network estimator is implemented to estimate the

feedback signals of the induction motor. They are integrated with traditional control blocks

including dq- transformation and a three-phase PWM generator to implement a variable

speed control.

The structure of the neural network estimation of induction motor's feedback

signals is derived based on [49] and shown in Fig. 6.8. The training of neural network is

using the back propagation method. The developed neural network estimator includes two

independent neural networks. The first one that estimates Ψ and contains two-layers

with three neurons in the first layer and two neurons in the second layer. The second neural

network applies the results from the first one and estimates electric torque, total flux,

sqr

sdrΨ

eθcos

and eθsin . The stochastic neural network estimator is developed in Fig. 6.9. The stochastic

multiplication and stochastic tansig (Stan) activation function are introduced to replace the

traditional digital signed multiplication and look-up table based tansig activation function.

72

Page 88: A Stochastic Approach to Digital Control Design and Implementation

+

-

∗rω ∗

qsi ∗qsv

eθcos

eθsin

av

bvcv

StochasticNeural

NetworkEstimator

qsi

PWMGate SignalGeneration

φφ 32 ⇒d - qe e

as-bs-cs

StochasticIntegration

sdsi

sdsΨ

sqsΨ

eTsqsi

d - qs s

e ed - q

sdsi

sqsi

dsi

qsi

PIPICurrent ControllerFlux Controller

+ -+-

rΨ∗Ψr

∗dsi ∗

dsvdsi

+-

PI

External SpeedCommand

sdsv

sqsvsdsisqsi

SpeedController

Figure 6.7 Proposed stochastic neural network estimator for field-oriented induction motor drive

73

Page 89: A Stochastic Approach to Digital Control Design and Implementation

Tansig

Activation function

Tansig

Activation function

Tansig

Activation functionPurelin

Activation function

W11

B11

W12

B12

sdsΨ

sqsΨ

sqsi

sdsi

Purelin

Activation function sqrΨ

sdrΨ

Tansig

Activation function

Tansig

Activation function

Tansig

Activation function

Tansig

Activation function

Tansig

Activation function

Tansig

Activation function

Tansig

Activation function

Purelin

Activation function

B22

Purelin

Activation function

Purelin

Activation function

Purelin

Activation function eθcos

eθsin

eT

B21

W22W21

Figure 6.8 Conventional approach of neural network estimator of the induction motor's feedback signals

74

Page 90: A Stochastic Approach to Digital Control Design and Implementation

R

R

B11

B12

sqrΨ

sdrΨ

B21

sdsΨ

sqsΨ

sqsi

sdsi

R

R

Stan

Stan

Stan

RW11

Dera

ndom

izatio

n

R

R

R

Purelin

Activation function

Purelin

Activation function

RW12

Der

ando

miza

tion

R

R

RW21

+

Dera

ndom

izat

ion

Stan

Stan

Stan

R

R

R

Stan

Stan

Stan

R

R

R

StanR

+

Der

ando

miza

tion

RW22

Purelin

Activation function

B22

Purelin

Activation function

Purelin

Activation function

Purelin

Activation function eθcos

eθsin

eT

R denotes randomization process denotes stochastic signed multiplication

Stan denotes stochastic approach of tansig

Figure 6.9 Proposed stochastic ANN approach of neural network estimator of the induction motor's feedback signals

75

Page 91: A Stochastic Approach to Digital Control Design and Implementation

6.4 system design

Figure 6.10 presents a new control structure for the digital realization of a field-

oriented induction motor. The stochastic arithmetic is applied to the shaded control blocks

for efficient hardware implementation. A stochastic neural network estimator is

implemented to estimate the feedback signals of the induction motor. A novel stochastic PI

controller with anti-windup function is developed as a high performance speed controller

as descried in previous sections. Stochastic digital integrators are introduced to replace the

traditional digital integrators. They are integrated with traditional control blocks including

dq- transformation and a three-phase PWM generator to implement a variable speed

control.

The proposed control algorithms including the stochastic anti-windup PI control

and stochastic neural network estimation schemes were implemented by a Spartan-3 FPGA,

XC3S400, from Xilinx, Inc. The XC3S400 has around 400,000 logic gates, 896

configurable logic blocks (CLBs) and 264 input/output blocks (IOBs). The control IC

design is developed using ISE Foundation 7.1, from Xilinx, Inc. ISE supports VHDL

programming and schematic entry editor with design implementation software. Its timing

simulation software also provides an easy and fast solution for circuit problems during the

early design stage. The hardware realization is shown in Fig. 6.11.

The implementation consists of four circuit modules: a vector control loop,

feedback signal estimation, coordinator transformation and PWM control. In the vector

control loop, the speed and flux are decoupled and each has a cascaded control loop. The

flux controller and two current controllers use the same stochastic PI model with different

PI parameters. The stochastic anti-windup PI model is applied to improve the speed

performance. The estimation module generates signals including flux, torque and unit

vector. A stochastic integrator and stochastic neural network estimator are employed to

save digital resources. A pseudo random engine using linear feedback shift registers (LFSR)

is built to provide a uniformed random stream for these stochastic modules. All these five

stochastic models share one random engine.

76

Page 92: A Stochastic Approach to Digital Control Design and Implementation

+

-

∗rω ∗

qsi ∗qsv

eθcos

eθsin

av

bvcv

StochasticNeural

NetworkEstimator

qsi

PWMGate SignalGenerationStochastic

Anti-windupPI Controller

maxImaxI

φφ 32 ⇒d - qe e

as-bs-cs

StochasticIntegration

sdsi

sdsΨ

sqsΨ

eTsqsi

d - qs s

e ed - q

sdsi

sqsi

dsi

qsi

PIPICurrent ControllerFlux Controller

+-+-

rΨ∗Ψr

∗dsi ∗

dsvdsi

+-

PI

External SpeedCommand

sdsv

sqsvsdsisqsi

Figure 6.10 Proposed control structure for field-oriented induction motor drive applying stochastic theory

77

Page 93: A Stochastic Approach to Digital Control Design and Implementation

FLUXCOMMAN

D REGSATURATORADDER SATURATORADDER

SYNCHRONOUSLYROTATING FRAME TOSTATIONARY FRAMETRANSFORMATION

3-PHASECURRENT

REG

3-PHASEVOLTAGE

REG

3 PHASESTO

2 PHASESTRANSFORMATION

MUTIPLITER

STATORRESISTANCE

REG

ADDERSTOCHASTICINTEGRATOR

STOCHASTICNEURAL

NETWORKESTIMATOR

STOCHASTIC ANTI -WINDUPPI CONTROLLER WITH SATURATORADDER

SPEEDCOMMAND

REGSATURATORADDER

LFSR PSEUDO RANDOM ENGINE

2 PHASESTO

3 PHASESTRANSFORMATION

SINUSOIDALPWM

GENERATOR

CURRENTREG

( STATIONARYFRAME )

VOLTAGEREG

( STATIONARYFRAME )

STATORFLUX REG

(STATIONARYFRAME )

FLUXREG

UNITVECTOR

REG

TORQUEREG

SPEEDREG

PI PARAMETERSREG 1

CURRENTLIMITATION

REG

PI PARAMETERSREG 2

VOLTAGELIMITATION

REG

PI PARAMETERSREG3

PI PARAMETERSREG4

SWITCHINGFREQUENCYCONSTANT

REG

PULSECOUNTER

DEADTIMEREG

UNITVECTOR

REG

FEED- FORWARDNEURAL NETWORK

PARAMETERSREG

STOCHASTICINTEGRATOR

MUTIPLITER

ADDER

Current Controller

STOCHASTICINTEGRATOR

MUTIPLITER

ADDER

Flux Controller

STOCHASTICINTEGRATOR

MUTIPLITER

ADDER

Current Controller

VECTOR CONTROL LOOPCOORDINATOR

TRANSFORMATIONPWM

CONTROL

FEEDBACK SIGNALESTIMATION

STATIONARY FRAME TO SYNCHRONOUSLY

ROTATING FRAMETRANSFORMATION

UNITVECTOR

REG

Figure 6.11 The hardware realization of proposed control algorithms using FPGA XC3S400

78

Page 94: A Stochastic Approach to Digital Control Design and Implementation

+-

∗rω ∗qsi Current

Controller

Flux and current

Controller ∗qsv

∗dsv

eθcoseθsin

av

bv

cv

FPGA Spartan -3 Board (XCS 200)

M

6-bit gate control signal

Position encoder

Voltages

CurrentsADC

φφ 32 ⇒

d - qs s

as-bs-cs

sdsv

sqsv sdsi

sqsi

16b

16b

16b

16 b16 b

UnitVector

d - qe e

d - qs s

qsidsi

∗Ψr

qsi

dsi

RTDS

PWMGate SignalGenerationStochastic

Anti-WindupPI Controller

maxImaxI

φφ 32 ⇒d - qe e

as-bs-cs

Figure 6.12 Hardware-in-the loop test setup using FPGA and RTDS

79

Page 95: A Stochastic Approach to Digital Control Design and Implementation

6.5 Verification

6.5.1 Hardware in to loop verification for stochastic speed controller

The proposed anti-windup PI speed controllers were applied to the speed control of

an induction motor drive using the hardware-in-the-loop test bench shown in Fig. 6.12.

The motor parameters are the presented in Appendix. The power components were

simulated using real time digital simulation (RTDS), while the proposed controller was

implemented with FPGA. The parameters of each PI controller were tuned using try and

see method to obtain a small settling time and a small maximum overshoot.

Fig. 6.13 shows the experimental results of the three proposed anti-windup PI

speed controllers and the conventional PI controller without anti-windup, respectively. A

step command of 1000 rpm was given and then reduced to 250 rpm. The developed torque

current command was limited to 2.21A. The proportional parameter Kp is 0.0132 and the

integration parameter Ki is 0.105. As shown in Fig. 6.13 (a), the lack of an anti-windup

mechanism led to the continuous increase of the integral output as long as the current

command was saturated, which resulted in a large overshoot (0.071) and a long settling

time (0.621s). As shown in Figs. 6.13 (b), 6.13 (c) and 6.13 (d), the proposed anti-windup

PI control algorithms were used to hold or reduce the integral state when saturation

occurred. The control parameters C, C1 and C2 were chosen to be 215, 215 and 214. The

results were that the controlled performances of the three proposed algorithms yielded

improved performance. In particular, the maximum overshoot of the three proposed

methods were, respectively, 3.9%, 3.3% and 2.9% while the settling times were,

respectively, 0.107s, 0.133s and 0.141s. From these results, none of these methods had

both the lowest maximum overshoot and the lowest settling time. Hence, it is not possible

to say that one method was clearly better than the others.

Fig. 6.14 shows that the performance of the proposed anti-windup PI controller I is

comparable to that of the traditional anti-windup PI controller shown in Fig. 4.5 (a).

Therefore the proposed algorithms maintain the high control performance of the

conventional anti-windup methods.

80

Page 96: A Stochastic Approach to Digital Control Design and Implementation

(a) Traditional PI controller without anti-windup technique

(c) Stochastic anti-windup PI controller II

(b) Stochastic anti-windup PI controller I

(d) Stochastic anti-windup PI controller III

250

1000

750

500

1250

0

Spee

d[rp

m]

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

Time [sec]

250

1000

750

500

1250

0

Spee

d[rp

m]

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

Time [sec]

250

1000

750

500

1250

0Sp

eed[

rpm

]0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

Time [sec]

250

1000

750

500

1250

0

Spee

d[rp

m]

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

Time [sec]

wr_commandwr

wr_commandwr

wr_commandwr

wr_command

wr

Figure 6.13 HIL experimental results of step speed response of proposed controller and

conventional controllers

Tr=0.107s

(a) Proposed stochastic anti-windup PI controller I (Fig. 3(d)) (b) conditional anti-windup PI controller (Fig. 3(a))

0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8

Time [sec] Time [sec]0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8

250

1000

750

500

1250

0

Spee

d[rp

m]

250

1000

750

500

1250

0

Spee

d[rp

m]

Tr=0.121sMaximum Overshot3.9% Maximum Overshot

1.5%

Figure 6.14 HIL experimental results of performance comparison of proposed anti-windup

controller and conventional anti-windup controllers

Table. 6.1 illustrates the digital resources used by the conventional and proposed

anti-windup PI controllers for the variable-speed motor drive applications The applied

81

Page 97: A Stochastic Approach to Digital Control Design and Implementation

FPGA chip is Spartan3 xc3s200 (Xilinx) and the used hardware language is VHDL

language (ISE 7.01). It shows that the proposed methods I, II and III, respectively, save

logic cells by 23.1%, 29.9% and 31.0%.

Table 6.1 Comparison of digital resources used by conventional and proposed anti-

windup PI controllers Spartan3 xc3s200

Conventional Anti-windup PI Controllers

Proposed Stochastic Anti-windup PI Controllers

Types Used Number of Slices Types Used Number of Slices

Condition 100 I 69 Back-

calculation 107 II 75

Hybrid 121 III 93

6.5.2 Verification of estimators

6.5.2.1 Simulation and Experimental Results of proposed torque and flux estimator

6.5.2.1.1 Simulation diagram and results using Matlab/Simulink

The proposed stochastic based torque and flux estimator is first verified using

Matlab/Simulink. The parameters used in the Simulink model are the same as shown in the

Appendix. Fig. 6.15 presents the Matlab/Simlink model for the induction motor field-

oriented control scheme with stochastic estimator. The top part includes the math model of

an induction motor and its related vector-control algorithm. The details of the stochastic

based flux and torque estimator is presented in the down part of Fig. 6.15.

The Signal Processing Blockset in the Simulink is used to build the logic gates

circuits as illustrated in Fig 6.5 and Fig 6.6. The simulation results of the stochastic

stationary flux estimation and the traditional method are compared (Fig 6.16). The X-axis

represents the d part component of the flux and the Y-axis represents the q part component

of the flux. In a period, the two components make a circle as shown in the figure. The

results of the two methods are similar, however, the stochastic-FPGA has the advantages

of low cost and easy implementation.

82

Page 98: A Stochastic Approach to Digital Control Design and Implementation

wr*control

Command

torquecompare

flux_q

flux_d

van*

vbn*

vcn*

cos(wet)

sin(wet)

vds

vqs

abc-Syn

TL

Ian*

Ibn*

Icn*

Idss

Iqss

Subsystem3

van*

vbn*

vcn*

vdss

vqss

Subsystem2

vdss

idss

vqss

iqss

fdss

fqss

te

Subsystem

Vao*

Vbo*

Vco*

Van

Vbn

Vcn

PWM converter

vqs

vds

we

Tl

out_iqs

out_ids

out_Te

out_wr

out_idr

out_iqr

Induction Motor d-q- model

Id

wr_cmd

Iq

wr

vao*

vbo*

vco*

cos(theta)

sin(theta)

we

theta

Current and wrcontroller

iqs

ids

cos

sin

ia

ib

ic

2_3

3te

2fqss

1fdss

In1

In2

Out1

signedadd

In1

In2

Out1

signed_sub1

In1

In2

Out1

signed_sub

In1Out1

random8

In1Out1

random7

In1Out1

random6

In1Out1

random5

In1Out1

random4

In1Out1

random3

In1Out1

random2

In1Out1

random1

In1Out2

observer

In1Out1

integral1

In1Out1

integralIn1Out1

deran

NOT

NOT1

In1

In2

Out1

Multiplication1

In1

In2

Out1

Multiplication2

Gain9

-K-

Gain8

Rs

Gain7

-K-

Gain6

-K-

Gain5

Rs

Gain4

-K-

Gain3

-K-

Gain2

2

Gain10

-K-

Gain1

4iqss

3vqss

2idss

1vdss

Figure 6.15 Matlab/Simulink Model for the field-oriented control motor and estimator

Fig 6.18 presents the simulation results of the torque estimation with different step

time, and Fig. 6.17 presents the maximum estimation error with different step time. It can

be seen that the performance of the proposed method is improved at higher clock rate. This

is due to the statistical theory: more samples make the result more accurate. Therefore, as

the clock rate increases, the estimated probability comes to be closer to the real probability

value and thus reduces the error. From the simulation, when the clock reaches 100MHZ

83

Page 99: A Stochastic Approach to Digital Control Design and Implementation

-0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Flux ds

FLUX

qs

FLUX Estimation

data1data2

DSP CalculatedFLUX

Stochastic CalculatedFlux

Figure 6.16 Flux estimation and comparison vs. the traditional method

10-8

10-7

10-60.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

0.22

time (s)

aver

age

erro

r (N

*m)

Figure 6.17 The torque estimation error versus FPGA clock rate

84

Page 100: A Stochastic Approach to Digital Control Design and Implementation

Stochastic EstimatedTorque

DSP EstimatedTorque

Step Time t =610−

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-3

-2

-1

0

1

2

3

Time (s)

Torq

ue(N

*m)

Stochastic EstimatedTorque

DSP EstimatedTorque

Step Time t =710 −

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-3

-2

-1

0

1

2

3

Time (s)

Torq

ue(N

*m)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-3

-2

-1

0

1

2

3

Time (s)

Torq

ue(N

*m)

Stochastic EstimatedTorque

DSP EstimatedTorque

Step Time t =810 −

(a)

(b)

(c)

Figure 6.18 Comparison between stochastic and DSP torque estimation with different clock steps

clock (step time 10 ), the estimation performance should satisfy the industry requirements.

In addition, the commercialized FPGA chips today normally support several hundreds

MHZ clock rate.

8

85

Page 101: A Stochastic Approach to Digital Control Design and Implementation

6.5.2.1.2 Experiment setup and results

The experimental setup is shown in Fig. 6.19. The PC has been installed dSPACE

to achieve vector control for the machine. The FPGA board EPF10K70RC240-4

(ALTERA) is used to implement torque and flux estimation. The results is plotted in PC

through I/O module.

PC (dSPACE1103)

Inverter Module 1 hp Induction Machine Sensors

FPGA BoardI/O Module

Figure 6.19 The experimental setup

The stochastic arithmetic is implemented using the FPGA board. VHDL is

employed to implement the process of flux and torque estimation showed in Fig. 6.5 and

Fig. 6.6 by generating random number series, performing stochastic arithmetic and finally

transforming the stochastic calculation result back from the normal data. Fig. 6.20 shows

the simulation results of the flux estimation from maxplusII using VHDL. rn1, rn2 and rn3 are

the three pseudo random engines. The random engine is normally designed via pseudo

random number theory that is able to generate similar random numbers. These random

streams perform like true random number with a relatively long period and could be

recognized as the same statistic characteristics with the true random numbers in normal

86

Page 102: A Stochastic Approach to Digital Control Design and Implementation

Figure 6.20 Maxplus II VHDL simulation of dtiRv sdss

sds

sds )(∫ ⋅−=ψ

dt)

and

iRv sqss

sqs

sqs (∫ ⋅−=ψ

conditions [7]. Data_ina and data_inb represent two normalized voltage and current signals.

Data_o is the output from the stochastic integrator. Data of Fig. 6.20 is the one bit

stochastic output of the calculation. b1 is the stochastic representation of voltage signal

while b2 is the stochastic representation of current signal. b3 is the stochastic representation

of value 0.5 which is used for the addition and subtraction calculation. The reset is the

control signal that starts the calculation.

The results from the FPGA device are plotted in the PC through I/O module. The

comparison between FPGA (using VHDL and stochastic arithmetic) and DSP (using

digital signal processor and traditional method) is shown in Fig. 6.21. The results are

similar, however the VHDL provides more advantages in the design process and design

cost. The accuracy of the VHDL results depends on the bits representing the incoming

data. 8-bits is used in current stage. In the future, it may be replaced by 12-bits or 16-bits

data representations, the results therefore can be further improved.

87

Page 103: A Stochastic Approach to Digital Control Design and Implementation

-0.4 -0.2 0 0.2 0.4 0.6

-0.4

-0.2

0

0.2

0.4

0.6

Flux ds

Flux

qs

Flux Estimation

data 1data 2

DSP CalculatedFlux

Stochastic CalculatedFlux

(a) Flux estimation

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4-1

-0.5

0

0.5

1

1.5

2

Time (s)

Torq

ue (N

* m

) Stochastic Estimated Torque

DSP EstimatedTorque

(b) Torque estimation

Figure 6.21 Experimental result of the stochastic-FPGA (VHDL coded) and DSP

88

Page 104: A Stochastic Approach to Digital Control Design and Implementation

6.5.2.2 Verification of stochastic neural network estimator

After the control was implemented by FPGA, a hardware-in-the-loop (HIL) test

setup was built in the laboratory to test the control performance. In HIL test setup, the

developed FPGA controller is physically integrated with an induction motor drive

simulated using the RTDS simulator, to test the control performance in real time. The

advantages of using HIL platform for the proposed controller are:

• Reducing development time, as the controller is designed and tested at the same

time.

• Developing and testing of the controller in the absence of a real plant to avoid the

unnecessary losses resulted by any bugs in the control.

• Realistic selection of sampling time and integration time step by interacted with the

simulated system.

The use of HIL technologies to design and test control systems is growing recently

[50-54]. Currently there are several kinds of real-time simulation platforms [55-60] in

academia and industry. The RTDS is selected in this research due to its super computation

capability and availability in Florida State University. The RTDS is a commercial digital

power system simulator capable of continuous real time operation. It performs

electromagnetic transient power system simulations with a typical time-step of 50

microseconds utilizing a combination of custom software and advanced DSP hardware

[58]. Currently, 14 RTDS racks are installed at center for advanced power systems (CAPS)

which can simulate any major electrical power system component including power

electronics and complex control systems. More than 300 digital and analog I/O channels

provide sufficient capability to incorporate external hardware into the real-time simulation.

The test setup is shown in Fig. 6.22. The voltage, current and speed signals of an

one hp induction machine (see Appendix) are generated by RTDS and sent to the FPGA

board through A/D converters. The FPGA board provides gating signals to control the

inverter. Since RTDS runs at time step of 50 us, it is impossible to identify the PWM

gating signals that has a switching frequency higher than 1 kHz. A GPC card is installed

between RTDS and FPGA to allow PWM signals up to 50 kHz. The inverter is simulated

89

Page 105: A Stochastic Approach to Digital Control Design and Implementation

M

DCSo

urce

Small Time Step Model

ThreePhaseCurrent

ThreePhase

Voltage

A/D

RotorSpeed

A/D

FeedbackSignal

Estimation

VectorControl Loop

PWMControl

DQTransformation

FPGA Spartan-3 Board (XC3S400)

GPCCard

GatingSignals

RTDSLarge Time Step Model

Figure 6.22 Hardware-in-the-loop test setup using FPGA and RTDS

90

Page 106: A Stochastic Approach to Digital Control Design and Implementation

in RTDS with small time step of 2 us. The motor runs at 50 us time step and the FPGA

uses a 50 MHz oscillator.

Fig. 6.23 presents the torque estimation performance of proposed stochastic neural

network estimator obtained from HIL platform. Fig. 6.24 presents the flux estimation

performance of proposed stochastic neural network estimator obtained from HIL platform.

Fig. 6.25 and Fig. 6.26 present the unit vector estimation performance of proposed

stochastic neural network estimator obtained from HIL platform. Comparing with the

actual feedback signals, the estimated torque, flux, cosine wave and sine wave follow the

desired value with acceptable errors. The developed torque current command is limited to

2.21A.

6.6 Conclusion

An FPGA-based control IC for the field-oriented control of an induction motor

drive has been proposed in this chapter. The most important difference from previous

proposed motor drive control ICs is that it is based on stochastic arithmetic to implement

neural network algorithm and digital PI algorithm with anti-windup function. These

advanced algorithms need much silicon area and are normally hard to be achieved in the

motor control IC design. The main advantage of the proposed method is that the required

digital resources for these algorithms are significantly reduced and the whole control

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-0.5

0

0.5

1

1.5

2

time (s)

torq

ue(N

m)

Stochastic neural networkestimated TorqueActual Torque

Figure 6.23 HIL results of NN estimator performance for the induction motor’s torque

91

Page 107: A Stochastic Approach to Digital Control Design and Implementation

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50

0.2

0.4

0.6

0.8

time (s)

flux(

Wb)

Stochastic neural networkestimated Flux

Actual Flux

Figure 6.24 HIL results of NN estimator performance for the induction motor’s flux

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-1

-0.5

0

0.5

1

1.5

time (s)

cosin

e

Stochastic neural networkestimated ( )eθcos

Actual ( )eθcos

Figure 6.25 HIL results of NN estimator performance of unit vector: cosine wave

92

Page 108: A Stochastic Approach to Digital Control Design and Implementation

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-1

-0.5

0

0.5

1

1.5

time (s)

sine

Stochastic neural networkestimated

Actual

( )eθsin

( )eθsin

Figure 6.26 HIL results of NN estimator performance of unit vector: sine wave

algorithm can be implemented into a low complexity inexpensive FPGA chip. This

approach simultaneously exploits the high-speed of hardware implemented complex

algorithms and the capabilities of traditional control algorithms. The proposed control IC is

verified using an FPGA XC3S400. Due to the advantages of debugging, design period and

real time testing, a hardware-in-the-loop (HIL) test platform using Real Time Digital

Simulator (RTDS) is built in the laboratory and the HIL experimental results show that the

proposed FPGA-based control IC can achieve the high performance of adjustable speed

induction motor drives. Given that a low-cost and high-performance implementation can

be achieved, it is believed that such control IC will be extended to many other industry

applications involving complex algorithms.

93

Page 109: A Stochastic Approach to Digital Control Design and Implementation

CHAPTER 7

STOCHASTIC NEURAL NETWORK WIND SPEED

ESTIMATOR

The proposed stochastic neural network controller presents a low-cost and high-

performance hardware implementation of neural network applications. Besides the motor

drive controller, this proposed neural network control Integrated Circuits (IC) could also be

extended to many other industry applications involving neural network algorithms. This

chapter will present another example of this stochastic neural network structure that works

as a wind speed estimator for a variable speed wind turbine system.

7.1 Introduction of sensorless small wind turbine generation systems Today, wind power has met a strong growth and becomes an important component

in the world energy market. The capital cost of small wind turbine electrical generation

systems is continuous to decrease with the improvements of manufacturing techniques and

thus the small wind turbine system becomes a very competitive nonpolluting renewable

energy source. Compared with the traditional constant rotational speed wind energy

generation system, the variable rotational speed wind energy generation system provides

higher power efficiency, has a larger wind speed range and even improves the quality of

produced electrical power. However, the control algorithms of variable speed wind turbine

systems are more complicated and thus require more powerful digital controllers.

Fig. 7.1 describes a small variable-speed wind generation system where the

maximum wind power extraction control strategy is applied. To achieve variable speed

control and maximum power output generation, the turbine rotor speed should be

controlled at maximum power coefficient point. In conventional strategies, the wind

velocity is measured to derive the demand shaft speed to control the generator speed. To

94

Page 110: A Stochastic Approach to Digital Control Design and Implementation

wind

w

Tt

Turbine

Pulse

PMSG

+

-

pulses

A

B

C

IGBT Inverter

A

B

C

+

-

DiodesRectifier

A B C

A B C

3- Phase load

PI

VbVcIbIc

wr

Power

Power

wrwr*

ANN estimator

Figure 7.1 Small Wind Turbine System

provide the adequate information of the wind velocity, many anemometers at some

distance away from and surrounding the wind turbine are required to set up. These devices

increase the cost and reduce the reliability of the overall system. Recently the mechanical

sensorless peak power tracking control method has been reported in the literature and can

be summarized into two approaches. The first one is proposed by Bhowmik [61] to use

power coefficient polynomial to estimate wind velocity. The second method has been

reported by Tan [62] and Bose [49] by applying a 2-D look-up table of power coefficient

and power-mapping method to estimate the wind velocity directly or indirectly. In the 1st

method, an iterative algorithm is employed to determine the polynomial roots of power

coefficient online. Since the polynomial of power coefficient may be derived at 7th order

[63], real-time calculation of the polynomial roots will result in complex and time-

consuming calculation, hence reducing system performance. The mapping-power

technique may occupy a lot of memory space. If the memory space is saved by reducing

the size of look-up table, the control accuracy will be affected. Another issue with power-

mapping method is only the sub-optimum solution can be achieved due to the control delay

caused by inherent slow searching mechanism.

95

Page 111: A Stochastic Approach to Digital Control Design and Implementation

In this chapter, artificial neural network (ANN) principles are applied to implement

a novel wind velocity estimator. The proposed stochastic neural network structure is also

introduced to the FPGA implementation of designed wind speed estimator. By employing

this FPGA based stochastic neural network estimator, highly precise and fast calculation

may be instantly implemented with several stored weight and bias vectors, therefore the

complicated algorithm involving the time-consuming calculation is achieved in a simple

and cheap way without losing accuracy.

7.2 Design of the ANN wind velocity estimator The operation principle of a wind turbine energy generation system and the neural

network wind speed estimation has been described in [64-65]. This section will briefly

introduce the design process of the wind speed neural network estimator.

7.2.1 Principle of sensorless small wind turbine system

The wind power generated by a wind turbine is inherently dependent on the wind

speed. The following equation gives the dependence of the power generated by the wind

turbine system. The output mechanical torque of the wind turbine and the tip speed ratio λ

is expressed as follows.

3)(21

wpm VCP λρΛ= w

rm

Vr ω

λ = (7.1)

where Pm is output mechanical power of the wind turbine, ρ is air density, Cp is the power

coefficient, Λ is wind turbine rotor swept area, Vw is wind velocity, rm is radius of the rotor,

ωr is rotor speed of the turbine and generator, and λ is called as tip speed ratio.

The power coefficient and tip speed ratio is normally featured by the manufacture

and performs as a non-linear function. Fig. 7.2 shows a typical power coefficient curve

with tip speed ratio. Based on (7.1) and Fig. 7.2, the wind turbine output power can be

derived as a function of wind velocity and turbine rotor speed as shown in Fig. 7.3. This

figure implies the rotor speed corresponding to a certain wind velocity for the maximum

output power. So the maximum mechanical power tracking control is achieved by

96

Page 112: A Stochastic Approach to Digital Control Design and Implementation

0 1 2 3 4 5 6 7 8 9 1 0-0 .0 5

0

0 .0 5

0 .1

0 .1 5

0 .2

0 .2 5

0 .3

0 .3 5

0 .4

T ip s pe ed ra tio

powe

r coe

fficie

nt C

p

Figure 7.2 Power coefficient vs speed ratio

controlling the generator rotor speed to be the optimum speed profile corresponding to the

actual wind velocity. Therefore, wind velocity must be known first.

0 10 20 30 40 50 60 70 800

5

10

15

-2000

0

2000

4000

6000

8000

10000

WindSpeed

Rotor Speed Wr (rad/s)

Win

d Tu

rbin

e Po

wer

Figure 7.3 Wind Turbine Power Curves vs rotor speed and wind velocity

97

Page 113: A Stochastic Approach to Digital Control Design and Implementation

7.2.2 Neural network estimation principle

The artificial neural networks (ANNs) are based on the model of the human brain

and contain artificial neurons. These neurons may use differentiable transfer function to

generate their output. The ANNs do not need to analyze the mathematical model of the

system and are capable of learning the desired mapping between the inputs and outputs

data of the system. The ANNs are the approximation of the transfer function of the system

and hence required full range of the data. Normally the ANNs could solve many problems

with the same architecture, as the ANNs have no relation with the system model.

A neuron contains four components: Inputs, Weighted summer and bias, Activation

Function and Outputs as shown in Fig. 7.4. The input signal X1, X2, X3 … Xn are

normally continuous signals. These signals flow through the weights and then accumulate

together. The summed signal then flows to the output through the activation function

which normally is non-linear.

Most common transfer functions the neurons uses are log-sigmoid transfer

function, tan-sigmoid transfer function and the linear transfer function. The first two

functions generate outputs between 0 and 1 as the neuron’s net input goes from negative to

positive infinity. For a multilayer network system, if the last layer has sigmoid neurons,

then the output are limited to a small range, so if a large dynamic range of output data are

required, the linear output neurons are used to get any value.

Figure 7.4 A typical structure of artificial neuron

98

Page 114: A Stochastic Approach to Digital Control Design and Implementation

WindTurbineModel

UTILITYGrid

PWMRECTIFIER

PWMINVERTER

NN BasedWind Speed

Estimator

Wind Speed Wr Power

EstimatedWind Speed

Figure 7.5 Wind turbine model with NN wind speed estimator

Feed-forward networks are the most common neural network structure and often

have one or more hidden layers of sigmoid neurons and an output layer of linear neurons

are then followed. Multiple layers of neurons with nonlinear transfer functions provide the

network the ability to learn nonlinear and linear relationships between input and output

vectors. The output will have a large range of values based on the linear output layer.

The wind speed estimation algorithm is based on formula (7.1). (7.1) is a high order

non-linear equation and so is very hard to reverse the equation to get the wind velocity

based on the rotor speed and wind turbine power. However, feed-forward neural network

algorithms are applied here to solve this problem. From Fig 7.5 that implicates the wind

turbine system, both the rotor speed W and the wind turbine power could be obtained

through the simulated system. With these two inputs, the feed-forward neural network will

provide the ability to reverse the formula (7.1) and then get the estimated wind speed.

r mP

Fig. 7.6 shows the neural network structure for the wind speed estimation. It is a

two-layer neural network. The wind rotor speed and the power are the input and the wind

speed is the target. The network uses the tan-sigmoid neurons for the first layer to perform

the non-linear part of the system and the second layer is a linear neuron which will provide

a dynamic range of output. The feedback loop will adjust the weights and biases of the

neural network to reduce the estimation error.

99

Page 115: A Stochastic Approach to Digital Control Design and Implementation

Layer 1 using Tan-sigmoid

Layer 2 using pure-line

Figure 7.6 Neural Network Structure of the wind speed estimator

7.2.3 Neural Network Training Procedure

The neural network is trained by a back-propagation training algorithm which was

first proposed by Rumelhard, Hinton and Williams in 1986. A two-layer neural network

structure is used. The first layer is the tan-sigmoid with 5 neurons and the second layer is

the purelin layer with one neuron.

With the equation introduced above, the proposed training scheme for neural

network of estimating wind velocity Vw is shown in Fig. 7.7. In this scheme, (7.1) is

employed to yield sample data set to train the neural network. 100 of the rotor speed ωr is

averagely sampled during 10~100 rad/sec, while 100 of wind velocity Vw is averagely

100

Page 116: A Stochastic Approach to Digital Control Design and Implementation

3)(21

wpm VCP λρΛ=

Pm

ωr

Vw

ANN

Vw

Pmωr

(7.1)

Figure 7.7 Proposed training scheme for neural network of estimating wind velocity

sampled during 3~10 m/sec. Combining the above sample data, 10,000 data pairs ωr(i),

Vw(j) | i=1,…100, j=1,…100 can be arranged. With the sample data pairs ωr(i), Vw(j),

10,000 data of mechanical power Pm (i, j)| i=1,…100, j=1,…100may be obtained from

(7.1). The rotor speed and power data are combined as new 10,000 data pairs (ωr(i), Pm(i,

j) | i=1,…100, j=1,…100) which are used as input sample data, while the wind velocity

sample data may be extended as 10,000 date set Vw(i, j) | i=1,…100, j=1,…100with

Vw(i, j)= Vw(i) which are used as target data to train the neural network. In order to obtain

fast convergent training results, zero power points (singular points) in the sample sets

should be removed. Hence, the sample elements should be less than 10,000. Then, input-

target pairs are used to train a two-layer network as shown in Fig. 7.8 which is configured

with five tan-sigmoid neurons in the hidden layer, and one linear neuron in the output

layer. Table 7.1 shows the training result of the corresponding weights and biases. The

number of rows and columns are all decided by the neural network structure. Tansig

activation is applied to perform the non-linear factor.

101

Page 117: A Stochastic Approach to Digital Control Design and Implementation

Tansig

Activation function

Tansig

Activation function

Tansig

Activation function

Tansig

Activation function

Tansig

Activation function

Purelin

Activation function

W1

B1

W2

B2

mP

rW

wV

Figure 7.8 Wind velocity estimation ANN with five tan-sigmoid neurons and one linear neuron

Table 7.1 weights and biases of the neural network wind speed estimator

=

055117.0 0.7469770.00004973- 0.010959

0.00008172- 0.08856-055186.0 0.75037- 0002146.0 0.09362

1W

=

1.7228-0.66107 1.0267-

1.7864 0.70319

1B

16.4045]- 44.3448 548.4516- 16.4371- [-331.71052 =W

[ ]243.9466-2 =B

After 500 training epochs, the sum-squared error E is less than 1.5×10-4. Sum

squared errors of 500 epochs are shown in Fig. 7.9 [64]. The small error shows the

accuracy of the wind speed neural network estimator. Since the traning data covered most

possible data range, so this training result should be effictive for a wide range of conditions.

102

Page 118: A Stochastic Approach to Digital Control Design and Implementation

0 50 100 150 200 250 300 350 400 450 50010

-4

10-3

10-2

10-1

100

101

102

500 Epochs

Trai

ning

-Blu

e

Performance is 0.00014953, Goal is 0

Figure 7.9 Training error of the proposed neural network

7.2.4 Simulation results of the proposed neural network wind speed estimator

To verify the performance of the neural network based wind speed estimator,

Matlab/Simulink is used to simulate the whole system. Based on the wind turbine

characteristics, the model of the wind generating system is built to verify the estimator.

1Wspeed_espurelin

+

netsum2

+

netsum1logsig

K*u

W1K*u

MatrixGain1

-C-

Constant2

-C-

B1

2Pm

1Wr_wind

Figure 7.10 Matlab/Simulink model of the wind speed estimator

103

Page 119: A Stochastic Approach to Digital Control Design and Implementation

Figure 7.11 The wind turbine system with the NN wind estimator

0 10 20 30 40 50 60 705

6

7

8

9

10

11

12

t(s)

Win

d S

peed

(m/s

)

Estimated Wind speed

Wind Speed

Figure 7.12 Matlab/ Simulink Simulation result: Estimated wind speed vs actual wind

speed

Fig 7.10 is the Matlab/Simulink implementation of the wind speed estimator, all the

weights are coming form the training results of the neural network toolbox based on the

104

Page 120: A Stochastic Approach to Digital Control Design and Implementation

computer-calculated data. Figure 7.11 presents the simulation of the wind turbine system.

The mathematic wind turbine model and many approximations are used.

Fig 7.12 shows the simulation results of the wind speed estimation using Matlab/

Simulink.

7.2.5 Hardware-in-the-loop experiment verification of the proposed neural network

wind speed estimator using RTDS and dSPACE

The real time digital simulation (RTDS) is powerful for simulate the whole wind

turbine system and also provide the certainty of the implementation of the NN based wind

speed estimator in real cases. Fig 7.13 presents the wind turbine system used in this

experimental verification and Fig 7.14 shows the hardware-in-the-loop simulation using

RTDS to provide the same characters of the system shown in Fig 7.13. The wind turbine

model is simulated in RTDS using its mathematical model to perform the characteristic of

wind energy generation system. The wind speed estimator is implemented using dSPACE

as shown in Fig. 7.15.

UTILITYGRID

Wr*PowerTrackingControl +

- CurrentController

Wr

InductionMachine

PWMRECTIFIER

PWMINVERTER

+

-Vdc*

Vdc

PIController

ControllerIqs* Ids*=0

Figure 7.13 A voltage-feed double PWM conveter wind generation system based on variable speed cage machine

105

Page 121: A Stochastic Approach to Digital Control Design and Implementation

Loadcontroller

TM*

Inverterhardware

IM

GM

Wind Turbine Model

Converterhardware

Grid connect

Torquecontroller

2)(21

ωλρ VCrT pmM Λ=

Cp(λ)ω

ωλV

r rm= 1:2.5

Mxim

umPow

erTrackingC

ontrol

ωr*

RTDS Implementation

TM

ωr

20 hpDynamometer

Vw

Figure 7.14 Experimental verification of the above system using RTDS

106

Page 122: A Stochastic Approach to Digital Control Design and Implementation

Figure 7.15 dSPACE implementation of NN based wind speed estimator

The wind data generating and the neural network wind speed estimation algorithms

are developed using Matlab/Simulink through the PC. After the software simulation, the

algorithms will be compiled and downloaded to the dSPACE microcontroller. The

dSPACE has the hardware connections with the RTDS system. The RTDS will read the

wind speed from the dSPACE and provide the power and the wind turbine rotor speed to

the dSPACE which will then calculate the estimated wind speed based on the NN wind

estimation block built in the dSPACE. The estimated wind speed will be used to feed

forward and provide the maximum power generating and control the rotor speed to run the

wind turbine system.

The system is running on the 20hp dynamometer model and all the outputs are

captured by RTDS. The wind model provides different kinds of wind curves to test the NN

based wind speed estimator. The experimental results are recorded by RTDS and then

translated into matlab to plot all the figures.

107

Page 123: A Stochastic Approach to Digital Control Design and Implementation

Figure 7.16 Hardware verfication of the NN based wind speed estimator

The first experiment is to use the simple sine wave to simulate the wind speed. The

result is shown in Fig 7.17. The estimator could trace the sine wave quite well, but there is

still some noises exist which could be solved by a low pass filter. Also, because of the

digital implementation, delay also exists.

Fig. 7.18 shows the refined NN based estimator’s result with the low pass filter

which comes to much close to the wind speed trace.

Fig 7.19 shows the common wind speed model which is based on [65] and also

simulated and generated by dSPACE. The estimated wind speed is actually used to control

the maximum power tracking and control the wind turbine rotor speed. The wind model

here used varies in a limited bandwidth. Fig. 7.20 shows the result for a fast changing

wind. Since the neural network used to train the estimator is a static network which means

that it could not provide the dynamic characteristics of the system and also will lose its

ability to estimate the speed when the wind changes dramatically.

108

Page 124: A Stochastic Approach to Digital Control Design and Implementation

0 20 40 60 80 100 1204

6

8

10

12w

ind

spee

d actual wind speed

estimated wind speed ----------

t(s)

Figure 7.17 A simple sine wave to simulate the effect of the wind speed estimator

0 20 40 60 80 100 120

5

6

7

8

9

10

11

12

win

d sp

eed

actual wind speed

estimated wind speed with low pass filter ----------

t(s)

Figure 7.18 A simple sine wave to simulate the effect of the wind speed estimator with low pass filter

109

Page 125: A Stochastic Approach to Digital Control Design and Implementation

0 10 20 30 40 50 604

5

6

7

8

9

10

11w

ind

spee

d

actual wind speed

estiamted wind speed

--------

t(s)

Figure 7.19 Wind speed vs estiamted wind speed using RTDS

0 10 20 30 40 50 603

4

5

6

7

8

9

10

11

win

d sp

eed

actual wind speed

estimated wind speed with low pass filter

-------------

t(s)

Figure 7.20 fast wind speed vs estimated wind speed using RTDS

110

Page 126: A Stochastic Approach to Digital Control Design and Implementation

W1

B1

mP

rW Randomization

Randomization

Randomization

DerandomizationRandomization

W2 Randomization

Stan

Stan

Stan

Stan

Stan

Derandomization

B2

Purelin

Activation function

wV

Figure 7.21 Stochastic ANN wind velocity estimator

111

Page 127: A Stochastic Approach to Digital Control Design and Implementation

7.3 Stochastic Neural Network wind speed estimator design

To implement the neural network structure in Fig 7.8, stochastic multiplication and

stochastic activation function are applied to replace the corresponding operations. As

shown in Fig 7.21, the stochastic multiplication and stochastic approach of tansig

activation function are applied to replace the traditional digital implementation of

multiplication and tansig function. Randomization processes are also accepted for the

inputs and weights.

7.4 Experimental Results using FPGA and RTDS

The experimental setup of the wind turbine system using a real-time digital

simulator (RTDS) is shown in Fig. 7.22 [66]. A 20 hp dynamometer is used to emulate the

wind turbine. The entire turbine model has been implemented in RTDS, which provides

the shaft torque request TS-0 and the generator speed request ωG-0 to the dynamometer-

generator set. An FPGA device Sparatan3-XC3S200 from Xilinx implements the ANN-

based wind-speed estimation. A 50 MHz oscillator is applied to the FPGA, so the time step

for the stochastic stream is 0.02 µs. Around 20,000 bits are used for each derandomization

process in this application. The calculation time of each point is 0.4 ms, so the output

sample rate to estimate wind speed can reach as high as 2.5 KHz. The experimental results

of wind speed estimation of a random varied wind speed profile are shown in Fig 7.23 (a)

and (b). Fig 7.23 (a) is derived by using the developed stochastic-ANN-FPGA

implementation and (b) by using a traditional look-up table-ANN-FPGA implementation.

The stochastic estimator uses 16-bit resolution for randomization, multiplication and tansig

of N = 4. The traditional estimator has 256 points in the look-up table for the tansig

function, and each data point in the loop-up table has a 10-bit resolution. The digital source

utilization of the FPGA device is 75% using the stochastic method and 98% with the look-

up table. Although the stochastic method introduces approximation errors, the stochastic

method is more accurate than the look-up table, as shown in Fig. 7.23, because the similar

digital resource utilization limits the size of the look-up table and the resolution for the

traditional method. However, a higher resolution can be achieved for the stochastic method

112

Page 128: A Stochastic Approach to Digital Control Design and Implementation

Sourceselector

CAPS utility feed 208 V

M GWmr

vrω

Wind velocity profile vW-P

Generator shaft speed ωG

)(CT λ

×

x22

KK

Generatorspeed

request ωG-0

Shaft torque TS

Aerodynamic torque request TA

RTDS

Torque control mode

Speed control mode

Wm

10

0

0.4

GearboxratioTurbine

speed ωr

-

-

.0.4

Emulator shaft torque request

TS-0

×

Generator shaft power PS

Neural NetworkEstimator

8.4

94.25

0

Estimated wind velocity vE

Turbineand gear inerti

a

FPGA

Bandwidth limit

∑∑

Low power HIL test setup

7.9

Turbine speed ωr

kFkF

Turbine and gear friction

+

TJ

TF

vE-NNE

11 Esτ+

1 J

ssτ+1 J

ssτ+

JTJT

Figure 7.22 Experimental setup for a varied-speed wind turbine system using a hardware-in-loop real-time digital simulation

113

Page 129: A Stochastic Approach to Digital Control Design and Implementation

and a fast clock rate provides a small approximation error.

7.5 Conclusion

The proposed stochastic-ANN-FPGA implementation for wind energy generation

applications saves digital logic resources and enables large parallel neural network

02

10864

-2

1214

Wind

veloc

ity(m

/s)

0 1 2 3 4 5 6 7 8 9 10Time (s)

Stochastic NNWind Velocity

Estimation

Actual WindVelocity

EstimationError

02

10864

-2

1412

Wind

veloc

ity(m

/s)

0 1 2 3 4 5 6 7 8 9 10Time (s)

Traditional NNWind VelocityEstimation (8-bit)

Actual WindVelocity

EstimationError

(a)

(b)

Figure 7.23 (a) Experimental result of wind speed estimation using stochastic-ANN-FPGA implementation; (b) Experimental result of wind speed estimation using look-up table -

ANN-FPGA implementation

114

Page 130: A Stochastic Approach to Digital Control Design and Implementation

115

structures to be implemented in low-cost FPGA devices with high-fault tolerance

capability. The experimental results of a speed-sensorless control of a small wind-turbine

system confirmed the proposed design method. The computation error of the stochastic

method has been analyzed. We have also considered the trade-off between the accuracy

and the number of employed digital logical elements. Hardware-in-loop experimental test

flat is applied in this application which perform a fast and economical method to test the

proposed controller and estimator.

Page 131: A Stochastic Approach to Digital Control Design and Implementation

CHAPTER 8

CONCLUSION 8.1 Summary

The conclusions of this dissertation work can be summarized as follows:

1. The stochastic arithmetic is applied to reduce the involved digital computation

elements for FPGA implementation of complex power electronics control

algorithms. The performances are verified using FGPA based controllers.

2. New stochastic anti-windup PI controllers are proposed and implemented. The

proposed methods have advantages of large dynamic range, easy digital design,

minimization of the scale of digital circuits, reconfigurability, and direct

hardware implementation.

3. An alternative stochastic neural network structure and its digital

implementation are proposed. The stochastic arithmetic including the

multiplication and activation function is described along with error analysis for

the hardware implementation of neural network.

4. The stochastic anti-windup PI controllers are designed as the speed controllers

of an induction motor to improve the speed control performance. The

performance is successfully verified using control in the loop test setup.

5. A stochastic neural network estimator is proposed and implemented for a feed-

forward neural network to estimate the feedback signals in an induction motor

drive. This approach has considered the trade off between the accuracy and the

number of employed digital logical elements since the stochastic arithmetic

unavoidably introduces noise and variance compared to the traditional math

operations. The performance is successfully verified using control in the loop

test setup.

6. A novel hardware controller for motor drives is proposed and developed using

FPGA. The proposed stochastic based algorithm enhances the arithmetic

116

Page 132: A Stochastic Approach to Digital Control Design and Implementation

operations of FPGA, saves digital resources, and allows the neural network

algorithms and classical control algorithms easily interfaced and implemented

into a single low complexity inexpensive FPGA. The performance is

successfully verified using control in the loop test setup.

7. The proposed stochastic neural network structure is applied to a neural-network

based wind-speed sensorless control of a small wind turbine system. A low cost

FPGA wind speed estimator is developed and implemented. It provides an

unique approach for the real-time hardware solutions of ANN controller in

power electronics field. The neural network wind speed estimator has been

verified successfully with wind turbine test bed installed in the CAPS (Center

for Advanced Power Systems).

8.2 Future work 8.2.1 Implement real experimentation verification of stochastic motor drive controller

The proposed stochastic speed controller and stochastic NN estimator have been

verified using control-in-the-loop test setup. The real experimentation will be achieved in

the future, which will provide a more powerful conclusion.

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Q

QSET

CLR

D

Out

clk

reset

Figure 8.1 Hardware Implementation of a single bit pseudo-random engine

8.2.2 Improve random engine design

117

Page 133: A Stochastic Approach to Digital Control Design and Implementation

The design of random engine will significantly affect the accuracy of control

algorithms. The adopted implementation for the n-bit pseudo random engine contains a set

of n linear feedback shift registers (LFSR). Each LFSR acts as a pseudo-random bit

generator and its digital circuit is redrawn in Fig. 8.1 where a number of D-type flip-flops

are cascaded and a feedback loop is closed through an XOR gate. The length of each one-

bit pattern needs to be even otherwise the probability of 0.5 required for each bit stream is

impossible to obtain. The total length will be maximized if the only common integer

divisor of the bit patterns is number two since the length of the combined N-bit pattern is

the smallest common multiple of the lengths of the individual bit patterns.

The future research will develop new methods to achieve effective randomization

using a minimum number of digital gates. This could be implemented by changing the

seeds of the pseudo random engine during the operation time. A small pseudo random

sequence is applied to build up the time varying seeds of the random engine. Since each

pair of seeds could generate one different pattern of pseudo random streams, this method

could increase the repeating cycle without adding a lot of LFSR’s.

8.2.3 Implement ANN digital hardware with on-line training characteristics

The dissertation demonstrated the validity of FPGA implementation of stochastic

feed forward ANN after it is trained off-line. NN has better adaptability to a nonlinear

operating condition if it can be trained on line since the weights and biases of ANN are

adaptively modified during the operating process. The most popular training algorithm for

a feed forward ANN is back-propagation due to its stability, robustness, and efficiency.

The back propagation algorithm involves a great deal of multiplication and derivation so it

results in a rather complex circuitry to be implemented in real time. The all-digital

implementation takes up much larger chip areas than the analog ones. However, there are

no ideal analog circuits to implement the back-propagation or its modified versions, which

are gradient decent algorithms. The reason for this is that these gradient descent algorithms

are very sensitive to the nonlinearities and offsets, which are common characteristics of

analog multipliers and adders. The stochastic technology can simplify the traditional

arithmetic operation to provide an effective approach to achieve all-digital implementation

118

Page 134: A Stochastic Approach to Digital Control Design and Implementation

119

of on-line training as well as the network with smaller chip areas. Therefore a relatively

simple and inexpensive ANN hardware solution may be produced.

Page 135: A Stochastic Approach to Digital Control Design and Implementation

APPENDIX A

MOTOR NOMENCLATURE AND PARAMETERS

Nomenclature: B Friction coefficient J Moment of inertia of total system K Proportional gain of the PI controller

TK Torque constant η Integral state of the PI controller

IT Integral time constant of the PI controller LT Load Torque mτ Mechanical time constant (= J/B) outu Output of the Limiter inu Input of the Limiter rw Motor rotor speed *rw Motor rotor speed command

Parameters of induction motor: Power Rating 1 hp Number of poles 2 Stator resistance Ω99.2Stator inductance H31046.3 −⋅Rotor resistance 1 Ω58.Rotor inductance 1 H31037. −⋅Magnetizing inductance H31041.60 −⋅Base frequency 60 Hz Moment of inertia 20012.0 mkg ⋅

120

Page 136: A Stochastic Approach to Digital Control Design and Implementation

121

APPENDIX B

WIND TURBINE PARAMETERS

Power 5.9 kW Wind velocity range 3…15 m/s Total inertia JT 7 kgm2 Air density ρ 1.2 kg/m3 Blade radius rM 2 m Total friction kF 0.1 Nms/rad Tip speed ratio λopt 6.72 for maximum power Reduction gear 1:2.5

Page 137: A Stochastic Approach to Digital Control Design and Implementation

REFERENCES

[1] B.K.Bose, “Energy, environment, and advances in power electronics,” IEEE Trans.

Power Electronics. Vol. 15 , pp. 688 – 701, 2000. [2] Dinavahi, V.R.; Reza Iravani, M.; Bonert, R. "Real-time digital simulation of power

electronic apparatus interfaced with digital controllers" Power Delivery, IEEE Transactions on , Volume: 16 Issue: 4, Oct. 2001 Page(s): 775-781

[3] A. de Castro, P. Zumel, O. Garcia, T. Riesgo, J. Uceda, “Concurrent and simple digital

controller of an AC/DC converter with power factor correction based on an FPGA,” IEEE Trans. Power Electronics. Vol. 18 pp. 334 – 343, 2003

[4] Shih-Liang Jung, Meng-Yueh Chang, Jin-Yi Jyang, Li-Chia Yeh, Ying-Yu Tzou,

“Design and implementation of an FPGA-based control IC for AC-voltage regulation,” IEEE Trans. Power Electronics. Vol. 14 pp. 522 – 532, 1999

[5] Sen, P.C., “Electric motor drives and control-past, present, and future,” IEEE Trans.

Industrial Electronics. Vol. 37, pp. 562 – 575,1990. [6] B.K.Bose, “Recent advances in power electronics,” IEEE Trans. Power

Electronics. Vol. 7 pp. 2 - 16 Jan. 1992 [7] S. J. Min, E. W. Lee, S. I. Chae, “A study on the stochastic computation using the ratio

of one pulses and zero pulses,” Proc. IEEE International Symposium on Circuits and Systems, Vol.6, pp.471-474, 1994.

[8] M.S. Jr. Tomlinson, D.J. Walker, M.A. Sivilotti, “A digital neural network architecture

for VLSI,” Proc. International Joint Conference on Neural Networks, pp. 545-550, 1990.

[9] A. Dinu, M.N. Cirstea, M. McCormick, “Stochastic implementation of motor

controllers,” Proc. ISIE’02,Vol.2, pp. 639-644, 2002. [10] B.K. Bose, “Fuzzy logic and neural networks in power electronics and drives,”

Industry Applications Magazine, IEEE , Volume: 6 , Issue: 3 , May-June 2000 Pages:57 – 63

[11] DD. Bester, J.A. du Toit, J.H.R. Enslin, “High performance DSP/FPGA controller for

implementation of computationally intensive algorithms,” Proc. IEEE International Symposium on Circuits and Systems, Vol.1, pp.7-10, 1998.

122

Page 138: A Stochastic Approach to Digital Control Design and Implementation

[12] J. Van den Keybus, B. Bolsens, K. De Brabandere, J. Driesen, R. Belmans. “DSP and FPGA based platform for rapid prototyping of power electronic converters and its application to a sampled-data three-phase dual-band hysteresis current controller,” Proc. IEEE PESC’02, Vol 4, pp.23-27, 2002

[13] Ying-Yu Tzhou, Hau-Jean Hsu, “FPGA realization of space-vector PWM control IC

for three-phase PWM inverters,” IEEE Trans. Power Electronics. Vol. 12 pp. 953 – 963, 1997

[14] W. Tang, Y. Jiang, G. C. Hua, F. C. Lee, and I. Conen, “Power factor correction with

flyback converter employing charge control,” in Proc.IEEE Appl. Power Electron. Conf. (APEC), 1993, pp. 293–298.

[15] M. Cirstea, A. Aounis, M. McCormick, P. Urwin, “Vector control system design and

analysis using VHDL [for induction motors],” Proc. IEEE PESC’01, Vol 1, pp.17-21, 2001

[16] S. Nerto, S.Bolognani, M. Ceschia, A. Paccagnella, M. Zigliotto, “FPGA-based

random PWM with real-time dead time compensation,” Proc. IEEE PESC’03, Vol 2, pp.15-19, 2003

[17] Zhaoyong Zhou, Guijie Yang, Tiecai Li, “Design and implementation of an FPGA-

based 3-phase sinusoidal PWM VVVF controller,” Proc. IEEE APEC’04, Vol 3, pp.1703-1708, 2004

[18] Zhaoyong Zhou, Tiecai Li, T. Takahashi, E. Ho, “Design of a universal space vector

PWM controller based on FPGA,” Proc. IEEE APEC’04, Vol 3, pp.1698-1702, 2004 [19] S. Chen, G. Joos, “Symmetrical SVPWM pattern generator using field programmable

gate array implementation,” Proc. IEEE APEC’02, Vol 3, pp.10-14, 2002 [20] P.K.F Tsang, A. Bigdeli, N. Kularatna, “An innovative approach for RMS and THD

control by field programmable gate arrays,” Proc. IEEE Power Electronics and Drive Systems, Vol 1,pp 17-20, 2003

[21] A. Labbe, P. Poure, F. Aubepart, F. Braun, “HDL software development and hardware

prototyping of a system-on-chip for an active filter controller,” Proc. IEEE Electronics, Circuits and Systems, Vol 2, pp 2-5, 2001.

[22] M. Vilathgamuwa, B. R. Duggal, J.Y. Kok, B.H. Kang, “FPGA-based single-phase

PWM rectifiers with high power factor,” Proc. IEEE Power Electronic Drives and Energy Systems for Industrial Growth, Vol 2, pp 1-3, 1998.

123

Page 139: A Stochastic Approach to Digital Control Design and Implementation

[23] B.R. Gaines, “Stochastic Computing Systems,” Advances in Information Systems Science, J.F. Tou, ed., vol. 2, chapter 2, pp. 37- 172, New York: Plenum, 1969.

[24] B. D. Brown, H. C. Card, “Stochastic neural computation. I. Computational

elements,” IEEE Trans. Computers, Vol 50, pp 891-905, 2001. [25] S.D. Brown, Z. G. Vranesic, Fundamentals of Digital Logic with VHDL Design,

McGraw-Hill Higher Education, 2000. [26] Dinu, A; Cirstea, M.: “Stochastic Motor Controllers”, three-hour tutorial presented at

the 29th Annual Conference of the IEEE Industrial Electronics Society – (IECON) Roanoke, Virginia, USA, November 2nd – 6th 2003.

[27] Da Zhang, Hui Li, Simon Y. Foo," A Simplified FPGA Implementation of Neural

Network Algorithms Integrated with Stochastic Theory for Power Electronics Applications", IECON 2005, Page(s): 1018-1023

[28] S.Jul-Ki and L.Dong-Choon, “Frequency spectrum-based antiwindup compensators

for high performance induction motor drives,” in Conf. Rec. IEEE-IECON Annu. Meeting, 2004, Vol. 31, pp.74-79

[29] Y. Peng, D. Vrancic, and R. Hanus, “Anti-windup, bumpless, and conditioned

transfer techniques for PID controllers”. IEEE Control Systems Magazine, Aug., pp. 48-57, 1996.

[30] K. S. Walgama, S. Ronnback, and J. Sternby, “Generalisation of conditioning

technique for anti-windup compensators”, IEE Proc. Control Theory Appli., vol. 139,no.2, pp. 109-118, 1991.

[31] C. Bohn and D. P. Atherton, “An Analysis package comparing PID anti-windup strategies”, IEEE Control Systems Magazine, April, pp. 3440, 1995. [32] A.S. Hodel and E. C. E. Hall, “Variable-structure PlD control to prevent integrator windup”, IEEE Industrial Electronics, vol. 45, no. 3, June, pp. 445-450, 1998. [33] H. B. Shin, “New anti-windup PI controller for variable-speed motor drives”, IEEE Industrial Electronics, vol. 48, no. 2, April, pp. 442-451, 1995. [34] L. Charaabi,, E. Monmasson and I. Slama-Belkhodja, “Presentation of an efficient design methodology for FPGA implementation of control systems. Application To the design of an antiwindup PI controller,” in Conf. Rec. IEEE-IECON Annu. Meeting, Vol. 3, 2002, pp. 1942-1947. [35] H.J. Guo, Y. Shiroishi and O. Ichinokura, “Digital PI controller for high frequency

124

Page 140: A Stochastic Approach to Digital Control Design and Implementation

switching DC/DC converters based on FPGA,” ” in Conf. Rec. IEEE-IETELEC, 2003, pp. 536-541 [36] Min-Huei Kim; Simoes, M.G.; Bose, B.K.; “Neural network-based estimation of

power electronic waveforms,” Power Electronics, IEEE Transactions on , Volume: 11 , Issue: 2 , March 1996 Pages:383 - 389

[37] M,G, Simoes; B.K. Bose, “Neural network based estimation of feedback signals for a

vector controlled induction motor drive.” Industry Applications, IEEE Transactions on , Volume: 31 , Issue: 3 , May-June 1995 Pages:620 - 629

[38] B.-R.Lin, “Analysis of neural and fuzzy-power electronic control,” Science,

Measurement and Technology, IEE Proceedings- , Volume: 144 , Issue: 1 , Jan. 1997 Pages:25 – 33

[39] G. Kaplan, “Industrial electronics [Technology 2000 analysis and forecast],”

Spectrum, IEEE , Volume: 37 , Issue: 1 , Jan. 2000 Pages:104 – 109 [40] M.Van Daalen, P. Jeavons, J. Shawe-Taylor, “A stochastic neural architecture that

exploits dynamically reconfigurable FPGAs,” Proc. IEEE Workshop on FPGAs for Custom Computing, pp.202-211, 1993.

[41] H.C. Card, " Stochastic Radial Basis Functions", International Journal of Neural Systems, Vol, 11, No.2 203-210, 2001 [42] H.C. Card, D. K. McNeill, "Gaussian activation functions using Markov chains", IEEE Trans. On Neural Networks Vol. 13 No. 6 Nov. 2002 [43] H.C. Card, " Dynamics of stochastic artificial neurons", Neurocomputing letters 41 173-182 2001 [44] B. K. Bose “Modern power electronics and AC drives”, Prentice Hall, 2001, [45] Mohan, Undeland, Robbins “Power electronics Converters, Applications, And

design”, Wiley, 2004 [46] C. Lascu, A.M. Trzynadlowski, “ A TMC320C243-based torque estimator for

induction motor drives,” Proc. IEMDC’01, pp. 733-735, 2001. [47] F.V. De Carvalho, J.O.Pinto, L.E.B. da Silva, B.K.Bose, “A DSP based torque meter

for induction motors,” Proc. IECON '03. Vol.1, pp.2-6, 2003. [48] G. Terorde, R. Belmans, “Speed, flux and torque estimation of induction motor drives

with adaptive system model,” Proc. IEMDC’02, pp.498-503, 2002

125

Page 141: A Stochastic Approach to Digital Control Design and Implementation

[49] M. G. Simoes, B. K. Bose, R. J. Spiegel, “Fuzzy Logic Based Intelligent Control of a

Variable Speed Cage Machine Wind Generation System,” IEEE Transactions on Power Electronics, Vol.12, no.1 January 1997, pp.87-95.

[50] P. Terwiesch, T. Keller, and E. Scheiben, “Rail vehicle control system integration testing using digital hardware-in-the-loop simulation,” IEEE Trans. on Control Syst. Technol., vol. 7, no. 3, May 1999, pp. 352–362. [51] S. Abourida, C. Dufour, J. Belanger, G. Murere, N. lechevin, and B. Yu, “Real-time PC based simulator of electric systems and drives,” in Proc. 17th IEEE Applied Power Electronics Conf. Expo, Mar. 10–14, 2002, pp. 433–438. [52] J. C. Lee and M. W. Suh, “Hardware-in-the-loop simulator for ABS/TCS,” in Proc.

1999 IEEE Int. Conf. Control Applications, Aug. 22–27, 1999, pp. 652–657.

[53] A. Monti, E. Santi, R. Dougal, and M. Riva, “Rapid prototyping of digital controls for power electronics,” IEEE Trans. Power Electron., vol. 18, no. 3, May 2003. pp. 915–923. [54] V. R. Dinavahi, M. R. Iravani, and R. Bonert, “Real-time digital simulation of power electronic apparatus interfaced with digital controllers,” IEEE Trans. Power Delivery, vol. 16, no. 4, Oct. 2001,pp. 775–781. [55] R. Champagne, L.-A, Dessaint, H. Fortin-Blanchette , G. Sybille, “ Analysis and validation of a real-time AC drive simulator,” IEEE Transactions on Power Electronics , Vol. 19, no.2, March 2004, pp.336 – 345. [56] X. Wu, H. Figueroa, A. Monti, “Testing of digital controllers using real-time hardware in the loop simulation,” PESC Conference Proceeding, Vol. 5, June 2004, pp.3622 – 3627. [57] W. Zhu, S. Pekarek, J. Jatskevich, O. Wasynczuk, D. Delisle, “A model-in-the-loop

interface to emulate source dynamics in a zonal DC distribution system,” IEEE Transactions on Power Electronics,Vol. 20, no. 2, Mar 2005, pp.438 – 445.

[58] P. Forsyth, T. Maguire, R.Kuffel, “Real time digital simulation for control and protection system testing,” PESC Conference Proceeding, Vol.1, June 2004 pp.329

– 335.

[59] P. Baracos. G. Murere: C.A.Rabbath. W. Jin, "Enabling pc-based HIL interface simulation for automotive applications". IEEE International Electric Machines and Drives Conference, 2001. pp. 721 -729.

126

Page 142: A Stochastic Approach to Digital Control Design and Implementation

[60] S. Abourida, C. Dufour, J. Belanger, G. Murere, N. Lechevin, Y. Biao, “Real-time PC-based simulator of electric systems and driver,” APEC Conference Proceeding, 2002, pp. 433 -438

[61] S. Bhowmik, R. Spee, J.H.R. Enslin, “Performance optimization for doubly fed wind

power generation systems,” IEEE Transactions on Industry Applications, Vol. 35, no.4, 1999, pp. 949-958

[62] K. Tan, S. Islam, “Mechanical Sensorless Robust Control of Wind Turbine Driven Permanent Magnet Synchronous Generator for Maximum Power Operation,” International Journal of Renewable Energy Engineering, Vol. 3, no. 2, August 2001.

[63] A.M. De Broe, S. Drouilhet, V. Gevorgian, “A peak power tracker for small wind

turbines in battery charging applications,” IEEE Transactions on Energy Conversion, Vol.14, no.4, 1999, pp.1630-1635.

[64] H. Li, K.L.Shi, P. Mclaren, “Neural network based sensorless maximum wind energy

capture with compensated power coefficient,” Industry Applications Conference, 2004. 39th IAS Annual Meeting. Conference Record of the 2004 IEEE , Volume: 4 , 3-7 Oct. 2004 Pages:2600 - 2608 vol.4

[65] K.L. Shi, H.Li, “A novel control of a small wind turbine driven generator based on

neural networks,” Power Engineering Society General Meeting, 2004. IEEE , 6-10 June 2004 Pages:2000 – 2006

[66] M. Steurer, Hui Li, S. Woodruff, K.Shi, D. Zhang, “Development of a Unified

Design, Test, and Research Platform for Wind Energy Systems based on Hardware-In-the-Loop Real Time Simulation,”, in Conf. Rec. IEEE-PESC Meeting, 2004, pp. 3604-3608.

127

Page 143: A Stochastic Approach to Digital Control Design and Implementation

128

BIOGRAPHICAL SKETCH

Da Zhang was born in Xian, China in October 1979. He received his bachelor

degree majored in Electrical Engineering from Zhejiang University in Hangzhou, China in

July 2001. He received his Master of Science degree in the Department of Electrical and

Computer Engineering at the Florida State University in August 2003. He began his Ph.D

study in the Department of Electrical and Computer Engineering at the Florida State

University in September 2003. He is a research assistant at the Center for Advanced Power

Systems (CAPS) of Florida State University. His research is specialized in the fields of

Power Electronics and digital control.


Recommended