Sie sind auf Seite 1von 64

Model Based HCCI Engine Combustion Control

MIKAEL

LUNDSTRM

Master's Degree Project Stockholm, Sweden 2006

XR-EE-RT 2006:003

Abstract
An Homogenous Charge Compression Ignition engine is a hybrid between a Diesel and an Otto Engine. It has good fuel efciency, close to a Diesel engine and also very low emissions of NOX and nearly no particulate soot. Other emissions are higher but can be after treated by a catalyst. The engine has not yet been fully developed so far and lacks among others a good automatic control of the combustion angle which should be held in a small window to achieve the best performance. The objective in this thesis is to achieve fast control that can hold the combustion angle window for changes in inlet pressure, loads and engine speeds. The challenges are that the system has a delay which limits the bandwidth, the dynamics change with different working conditions and a relatively large noise amplitude. Using combustion angle as reference, valve timings as control signal and other variables as engine speed, inlet pressure and load changes as disturbances, a closed loop control system can be dened. Two control methods using different kinds of variable valve timings and three controllers for each method were designed to cover most of the working conditions. These were connected by a hybrid automaton which handles all transitions and choice of controller. The result was a fast control with a 6-8 engine cycles risetime for reference changes and it can suppress inlet pressure and load disturbances well inside the combustion window. The noise showed to be white, that is using all frequencies. To achieve both a fast control and not magnify the noise a non-linear compensation link was designed that uses less gain and bandwidth for small errors. A problem with this kind of dynamic solution is engine speed ramps which needs fast reaction times which was impossible due to the delay. A proposed solution is to use mappings from non-delayed variables to do necessary adjustments of the control signal fast enough.

Abbreviations
CAD Crank Angle Degrees, it is the angle of the pistons inner wheel. One cycle corresponds to two revolutions. HCCI Homogeneous Charge Compression Ignition. TDC Top Dead Center. It is the angle where the zero is dened in a cycle. SOC Start Of Combustion. Not easily measured in a the cylinder, CA50 is more easily measured. CA50 Crank Angle degree for 50 percent burnt. A measurement of the combustion. It corresponds to the angle where 50 percent fuel has been burnt in a cycle. IVO Inlet Valve Opening. The angle where the the inlet valve is opened. IVC Inlet Valve Closing. The angle where the inlet valve is closed. EVO Exhaust Valve Opening. The angle where the exhaust valve is opened. EVC Exhaust Valve Closure. The angle where the exhaust valve is closed. Tr Rise time. Performance measure for control systems together with M and Tsettling . M The amount of overshoot in a step change. Tsettling Settling time. Dened as the time from the start of a step until it has settled. Ts Fuel injection time. Pin Pressure in the inlet pipe close to the inlet valve. ESpeed Engine speed of an engine. Bode graph A graph showing amplication and phase for different frequencies. Usually displayed in log-scale.

Contents
Contents List of Figures 1 Introduction 2 Background 2.1 Engine Basics . . . . . . . . . . . . . . . . . . . . . . . 2.2 Cycle Description . . . . . . . . . . . . . . . . . . . . . 2.3 Petrol Engines . . . . . . . . . . . . . . . . . . . . . . . 2.4 Diesel Engines . . . . . . . . . . . . . . . . . . . . . . . 2.5 Homogeneous Charge Compression Ignition (HCCI) 2.6 Controlling an HCCI engine . . . . . . . . . . . . . . . 2.7 Suitable operating points . . . . . . . . . . . . . . . . . 2.8 Emissions . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 Equipment . . . . . . . . . . . . . . . . . . . . . . . . . 3 Problem Denition 4 Modelling 4.1 Parametric black box modelling 4.2 Operating points . . . . . . . . 4.3 Cycle by cycle variations . . . 4.4 Delay . . . . . . . . . . . . . . . 4.5 Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv vi 1 3 3 3 4 4 5 7 9 9 10 13 15 15 17 17 19 19 25 25 27 28 31 33 39 40 42 51 51 53

5 Control 5.1 Basic Control Design . . . . . . . . . . . 5.2 Requirements and Constraints . . . . . 5.3 Pole Placement . . . . . . . . . . . . . . 5.4 Noise compensation . . . . . . . . . . . 5.5 Loopshaping . . . . . . . . . . . . . . . . 5.6 Tuning of the controllers on the testbed 5.7 Results of Loop shaping . . . . . . . . . 5.8 Switched Controller . . . . . . . . . . .

6 Analysis 6.1 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

v 7 Conclusions Bibliography 55 57

List of Figures
2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.1 4.1 4.2 4.3 4.4 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 6.1 Petrol and Diesel engines . . . . . . . . . . . . . . . . . . . . . An HCCI cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . Typical Overlap and IVC mode intervals . . . . . . . . . . . . Figure illustrating how a HCCI engine needs to be ran . . . Fuel efciency and NOX emissions . . . . . . . . . . . . . . . Pressure trace in a cylinder during a cycle with combustion . Overview picture of the HCCI engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 6 7 9 10 11 12 14 18 18 21 23 25 26 29 30 32 33 37 38 42 43 45 46 46 47 48 48 54

Closed loop overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Autocorrelation and effect spectrum of the cycle by cycle variation Cycle by cycle variation versus CA50 . . . . . . . . . . . . . . . . . Bode graph of estimated models in operating point 2 . . . . . . . . Bode graphs for the six models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Closed loop system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Typical Bode graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loopgain for Pole placement of workingpoint 3. . . . . . . . . . . . . Step responses for operating point 3 using pole placement controller Approaches for noise compensation . . . . . . . . . . . . . . . . . . . Performance of noise compensation . . . . . . . . . . . . . . . . . . . Stepresponses of the Loopshaped controllers (simulated) . . . . . . . Bode graphs of the Loopshaped controllers (simulated) . . . . . . . . Speed transients for operating point 5. . . . . . . . . . . . . . . . . . . Hybrid automaton of the six operating points . . . . . . . . . . . . . Bumpless Transfer between the controllers . . . . . . . . . . . . . . . Hybrid automaton realization: Overview . . . . . . . . . . . . . . . . Hybrid automaton realization: controller selector . . . . . . . . . . . Hybrid automaton realization: resets and outputs . . . . . . . . . . . Speed transients with switched controller . . . . . . . . . . . . . . . . IVC needed to phase combustion vs engine speed . . . . . . . . . . .

Proposed solution for speed transients . . . . . . . . . . . . . . . . . . . . . . . .

vi

Chapter 1

Introduction
Petrol and diesel engines have since long been important to power most vehicles. Lately fossil fuel sources are starting to run out and fuel prices are rising. Together with stricter requirements on emissions more fuel efcient and environmentally friendly solutions are necessary. This drives the development of new engine types and experiments with alternative fuels. One of these new engines is the Homogenous Charge Compression Ignition engine, or short HCCI-engine. It has not been fully developed so far and lacks among other things a good control strategy for the combustion timing. The idea with the engine is to combine a Diesel engines with a Petrol engine and achieve a efcient engine with little emissions. The method that will be used to control the combustion timing is variable valve timings. This has been done before, in among others [5], but will in this thesis be done from an automatic control point of view using dynamical models. The idea is to see how good such a solution works and if it can be combined with earlier solutions. This sort of solution has been done earlier in [2] but can be done with better performance and cover a wider range of working conditions. In a parallel project [10], a model free tuning method, Iterative Feedback Tuning (described in [4] and [3]) was used to tune the control. A goal of the project was to evaluate how good the method worked with a non-linear system. During the project comparisons was done between the two projects. Some basic ideas of discrete control design can be found in [8] and engine basics in [7]. Control design can be found in for example [1]. This Masters thesis is divided into seven chapters. The rst is the introduction followed by Chapter 2 where basics of the HCCI engine will be discussed together with the experimental equipment. After the background the problem will be dened in Chapter 3. Chapter 4 handles model estimation and in Chapter 5 a control design is dened theoretically, done practical and implemented. Results from the control is also presented in the Chapter. Following is Chapter 6 where comparisons are done, performance is evaluated and new proposed solutions are discussed. Chapter 7 is the last chapter where conclusions are drawn and further work is suggested.

Chapter 2

Background
To understand the concept of an HCCI engine, this chapter will present the basics of engines and then continue with the HCCI engine. An engine cycle will be discussed and relevant terms for this kind of engine will be dened. Furthermore the reason to use this kind of engine will be discussed as well as some issues of how it should be operated.

2.1 Engine Basics


An engine is a machine that converts chemical bound energy to mechanical work. This energy is released during a combustion which is ignited using mainly two methods. In an Otto engine or as it commonly known, Petrol engine, the combustion is started by a sparkplug. In a Diesel engine the combustion is started by injecting fuel into compression heated air. A vehicle is moved by using the released energy as rotational torque and use many combustions per second to achieve a constant torque. The most common method used to produce the torque is to use a cylinder as in Figure 2.1 consisting of one or more pair of inlet and exhaust valves and a piston connected to a crank shaft by a connecting rod. A cycle can be dened as the amount of degrees the crank shaft is rotated for each combustion. In a cycle the cylinder must be lled by air and fuel, compressed to increase the explosive force and in some way start combustion. Afterwards the cylinder should be aired and then reset into the starting position for a new cycle to begin. This idea is used in the usual engines like petrol and diesel but these two vary in how they are constructed and how they are used.

2.2 Cycle Description


A cycle has four phases which are intake, compression, combustion and exhaust stroke. The usual denition in such a cycle is to use the pistons highest position in the compression stroke as the origin, Top Dead Center (TDC). The angle is then dened from the crankshafts rotationary movement from zero in TDC to 720 degrees (back in TDC) in Crank Angle Degrees (CAD). The combustion should be placed some degrees after TDC and is called Start Of Combustion (SOC). During a cycle the valves are used to let the fuel/air mix into the cylinder and, after combustion, vent out the gases. These are opened at certain crank angles and without a control strategy these angles will be xed during a sequence of cycles. The rst opening after combustion is the Exhaust Valve Opening (EVO) which will open to let the cylinder 3

CHAPTER 2. BACKGROUND

Figure 2.1: Petrol engine(left) and Diesel engine (right), pictures from [7]

air out the gases from a combustion. From the opening it airs until it is closed at Exhaust Valve Closing (EVC). The Inlet Valve Opening (IVO) then occurs somewhere after 360 CAD and let the fuel/air mix into the cylinder during the downstroke of the piston until it is closed at the Inlet Valve Closing (IVC).

2.3 Petrol Engines


A petrol engine uses petrol as fuel which mixed with air is injected into a cylinder in the intake stroke of a cycle. This mixture is sprayed either upstream the inlet pipe or right into the cylinder. When the piston moves up, the mixture is compressed and a combustion is triggered by a sparkplug near the top dead center of the cycle. The combustion will add its energy to the downward movement of the piston. When the piston is at its bottom and the exhaust valve is opened, the pistons movement upwards is used to expel the gases in the cylinder through the exhaust pipe. When the piston moves down again the exhaust valve is closed and the inlet valve is opened. The expanding air is used to inject the air and fuel mixture for the next cycle. The combustion cycle will give the crankshaft a rotary motion which is connected to a gearbox which transfers the motion into the wheels and makes the vehicle move. In a typical engine there are a number of pairs of cylinders which works on the same crankshaft with a combustion timing strategy. This strategy is made so the SOC is spread evenly over the crankshaft and a smooth rotary motion is achieved.

2.4 Diesel Engines


A Diesel engine is similiar to a petrol engine in many ways. It uses the same cycle but differs in the way the combustion is started and its fuel. In most diesel engines the fuel is injected directly into the cylinder, as can be seen in Figure 2.1, after the intake stroke. The air will by now be compressed and warm enough to ignite the fuel and start combustion. To get the air warm enough, the compression ratio is around twice as big as a petrol engine, which is possible due to that it is only air that is compressed and not gasoline which

2.5. HOMOGENEOUS CHARGE COMPRESSION IGNITION (HCCI)


could spontaneously ignite.

Usually the diesel engine is heavier than a petrol engine and also slower. The biggest reasons to use a diesel engine are its fuel efciency and longer engine life but it is also more expensive to produce. Other differences are more vibrations and noise, more smoke and that it could be harder to start in cold weather due to that the compressed air may not be warm enough to start combustion. These are the reasons for why petrol is mostly used in smaller vehicles and diesel for heavier vehicles and heavy duty vehicles. Diesel could also pay off in the long run for long distance cars because of its fuel efciency. Most of the disadvantages with a diesel have been eliminated using computer controllers and this makes it likely that they will be used in more cars in the future.

2.5 Homogeneous Charge Compression Ignition (HCCI)


With new stricter emission rules in both EU and the US (see [5]) and higher fuel prices new engine designs have emerged. One of these is the so called HCCI engine which is a sort of hybrid between diesel and petrol. The goal is to use the efciency of a diesel and minimize emissions. The HCCI engine uses a fuel/air mixture which is homogenous. The mixture is injected during the intake stroke and compressed until the temperature from the pressure causes it to start combustion. The combustion will occur in several points almost simultaneously due to that the mixture is homogeneous and at a relatively low temperature which results in low emissions. There are mainly four types of emissions that must be lowered. They are Hydrocarbon HC , Carbon Monoxide CO, Nitric Oxides N OX and Particle matter. Hydrocarbon can be regarded as fuel that is not completely burnt and some substances that are formed are toxic. It can also react with N OX and contribute to SMOG. Carbon Monoxide is formed by incomplete combustion and is poisonous if it is inhaled because it destroys the red blood corpuscle and can lead to death by suffocatation. Nitric oxides N OX is notation for N O and N O2 . It is formed from nitrogen N 2 and oxygen at high temperatures, well above 1850 K according to [2]. Lastly Particulate matter, or simplied soot, is formed when a region in the cylinder has excessive amount of fuel. It is not directly poisonous but is a health hazard due to its small size, it is not ltered before entering a human body and settles in for example the lungs. The HCCI engine uses a so called lean charge which is a homogenous fuel/air mix with high fuel/air ratio . The fuel/air ratio is dened according to = mair Zmf uel (2.1)

and is the ratio between the mass of air in a cylinder and mass of fuel. The constant Z is around 14.5 for gasoline. In a HCCI engine is around 3 compared to a diesel engine where 1.3. Because it is homogenous and ignited by compression heat it will burn evenly and not have excessive fuel anywhere which will reduce the Particulate matter emissions heavily. The idea is that with a homogenous charge the combustion will start pretty much simultaneous at several point and therefore burn most of the fuel and not leave much rests. This makes the HCCI engine fuel efcient. The lean charge also has a

CHAPTER 2. BACKGROUND
Pressure and Valvelifts during a cycle 100 SOC EVO EVC IVO IVC 20

Overlap Pressure in cylinder [bar] IVC method Valve lifts [mm]

50

10

Exhaust Valve Pressure in Cylinder 0 100 0 100 200 300 400 Crank Angle Degrees [CAD]

Inlet Valve

500

600

0 700

Figure 2.2: An HCCI cycle. The pressure in the cylinder has a peak around 10 CAD after TDC which is the effect of combustion. The rst valve lift is the exhaust valve and the second the inlet valve. Overlap and IVC methods are illustrated.

low burn temperature which makes the formation of N OX low. In a diesel these formations are large because of the ame front that is formed around the fuel injector which is very hot. This is avoided in an HCCI engine by placing the fuel injection outside the cylinder. An HCCI engine can use different kinds of fuels, for example petrol, diesel or ethyl alcohol. The start of compression is quite hard to measure but the point where half the fuel has burned is easier and is called CA50 from Crank Angle 50 percent burnt. Therefore this point is used instead and will be referred to instead of the SOC as to which angle the combustion starts. The drawback of an HCCI engine is rather high levels of CO and HC from incomplete combustion. These can however be reduced by a catalyst after the exhaust valve. Missed combustions are not good and should be avoided by a using a good control strategy.

Cycle variations
There are quite many parameters that changes between cycles with a slow dynamic. The fuel is injected just upstream of the inlet valve with a wide spread spray which partly will,

2.6. CONTROLLING AN HCCI ENGINE

Figure 2.3: Typical overlap interval in overlap mode (left) and IVC interval in IVC mode (right). When fuel, engine speed and inlet pressure and temperature are changed these intervals will move upwards or downwards. For example a higher inlet temperature will result in earlier combustion at earlier CA50 for the same valve timing.

other than enter the cylinder, form a lm on the opposite wall of the inlet pipe from the injector. This wall lm will over time evaporate (see [5]) and will inuence CA50. Another issue is that the heat of the cylinder walls, which warms up during combustion, will affect the next cycles CA50 and make it occur earlier than the last one. Furthermore pressure, fuel and speed varies from outside disturbances or conscious changes as stepping on the brake or gas pedal. Without a control these will make the CA50 drift in a stationary point and during transients miss combustion. This motivates some sort of control.

2.6 Controlling an HCCI engine


The control of an HCCI is done using the CA50 estimate as feedback and using a cycle as sampletime. It is convenient because a cycles time length varies heavily with engine speed. An HCCI engine operates in the Engine Speed (ESpeed) of [500, 2000] rpm which can be expressed via 1 ESpeed Tsample = (2.2) 2 60 into a sampletime Tsample in the interval of [0.06, 0.24] seconds. By using the cycle as unit and use Tsample = 1 instead the problem of variable sample times is avoided. There are some different approaches for control. One utilizes ratio between different fuels and another compression ratios (see [2]), but in this thesis variable valve timing will be used. This can be done in mainly to ways: Overlap- or IVC-control which will be described below.

The overlap method


By varying the valve timings, residual gas is trapped in the cylinder instead of blown out from it. These residues are hot from the previous combustion and will make the combus-

CHAPTER 2. BACKGROUND

tion occur earlier the next cycle. This is done using the overlap method which changes the interval between opening the inlet valve and closing the exhaust valve which is illustrated in Figure 2.2. By doing this there are less interval to ventilate the warm gases from the cylinder and some gases are left to the next cycle. The overlap parameters are the IVO and EVC values which should change the same amount when the overlap is changed. To simplify it will sometimes be referred as EVC-mode or changing the EVC which is because the IVO is implied to change too. The overlap is actually a negative overlap and should be dened as a negative value as Overlap = EV C IV O 2 (2.3)

This overlap can be seen in Figure 2.2 as the gap between the exhaust valve closing and the inlet valve opening. It can be utilized as long as this negative overlap exists,that is until EVC and IVC occurs at the same time. Here the IVC value has an offset of 10 CAD which will give a saturation of EVC at 360 CAD and IVO at 370 CAD. When this occurs another method must be used to further change the combustion timing. The condition where the overlap method can be used is for low loads and inlet pressures. When the pressure is raised the CA50 levels are lowered to earlier combustions and the saturation level will occur at lower values of CA50. The saturation can be seen in Figure 2.3 as moving the y-axis upwards, by changing the pressure and load, until it is impossible to achieve later CA50 and not use values of the EVC > 360.

The IVC method


The IVC method uses the effective compression ratio by adjusting the timing of the inlet valve closing. By closing it later the combustion will occur later in the cycle or earlier for earlier combustion which is illustrated in Figure 2.3. It is actually possible to use it the other way around because the compression ratio is described by a parable, in this thesis only the right half will be used. When the overlap method saturates, that is there is no overlap left to utilize, this method can be used to further move the CA50 later in the cycle. This happens when the pressure and loads are raised which do that the overlap is used in lower pressure and loads and the IVC is used in higher pressures and loads where overlap can not be used. When the pressure and load change the CA50 will also change for a x valve timing. If it changes too much downwards it could have to change back to overlap mode when its inuence is beginning to have less effect, that is in the lower part of the parable in Figure 2.3. The lowest point in the parable is called the maximum volumetric efciency which can be optimized for different speeds when running overlap mode. The volumetric efciency can be described by equation vol = mair air Vd (2.4)

The density of air, air , should be measured in the inlet pipe and mair is the mass of the air which is inside the cylinder in a compression which swept through a volume Vd . The volumetric efciency describes as the ratio between actual air mass that is inhaled into the cylinder and the theoretical ideally maximum volume which can be inhaled. The bigger this ratio is, the more power the engine can produce.

2.7. SUITABLE OPERATING POINTS

Figure 2.4: Figure illustrating how a HCCI engine needs to be ran. The notation means that the pressure should either be increased(++) or decreased() until gets inside the interval.

2.7 Suitable operating points


When running an HCCI engine the CA50 must be in a small interval after TDC. This region starts at TDC and goes to around 10 CAD, the optimum value is somewhere in the interval [3, 7] CAD depending on how high pressure there is by the inlet valve of the cylinder. Another issue is to hold the air/fuel ratio -value in an interval of [2.5, 3.5] bar in order to not run the engine rough and keep emissions down. Running rough means that the engine will vibrate much. Higher loads will affect the value and needs to be compensated with a lower pressure. If the pressure is raised to much without compensation the engine will run badly and could risk to destroy the engine. The overall strategy to run the engine is illustrated in Figure 2.4. When running the engine there is a cycle by cycle variation which act as additive noise. This noise is large from a automatic control point of view and can be a problem. Changes that can be made from the outside is to increase or decrease the speed of the engine and change the load which demands more fuel. A CA50 value of more than 10 CAD has a probability to miss-re which results in all fuel is going right out unburned. A too early combustion occurs with CA50 lower than 0 CAD. The result is a lot of noise and the engine will run very rough. The engine will drop in efciency due to a breaking effect of the pressure pushing the upwards going piston down before the TDC. This comes down to that CA50 should be held as late as possible but still not get any miss-res.

2.8 Emissions
If the HCCI engine is operated efcient it can be close to a Diesel engine in fuel efciency but also with very little emissions. In Figure 2.5 an HCCI engines efciency is around 33 % better than a Petrol engine which is at best around 300 g/kWh. A Diesel engine has around 200 g/kWh which is around what an HCCI can perform at its best. It is debatable if there are any particle matter emissions at all from this kind of engine [9]. On the other hand N OX is still produced. The new emissions rules for the US includes an emission level requirement of 0.27 g/kWh of N OX and HC for 2007 and EU 2.0 g/kWh

10

CHAPTER 2. BACKGROUND

Figure 2.5: Fuel efciency (left) and NOX emissions for a HCCI engine. Figures from [5] Swept volume (Vd )[dm3 ] 1.95 Compression ratio 18.0 Connecting rod [mm] 255 # cyl 1 # valves 4

Table 2.1: Testbed engine data

for N OX for 2008. These requirements can be met according to Figure 2.5 when it runs in a good in all points except for lower engine speeds with 1.5 bar inlet pressure and idle speed over 1500 rpm which results in a very bad . CO and HC emissions can be after-treated with a catalysts and reduced as have been said earlier.

2.9 Equipment
The engine, on which the experiments in this thesis were performed, is set up on a testbed in a testcell at the Machine Design department at KTH 1 . The testbed uses a valve timing system which uses one computer. This computer also calibrates and takes care of the security system for the valves. Another computer is a control center for all small systems like signal ampliers, start motor, pressure system, small control systems and measurements from engine oils, cooling liquid, fuel level and combustion timings etc. A third computer has a Matlab installed where a control system can be designed in Simulink to then get compiled and loaded into the the realtime software DSpace from which the engine can be controlled from. The testbed is build around a one cylinder engine based on a SCANIA D12 cylinder with data according to Table 2.1. Note that there are 4 valves in this setup which is a common way to get more ventilation when the valves are opened. In this setup the CA50 is
1 The

Royal Institute of Technology (Kungliga Tekniska H ogskolan)

2.9. EQUIPMENT
90

11

80

70 CA50 Pressure in cylinder [bar] 60 SOC 50

40

30

20

10

0 80

60

40

20

20

40

60

Crank Angle Degrees (CAD)

Figure 2.6: Pressure trace in a cylinder during a cycle with a combustion. Combustion starts somewhere around where the derivative increases at 0 CAD and if there is so fuel added the extra top after 0 CAD will not be present. CA50 is detected when the difference between a non combustion trace and one with combustion differs by around 5 bar.

measured using a pressure sensor inside the cylinder which has began to be manufactured lately on a wider scale than earlier. The sensor output illustrated in Figure 2.6 is then used to compare with a non combustion pressure trace, which will look like the usual pressure curve but without the extra peak from the combustion. When the two differs by a certain value a CA50 value is detected. Figure 2.7 shows overview picture of the engine in the testcell. The valves are controlled by an Active Valve Timing (AVT) system from Lotus which uses high pressure and a controller to guarantee a smooth opening and closing of all four valves. The system can only use a certain amount of valve proles which have to be dened manually. This will reduce the choice of valve timings somewhat and only even CAD:s can be used in a smaller dened interval. More information of this test bed setup can be found in [5].

12

CHAPTER 2. BACKGROUND

Figure 2.7: Overview picture of the HCCI engine. The cylinder is situated in the middle of the picture below and behind the cable box with exhaust pipe to the right leading to an exhaust cabin and the inlet pipe with fuel injection to the left. In front of the cylinder under the chassi hides a hydraulic break. The valves are behind the cable box and are controlled by an Active Valve Timing (AVT) system from Lotus (just outside the picture in the upright corner). They are pressurized by pressure equipment situated on the lower oor under the engine. Except for the AVT pressure system, the lower oor holds a lot of cooler and heater equipment and a Saab engine operating as a start engine.

Chapter 3

Problem Denition
The task is to design a control algorithm that controls the combustion timing in an HCCI engine. A pressure sensor measures the CA50 level each cycle and this level should be held in the interval 0-10 CAD after the top dead center. It should be possible to place the combustion early, at 3 CAD, and late, at 7 CAD, in order to run the engine efcient. This should be done without leaving the interval at different speeds and conditions. For step changes in the CA50 level, the risetime Tr including possible delays should be 5-6 engine cycles. At stationary points the control signal should not uctuate more than a few degrees. This is due to a so called cycle by cycle variation which can become a problem if it inuences the control signal more than necessary. The controller should manage to run the engine at speeds between 500-2000 rpm, but technical issues will probably only make it possible to run this equipment in the interval of around 750-1500 rpm. Pressure changes in the interval 1-4 bar and fuel injection times of 4-15 ms will force the engine to run using either the overlap method or the IVC method. The switching between these two methods should also be managed by the automatic control. The issues with holding a good air/fuel ratio and operate the engine in a efcient way will not be treated in this thesis. A missed combustion may occur if the CA50 level is raised over 10 CAD which is highly undesirable. Values of the CA50 level lower than 0 CAD results in a combustion when the piston is on the way up which is also undesirable. Problems that must be dealt with is probably different dynamics in different operating conditions and speeds. The cycle by cycle variation seems to be a big noise source and a potential problem. Further the implementation of the IVC and the overlap method transition should be made. The sample time will be one cycle out of necessity which will make the engine and controller fully discrete. Parallel to this master thesis project ran a project that focused on tuning a controller with Iterative Feedback Tuning (IFT, see [4]). The resulting controller should be compared with the presented solution to see how good it worked. Furthermore comparison with Fredrik Agrells solution from [5] and [6] should be made to see if a different approach is favorable and if the solutions can be fused together. Agrells solution is based on nonlinear mappings from an engine physics model combined with a feedforward which will, if trimmed correctly, output the correct valve timing, and a slow PI-controller corrects errors and inuence from non modelled parameters. The approach taken in this thesis is to design at least one controller for each control conguration, one for overlap and one for IVC mode, and make a hybrid automaton to handle 13

14

CHAPTER 3. PROBLEM DEFINITION

Figure 3.1: Initial Closed loop with denitions of reference r(t), error (difference between wanted and actual output), control signal u(t) and output signal y(t). Disturbances d(t) will be handled as a addition to the output signal and measurement noise to the actual feedback signal.

when each controller should operate. After early test runs it seems like speed transients is the biggest problem due to changed dynamics in different engine speeds. Therefore it seems to be good to place operating points in each mode around the most problematic sections. In Figure 3.1 the closed loop system is dened. The reference will be a CA50 value of 3-7 CAD and the control signal will be either IVC or EVC depending on control mode. The output is the actual CA50. The disturbances will come in through d(t) and the measurement noise in n(t). The speed, pressure, fuel and other parameter changes will be considered as disturbances that should be suppressed as well as possible. The rst necessary step is to derive models from the chosen working conditions to see how the dynamics differ. The cycle by cycle variation should be modelled in some way and its frequency contents analyzed. This is done in Chapter 4. The second step is to design discrete controllers using some sort of modelbased design where pole placement is the suggested method. If pole placement is not enough more complicated methods will be tried. When the performance fullls or is as good as possible an automaton will be designed to handle transitions between operating points. All the control design is presented in Chapter 5.

Chapter 4

Modelling
The objective of modelling is to estimate a discrete model G(q ) which can be used for model-based control design and simulations. This can be done either by a physical model from physical formulas or by using a black box identication based on measured input and output signals. The later uses the idea of estimating a differential equation that translates the input values to the output values in the best way possible. This has the advantage of a faster modelling and takes into account all real parameters in this plant P . The disadvantage is that noise in measurements can inuence the model estimate but can be compensated for by using many samples of data which will in the long run average out the noise effect. It also gives a discrete model directly where the physical modelling gives a continues. For this thesis the later approach of black box identication will be used due to the complexity of the engine and its many factors with unknown impact.

4.1 Parametric black box modelling


A black box modelling method is a parametric estimation approach where the constants to the transfer function from the input signal u(k ) to the output signal y (k ) should be es(q ) timated. The function can be dened by G(q ) = B A(q ) . The equation can be written as A(q )y (k ) = B (q )u(k ) + C (q )e(k ) where the last part describes the error. This is called a ARMAX-model which has a special case when C (q ) 1 which is called a ARX-model. A special case of ARX is a Output Error model (OE) where the error is not described by any parameters according to A(q )(y (k ) e(k )) = B (q )u(k ). The difference is that A(q ) is used in ARMAX and ARX to describe the noise which it will not do in an Output Error model. The rst necessary part when doing this sort of modelling is to get input and output data. The best choice of input data is a signal of white noise behaviour, that is the effect spectrum should be the same in all frequencies and the autocorrelation should not show any correlation between samples (see [11] for denitions). By using all frequencies information about these frequencies will be used in the estimation of the model. It is also important to choose operating points and choose the input signal in such a fashion that the system operates in these points. The parametric estimation is a linear model and the result will therefore be a linearization around the operating point. If the system is non-linear it is usually best to choose several operating points and make a model valid for each point.

15

16

CHAPTER 4. MODELLING

The next part is to acquire output data from the plant. The input data is inserted into the system and output data is collected. The input and output data is divided into two sets, one for estimation and for validation. The estimation data is then used to estimate a model using a overdetermined equation system using the least-square method. It is solved for the wanted constants in G(q ) which then needs to be validated. Here the validation set is used to insert its half of the input data into the estimated model and comparing the estimated output y (k ) with the validation sets output y (k ). There are alot of parameters that can be used. First there are the type of model, for example a ARX model, secondly what order that should be used, and also if there are any delays present. When doing a validation there are several different approaches. The simplest way is to study the error between y (k ) and y (k ) by forming the quadratic error over all samples
N 2

(y (k ) y (k ))
k=0

(4.1)

where N is the amount of samples used in the validation set. This can be normalized into a percentage which will tell how good the tting is of the estimated model. Correlation of the residuals can also be used for validation. By using the model error in each sample an autocorrelation can be computed. This will show if the residuals has any correlation between samples. If the estimated model is good it will only show the natural noise in the plant. Also the cross-correlation can be computed between the input signal and the model error. Ideally this does not show any correlation between samples. If it does show any it will mean that some dynamics was missed in the estimated model. If the correlation indicate bad results the order of the model can be increased. This will usually improve the tting as well as the correlation of the residuals. Lower order model is wanted because of mainly two reasons. Firstly high order models uses higher order transfer function to t the estimation set as good as possible. Therefore it also models noise if it uses to high order. The result is a good tting for the estimation set but it is not general enough to t the validation set. Secondly higher order models is harder to use in the control design and will use more computer power in the implementation. Therefore as low order model as possible should be used. It should however have all the important dynamics in it. To simplify a model and reduce the order of it frequency and step responses can be used to compare high order with low order estimated models. Because high order models has all the possible dynamics in it the threshold can be found where the important dynamics disappear because of the too low order of the model. The frequency response is usually studied in a Bode graph which is dened by |G(i )| and its phase advance arg (G(i )) which is plotted in a logarithmic scale. It is also possible to study the poles and zeros of the model. A condence interval can be calculated which gives information of how certain the placing of these are. If the condence intervals of two poles or zeros overlap it is possible to substitute them for one. If the interval contains the origin it is possible to remove the pole or zero.

4.2. OPERATING POINTS


Operating point ESpeed [rpm] Pin [bar] Tin [C 0 ] IVC [CAD] Overlap [CAD] Ts [ms] 1 1000 1.6 60 571 -142/-110 6.75 2 1200 1.8 60 578 -142/-110 8.5 3 1300 1.8 60 582 -142/-110 8.25 4 1000 2.4 60 590/606 -10 11 5 1200 2.4 60 609/619 -10 11

17 6 1300 2.4 60 591/615 -10 11

Table 4.1: Operating points and the conditions of inlet pressure and temperature, engine speed and fuel injection time. In the rst three points overlap is the control parameter and in the last three IVC.

4.2 Operating points


The engine exhibit different dynamics at different operating points. Therefore operating points for the two control methods are chosen with varying engine speed. In early testings there were a observed big change in static gain around 1250 rpm. Therefore one point was placed below and one above. Below 1000 rpm and above 1300 rpm the dynamics seemed to be the same except for gain changes. The idea was to switch between these operating points during a speed ramp to handle the rapid change of static gain for different speeds. Also when increasing the load an overlap point should change to an IVC point when the overlap saturates. Table 4.1 shows the selected operating conditions for the operating points. The changing parameters between 1 to 3 and 4 to 6 is the engine speed and to some extent the inlet pressure and fuel which were chosen so that the engine could run acceptable in each point. The overlap and IVC intervals are designed to allow a step response of 3 to 7 CAD of CA50 which will be used in the modelling and validation.

4.3 Cycle by cycle variations


In all engines there are cycle by cycle variations on the output signal. To be able to model this noise a test run with a constant input value was used. The operating point was 1000 rpm running overlap (see operating point 1 in table 4.1). The data was then processed and trends and mean values were removed. To analyze the result the autocorrelation and effect spectrum of the noise was studied. The autocorrelation and power spectrum indicates a white noise behavior due to small correlation between samples and an evenly distributed effect spectrum. The low frequency component in the effect spectrum is probably due to a non-perfect trend removal which results in a non-zero mean over the whole scope. A model of this noise can be modelled by white noise with a variance of 0.2. What should be noted is that the noise varies in amplitude in different conditions and if the noise-model should be complete different amplitudes and variance should be calculated.

18
Effect spectrum 200
1000 800 amplitude 600 400 200

CHAPTER 4. MODELLING
autocorrelation

150 amplitude

100

50

0 5000

4000

3000

2000

1000

1000

2000

3000

4000

5000

0 5000

4000

3000

2000

1000

1000

2000

3000

4000

5000

Effect spectrum, zoomed


100

autocorrelation, zoomed

150 amplitude
amplitude

80 60 40 20

100

50

0 20

15

10

0 sample

10

15

20

0 50

40

30

20

10

0 sample

10

20

30

40

50

Figure 4.1: Autocorrelation and effect spectrum of the cycle by cycle variation

Noise model
The cycle by cycle variance versus combustion angle can be modelled as a non linear mapping. A model of this sort can be found in [2] which deals with the start of combustion angle, SOC, instead of CA50 so it is off with some degrees. From this an approximal model can be made for the noises behaviour. The model basically has a low variance in early combustion and higher variance in later combustions as shown in Figure 4.2.
0.8

0.7

variance of cycle by cycle variance

0.6

0.5

0.4

0.3

0.2

0.1

10 CA50 [CAD]

12

14

16

18

20

Figure 4.2: Cycle by cycle variation versus CA50

The source
The source of this noise is due to turbulence in the cylinder which varies due to pressure conditions [9]. For example in a petrol engine this variation is much bigger and comes from the exact conguration of the fuel-mix and turbulence around the start plug. In an HCCI engine the fuel is homogenous and there is no start plug and therefore the variation is much smaller. It is however larger than in a diesel engine. To verify the source cross correlations can be studied between varying conditions and the noise. Some small correlation

4.4. DELAY

19

could be found from the inlet pressure and temperature and exhaust pressure. These are connected through the ideal gas law and will likely inuence the turbulence and therefore the cycle by cycle variation.

4.4

Delay

An important aspect of modelling and control is the delay in the system. The delay must be known so a model can be estimated with the correct samples delay and the stability of the system is smaller with larger delays and the control must be done slower. To know the delay step tests was done on the testbed where the delay could be derived from the difference between a change in control signal and the reaction from system. Operating point Delay [cycles] 1 3 2 3 3 2 4 2 5 2 6 2

Table 4.2: Measured delay for the operating points. The rst three are for the overlap method and the last three for the IVC method. From Table 4.2 the rst two operating points a delay of three can be observed. Operating point 3 shows a delay of two instead which is unexpected. It could be expected with a higher delay in higher engine speeds as this point represent compared with the rst two. This is due to a faster engine speed correspond to a faster sampletime according to 2.2 which could be to fast for the equipment. However the reversed is actually the result. Higher engine speed makes the delay shorter. The same behaviour does not show in the IVC points where all points has the faster two cycles delay. From the step responses some dynamics could also be noted in the IVC points and in a lesser extent in the overlap points. The delays are quite hard to explain, one could expect them to be dependent of the engine speed but it seems not to be the case here. It could be some problem with the measurement equipment because the expected delay is one for the engine cycle and one for the software. The values of the delay in Table 4.2 will be used in the modelling below.

4.5 Practice
For each operating point there is a need of a model. These were obtained using black box identication using the System Identication-toolbox in Matlab 1 . Because there are six points and six models a method is rst explained with which all models were made with. Then each operating point will be discussed and lastly a summary of what estimated model was best in each point. Because the noise inuence is large a Telegraph signal was used. This sort of signal uses the maximum step and uses all frequencies when it changes between the minimum and maximum value and has a the same properties as white noise. In this way the inuence of the noise is minimized in the model estimation.
1 Matlab is a mathematical program widely used for models and numerical calculations. www.mathwork.com.

Homepage

20

CHAPTER 4. MODELLING

Method
The task is to nd a model for each operating point. The model should capture the main dynamics but also be as low order as possible. First the data was preprocessed and the mean value was removed together with possible trends. The data was then divided in half into a estimation and validation set. With the information of the delay estimated ARX models, with different amounts of poles and zeros, was calculated together with their ttings. Models around the threshold of the tting, where the tting drops because of to low order to estimate the model, was chosen. Also the one with the best tting regardless of its order was used as a reference for the frequency and step response validation. It should be avoided to remove any resonance tops or oscillations by decreasing the order of the model too much. The next step is to decide on which of these candidates has the lowest order but still contains the main dynamics. This can be studied by using residual analyze of the crosscorrelation and autocorrelation. If these shows a rapid decrease at some point the model before the decrease should be taken. The poles and zeros could also be studied to decide on which of these are not necessary and can be removed with little inuence to the model. By using these steps models can be removed from the candidate-list and the best one can be chosen as the model for each operating point.

Choosing the model


One operating point will be handled at a time. In the tables the models are dened as [number of poles, number of zeros]. The operating point is dened as [the operating point number (1,..,6), an identication number for each suggested model] to make discussion easier. Operating point 1.1 1.2 1.3 1.4 1.5 Suggested models 6,4 1,1 0,1 1,0 0,0 Fitting 66.41 65.73 65.55 65.55 60,49

Table 4.3: Suggested models for Operating point 1

Operating point 1 The ttings from Table 4.3, bode graph and residuals all rule out 1.5 and leaves three candidates which all shows bad behavior by the sixth sample of the cross correlation. A bode graph indicates that 1.4 is a good simplication of 1.1 and the other two have too low amplitude at lower frequencies which also shows in a step response. The model 1.4 is therefore chosen which has one pole according to G1 (z ) = 0.2743z 3 1 + 0.1936z 1 (4.2)

Operating point 2 The ttings in Table 4.5 are pretty much the same but the frequency response differs. The

4.5. PRACTICE
Operating point 2.1 2.2 2.3 2.4 Suggested models 3,0 1,0 7,1 3,1 Fitting 44.59 44.41 44.19 43.39

21

Table 4.4: Suggested models for Operating point 2

lesser order models do not show a dip around 0.8 rad/s which can be seen in 2.3 and 2.4 and is hinted in 2.1. This is a behavior that can be seen in operating point 3 too, but there it is more clear. Because of that and 2.2:s behavior in a step response it is discarded as 2.3 as well because of it is similarity with 2.4 and in favor of lower order of poles and zeros. The
12 model 2.4 model 2.2 model 2.1 13

14

15 Magnitude (dB)

16

17

18

19

20 2 10

10

10

10

Figure 4.3: Bode graph of estimated models in operating point 2 last decision is if the extra dip in the frequency respone in Figure 4.3 is important enough to use one pole and zero more. Looking at a linear scale the dip differs 0.2 units which probably will not matter much in the end and the model 2.1 chosen which in the discrete z-plane is G2 (z ) = 0.1558z 3 1 + 0.2927z 1 0.0209z 2 0.093z 3 Suggested models 3,4 0,2 1,2 2,1 1,1 Fitting 50.90 50.80 50.67 44.93 30.76 (4.3)

Operating point 3.1 3.2 3.3 3.4 3.5

Table 4.5: Suggested models for Operating point 3 Operating point 3 In Table 4.5 the obvious gap in tting is by 3.4 where the tting drops rapidly. Residual analyze shows that 3.5 and 3.4 is worse than the others which is reinforced from the

22

CHAPTER 4. MODELLING

frequency response. The three others has very similar frequency responses and residuals but 3.2 shows slightly better step response performance than 3.3. The pole that differs between them has a condence interval that contains the origin which makes them one and the same. Therefore the lower order model, 3.2, can be chosen which makes the operating point for high speed overlap look like G3 (z ) = 0.1299z 2 0.003601z 3 + 0.08559z 4 Operating point 4 Operating point 4.1 4.2 4.3 Suggested models 1,1 1,0 0,0 Fitting 34.07 34.06 33.98 (4.4)

Table 4.6: Suggested models for operating point 4

This operating point seems to require very low model order and 4.1 in Table 4.6 has the best tting but it could be argued that the ttings are quite poor for all estimated models compared to the other points. 4.3 could be ruled out because the frequency response differs too much from the reference with its constant value, in other words it has not got any dynamics and observations suggested that this operating points should have some. The poles and zeros all actually contains the origin which would indicate that the no dynamics model is the one to use. This is probably due to bad data which is also indicated by the low ttings. Due to that the system should have some dynamics, which also have been observed, 4.2 are chosen and can be written as G4 (z ) = 0.2542z 2 1 + 0.03327z 1 (4.5)

This is reinforced by the frequency responses is similar to the surrounding operating points. Operating point 5.1 5.2 5.3 Suggested models 2,3 1,1 1,0 Fitting 49.70 49.63 49.44

Table 4.7: Suggested models for operating point 5 Operating point 5 Table 4.7 shows that 5.3 differs quite much from the best tting of 5.1 as well as in frequency response and residuals. 5.2 on the other hand is quite close. The extra performance motivates the extra zero in 5.2 and it should be taken as model. The model can then be written as 0.4405z 2 0.06122z 3 G 5 (z ) = (4.6) 1 + 0.01486z 1 Operating point 6 According to the residual the two last ones, 6.4 and 6.5 in Table 4.8, misses some dynamic which shows with a dip in the cross correlation at the forth positive sample. Both 6.2 and

4.5. PRACTICE
Operating point 6.1 6.2 6.3 6.4 6.5 Suggested models 7,5 1,2 0,2 0,1 1,0 Fitting 53.17 52.73 52.73 52.19 52.00

23

Table 4.8: Suggested models for operating point 6

6 7

10 Magnitude (dB) Magnitude (dB) Phase (deg) 1 2 3 540 10


2

8 9

15

10 11 12 13

20

25

14 15

30 0

16 0

90 Phase (deg) 180

180

360 270 4 5 6 360 10


1

10

10

10

10

10

10

Figure 4.4: Bode graphs for the six models

6.3 follows the reference of 6.1 good. From the poles and zeros condence intervals the model 6.3 has an uncertain pole which interval contains the origin. This means that it is the same as 6.2 and the lower order model should be used as model for this operating point. The expression for this model looks like G6 (z ) = 0.2064z 2 0.02342z 3 0.014324 1 + 0.0009484z 1 (4.7)

Results
There seems to be some differences in the gain for the models in gure 4.4 and the delay makes the phase to have a higher negative slope in higher frequencies. Operating point

24

CHAPTER 4. MODELLING

2 and 3 shows a tendency for a dip around 1-2 rad/s which is not present in the IVC operating points. All points seems to indicate a resonance top in high frequencies which could be what was seen in the stepresponses in Section 4.4.

Chapter 5

Control
This chapter will introduce two control design methods and a switching system that handles the transitions between the operating points. The basics of automatic control is introduced in the rst part of this chapter followed by the rst design method. The rst method, pole placement, was not sufcient and a second method loop shaping, which turned out to be adequate for the task, was used. However pole placement showed what is necessary for control and the need for noise compensation. Results from each part will be presented together with the methods.

5.1 Basic Control Design


Control design is used to stabilize systems and increase performance. Performance is usually measured from step responses because speed and stability can be measured easily. Speed is measured by the rise time Tr which is dened as the time between 10% of the step height to 90%. Stability is measured from overshoot, M , which measures the overshooting units over the step height divided by the step height. Settling time, Tsettling , measures the time it takes from the start of a step until it has settled in a 5% interval of the end value of the step.

Figure 5.1: Closed loop system

The concept of control design can be illustrated by Figure 5.1. It uses a feedback system which basically takes the output value y (t) and compares it to the reference value r(t) and feedback the difference as an error e(t) into a controller with some transfer function F (s). 25

26
20 10 0 10 Magnitude (dB) 20 30 40 50 60 70 80 0

CHAPTER 5. CONTROL

resonance top

45 Phase (deg)

90

135

180 10
1

m
10
1

10

10

Frequency ( )
c

Figure 5.2: Typical Bode graph of the system G(s) with a crossover frequency c = 3 rad/s and a phase margin of m = 35 degrees.

The controller then uses the error to make an adjustment of the control signal u(t) which is then fed into the plant P (s). The controller should improve the closed loop system Gc (s) by, for example, stabilizing it or make it faster. Model based control designs uses a model for the plant G(s) which is used in the design and simulations. The loopgain is dened as L(s) = F (s)G(s) (5.1) Using the loop gain L the closed loop system can be written as Gc (s) = L(s) 1 + L(s) (5.2)

The control design is usually done by shaping the loop gain which can be studied in a Bode graph which shows the gain and phase for each frequency. A Bode graph is dened by the gain |G(i )| and the phase arg (G(i )). Looking at a typical Bode graph in Figure 5.2 it can be seen that it has low-pass character. That is an amplication, |G(i )| 1, for low frequencies up to the crossover frequency c where |G(ic )| = 1 and decreased amplication, |G(i )| < 1, for > c . The phase margin m is dened from the margin from a 180 degrees phase advance at c . This is a stability measure where zero phase margin will give a self-oscillating system and a value smaller than zero equals an unstable system. More phase margin will give a more stable and less oscillative system with less overshoot. Bandwidth B is dened as |Gc (iB )| = 1/ 2 0.71. In control the bandwidth is usually approximated to the crossover frequency, that is B c . Basically a higher bandwidth equals a faster system.

5.2. REQUIREMENTS AND CONSTRAINTS

27

In this thesis the Bode graph will be used to design the control using the loopgain. The goal is to use as high bandwidth as possible with a good phase margin. The controller F(s) is used to change the bandwidth and then increase the phase margin for the desired crossover frequency. This is done by tuning a gain and placing poles and zeros. We will design the control in continuous time but the model and implementation software will be in discrete time. Therefore it is necessary to transform the controller from the time continuous frequency Laplace plane to the discrete z-plane. In the discrete plane the operator z n corresponds to a delay of n samples. For example the discrete transfer function F (z ) = U (z )/E (z ) = 1 + z 1 corresponds to u(k ) = e(k ) + e(k 1). The variables s and z are related as z = esT which by the Trapezoidal method [8] can be sT /2 approximated by z = esT 1+ 1sT where T is the sampletime. This approximation can be rewritten as a mapping from s to z and is used by simply replacing the Laplace operator s with 2 z1 s= (5.3) T z+1 The approximation is called Tustins approximation which is one way to discretisize a transfer function and has the advantage of mapping the left hand side, s 0, of the Laplace plane into the unit circle in the z-plane. Therefore a stable system in the Laplace plane will be stable in the z-plane.

5.2 Requirements and Constraints


The main requirement for the controllers is to achieve a risetime of 5-6 cycles including the delay. That will be a risetime of 3-4 cycles for a system with 2 delays and 2-3 cycles for one with 3 delays. It should also be able to hold the combustion in the interval [0,10] CAD for all disturbances. This is highly inuenced by the cycle by cycle variation which can make the combustion go over 10 CAD with an unlucky noise realization and too big overshoot when taking a step to 7 or 8 CAD. For a step in CA50 from 2 CAD to 7 CAD the overshoot must not be over 1 because a noise realization of 2 makes the CA50 exceed the limit. This motivates an overshoot requirement of M < 20% at most. Let the delay be dened by . This delay will impose constraints to the system and is three cycles for the operating points 1 and 2 and two cycles for operating points 3-6. An 1 approximation of the bandwidth constraint is wB < and with = {2, 3} it will mean a maximum bandwidth of 0.5 respectively 0.33 rad/s. A rise time of 3-4 cycles is possible with a bandwidth of 0.3 rad/s and a large enough phase margin. This suggests that the 2-3 cycles rise time necessary for the rst two operating points is not possible. However the other points with only 2 cycles delay can fulll the requirement with only 0.3 rad/s as bandwidth and the 0.5 rad/s constraint is not an issue. Another issue is the lack of disturbance model Gd (see gure 5.1). With Gd = 1 the disturbance rejection is the same as reference changes and therefore no explicit disturbance rejection can be done. It would have been good to do such a model but it is quite difcult because there are three types of disturbances in the form of pressure, fuel and speed. If it should be done rigorously one model for each is necessary and at least pressure is hard to model well because of a very long delay and slow dynamics for pressure increase but fast dynamics for sinks.

28

CHAPTER 5. CONTROL

5.3 Pole Placement


Theory
The method pole placement is based on placing the closed loop poles to get the desired crossover frequency, phase margin and robustness. The pole placement in this thesis were done in the discrete z-plane. This means that the poles and zeros are mapped as esT where T is the sampletime. The angle from the positive real-axis is the frequency. To lower the slope or lower the gain, real poles should be placed. The pole will begin to start inuencing the system at the frequency = a if the pole polynomial consists of a term (z e(T a) . To get a low frequency amplication a complex pole with a small complex part compared to the real part can be used to get a resonance top. How close to the unit circle the pole is will decide over how many frequencies this harmony should inuent. The closer to the unit circle the pole is, the more concentrated will the change be and the higher resonance top. To raise the magnitude at high frequencies poles should be placed on the negative real axis. In the same way increased gain or slope for the middle band of frequencies poles should be placed on the imaginary axis. The controller should have a certain design to have enough freedom to place all the poles. This is done so that every variable in the pole polynomial has one equation and so that the controller is proper. If the model of the system is described by G( q ) = mi q i + mi1 q i1 + + m0 M (q ) = q j + nj 1 q j 1 + + n0 N (q ) (5.4)

the controller can be written on the form F (q ) = B (q ) 1 bi q i + bi1 q i1 + + b0 = q 1 q j + aj 1 q j 1 + + a0 A(q ) (5.5)

1 This form includes a integrator q 1 which manages statical errors. However when using a integrator the phase will be reduced by 900 in the bode graph. By using the model and the controller a closed loop pole polynomial can be calculated as

P (q ) = B (q )M (q ) + A(q )N (q )

(5.6)

This polynomial will have poles which can be modied by the constants in B(q) and A(q). A desired pole polynomial Pd (q ) = di q i + di1 q i1 + + d0 (5.7)

can be used to place the poles and the equation system can be used to solve for the constants needed in the controller. The poles are then placed to get as good performance as possible. This is done with complex poles to raise the gain in different frequency intervals by using a resonance top. Lowering the gain in an interval can be achieved by placing real poles. A disadvantage to this method is that there is no control of the zeros placement. These can easily hamper the performance.

5.3. POLE PLACEMENT

29

Practise
Pole placement was the rst approach and was utilized on operating point 2 and 3. The reason is that overlap was easiest to start with and that the points differs in one important aspect, namely the delay. The later point has a delay of 3 cycles compared to the rst which has 2 cycles delays. This make it likely that if the method was sufcient for these two it would follow that it could be used for other operating points as well.

Bode Diagram 30

20

Magnitude (dB) Phase (deg)

10

10

20

30 0

90

180

270

G L

360 10
2

10

10 Frequency (rad/sec)

10

Figure 5.3: Loopgain for Pole placement of workingpoint 3.

Operating point 3 with only 2 delays is easiest. Looking at the models in Figure 4.4 it seems to be possible to control with a bandwidth of around 0.3 rad/s with a good phase margin. The poles was placed rst at high frequencies where they do not inuence the crossover frequency and secondly as small complex poles at low frequencies to lift the amplitude in a small degree. This slope is already -20 dB per decade because of the integrator when looking a the loopgain. In this way a good performance was achieved with a phasemargin of 60 degrees at c = 0.3 rad/s with the resulting bode graph in Figure 5.3. Looking at the models frequency responses in Figure 4.4 for operating point 2 it can be seen that high frequency needs to be lowered a lot. This was be done by placing real poles around 1.5 rad/s which will lower frequencies over the crossover frequency and complex poles at low frequencies to raise the amplitude. Remaining poles was placed as real poles at high frequencies where they do not inuence the system much. Because of the delay the control had to use a lower bandwidth to get a good phase margin. The

30

CHAPTER 5. CONTROL

resulting closed loop system had a crossover frequency of c = 0.23 rad/s and a phase margin of 63 degrees, but the gain is not reduced enough after c which is a problem for the robustness. For example a small error in the gain of the controller could result in a much larger actual c and instability. Unstable oscillations will not be decreased very fast either. If this should be remedied by a pole it will also worsen the phase margin to the extent that the phase needs to be lifted or bandwidth reduced. The phase can be improved by a phase advancing link containing zeros but then it is no longer pole placement and the control is by now quite big due to a lot of extra zeros placed by the method which is under no control. It is better to try a method that can handle both zeros and poles instead.

Results
stepresponses 10

6 CAD 5 4 3 2 1 0

100

200

300

400 cycles

500

600

700

800

Figure 5.4: Step responses for operating point 3 using pole placement controller. Combustion could be missed at CA50 values of over 10 CAD. Starting with operating point 3 the results were acquired using step changes in the reference and typical changes in inlet pressure, injected fuel (Ts ) and engine speed. The steps were all managed without risk of misre but a tendency for amplication of the noise in later CA50 can be seen in Figure 5.4. This is probably due to a non-linearity that must be taken into consideration. The control signal is affected by the noise too much and because of the white noises property of using all frequencies. Therefore the noise is amplied by a fast controller which is necessary from the requirements and is close to miss combustion. A typical step has around 6-7 cycles rise time and has a small overshoot and some oscillations which are settled quite rapidly. The pressure response is good and as well as changes in the fuel which is handled well inside the required interval. Speed changes were handled well except for changes between 1000 and 1300 rpm. However this operating point should only handle engine speeds around and over 1300 rpm as the other operating points handle the lower speeds.

5.4. NOISE COMPENSATION

31

Operating point 2 on the other hand shows an oscillative behavior with peaks on 14 CAD on CA50 which is not sufcient in performance. It does however settle after an initial peak but still oscillates quite much due to the noise. Looking at smaller steps it can manage rise times of around 8 cycles. Pressure changes could not be handled in this experiment run, but this is due to that the control signal saturates and IVC-mode should be used instead of overlap. Fuel changes bring the system into self-oscillation which barely stay inside the upper limit of 10 which is not good. The speed transient could be hard around 1250 rpm which is also the case with this controller. It does not perform that well in other steps either but it oscillates too much in 1200-1300 steps to fulll the requirements.

Conclusion
Operating point 3s controller worked good in all tests and should be a guideline for the design of the other operating points with this method or another. The only objections are uctuations in steady state where it reacts to the noise too much. The non-linearity in the later combustion angles which can be seen in the noise could also be a problem in other control designs. However operating point 2 shows that the pole placement method is lacking in the aspect that zeros can not be placed and therefore make it hard to raise the phase if needed and the zeros that are automatically placed can hamper the performance. It is also not the most convenient method to use when doing control for multiple operating points because an equation system must be calculated for each model. This model changes between the operating points and can vary in the development of the control design. Therefore it is recommended not to use pole placement in this system. There is a need of another method capable of placing zeros and easier to design several controllers. It would also be good if it handles changes in the models better. However it was a good rst approach which supplied an insight into the noise problem and the needed bandwidth and phase margin.

5.4 Noise compensation


The noise exhibits much larger variations in later combustion angles. This is shown in Figure 4.2. The variance is around 0.7 at a late combustion and around 0.2 for early combustion. If the controller reacts too much on this noise, and delayed as it is, it can magnify this noise so combustions could be missed. This motivates some sort of compensation. This compensation is placed after e(t) and should reduce the inuence of the noise on the error signal and therefore also on the controller.

Compensation Approaches
One method for compensation is to lower the bandwidth which however will make the system miss the requirements on the speed. A solution would be to add some sort of compensation that can modify the error signal e(t) and reduce the inuence of the noise on this signal and in doing so the insignal to the controller. Another way is to lower the controller gain in late combustion angles and thus make it slower to react to much of the noise which is bigger in the later angles. The tradeoff will be that it reacts slower also to down-steps. A solution is to use a non-linear mapping with the

32
1.1

CHAPTER 5. CONTROL
Noise compensation methods 10

0.9

0.8

Controller Gain

0.6

Controller Gain

0.7

0.5

0.4

0.3

0.2

8 Deadzone for small errors Less slope for small errors

0.1

10 CA50 [CAD]

12

14

16

18

20

10 10

2 0 2 error (CA50ref) [CAD]

10

Figure 5.5: Inversed model approach for noise compensation to the left and the deadzone and less slope for small errors approach to the right. Deadzone with a = 1.5 and less slope for small errors with k = 0.5, a = 1.5

CA50 level as input and a scaling of the amplitude of the gain in the controller as output. This is an inverse of the noise model and is shown in Figure 5.5. It can also be noticed that the noise can be approximately seen as changes between a an interval of a. This can be exploited in a dead zone in the gain for these changes in the error signal. The parameter a is a design parameter and a value of a [0.5, 1.5] performs good. A disadvantage to this method is that stationary faults will be introduced when the controller enters into the deadzone in an unknown position and settles there. To get around the static errors from the deadzone a slope can be used instead. This will make the controller use a smaller gain for small errors in the a interval. The function can be written as ecomp (k ) = c e(k ) e(k ) if e(k) < a if e(k) a (5.8)

The slope parameter c should be chosen in the interval c (0, 1] where c = 1 will disable the compensation and c = 0 will be the same as the deadzone case. A value somewhere around 1/2 and 1/3 is a reasonable tradeoff between the noise reduction and speed for smaller changes and a value of a = 0.5 will be used because it is faster and still gives a good noise reduction. A modication could be to turn this function off for earlier combustions, because it is worsening performance in these CAD:s where the noise variation is not that large.

Performance
Comparing the methods performance in Figure 5.6 the deadzone will give a smooth control signal but as expected also static errors. In the inversed model (which is not included in the gure) down-steps are very slow and the performance is too much inuenced by what CA50 it is currently. The last approach with a lesser slope gives a good performance on an up-step but has some problems with a downstep which could be xed by the suggested modication. The values used are a = 1.5 and c = 0.5 for the deadzone and lesser slope methods.

5.5. LOOPSHAPING
response from a testsignal 8 6 CAD 4 2 0 0 500 1000 1500 2000 2500 3000

33

controlsignal

330 325 EVC 320 315 310 305 0 500 1000 1500 cycle 2000 2500 3000

Figure 5.6: Output signal and it is control signal with and without compensation. The rst part is uncompensated, second is with deadzone approach and the last is with less slope approach using constants a = 1.5 and c = 0.5.

Conclusion
The best performer is the third solution with less gain for small errors. The drawback is the slower compensation for small errors. Due to the difculties in separating the errors from the noise this is unavoidable. With a good choice of the parameters c and a one can decide which tradeoff is necessary between the speed of small changes and the noise reduction. Good values are a = 1.5 and c = 0.5 for this system. With the modication to turn it off for earlier CA50 it will only increase performance in all parts. Further optimization of this method would be to control the values of c and a for different conditions and different CA50.

5.5 Loopshaping
Loopshaping is an approach where the magnitude of the open-loop system is shaped to fulll certain criteria. These criteria are based on requirements of risetime and overshoot for tracking or reference changes and disturbance rejection.

34

CHAPTER 5. CONTROL

Theory
The idea with loopshaping is to form the loopgain L(i ) = K (i )G(i ). This should be done so a certain bandwidth is achieved with a good phase margin. The usual rule of thumb is to have a slope of one or two at low frequencies and close to the crossover frequency c reduce the slope. After the crossover frequency the slope should again be larger, even as big as possible but still not affect the crossover frequencies phase too much. This way of thinking for the magnitude is based on the phase for different slopes. A good approximation for a relation between the slope and phase can be obtained from Bodes integral theorem [1] G(j ) = 1

d ln |G(j )| + d ln d ln d ln |G(j )| d ln

(5.9) (5.10)

N ( ) =

G(j ) 900 N ( )

(5.11)

If the amplitude has a slope of N = 1 the phase will go to 900 . A change to this slope will make the phase gradually go to the intended phase but will not be instant. This makes for example that a slope bigger than N = 2 can be used but should be lifted after a few decades. The important thing to understand is that the smaller slope at c means a larger phasemargin. The slope could be larger before c but should never make the phase to be close to 1800 . This is achieved using different links in the controller which are added as needed. The controller is on the form F (s) = K1 (s) K2 (s) Kproper (s) These links will be discussed below. (5.12)

Integral action
The rst part of the controller is K1 (s) = K (s + I )n 1 G (s)Gd (s) sn (5.13)

which is used to obtain integral action with a slope of N = n at small frequencies. The inverse of the plant is added to cancel out the original dynamics. The slope should be less near c which is achieved with a zero that cancels out the integrator in = I . I is a design parameter which has a typical value of 0.2c which will lift the phase by up to 900 at c . Placing it closer to the crossover frequency will result in a decreased phase lift. I This value can be subject to a heavy tuning and can take values in c [0.1, 1.0). The order of integrators n is typically one or two according to how the dynamics of the disturbances looks like. For step-like disturbances n = 1 is sufcient but for ramp-like n = 2 is necessary. Here it is important not to get a phase under 1800 before c which will result in a unstable system. In [1] it is also suggested to add the disturbance model Gd (s) to get increased performance. This is quite intuitive because the more information one got of the disturbance the easier it should be to suppress it.

5.5. LOOPSHAPING

35

The constant K is there to give the desired c . It can easily be calculated from the required raise/lowering of the Bode amplitude curve. It is not necessary to invert the whole system model, higher frequency poles and zeroes can be ignored if their inuence is outside the range of the loopshaping parts.

Derivative action
If the phasemargin is not big enough the loopgain can be modied around wc with a phaseadvancing link s +1 K2 (s) = a (5.14) s a + 1 The value of a is a designparameter and is usually close to c and is usually one decade, i.e. = 10. This will raise the phase starting at = a and then continue to improve until it is cancelled after rad/s.

Prelter
An optional link Kf (s) = lead s + 1 lag s + 1 (5.15)

can be added if the tracking is not good enough. This link is a prelter which gives one more degree of freedom and is placed before the reference signal r(t) before it enters the closed loop. The lter only affects the transfer function between r and y and not the disturbance rejection. The type of lter depends on if the tracking should be faster, lead > lag which will increase high frequencies, or slower, lead < lag which increases low frequencies. If there are no change needed lead can be set to zero which will result in a lowpass lter. This will also lower high frequencies which will result in a more smaller but longer control signal.

Proper controllers
All controllers must be proper to yield a realizable form when implemented. This is due to that the controller will otherwise try to look on future values of the error which is not possible. If it is not proper it will also not give the desired slope. This motivates one more link on the form 1 Kproper (s) = s (5.16) c d +1 where the order c is determined from the relative degree of the controller zeros and poles. It is task is to make the controllers amount of poles to be the same or more than the amount of zeros. The pole position d should be placed so the poles do not inuence c too much but close enough to give a negative slope after it. A last remark is that K should be changed to achieve the desired phase margin after each modication.

Practice
The design will start with the two rst operating points which have the largest delay and which are probably hardest to control. After an initial integrator link with a desired crossover frequency of 0.3 rad/s the phase margin is too low at 50 which motivates a phase advancing link. Lifting the phase around wc and adjusting K for the correct cross

36

CHAPTER 5. CONTROL

over a good phase margin of 500 is achieved. This still showed a too oscillative behavior which could be remedied by a smaller K, i.e. lower bandwidth. After some tuning wI was set to around 0.7 for operating point 1 and 0.9 for operating point 2. The high frequency poles were placed at 0.4 and 0.3 rad/s. This change resulted in a phasemargin of 600 which gave the best performance.

Next up is operating point 3 which was much easier to control than the rst two. The only part needed link is the integral part and the desired wc of 0.3 rad/s gives a phasemargin of 570 . With some tuning the value of wI was set to 0.9wc and the high frequency poles in 0.5 rad/s.

The IVC operating points (4,5 and 6) proved to be very similiar to each other except for small amplitude differences. All three give a good phasemargin of around 600 at 0.3 rad/s after the integral part and after some tuning with wI = 0.8wc and the high frequency poles around 0.5 rad/s. The resulting bode graphs can be seen in gure 5.8.

Operating point 1 2 3 4 5 6

Tr [cycles] 4 4 4 3 3 3

Tsettle [cycles] 20 22 9 13 14 14

M [%] 9.7 9.8 10.5 5.7 7.4 7.5

Tr + delay [cycles] 7 7 6 5 5 5

wc [rad/s] 0.22 0.2 0.3 0.3 0.3 0.3

Table 5.1: Performance of controllers (simulated)

Performance

The requirements are fullled in the simulations for all operating points except for the rst two which can be seen in Table 5.1. These two differs mostly in the delay which introduce constraints which hampers the speed. Therefore these two can not manage the requirement of a risetime of 5 6 cycles and their settlingtime is a little long. The overshoot could be pressed under 10% which should be sufcient. The only problem is the small slow oscillation before the step response settles as can be seen in Figure 5.7.

5.5. LOOPSHAPING
Stepresponse 1.4 1.2 CA50 [CAD] 1 0.8 0.6 0.4 0.2 0 0 5 10 15 20 Workingpoint 1 Workingpoint 2 Workingpoint 3 25

37

Controlsignal 10 8 delta EVC [CAD] 6 4 2 0

10 cycles Stepresponse

15

20

25

1.5

CA50 [CAD]

0.5 Workingpoint 4 Workingpoint 5 Workingpoint 6 0 0 5 10 15 20 25

Controlsignal 14 12 delta IVC [CAD] 10 8 6 4 2 0 0 5 10 cycles 15 20 25

Figure 5.7: Stepresponses of the Loopshaped controllers (simulated)

38
Bode Diagram 40 30 20 Magnitude (dB) 10 0 10 20 30 40 0

CHAPTER 5. CONTROL

Phase (deg)

180

360

Workingpoint 1 Workingpoint 2 Workingpoint 3

540 10
2

10

10 Frequency (rad/sec) Bode Diagram

10

30

20

Magnitude (dB) Phase (deg)

10

10

20

30 90

180

270

Workingpoint 1 Workingpoint 2 Workingpoint 3

360 10
2

10

10 Frequency (rad/sec)

10

Figure 5.8: Bode graphs of the Loopshaped controllers (simulated)

5.6. TUNING OF THE CONTROLLERS ON THE TESTBED

39

Controllers
The controllers can be written in the discrete z-plane as F1 F2 F3 F4 F5 F6 = = = = = = 0.5914z 5 0.8386z 4 + 0.1995z 3 + 0.07435z 2 2.963z 4 + 3.216z 3 1.489z 2 + 0.2227z + 0.01434 0.7785z 5 1.022z 4 + 0.1519z 3 + 0.1931z 2 0.1058z + 0.04664 z 5 3.023z 4 + 3.321z 3 1.512z 2 + 0.1827z + 0.03181 1.361z 5 1.037z 4 z 5 2.241z 4 + 2.301z 3 1.87z 2 + 1.052z 0.2424 0.7587z 3 0.5709z 2 0.01983z z 3 2.183z 2 + 1.533z 0.3499 1.565z 3 0.5396z 2 0.5424z z 3 2.213z 2 + 1.581z 0.3679 0.8893z 5 0.6979z 4 0.0006288z 3 5 z 2.326z 4 + 1.763z 3 0.3938z 2 0.06782z + 0.02549 z5 (5.17) This form is easy to implement if rewritten in ascending order of z n due to that each z 1 correspond to a sample delay. A comment about the discretization is that it is very easy to get numerical errors due to that missed decimals will move the poles and zeros. This can have a major impact if the integrator pole is moved a little and stop to work as a integrator and only a pole. Statical errors will be the result and the controller will only work good around the point it has been linearized around (if there are offsets introduced).

Conclusions
Loopshaping is a freer method than pole placement and the design is easier to use. The method is sufcient to design controllers which can fulll the requirements, when it is possible. Operating point 1 and 2 could not be made fast enough due to constraints from the extra cycle delay but the other four shows good performance in simulations.

5.6 Tuning of the controllers on the testbed


All the theoretically computed controllers did not work very well without some tuning when they were implemented on the testbed. Online tuning could be done by changing the constant K in front of the controllers as Ftuned (z ) = KF (z ) (5.18)

to get the desired speed and overshoot tradeoff. By doing this the crossover frequency was changed to approximately the correct value. Operating point K 1 0.7 2 0.5 3 1 4 1.1 5 0.25 6 2

Table 5.2: Online tuning of the controllers using the gain K in front of the controllers.

40

CHAPTER 5. CONTROL

In Table 5.2 the tuning parameter K is listed. There are big changes that can be explained by bad data for the modelling and also in some sense to rounding errors in the control signal. The rounding will introduce more noise and can result in more instability due to higher gain if rounded upwards in the wrong moment. In operating point 1 the gain was lowered to achieve better robustness due to that temperature disturbances could make it too oscillative and also to decrease some static gain errors. Static gain problems were also the cause of operating point 2 and 6:s heavy tuning. The second IVC operating point (operating point 5) needed a big change in gain. The bad gain from the model could be because of temperature disturbances or a unknown source because K = 0.25 gave the desired performance. In hindsight more power in the effect spectrum of the insignal should have been used in the lower frequency band of the input signal. The system had not the time to settle with the used telegraph signal and not enough information was available for the static gain. Secondly Output Error (OE) estimation model should have been used, which was discarded as no difference in tting in the rst analyzis but later showed a more accurate static gain. However it was possible to achieve a good performance by compensating with the tuning without going back and change the method.

5.7 Results of Loop shaping


The controllers were tested on the testbed using Simulink 1 where it was compiled to Ccode and imported into DSpace. The tests were done using manual changes in some operating points and later on analyzed in Matlab. The result can be seen in Table 5.3. Notice that the noise compensation from Section 5.7 is used. The tests were done by rst insuring that no reference or disturbance saturates the control signal. Even small changes on the conditions were done in some cases to give a larger interval. Steps were done to measure rise time (Tr ), overshoot (M ) and settling time (Tsettling ) and disturbances in form of pressure changes in the inlet pipe (Pin ), fuel injection time (Ts ) and engine speed (ESpeed). The step performance values are estimates due to the difculty of determining the exact values because of the noise. Therefore some changes from the ordinary denitions of rise time, overshoot and settling time have been done. Here rise time is dened as the difference in cycles between the system starts to react until it reaches the step height. The overshoot is the same as usual but can vary some between steps because of the noise realization and is dened as the percent of overshooting units divided by the step height. Lastly the settling time is roughly dened as the time in cycles from which the system starts to react until it has settled in approximately 5% of the end value. This is of course hard to see due to the noise. The estimation was done aided by where the control signal settles. These three performance values are then measured over several step changes and a mean value is shown in the table. The disturbances were done with different changes in pressure, fuel and speeds. They were limited such that the controller should not saturate or need to switch to the other mode. The result is that the disturbances steps are not very large for some points and it is hard to compare response times. Therefore they are just measured wether they can handle
1 Simulink

is a part of Matlab.

5.7. RESULTS OF LOOP SHAPING


Conditions: Operating point 1 2 4 5 Performance (step): Tr [cycles] + delay M [% ] Tsettling 7.2 72 18.0 7.0 54 20.5 8.0 29 19.6 6.4 57 20.0 Handles disturbance? Pin Ts ESpeed yes yes yes yes yes yes yes yes yes yes yes no

41

Table 5.3: Performance for the loopshaping controllers. Workingpoint 5 did not handle changes of the speed between 1000-1200 rpm.

the disturbances or not. If they leave the CA50 interval between 0 and 10 they fail. At the time of the test there were problems with disturbances on the valve system which made it hard to run at high speeds. Therefore operating point 3 and 6 are not measured more than to see that they seem to behave as they should and in the speed transients. In Table 5.3 the performance can be studied. The rst two workingpoints are the two with three delays and were designed for 7 cycles risetime which they fulll after tuning. The problem is the overshoot which is much bigger than planned. It was designed to handle a unlucky noise realization but the resulting controllers seems to have bigger problem than that. For a step from 3 to 7 the threshold is 75 % or combustion could be missed which is quite close for operating point 1. Between 50-60 % is acceptable when counting in the cycle by cycle variation and rounding errors. The rounding is one possible explanation of the extra overshoot which can come into play when rounding upwards which can be seen as a larger gain and higher bandwidth. All the points in the table can handle most of the requirements but operating point 1 which can sometime peak a bit over 10 CA50 and if unlucky miss combustion and operating point 4 which could be tuned up more. It can be seen that the overshoot and settling time can be traded easily for a little bit more speed. The disturbances are handled even with big pressure and fuel changes with CA50 values in the best interval [3,7] but with some peaks to 8 for the larger fuel steps. The speed changes were the most problematic. Operating point 1 just barely managed to suppress changes in ESpeed < 1150 rpm and operating point 5 could not suppress changes in it is speed interval of 1150 < ESpeed < 1250. The problem arise with speed changes where changes close to another operating point will miss combustion but this also shows the need of a switched solution. However there are also some problems for changes to and from 750 rpm for operating point 1. However the biggest problem is operating point 5 where changes between 1000 and 1200 rpm has a big static gain difference which is hard to compensate. Looking closer at the two big peaks in Figure 5.9 the system can not react fast enough to compensate. The peak happens around 1150 rpm where there is a need of fast big changes in the control signal which suggest that a control switch would not help very much.

Conclusions
The loopshaping controllers worked well and handles all pressure and fuel step responses well after some tuning. Operating point 2 was a little bit oscillative and can be tuned down with the tradeoff of its speed. Speed transients can be handled in all but two cases. Changes from and to 750 rpm has peaks which are hard to avoid due to the delay that

42

CHAPTER 5. CONTROL

20 1200 CA50 [CAD] 15 10 5 0 3100 610 IVC [CAD] 1100 1000 900 3200 3300 3400 3500 3600 3700 ESpeed [rpm]

600

590

580 3100

3200

3300

3400 cycles

3500

3600

3700

Figure 5.9: Speed transients for operating point 5. Black line is CA50 (left axis) and grey bold line is engine speed (right axis)

makes the system to slow to react. The other case is for speeds around 1500 rpm which will show a similiar behavior as around 1250 rpm (see Figure 5.7). This problem will need more operating points or another solution.

5.8 Switched Controller


Problem denition
The controllers are divided into six operating points and a good strategy for switching between them is necessary. An important issue is what the trigger should be for a switch. It should be able to switch from what speed it is running in and also see if it should use overlap or IVC for control. When it is uses overlap it should also choose the IVC to achieve the maximized volumetric efciency. The switching should also be bumpless which means that no transients should occur when the controller is changed.

Hybrid automaton
A hybrid automaton consist of some states Q which has a domain D where it should operate in. The domain is dened by an interval of parameter values which when leaving the interval should change to another state and its domain. Each parameter X can be dened by a function f . Each state has one or more edges E which denes which other domains are available. Each edge can have a reset R which x a parameter value in the transition

5.8. SWITCHED CONTROLLER

43

Figure 5.10: Hybrid automaton of the six operating points

Engine Speed [rpm] IVC [CAD]

500 560

750 560

1000 570

1200 578

1300 582

1500 590

1750 605

2000 620

Table 5.4: IVC for maximization of the volumetric efciency at different engine speeds.

between states. The last component of the automaton is the Init which denes where it should start and what the parameters should be initially.

Dening a hybrid automaton


The rst issue is what triggers or domains that should be used. From the operating points (4.1) the speed should be one trigger because it is the parameter which decides between the points 1, 2 and 3 for the overlap method and points 4, 5 and 6 for the IVC method. The trigger between the two controlmethods is a little bit harder. IVC should start when the overlap is emptied which can be easily measured from the EVC and IVO. When EV C = IV O the overlap is gone. For the backward switch from IVC to overlap the switch should occur when IVCs slope is little and do not affect the signal enough which happens somewhere below 570 CAD in Figure 2.3. A good value for this point would be somewhere around the maximum volumetric efciency which vary with speed according to Table 5.4. With the knowledge of the triggers, a hybrid automaton can be designed. Its task is to decide what controller to use given the current working conditions. It can be dened as the 8-tuple H = (Q, X, Init, f, D, E, R). Each operating point is given one state Q = (qi )

44 with domains D(qi ) D(q1 ) = D(q2 ) = D(q3 ) = D(q4 ) = D(q5 ) = D(q6 ) =

CHAPTER 5. CONTROL

{ESpeed R : 500 ESpeed < 1200 EV C R : EV C > 0} {ESpeed R : 1200 ESpeed < 1300 EV C R : EV C > 0} {ESpeed R : 1300 ESpeed < 2000 EV C R : EV C > 0} {ESpeed R : 500 ESpeed < 1200 IV C R : IV C > IV Cve (ESpeed)} {ESpeed R : 1200 ESpeed < 1300 IV C R : IV C > IV Cve (ESpeed)} {ESpeed R : 1300 ESpeed < 2000 IV C R : IV C > IV Cve (ESpeed)} (5.19)

All states have the variables X = {EV C, IV C } and the functions f = {IV Ccontrol , EV Coverlap }. In the rst three states, the IVC is determined from maximizing the volumetric efciency which can be described with IV Cve (ESpeed) which uses the values from table 5.4. The EV Coverlap is determined from the controllers Fi , i = 1, 2, 3 from 5.17. In the IVC states EV Coverlap is xed to zero and IV Ccontrol is determined from Fi , i = 4, 5, 6. The edges can be dened according to Figure 5.10 and written as E = {(q1 , q2 ), (q2 , q1 ), (q1 , q4 ), (q4 , q1 ), (q2 , q3 ), (q3 , q2 ), (q2 , q5 ), (q5 , q2 ), (q3 , q6 ), (q6 , q3 ), (q4 , q5 ), (q5 , q4 ), (q5 , q6 ), (q6 , q5 )} (5.20)

There are also resets R(Q, X ) for all edges where the volumetric efciency is maximized. This must also be synchronized with the IVC domains. If it runs in IVC-mode the overlap should be xed to 360 CAD EVC which equals 0 overlap if IVO is adjusted accordingly. The resets are dened as R(qi , qj , IV C ) = IV Cve (ESpeed), (i, j ) = {(1, 2), (2, 1), (2, 3), (3, 2), (4, 1), (5, 2), (6, 3)} R(qi , qj , EV C ) = 360, for (i, j ) = {(1, 4), (2, 5), (3, 6)} (5.21) Initial state is set to q1 with the parameter values X = {302, 570} which will start the automaton in overlap-mode with an output value of 5 CAD.

Bumpless switch
To explain why this phenomenon exist lets consider a simple PI-controller which can operate with two gains depending on working conditions. During a change the integrator will save old errors and in the end settle on a control-value and the error will go to zero. The problem is when the change occur. Now the new integrator will start to integrate to get to the control-value necessary for the desired reference and will not use the information from the other integrator. The result is a bump or transient which can be large depending on the gain and how large value the integrators needs to settle on. The simplest solution would be to insert the error signal to each controller and only use the switches to decide on which controller should control the system at each cycle. This is not by far the most efcient method and should be done better. Another way is to break out the integrator from the controller structure from each controller and place it after the switch. In doing this the integrator will be common for all controllers and of course keep its value between switches which will result in a bumpless transfer. Before the group of

5.8. SWITCHED CONTROLLER

45

Figure 5.11: Bumpless Transfer between the controllers

controllers, one more switch is added to illustrate that only one controller should work at a time (see gure 5.11). When changing between different engine speeds this integrator will keep the last value and then smoothly continue in the next operating point with the next controller input. Between overlap and IVC the integrator should be reset and an offset from IV Cve will be used on the control signal. For the IVC to overlap transition the integrator should start at 360 which will be obtained from a value of 58 whereas all EVC points runs with an offset of 302 CAD. To get the integrator outside the control-expression it is not always possible to just break it out in the current controllers because the result could be non-casual and not possible to implement. A good way to do it is to separate the integrator before the discretization and discretisize it separately and be careful to get both parts proper and properly mapped to discrete time. This is usually done best with Tustins approximation (5.3) to guarantee stability.

Implementation
For the implementation, issues like noise and how the automaton should be realized, must be decided. A good idea is probably to use a deadzone on the switching triggers to avoid too much switching due to noise and fast variations. The overlap should be tuned so a normal variation and noise should not lead to a switch. The realization of the switching in the automaton can be done with switches in matlabs simulink with one switch for each question in a decision. The proposed switching strategy logics in Figure 5.12 is quite big when it should be implemented and is best divided and sorted out a part at a time. To manage the edges and domains the solution in Figure 5.13 is proposed. Its task is to output the number of the controller and needs EVC, IVC and ESpeed as input. The switching can then be done with a 6 port switch with the number as port choice, that is output 5 equals port 5. The choice of

46

CHAPTER 5. CONTROL

Figure 5.12: Hybrid automaton realization: Overview

Figure 5.13: Hybrid automaton realization: controller selector

5.8. SWITCHED CONTROLLER

47

Figure 5.14: Hybrid automaton realization: resets and outputs

controller is done by rst determine if the control should run using the overlap method by looking at the EVC value. If this value is close to zero, the IVC mode is chosen. Afterwards it is decided if the system has ran in IVC-mode but has reached its lower limit or not. If it has, it should run in overlap instead. Because there are two operating points for each speed there is also one selector block for each choice in the next step. This step decides in which speed interval the system runs in and with that information choose the appropriate overlap/IVC box. The resets can be taken care of in another part. This part of the switching logics needs the number of the controller as input value and should decide on what the output should be on the EVC and IVC output ports. If it is running in overlap it should set IVC to maximize the volumetric efciency and in IVC mode set EVC to 360 (no overlap). It is solved in Figure 5.14 and the control output u(k ) is taken from the bumpless link in Figure 5.11 which operates as a controller bank with the input signal number from the Controller selector in Figure 5.13.

Results
The simulink solution was compiled to C-code which were inserted into D-space. One big problem was the integrator which did not allow reseting which is easily solved by installing the Control toolbox in matlab. However some practical issues did not allow this. The lack of a reset-able integrator makes the transition between the overlap and IVC method anything but bumpless. What works nicely on the other hand is the speed transients switching but the spikes are there as in Figure 5.9. The performance in overlap mode is quite nice but peaks well over 10 CAD on some points as can be seen in Figure 5.15. The problem is that the static gain changes rapidly at some point below 1000 rpm and around 1150 rpm. Looking closer at the gain change in Figure 5.16 for IVC mode it can be seen that the IVC needed to hold the CA50 at 8 CAD must change 15 CAD over 50 rpm. Such a speed change only takes 3-4 cycles and with the delay the controller can not possible react fast enough in the start to suppress the spike. This sort of peak is similar for overlap mode which is the reason for the poor performance in Figure 5.9. The same sort of peak also exist around 1500-1600 rpm which has not been handled at all in this thesis. This kind of behaviour comes from pressure resonances in the pipes and can not be handled in

48

CHAPTER 5. CONTROL

CA50 [CAD]

10

0 330 EVC [CAD] 320 310 300 290 280

500

1000

1500

2000

2500

3000

500 1500 ESpeed [rpm]

1000

1500

2000

2500

3000

1000

3 2 1

500

500

1000

1500 cycles

2000

2500

3000

Figure 5.15: Speed transient using the switched controller with loopshaping controllers. The solid line in the lowest graph is the Engine speed and the dashed the controller number.

IVC vs engine speeds 615 610 IVC [CAD] 605 600 595 590 585 900 1000 1100 ESpeed [rpm] 1200 1300

Figure 5.16: IVC valve timing needed to phase combustion at different engine speeds. This graph is valid for Pin 2.3 bar, Ts 11 ms and a phased combustion of 8 CA50. Courtesy of Fredrik Agrell.

number

5.8. SWITCHED CONTROLLER

49

real time. A solution would be to use gain scheduling based on the engine speed which is not delayed but this solution does not solve the fast initial peak.

Chapter 6

Analysis
This chapter will start with a comparison with two other control design strategies. After an discussion will follow.

6.1 Comparison
Parallel to this master thesis project ran a project that focused on tuning a controller with a Iterative Feedback Tuning [10]. One of the goals of the project is to compare how good the iterative tuning worked compared to a model-based approach. Furthermore Fredrik Agrells solution [6] with non linear mapping from a physical modelling should be included in the comparison. This comparison should say if any of the solutions is favorable and if any of them are better in different aspects. Could it be favorable to combine the solutions in some kind of way?

Iterative Feedback Tuning


The Iterative Feedback Tuning Toolbox [3], short IFT, is a toolbox in matlab that uses a method to tune controllers using numerical optimization. The controller is on the form Co(q ) = 0 + 1 q 1 + 2 q 2 + + i q i where the free parameters are optimized using a quadratic criterion J () that can be designed using different output signals. The usual choice is to use the output signal y according to
N

Jy () =
t=0

(wy (t) (Fy (q ) (y (t) yd (t)))

It is possible to include more signals by just adding more terms to the criterion. The criterion is minimized for the optimized parameters . There are two weighting function that can be used. First there are the time weighting, wy (t), where it is possible to emphasize different parts of the signal. Secondary there are the frequency weighting function Fy (q ) where different frequencies can be emphasized but it is quite hard to dene a good one in the toolbox currently and therefore the one mostly used is wy (t). The cost function is optimized using one of three methods. The one that is used here is Gauss-Newton where the step length i is monitored. A step is dened by
1 J ( i ) i+1 = i i Ri

51

52

CHAPTER 6. ANALYSIS
Performance: Step response Tr + delay M Tsettling min max [cycles] [%] [cycles] [CAD] [CAD] 7.2 66 18 2.5 10.3 5.0 71 25 2.1 10.7 3.0 42/-45 20 2.4 9.2 Disturbances: Pin ESpeed Ts min max min max min max [CAD] [CAD] [CAD] [CAD] [CAD] [CAD] 3.5 6.9 0.6 10.7 3.1 6.9 2.9 7.0 0.8 13.0 2.9 7.0 3.3 7.0 2.8 7.9 3.2 9.6

Solution

Dynamic IFT Mapping Solution

Dynamic IFT Mapping

Table 6.1: Comparison between the different solutions. Each row shows the results from the Dynamic solution, which refers to the solution with loopshaping controllers designed in this master thesis, the IFT solution made in the parallel project and the non linear Mapping feed forward solution. The results are divided into stepresponses and disturbances including maximum and minimum CA50 values.

(i ) is the estiwhere Ri is a positive denite matrix dening the search direction and J mated gradient. The method consist of collecting data from a initial controller that must be chosen so that the closed loop system is stable. It is possible to weight different time intervals or different frequencies. There is also a desired response for the closed loop system which can be specied either by hand or using a transfer function of the reference signal. The rst step in the method is to do a rst experiment which collects data from the signals in the cost function. To be able to do a optimization step a new experiment is done with the closed loop output signal as reference to collect the necessary data to form a estimate of (i ). Now it is possible to make a optimization step. Further description of this method J can be found in [4] and the controllers were tuned in [10].

Non linear mapping


The idea behind this method is to use mathematical relations to simulate a combustion cycle. This model will then be used together with simulated pipe dynamics of the testbed piping system to get data for mappings. These maps are then used for non linear compensation and a feed forward which will guess the correct valve timing. Together with a slow PI-controller this setup can nd the correct valve timings fast and let the controller correct slower dynamics. Tuning was done for high inlet pressure running IVC and low inlet pressure with Overlap mode. The resulting parameters for each condition were then interpolated in between. This achieves a good tuning for these two conditions and a gradually worse in between but with a clever choice of interpolation it can cover most working conditions. The mapping is described more in [6].

6.2. DISCUSSION

53

Results
The comparison was done in operating point 1 (see Table 4.1). In this point, tests were done according to Section 5.7. Table 6.1 shows the result. For the step responses only reference steps between 3 and 7 CAD are included. Comparing the step response performances neither of the Dynamic and IFT solution can manage not to leave the interval [0, 10]. The IFT solution is also much too oscillative which can be seen partly in the overshoot but also as large oscillations in steady state. The gain is too big and amplies the cycle by cycle variation. Both these controllers should be tuned down, making them slower but more stable. The non linear mapping solution is much faster than the other two and more stable. This is possible due to that prediction its of the needed valve timing makes it jump to approximately the correct value quickly. The disadvantage is that it is not perfectly trimmed to this operating point. This results in fast nice step responses for changes between 5 and 7 CAD but undershoots big, 45 %, for changes between 3 and 7. The required CA50 angle interval is not left in this solution either. Looking at disturbances all solutions manage inlet pressure and fuel changes well. The mapping solution is the only one that is not close to the inner interval of [3, 7] for these disturbances. Engine Speed is another issue. Here the mapping solution is far superior and the other two risk missing combustions.

6.2 Discussion
From the comparison and results in Table 5.3, the current solution with loop shaping controllers and a hybrid automaton for switching between them seems to work well. The problem is speed transients over piping resonances. Due to delay and necessary big changes in the valve timings this solution is not sufcient. The problem is the delay. With less delay it would be possible to react in time but it also should need to react with a big change which would require more bandwidth. This should probably be possible to achieve with a modied noise compensation idea which would make the controller to have high bandwidth for large errors. Because of the delay, another method must be used. In some way information from other parameters should be used in the controller to help with the static gain. The parameter that has the highest inuence is the engine speed that is directly connected to the piping resonances position. This position and the magnitude is also changed with inlet temperature and pressure. These parameters have the advantage of small delay. The inuence of these parameters can not be computed in real time and must be computed from simulations where the system and piping system is modelled. From the simulations, the maps overlap (ESpeed, Pin , Tin ) and IV C (ESpeed, Pin , Tin ) can be computed which should provide the necessary valve timing for overlap and IVC mode to hold the combustion at a x value. These maps can then be implemented by a proposed solution consisting of a sort of offset scheduling or by a feed forward as in [6]. The proposed solution is to only use the mapping output as a correction adjustment on the valve timings when the mapping wants to change these signicantly which happens under a resonance. This could look like Figure 6.1 where the solution provides a correction adjustment on the control signal. If the mapping wants to change the valvetimings between say two cycles by a value of a or more the change will go through the switch and change the control signal u(k ). The exact choice of how many cycles back it should look at is dened by

54

CHAPTER 6. ANALYSIS

Figure 6.1: Proposed solution for the speed transient problems. a 6-8.

the transfer function G (z ). This method demands two mappings, one for each method, which should be very accurate. This is clearly a disadvantage. These mapping functions can either be obtained using mathematical models and simulations as in [6] or by trying different conditions and see what is needed at each point. The peaks will change with pressure and temperature but it should not be very hard to track them when the parameters change. The precision only needs to be good around the peaks so the rest of the interval can be roughly estimated. A method that can be tested is an Articial Neural Net which is trained for different Espeed, Pin and Tin and resulting valve timing. With these mappings the large transients can be suppressed in their cradle. The existing loop shaping controllers can be improved. Looking at the models for the six operating points in Figure 4.4 it can be seen that most models are quite similar except for the magnitude. This makes it possible to replace the most similar ones with one model and use gain scheduling to change the magnitude for each operating point. It is quite easy to design more controllers and a denser spacing in between them by just measuring the static gain which can be done fast on the testbed by taking some step responses and note how large control signal that is necessary for a reference step of 3 to 7 CAD. The IVC models are very similar and can easily be replaced by one controller with gain scheduling. For the overlap models it is a little bit harder due to the delay change between operating point 2 and 3. Therefor it can only be replaced by two models, one for the two rst operating points with three delay and one for the third operating point. This makes a total of three controllers instead of six, all with gain scheduling, for different engine speeds and control method.

Chapter 7

Conclusions
An HCCI engine was possible to run without missing combustion for most reference changes of the CA50. This was done with a feedback system where the CA50 level was feedback, the valve timings were control signals and consider changes in Engine speed, inlet pressure and fuel injection time as disturbances. The operating range was divided into six operating points with varying engine speed and control method. Controllers was then designed for each operating point. The requirements in the problem denition in Chapter 3 can be translated in Chapter 5 into requirements on the rise time, overshoot and noise performance. These requirements could not be fullled in all operating points due to the delay and had to be compromised one cycle to a new maximum of 6-7 cycles instead of 5-6 cycles inclusive the delay. One big problem in the requirements are the performance for the noise which needed a slow controller to not amplitude the noise. This was handled by a noise compensation link which use lower bandwidth for small changes on the error signal e(t). It was possible to achieve good step response performance with the loop shaping control design method with the new compromised requirements. Rise times of 6-8 engine cycles inclusive the delay was possible but could probably be tuned down to 6-7 cycles. The controllers handles disturbances in inlet pressure and fuel injection time very well but lacks in the control of engine speed changes where resonances in the piping is a problem. Because of delays in the system peaks from the resonances are very hard to suppress in time (see Table 5.3). A switching system was constructed based on a Hybrid Automaton which handles the transitions between operating points and the logics for choosing what point to work in. This solution worked well when implemented and made it possible to make long speed transients between low speed to high speed. The problem with speed transients can not be handled with the current solution. A suggested solution is to use compensating adjustments using mappings from inlet pressure and temperature and engine speed to valve timings. These maps should output a necessary IVC or overlap valve timing values to phase combustion at a xed CAD. A possible implementation design has been suggested in Figure 6.1 but has not been tested.

55

56

CHAPTER 7. CONCLUSIONS

Future work
For further work the speed transients should be solved by some method. This involves development of some kind of mapping to get around the delay. Also it would be interesting to see how good performance that can be achieved by the dynamic controllers designed in these master thesis combined with the feed forward solution in [6]. Furthermore a complete solution could be worked out which can handle all transitions and run with the correct pressure for different speeds and loads to achieve the optimum -value. A full solution would then have a good emission and efciency performance and be fully run-able.

Bibliography
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] S. Skogestad and I. Postlethwaite Wiley (2005), Multivariable Feedback Control - Analysis and Design, 2nd edition, ISBN 0-470-01168-8 M. Jennische (2003) Closed-Loop Control of Start of Combustion in a Homogeneous Charge Compression Ignition Engine (Masters Thesis) H. Hjalmarsson (1997), The Iterative Feedback Tuning Toolbox H.Hjalmarsson, M. Gevers, S. Gunnarsson and O. Lequin (1998), Iterative Feedback Tuning: Theory and Applications F. Agrell (2003), Control of HCCI by Aid of Variable Valve Timings, ISSN 1400-1179 (Licentiate Thesis) F. Agrell (2005), Control of HCCI During Engine Transients by aid of Variable Valve Timing Through the use of Model Based Non-Linear Compensation (Paper) M. Brain (2000) How Engines Work and How Diesel Engines work http://auto.howstuffworks.com (website) , 2006-01-19 at

om en, Computer Control: An overview, IFAC and K-E. Arz B. Witternmark, K.H. Astr Professional Private discussions with Fredrik Agrell under 2005 and 2006. C. Castell Hern andez (2006) HCCI timing control using IFT, Masters Thesis P. H andel, R. Ottoson, H. Hjalmarsson (2002) Signalteori, ISBN 91-974087-1-9

57

Das könnte Ihnen auch gefallen