root/doc/xml/demo__example_2simulator_8cpp.xml @ 187

Revision 187, 89.1 kB (checked in by smidl, 16 years ago)

doc

Line 
1<?xml version='1.0' encoding='UTF-8' standalone='no'?>
2<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.5.6">
3  <compounddef id="demo__example_2simulator_8cpp" kind="file">
4    <compoundname>simulator.cpp</compoundname>
5    <includes local="no">math.h</includes>
6    <includes refid="demo__example_2regulace_8h" local="yes">regulace.h</includes>
7    <includes refid="demo__example_2simulator_8h" local="yes">simulator.h</includes>
8    <incdepgraph>
9      <node id="697">
10        <label>regulace.h</label>
11        <link refid="demo__example_2regulace_8h-source"/>
12      </node>
13      <node id="698">
14        <label>simulator.h</label>
15        <link refid="demo__example_2simulator_8h-source"/>
16      </node>
17      <node id="696">
18        <label>math.h</label>
19      </node>
20      <node id="695">
21        <label>work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp</label>
22        <link refid="demo_example/simulator.cpp"/>
23        <childnode refid="696" relation="include">
24        </childnode>
25        <childnode refid="697" relation="include">
26        </childnode>
27        <childnode refid="698" relation="include">
28        </childnode>
29      </node>
30    </incdepgraph>
31      <sectiondef kind="define">
32      <memberdef kind="define" id="demo__example_2simulator_8cpp_19cd91cdba17e9621f425b31a3662b484" prot="public" static="no">
33        <name>REZIM_REGULACE</name>
34        <initializer>1</initializer>
35        <briefdescription>
36        </briefdescription>
37        <detaileddescription>
38        </detaileddescription>
39        <inbodydescription>
40        </inbodydescription>
41        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="17" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="17" bodyend="-1"/>
42      </memberdef>
43      </sectiondef>
44      <sectiondef kind="var">
45      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1d64417a28c816d614e4501b01ca36a46" prot="public" static="yes" mutable="no">
46        <type>double</type>
47        <definition>double Rs</definition>
48        <argsstring></argsstring>
49        <name>Rs</name>
50        <briefdescription>
51        </briefdescription>
52        <detaileddescription>
53        </detaileddescription>
54        <inbodydescription>
55        </inbodydescription>
56        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="29" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="29" bodyend="-1"/>
57      </memberdef>
58      <memberdef kind="variable" id="demo__example_2simulator_8cpp_176f32b985a9b31650b0d233491b7b7d4" prot="public" static="yes" mutable="no">
59        <type>double</type>
60        <definition>double Ls</definition>
61        <argsstring></argsstring>
62        <name>Ls</name>
63        <briefdescription>
64        </briefdescription>
65        <detaileddescription>
66        </detaileddescription>
67        <inbodydescription>
68        </inbodydescription>
69        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="29" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="29" bodyend="-1"/>
70      </memberdef>
71      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1558972170606cd05054ab130beabad1e" prot="public" static="yes" mutable="no">
72        <type>double</type>
73        <definition>double Fmag</definition>
74        <argsstring></argsstring>
75        <name>Fmag</name>
76        <briefdescription>
77        </briefdescription>
78        <detaileddescription>
79        </detaileddescription>
80        <inbodydescription>
81        </inbodydescription>
82        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="29" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="29" bodyend="-1"/>
83      </memberdef>
84      <memberdef kind="variable" id="demo__example_2simulator_8cpp_197a370d74f3992f74cbf660239146ec1" prot="public" static="yes" mutable="no">
85        <type>double</type>
86        <definition>double Bf</definition>
87        <argsstring></argsstring>
88        <name>Bf</name>
89        <briefdescription>
90        </briefdescription>
91        <detaileddescription>
92        </detaileddescription>
93        <inbodydescription>
94        </inbodydescription>
95        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="29" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="29" bodyend="-1"/>
96      </memberdef>
97      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1ace2d484b0e3651abd108f04803d316c" prot="public" static="yes" mutable="no">
98        <type>double</type>
99        <definition>double p</definition>
100        <argsstring></argsstring>
101        <name>p</name>
102        <briefdescription>
103        </briefdescription>
104        <detaileddescription>
105        </detaileddescription>
106        <inbodydescription>
107        </inbodydescription>
108        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="29" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="29" bodyend="-1"/>
109      </memberdef>
110      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1c6390bc2d074992cc6ca37d132a5262d" prot="public" static="yes" mutable="no">
111        <type>double</type>
112        <definition>double kp</definition>
113        <argsstring></argsstring>
114        <name>kp</name>
115        <briefdescription>
116        </briefdescription>
117        <detaileddescription>
118        </detaileddescription>
119        <inbodydescription>
120        </inbodydescription>
121        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="29" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="29" bodyend="-1"/>
122      </memberdef>
123      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1229fe836529a54bc8a7d390148d7a488" prot="public" static="yes" mutable="no">
124        <type>double</type>
125        <definition>double J</definition>
126        <argsstring></argsstring>
127        <name>J</name>
128        <briefdescription>
129        </briefdescription>
130        <detaileddescription>
131        </detaileddescription>
132        <inbodydescription>
133        </inbodydescription>
134        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="29" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="29" bodyend="-1"/>
135      </memberdef>
136      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1b3ea1f9133a9fd391d578911a5ff4c35" prot="public" static="yes" mutable="no">
137        <type>double</type>
138        <definition>double Ucn</definition>
139        <argsstring></argsstring>
140        <name>Ucn</name>
141        <briefdescription>
142        </briefdescription>
143        <detaileddescription>
144        </detaileddescription>
145        <inbodydescription>
146        </inbodydescription>
147        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="30" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="30" bodyend="-1"/>
148      </memberdef>
149      <memberdef kind="variable" id="demo__example_2simulator_8cpp_16b1aef16f2bb55279eadae60bf2e558a" prot="public" static="yes" mutable="no">
150        <type>double</type>
151        <definition>double Uc</definition>
152        <argsstring></argsstring>
153        <name>Uc</name>
154        <briefdescription>
155        </briefdescription>
156        <detaileddescription>
157        </detaileddescription>
158        <inbodydescription>
159        </inbodydescription>
160        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="30" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="30" bodyend="-1"/>
161      </memberdef>
162      <memberdef kind="variable" id="demo__example_2simulator_8cpp_19b78bd462526152199b0e0812eb3fdd7" prot="public" static="yes" mutable="no">
163        <type>double</type>
164        <definition>double DT</definition>
165        <argsstring></argsstring>
166        <name>DT</name>
167        <briefdescription>
168        </briefdescription>
169        <detaileddescription>
170        </detaileddescription>
171        <inbodydescription>
172        </inbodydescription>
173        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="30" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="30" bodyend="-1"/>
174      </memberdef>
175      <memberdef kind="variable" id="demo__example_2simulator_8cpp_15939801e2b84edf0bf428a10c37e8357" prot="public" static="yes" mutable="no">
176        <type>double</type>
177        <definition>double U_modulace</definition>
178        <argsstring></argsstring>
179        <name>U_modulace</name>
180        <briefdescription>
181        </briefdescription>
182        <detaileddescription>
183        </detaileddescription>
184        <inbodydescription>
185        </inbodydescription>
186        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="30" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="30" bodyend="-1"/>
187      </memberdef>
188      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1f828dddefd5bf343c700078edbfe976b" prot="public" static="yes" mutable="no">
189        <type>double</type>
190        <definition>double Urm_max</definition>
191        <argsstring></argsstring>
192        <name>Urm_max</name>
193        <briefdescription>
194        </briefdescription>
195        <detaileddescription>
196        </detaileddescription>
197        <inbodydescription>
198        </inbodydescription>
199        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="31" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="31" bodyend="-1"/>
200      </memberdef>
201      <memberdef kind="variable" id="demo__example_2simulator_8cpp_18ee9be1b5aa75abae556de3088cba6d9" prot="public" static="yes" mutable="no">
202        <type>double</type>
203        <definition>double h</definition>
204        <argsstring></argsstring>
205        <name>h</name>
206        <briefdescription>
207        </briefdescription>
208        <detaileddescription>
209        </detaileddescription>
210        <inbodydescription>
211        </inbodydescription>
212        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="32" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="32" bodyend="-1"/>
213      </memberdef>
214      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1004e965b93a1858dcaf662b220edb147" prot="public" static="yes" mutable="no">
215        <type>double</type>
216        <definition>double h_reg</definition>
217        <argsstring></argsstring>
218        <name>h_reg</name>
219        <briefdescription>
220        </briefdescription>
221        <detaileddescription>
222        </detaileddescription>
223        <inbodydescription>
224        </inbodydescription>
225        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="32" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="32" bodyend="-1"/>
226      </memberdef>
227      <memberdef kind="variable" id="demo__example_2simulator_8cpp_140ad4a109c941bdaa613b68b54107e2e" prot="public" static="yes" mutable="no">
228        <type>double</type>
229        <definition>double h_reg_real</definition>
230        <argsstring></argsstring>
231        <name>h_reg_real</name>
232        <briefdescription>
233        </briefdescription>
234        <detaileddescription>
235        </detaileddescription>
236        <inbodydescription>
237        </inbodydescription>
238        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="32" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="32" bodyend="-1"/>
239      </memberdef>
240      <memberdef kind="variable" id="demo__example_2simulator_8cpp_14cfa9486c77177dfaac93079cc613a88" prot="public" static="no" mutable="no">
241        <type>unsigned int</type>
242        <definition>unsigned int h_reg_counter</definition>
243        <argsstring></argsstring>
244        <name>h_reg_counter</name>
245        <briefdescription>
246        </briefdescription>
247        <detaileddescription>
248        </detaileddescription>
249        <inbodydescription>
250        </inbodydescription>
251        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="33" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="33" bodyend="-1"/>
252      </memberdef>
253      <memberdef kind="variable" id="demo__example_2simulator_8cpp_12d36b941b2c32d96c73cd66d0b2a79ba" prot="public" static="no" mutable="no">
254        <type>unsigned int</type>
255        <definition>unsigned int h_reg_counter_mez</definition>
256        <argsstring></argsstring>
257        <name>h_reg_counter_mez</name>
258        <briefdescription>
259        </briefdescription>
260        <detaileddescription>
261        </detaileddescription>
262        <inbodydescription>
263        </inbodydescription>
264        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="33" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="33" bodyend="-1"/>
265      </memberdef>
266      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1766e9ead6f2e850ae806a6da85590460" prot="public" static="yes" mutable="no">
267        <type>double</type>
268        <definition>double va_char[16]</definition>
269        <argsstring>[16]</argsstring>
270        <name>va_char</name>
271        <initializer>{0,10,50,100,200,300,500,1000, 0,1,1.8,2.4,3.2,3.8,4.8,6.8}</initializer>
272        <briefdescription>
273        </briefdescription>
274        <detaileddescription>
275        </detaileddescription>
276        <inbodydescription>
277        </inbodydescription>
278        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="35" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="35" bodyend="-1"/>
279      </memberdef>
280      <memberdef kind="variable" id="demo__example_2simulator_8cpp_144d11750d10193af7944b7dc2eaa2f45" prot="public" static="yes" mutable="no">
281        <type>unsigned int</type>
282        <definition>unsigned int pocet</definition>
283        <argsstring></argsstring>
284        <name>pocet</name>
285        <initializer>8</initializer>
286        <briefdescription>
287        </briefdescription>
288        <detaileddescription>
289        </detaileddescription>
290        <inbodydescription>
291        </inbodydescription>
292        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="36" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="36" bodyend="-1"/>
293      </memberdef>
294      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1ef96d7e2af821e8829d40ed1d8b0901d" prot="public" static="no" mutable="no">
295        <type>double</type>
296        <definition>double x[9]</definition>
297        <argsstring>[9]</argsstring>
298        <name>x</name>
299        <briefdescription>
300        </briefdescription>
301        <detaileddescription>
302        </detaileddescription>
303        <inbodydescription>
304        </inbodydescription>
305        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="39" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="39" bodyend="-1"/>
306      </memberdef>
307      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1a25c32c8e1605293535ff9baa435b758" prot="public" static="yes" mutable="no">
308        <type>int</type>
309        <definition>int smer</definition>
310        <argsstring></argsstring>
311        <name>smer</name>
312        <briefdescription>
313        </briefdescription>
314        <detaileddescription>
315        </detaileddescription>
316        <inbodydescription>
317        </inbodydescription>
318        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="42" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="42" bodyend="-1"/>
319      </memberdef>
320      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1e2040e9b4693cfc54938a3b2d062591c" prot="public" static="yes" mutable="no">
321        <type>int</type>
322        <definition>int smer2</definition>
323        <argsstring></argsstring>
324        <name>smer2</name>
325        <briefdescription>
326        </briefdescription>
327        <detaileddescription>
328        </detaileddescription>
329        <inbodydescription>
330        </inbodydescription>
331        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="42" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="42" bodyend="-1"/>
332      </memberdef>
333      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1911020f0c2ee7248d3575189b06398c2" prot="public" static="yes" mutable="no">
334        <type>int</type>
335        <definition>int citac</definition>
336        <argsstring></argsstring>
337        <name>citac</name>
338        <briefdescription>
339        </briefdescription>
340        <detaileddescription>
341        </detaileddescription>
342        <inbodydescription>
343        </inbodydescription>
344        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="42" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="42" bodyend="-1"/>
345      </memberdef>
346      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1abf693f6b07594a20f4aa8d02a875399" prot="public" static="yes" mutable="no">
347        <type>int</type>
348        <definition>int citac2</definition>
349        <argsstring></argsstring>
350        <name>citac2</name>
351        <briefdescription>
352        </briefdescription>
353        <detaileddescription>
354        </detaileddescription>
355        <inbodydescription>
356        </inbodydescription>
357        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="42" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="42" bodyend="-1"/>
358      </memberdef>
359      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1278b61cc75f0dcbf7685ad230b12b1a4" prot="public" static="yes" mutable="no">
360        <type>int</type>
361        <definition>int citac_PR</definition>
362        <argsstring></argsstring>
363        <name>citac_PR</name>
364        <briefdescription>
365        </briefdescription>
366        <detaileddescription>
367        </detaileddescription>
368        <inbodydescription>
369        </inbodydescription>
370        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="42" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="42" bodyend="-1"/>
371      </memberdef>
372      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1881981ba129fc2734322d637926c05bb" prot="public" static="yes" mutable="no">
373        <type>int</type>
374        <definition>int modulace</definition>
375        <argsstring></argsstring>
376        <name>modulace</name>
377        <briefdescription>
378        </briefdescription>
379        <detaileddescription>
380        </detaileddescription>
381        <inbodydescription>
382        </inbodydescription>
383        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="42" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="42" bodyend="-1"/>
384      </memberdef>
385      <memberdef kind="variable" id="demo__example_2simulator_8cpp_121d72fdda90dce70de81cf1fc4630928" prot="public" static="yes" mutable="no">
386        <type>double</type>
387        <definition>double dIsx</definition>
388        <argsstring></argsstring>
389        <name>dIsx</name>
390        <briefdescription>
391        </briefdescription>
392        <detaileddescription>
393        </detaileddescription>
394        <inbodydescription>
395        </inbodydescription>
396        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="45" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="45" bodyend="-1"/>
397      </memberdef>
398      <memberdef kind="variable" id="demo__example_2simulator_8cpp_19bf8a92e872ccc3086ffeb0f13b22793" prot="public" static="yes" mutable="no">
399        <type>double</type>
400        <definition>double dIsx1</definition>
401        <argsstring></argsstring>
402        <name>dIsx1</name>
403        <briefdescription>
404        </briefdescription>
405        <detaileddescription>
406        </detaileddescription>
407        <inbodydescription>
408        </inbodydescription>
409        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="45" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="45" bodyend="-1"/>
410      </memberdef>
411      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1026c9e1de51b90e9955d8ffe75970ab1" prot="public" static="yes" mutable="no">
412        <type>double</type>
413        <definition>double dIsx2</definition>
414        <argsstring></argsstring>
415        <name>dIsx2</name>
416        <briefdescription>
417        </briefdescription>
418        <detaileddescription>
419        </detaileddescription>
420        <inbodydescription>
421        </inbodydescription>
422        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="45" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="45" bodyend="-1"/>
423      </memberdef>
424      <memberdef kind="variable" id="demo__example_2simulator_8cpp_19ca03ba7145b078ef8702a53ee741f23" prot="public" static="yes" mutable="no">
425        <type>double</type>
426        <definition>double dIsx3</definition>
427        <argsstring></argsstring>
428        <name>dIsx3</name>
429        <briefdescription>
430        </briefdescription>
431        <detaileddescription>
432        </detaileddescription>
433        <inbodydescription>
434        </inbodydescription>
435        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="45" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="45" bodyend="-1"/>
436      </memberdef>
437      <memberdef kind="variable" id="demo__example_2simulator_8cpp_168eab1c82f703bb130282ab4b5322ffd" prot="public" static="yes" mutable="no">
438        <type>double</type>
439        <definition>double dIsy</definition>
440        <argsstring></argsstring>
441        <name>dIsy</name>
442        <briefdescription>
443        </briefdescription>
444        <detaileddescription>
445        </detaileddescription>
446        <inbodydescription>
447        </inbodydescription>
448        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="45" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="45" bodyend="-1"/>
449      </memberdef>
450      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1f7244346709d521149860600030c0813" prot="public" static="yes" mutable="no">
451        <type>double</type>
452        <definition>double dIsy1</definition>
453        <argsstring></argsstring>
454        <name>dIsy1</name>
455        <briefdescription>
456        </briefdescription>
457        <detaileddescription>
458        </detaileddescription>
459        <inbodydescription>
460        </inbodydescription>
461        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="45" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="45" bodyend="-1"/>
462      </memberdef>
463      <memberdef kind="variable" id="demo__example_2simulator_8cpp_194913da6f7cf6d33088846af9bbfae91" prot="public" static="yes" mutable="no">
464        <type>double</type>
465        <definition>double dIsy2</definition>
466        <argsstring></argsstring>
467        <name>dIsy2</name>
468        <briefdescription>
469        </briefdescription>
470        <detaileddescription>
471        </detaileddescription>
472        <inbodydescription>
473        </inbodydescription>
474        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="45" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="45" bodyend="-1"/>
475      </memberdef>
476      <memberdef kind="variable" id="demo__example_2simulator_8cpp_14dd39f5275fabf34a4c114e556338aad" prot="public" static="yes" mutable="no">
477        <type>double</type>
478        <definition>double dIsy3</definition>
479        <argsstring></argsstring>
480        <name>dIsy3</name>
481        <briefdescription>
482        </briefdescription>
483        <detaileddescription>
484        </detaileddescription>
485        <inbodydescription>
486        </inbodydescription>
487        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="45" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="45" bodyend="-1"/>
488      </memberdef>
489      <memberdef kind="variable" id="demo__example_2simulator_8cpp_15d075d9998ae7bbabcd1eec0c27a4c3d" prot="public" static="yes" mutable="no">
490        <type>double</type>
491        <definition>double dTheta</definition>
492        <argsstring></argsstring>
493        <name>dTheta</name>
494        <briefdescription>
495        </briefdescription>
496        <detaileddescription>
497        </detaileddescription>
498        <inbodydescription>
499        </inbodydescription>
500        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="46" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="46" bodyend="-1"/>
501      </memberdef>
502      <memberdef kind="variable" id="demo__example_2simulator_8cpp_14ee05581e5d78f06a138e2f86b6c619c" prot="public" static="yes" mutable="no">
503        <type>double</type>
504        <definition>double dTheta1</definition>
505        <argsstring></argsstring>
506        <name>dTheta1</name>
507        <briefdescription>
508        </briefdescription>
509        <detaileddescription>
510        </detaileddescription>
511        <inbodydescription>
512        </inbodydescription>
513        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="46" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="46" bodyend="-1"/>
514      </memberdef>
515      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1c6ed9fc65ecf7935a27a0fbacbecab8b" prot="public" static="yes" mutable="no">
516        <type>double</type>
517        <definition>double dTheta2</definition>
518        <argsstring></argsstring>
519        <name>dTheta2</name>
520        <briefdescription>
521        </briefdescription>
522        <detaileddescription>
523        </detaileddescription>
524        <inbodydescription>
525        </inbodydescription>
526        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="46" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="46" bodyend="-1"/>
527      </memberdef>
528      <memberdef kind="variable" id="demo__example_2simulator_8cpp_126ccf33b4cb557f30c8a78ce9e20d006" prot="public" static="yes" mutable="no">
529        <type>double</type>
530        <definition>double dTheta3</definition>
531        <argsstring></argsstring>
532        <name>dTheta3</name>
533        <briefdescription>
534        </briefdescription>
535        <detaileddescription>
536        </detaileddescription>
537        <inbodydescription>
538        </inbodydescription>
539        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="46" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="46" bodyend="-1"/>
540      </memberdef>
541      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1c2a6e8a64aa67c5924cfe6488658065c" prot="public" static="yes" mutable="no">
542        <type>double</type>
543        <definition>double dw</definition>
544        <argsstring></argsstring>
545        <name>dw</name>
546        <briefdescription>
547        </briefdescription>
548        <detaileddescription>
549        </detaileddescription>
550        <inbodydescription>
551        </inbodydescription>
552        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="47" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="47" bodyend="-1"/>
553      </memberdef>
554      <memberdef kind="variable" id="demo__example_2simulator_8cpp_13dbeafa64f6523568b739c7c92d656cc" prot="public" static="yes" mutable="no">
555        <type>double</type>
556        <definition>double dw1</definition>
557        <argsstring></argsstring>
558        <name>dw1</name>
559        <briefdescription>
560        </briefdescription>
561        <detaileddescription>
562        </detaileddescription>
563        <inbodydescription>
564        </inbodydescription>
565        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="47" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="47" bodyend="-1"/>
566      </memberdef>
567      <memberdef kind="variable" id="demo__example_2simulator_8cpp_12fbe98a006d0a245e64bd0b5626bdbbe" prot="public" static="yes" mutable="no">
568        <type>double</type>
569        <definition>double dw2</definition>
570        <argsstring></argsstring>
571        <name>dw2</name>
572        <briefdescription>
573        </briefdescription>
574        <detaileddescription>
575        </detaileddescription>
576        <inbodydescription>
577        </inbodydescription>
578        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="47" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="47" bodyend="-1"/>
579      </memberdef>
580      <memberdef kind="variable" id="demo__example_2simulator_8cpp_10e1c55b73fae10df1cd50e581c01bd5a" prot="public" static="yes" mutable="no">
581        <type>double</type>
582        <definition>double dw3</definition>
583        <argsstring></argsstring>
584        <name>dw3</name>
585        <briefdescription>
586        </briefdescription>
587        <detaileddescription>
588        </detaileddescription>
589        <inbodydescription>
590        </inbodydescription>
591        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="47" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="47" bodyend="-1"/>
592      </memberdef>
593      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1639a3957145f3b5dd034811cb4b4cf3f" prot="public" static="yes" mutable="no">
594        <type>double</type>
595        <definition>double Isx</definition>
596        <argsstring></argsstring>
597        <name>Isx</name>
598        <briefdescription>
599        </briefdescription>
600        <detaileddescription>
601        </detaileddescription>
602        <inbodydescription>
603        </inbodydescription>
604        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="50" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="50" bodyend="-1"/>
605      </memberdef>
606      <memberdef kind="variable" id="demo__example_2simulator_8cpp_109325d9dd09d541bdd3f9e9ff27a05d5" prot="public" static="yes" mutable="no">
607        <type>double</type>
608        <definition>double Isy</definition>
609        <argsstring></argsstring>
610        <name>Isy</name>
611        <briefdescription>
612        </briefdescription>
613        <detaileddescription>
614        </detaileddescription>
615        <inbodydescription>
616        </inbodydescription>
617        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="50" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="50" bodyend="-1"/>
618      </memberdef>
619      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1ca81c35c21e3a5f7f3a8d24504e76664" prot="public" static="yes" mutable="no">
620        <type>double</type>
621        <definition>double theta</definition>
622        <argsstring></argsstring>
623        <name>theta</name>
624        <briefdescription>
625        </briefdescription>
626        <detaileddescription>
627        </detaileddescription>
628        <inbodydescription>
629        </inbodydescription>
630        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="50" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="50" bodyend="-1"/>
631      </memberdef>
632      <memberdef kind="variable" id="demo__example_2simulator_8cpp_16dc6e6f3c75c509ce943163afb5dade7" prot="public" static="yes" mutable="no">
633        <type>double</type>
634        <definition>double speed</definition>
635        <argsstring></argsstring>
636        <name>speed</name>
637        <briefdescription>
638        </briefdescription>
639        <detaileddescription>
640        </detaileddescription>
641        <inbodydescription>
642        </inbodydescription>
643        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="50" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="50" bodyend="-1"/>
644      </memberdef>
645      <memberdef kind="variable" id="demo__example_2simulator_8cpp_13ece956ca424ebed99b0796b14a98374" prot="public" static="yes" mutable="no">
646        <type>double</type>
647        <definition>double u[2]</definition>
648        <argsstring>[2]</argsstring>
649        <name>u</name>
650        <initializer>{0.,0.}</initializer>
651        <briefdescription>
652        </briefdescription>
653        <detaileddescription>
654        </detaileddescription>
655        <inbodydescription>
656        </inbodydescription>
657        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="53" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="53" bodyend="-1"/>
658      </memberdef>
659      <memberdef kind="variable" id="demo__example_2simulator_8cpp_1a99b7cd727bdf0b27735f124f671b5ec" prot="public" static="yes" mutable="no">
660        <type>double</type>
661        <definition>double us[2]</definition>
662        <argsstring>[2]</argsstring>
663        <name>us</name>
664        <initializer>{0.,0.}</initializer>
665        <briefdescription>
666        </briefdescription>
667        <detaileddescription>
668        </detaileddescription>
669        <inbodydescription>
670        </inbodydescription>
671        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="54" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="54" bodyend="-1"/>
672      </memberdef>
673      <memberdef kind="variable" id="demo__example_2simulator_8cpp_16d9d7e9e326007ea4cb71e549dff4191" prot="public" static="yes" mutable="no">
674        <type>double</type>
675        <definition>double KalmanObs[4]</definition>
676        <argsstring>[4]</argsstring>
677        <name>KalmanObs</name>
678        <initializer>{0.,0.,0.,0.}</initializer>
679        <briefdescription>
680        </briefdescription>
681        <detaileddescription>
682        </detaileddescription>
683        <inbodydescription>
684        </inbodydescription>
685        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="57" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="57" bodyend="-1"/>
686      </memberdef>
687      <memberdef kind="variable" id="demo__example_2simulator_8cpp_187accd1af8e0aff4b818d891374f7cec" prot="public" static="yes" mutable="no">
688        <type>double</type>
689        <definition>double t</definition>
690        <argsstring></argsstring>
691        <name>t</name>
692        <initializer>0.</initializer>
693        <briefdescription>
694        </briefdescription>
695        <detaileddescription>
696        </detaileddescription>
697        <inbodydescription>
698        </inbodydescription>
699        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="60" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="60" bodyend="-1"/>
700      </memberdef>
701      </sectiondef>
702      <sectiondef kind="func">
703      <memberdef kind="function" id="demo__example_2simulator_8cpp_1665bc30f8afe61d4444510513edce99d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
704        <type>void</type>
705        <definition>void set_parameters</definition>
706        <argsstring>(double Rs0, double Ls0, double Fmag0, double Bf0, double p0, double kp0, double J0, double Uc0, double DT0, double dt0)</argsstring>
707        <name>set_parameters</name>
708        <param>
709          <type>double</type>
710          <declname>Rs0</declname>
711        </param>
712        <param>
713          <type>double</type>
714          <declname>Ls0</declname>
715        </param>
716        <param>
717          <type>double</type>
718          <declname>Fmag0</declname>
719        </param>
720        <param>
721          <type>double</type>
722          <declname>Bf0</declname>
723        </param>
724        <param>
725          <type>double</type>
726          <declname>p0</declname>
727        </param>
728        <param>
729          <type>double</type>
730          <declname>kp0</declname>
731        </param>
732        <param>
733          <type>double</type>
734          <declname>J0</declname>
735        </param>
736        <param>
737          <type>double</type>
738          <declname>Uc0</declname>
739        </param>
740        <param>
741          <type>double</type>
742          <declname>DT0</declname>
743        </param>
744        <param>
745          <type>double</type>
746          <declname>dt0</declname>
747        </param>
748        <briefdescription>
749        </briefdescription>
750        <detaileddescription>
751        </detaileddescription>
752        <inbodydescription>
753        </inbodydescription>
754        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="19" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="62" bodyend="114"/>
755      </memberdef>
756      <memberdef kind="function" id="demo__example_2simulator_8cpp_148c8ee70c3cf89476b5cf2a1a1080c21" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
757        <type>void</type>
758        <definition>void eval</definition>
759        <argsstring>(double Ww)</argsstring>
760        <name>eval</name>
761        <param>
762          <type>double</type>
763          <declname>Ww</declname>
764        </param>
765        <briefdescription>
766        </briefdescription>
767        <detaileddescription>
768        </detaileddescription>
769        <inbodydescription>
770        </inbodydescription>
771        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="20" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="260" bodyend="291"/>
772      </memberdef>
773      <memberdef kind="function" id="demo__example_2simulator_8cpp_1d3b8a39e009e28d49610e94fbc943721" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
774        <type>void</type>
775        <definition>static void pwm</definition>
776        <argsstring>(unsigned int mod)</argsstring>
777        <name>pwm</name>
778        <param>
779          <type>unsigned int</type>
780          <declname>mod</declname>
781        </param>
782        <briefdescription>
783        </briefdescription>
784        <detaileddescription>
785        </detaileddescription>
786        <inbodydescription>
787        </inbodydescription>
788        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="23" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="117" bodyend="184"/>
789      </memberdef>
790      <memberdef kind="function" id="demo__example_2simulator_8cpp_1ee66e8081eeedb7bc836be175478bc42" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
791        <type>double</type>
792        <definition>static double ubytek</definition>
793        <argsstring>(double I)</argsstring>
794        <name>ubytek</name>
795        <param>
796          <type>double</type>
797          <declname>I</declname>
798        </param>
799        <briefdescription>
800        </briefdescription>
801        <detaileddescription>
802        </detaileddescription>
803        <inbodydescription>
804        </inbodydescription>
805        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="24" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="186" bodyend="204"/>
806      </memberdef>
807      <memberdef kind="function" id="demo__example_2simulator_8cpp_1e6c1e8a2485b12c9991afcf2213dcae8" prot="public" static="yes" const="no" explicit="no" inline="no" virt="non-virtual">
808        <type>void</type>
809        <definition>static void pmsm_model</definition>
810        <argsstring>(unsigned int mod)</argsstring>
811        <name>pmsm_model</name>
812        <param>
813          <type>unsigned int</type>
814          <declname>mod</declname>
815        </param>
816        <briefdescription>
817        </briefdescription>
818        <detaileddescription>
819        </detaileddescription>
820        <inbodydescription>
821        </inbodydescription>
822        <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" line="25" bodyfile="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp" bodystart="207" bodyend="257"/>
823      </memberdef>
824      </sectiondef>
825    <briefdescription>
826    </briefdescription>
827    <detaileddescription>
828    </detaileddescription>
829    <programlisting>
830<codeline lineno="1"><highlight class="comment">/*</highlight></codeline>
831<codeline lineno="2"><highlight class="comment"><sp/><sp/><sp/>Simulator<sp/>of<sp/>Vector<sp/>Controlled<sp/>PMSM<sp/>Drive</highlight></codeline>
832<codeline lineno="3"><highlight class="comment"></highlight></codeline>
833<codeline lineno="4"><highlight class="comment"><sp/><sp/><sp/>This<sp/>module<sp/>is<sp/>background<sp/>for<sp/>PMSM<sp/>drive<sp/>object<sp/>design<sp/>and</highlight></codeline>
834<codeline lineno="5"><highlight class="comment"><sp/><sp/><sp/>introduces<sp/>basic<sp/>functions<sp/>...<sp/>set_parameters()<sp/>and<sp/>eval().</highlight></codeline>
835<codeline lineno="6"><highlight class="comment"></highlight></codeline>
836<codeline lineno="7"><highlight class="comment"><sp/><sp/><sp/>Z.<sp/>Peroutka</highlight></codeline>
837<codeline lineno="8"><highlight class="comment"></highlight></codeline>
838<codeline lineno="9"><highlight class="comment">Rev.<sp/>16.3.2008</highlight></codeline>
839<codeline lineno="10"><highlight class="comment"></highlight></codeline>
840<codeline lineno="11"><highlight class="comment">*/</highlight><highlight class="normal"></highlight></codeline>
841<codeline lineno="12"><highlight class="normal"></highlight></codeline>
842<codeline lineno="13"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;math.h&gt;</highlight><highlight class="normal"></highlight></codeline>
843<codeline lineno="14"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;regulace.h&quot;</highlight><highlight class="normal"></highlight></codeline>
844<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;simulator.h&quot;</highlight><highlight class="normal"></highlight></codeline>
845<codeline lineno="16"><highlight class="normal"></highlight></codeline>
846<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>REZIM_REGULACE<sp/><sp/>1<sp/><sp/><sp/><sp/><sp/><sp/><sp/>//<sp/>0...reg.<sp/>momentu,<sp/>1...reg.rychlosti,<sp/>2...<sp/>Isqw=sqrt(Imax^2-Id^2)<sp/>-<sp/>max.<sp/>moment</highlight></codeline>
847<codeline lineno="18"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
848<codeline lineno="19"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>set_parameters(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Rs0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Ls0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Fmag0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Bf0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>p0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>kp0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>J0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Uc0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>DT0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>dt0);</highlight></codeline>
849<codeline lineno="20"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>eval(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Ww);</highlight></codeline>
850<codeline lineno="21"><highlight class="normal"></highlight></codeline>
851<codeline lineno="22"><highlight class="normal"></highlight><highlight class="comment">//<sp/>local<sp/>functions</highlight><highlight class="normal"></highlight></codeline>
852<codeline lineno="23"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>pwm(</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>mod);</highlight></codeline>
853<codeline lineno="24"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>ubytek(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>I);</highlight></codeline>
854<codeline lineno="25"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>pmsm_model(</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>mod);</highlight></codeline>
855<codeline lineno="26"><highlight class="normal"></highlight></codeline>
856<codeline lineno="27"><highlight class="normal"></highlight></codeline>
857<codeline lineno="28"><highlight class="normal"></highlight><highlight class="comment">//<sp/>simulator<sp/>properties<sp/>///////////////////////</highlight><highlight class="normal"></highlight></codeline>
858<codeline lineno="29"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Rs,Ls,Fmag,Bf,p,kp,J;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>parameters<sp/>of<sp/>PMSM<sp/>model</highlight><highlight class="normal"></highlight></codeline>
859<codeline lineno="30"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Ucn,Uc,DT,U_modulace;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>dc-link<sp/>voltage<sp/>and<sp/>dead-time</highlight><highlight class="normal"></highlight></codeline>
860<codeline lineno="31"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Urm_max;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>field<sp/>weakening</highlight><highlight class="normal"></highlight></codeline>
861<codeline lineno="32"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>h,h_reg,h_reg_real;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>simulation<sp/>step<sp/>and<sp/>sampling<sp/>of<sp/>employed<sp/>loops</highlight><highlight class="normal"></highlight></codeline>
862<codeline lineno="33"><highlight class="normal"></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>h_reg_counter,h_reg_counter_mez;<sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>emulation<sp/>of<sp/>DSP<sp/>operation</highlight><highlight class="normal"></highlight></codeline>
863<codeline lineno="34"><highlight class="normal"></highlight></codeline>
864<codeline lineno="35"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>va_char[16]={0,10,50,100,200,300,500,1000,<sp/>0,1,1.8,2.4,3.2,3.8,4.8,6.8};<sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>ubytky</highlight><highlight class="normal"></highlight></codeline>
865<codeline lineno="36"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>pocet=8;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>velikost<sp/>VA-charky</highlight><highlight class="normal"></highlight></codeline>
866<codeline lineno="37"><highlight class="normal"></highlight></codeline>
867<codeline lineno="38"><highlight class="normal"></highlight><highlight class="comment">//<sp/>system<sp/>state</highlight><highlight class="normal"></highlight></codeline>
868<codeline lineno="39"><highlight class="normal"></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>x[9];<sp/></highlight><highlight class="comment">//<sp/>(isx,isy,wme,theta_e,M,Fsd,Isd,Isq,Mz)</highlight><highlight class="normal"></highlight></codeline>
869<codeline lineno="40"><highlight class="normal"></highlight></codeline>
870<codeline lineno="41"><highlight class="normal"></highlight><highlight class="comment">//<sp/>internal<sp/>variables<sp/>of<sp/>PWM<sp/>module</highlight><highlight class="normal"></highlight></codeline>
871<codeline lineno="42"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>smer,<sp/>smer2,<sp/>citac,<sp/>citac2,<sp/>citac_PR,<sp/>modulace;</highlight></codeline>
872<codeline lineno="43"><highlight class="normal"></highlight></codeline>
873<codeline lineno="44"><highlight class="normal"></highlight><highlight class="comment">//<sp/>internal<sp/>variables<sp/>of<sp/>PMSM<sp/>model</highlight><highlight class="normal"></highlight></codeline>
874<codeline lineno="45"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>dIsx,dIsx1,dIsx2,dIsx3,dIsy,dIsy1,dIsy2,dIsy3;</highlight></codeline>
875<codeline lineno="46"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>dTheta,dTheta1,dTheta2,dTheta3;</highlight></codeline>
876<codeline lineno="47"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>dw,dw1,dw2,dw3;</highlight></codeline>
877<codeline lineno="48"><highlight class="normal"></highlight></codeline>
878<codeline lineno="49"><highlight class="normal"></highlight><highlight class="comment">//<sp/>system<sp/>measures</highlight><highlight class="normal"></highlight></codeline>
879<codeline lineno="50"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Isx,<sp/>Isy,<sp/>theta,<sp/>speed;</highlight></codeline>
880<codeline lineno="51"><highlight class="normal"></highlight></codeline>
881<codeline lineno="52"><highlight class="normal"></highlight><highlight class="comment">//<sp/>control</highlight><highlight class="normal"></highlight></codeline>
882<codeline lineno="53"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>u[2]={0.,0.};<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>format<sp/>u={Um,<sp/>beta}</highlight><highlight class="normal"></highlight></codeline>
883<codeline lineno="54"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>us[2]={0.,0.};<sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>format<sp/>us={us_alfa,<sp/>us_beta}</highlight><highlight class="normal"></highlight></codeline>
884<codeline lineno="55"><highlight class="normal"></highlight></codeline>
885<codeline lineno="56"><highlight class="normal"></highlight><highlight class="comment">//<sp/>output<sp/>for<sp/>EKF<sp/>(voltages<sp/>and<sp/>measured<sp/>currents,<sp/>which<sp/>are<sp/>fed<sp/>to<sp/>KalmanObs)</highlight><highlight class="normal"></highlight></codeline>
886<codeline lineno="57"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>KalmanObs[4]={0.,0.,0.,0.};<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>usx,<sp/>usy,<sp/>Isx,<sp/>Isy</highlight><highlight class="normal"></highlight></codeline>
887<codeline lineno="58"><highlight class="normal"></highlight></codeline>
888<codeline lineno="59"><highlight class="normal"></highlight><highlight class="comment">//<sp/>real-time</highlight><highlight class="normal"></highlight></codeline>
889<codeline lineno="60"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>t=0.;</highlight></codeline>
890<codeline lineno="61"><highlight class="normal"></highlight></codeline>
891<codeline lineno="62"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>set_parameters(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Rs0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Ls0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Fmag0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Bf0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>p0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>kp0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>J0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Uc0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>DT0,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>dt0)</highlight></codeline>
892<codeline lineno="63"><highlight class="normal">{</highlight></codeline>
893<codeline lineno="64"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>tmp_i;</highlight></codeline>
894<codeline lineno="65"><highlight class="normal"></highlight></codeline>
895<codeline lineno="66"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>simulator<sp/>parameters<sp/>setup</highlight><highlight class="normal"></highlight></codeline>
896<codeline lineno="67"><highlight class="normal"><sp/><sp/>Rs=Rs0;</highlight></codeline>
897<codeline lineno="68"><highlight class="normal"><sp/><sp/>Ls=Ls0;</highlight></codeline>
898<codeline lineno="69"><highlight class="normal"><sp/><sp/>Fmag=Fmag0;</highlight></codeline>
899<codeline lineno="70"><highlight class="normal"><sp/><sp/>Bf=Bf0;</highlight></codeline>
900<codeline lineno="71"><highlight class="normal"><sp/><sp/>p=p0;</highlight></codeline>
901<codeline lineno="72"><highlight class="normal"><sp/><sp/>kp=kp0;</highlight></codeline>
902<codeline lineno="73"><highlight class="normal"><sp/><sp/>J=J0;</highlight></codeline>
903<codeline lineno="74"><highlight class="normal"><sp/><sp/>Ucn=600.;</highlight></codeline>
904<codeline lineno="75"><highlight class="normal"><sp/><sp/>Uc=Uc0;</highlight></codeline>
905<codeline lineno="76"><highlight class="normal"><sp/><sp/>DT=DT0;</highlight></codeline>
906<codeline lineno="77"><highlight class="normal"></highlight></codeline>
907<codeline lineno="78"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>control<sp/>setup</highlight><highlight class="normal"></highlight></codeline>
908<codeline lineno="79"><highlight class="normal"><sp/><sp/>Urm_max=0.95;</highlight></codeline>
909<codeline lineno="80"><highlight class="normal"></highlight></codeline>
910<codeline lineno="81"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>simulator<sp/>sampling<sp/>-<sp/>fixed<sp/>setup</highlight><highlight class="normal"></highlight></codeline>
911<codeline lineno="82"><highlight class="normal"><sp/><sp/>h=dt0;</highlight></codeline>
912<codeline lineno="83"><highlight class="normal"><sp/><sp/>h_reg=125e-6;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>fpwm<sp/>=<sp/>4kHz</highlight><highlight class="normal"></highlight></codeline>
913<codeline lineno="84"><highlight class="normal"><sp/><sp/>h_reg_counter_mez=(int)(h_reg/h);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>emulation<sp/>of<sp/>operation<sp/>of<sp/>DSP<sp/>timer</highlight><highlight class="normal"></highlight></codeline>
914<codeline lineno="85"><highlight class="normal"><sp/><sp/>h_reg_counter=h_reg_counter_mez;</highlight></codeline>
915<codeline lineno="86"><highlight class="normal"><sp/><sp/>h_reg_real=h_reg_counter_mez*h;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>real<sp/>sampling<sp/>period</highlight><highlight class="normal"></highlight></codeline>
916<codeline lineno="87"><highlight class="normal"></highlight></codeline>
917<codeline lineno="88"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>reset<sp/>of<sp/>the<sp/>system<sp/>state<sp/>variables</highlight><highlight class="normal"></highlight></codeline>
918<codeline lineno="89"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(tmp_i=0;tmp_i&lt;9;tmp_i++)</highlight></codeline>
919<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/>x[tmp_i]=0.;</highlight></codeline>
920<codeline lineno="91"><highlight class="normal"></highlight></codeline>
921<codeline lineno="92"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>emulation<sp/>of<sp/>the<sp/>first<sp/>measure</highlight><highlight class="normal"></highlight></codeline>
922<codeline lineno="93"><highlight class="normal"><sp/><sp/>Isx=0.;Isy=0.;theta=x[3];speed=x[2];</highlight></codeline>
923<codeline lineno="94"><highlight class="normal"></highlight></codeline>
924<codeline lineno="95"><highlight class="normal"></highlight><highlight class="comment">//<sp/>===<sp/>init<sp/>of<sp/>particular<sp/>modules<sp/>of<sp/>simulator<sp/>===</highlight><highlight class="normal"></highlight></codeline>
925<codeline lineno="96"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>PWM<sp/>init</highlight><highlight class="normal"></highlight></codeline>
926<codeline lineno="97"><highlight class="normal"><sp/><sp/>smer=-1;<sp/>smer2=-1;</highlight></codeline>
927<codeline lineno="98"><highlight class="normal"><sp/><sp/>citac=0;</highlight></codeline>
928<codeline lineno="99"><highlight class="normal"><sp/><sp/>citac2=abs(0-(DT/h));</highlight></codeline>
929<codeline lineno="100"><highlight class="normal"><sp/><sp/>citac_PR=h_reg_counter_mez;</highlight></codeline>
930<codeline lineno="101"><highlight class="normal"></highlight></codeline>
931<codeline lineno="102"><highlight class="normal"><sp/><sp/>modulace=1;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>THIPWM</highlight><highlight class="normal"></highlight></codeline>
932<codeline lineno="103"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(modulace==1)</highlight></codeline>
933<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/>U_modulace=Ucn/sqrt(3.);</highlight></codeline>
934<codeline lineno="105"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
935<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/>U_modulace=Ucn/2.;</highlight></codeline>
936<codeline lineno="107"><highlight class="normal"></highlight></codeline>
937<codeline lineno="108"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>PMSM<sp/>model<sp/>init</highlight><highlight class="normal"></highlight></codeline>
938<codeline lineno="109"><highlight class="normal"><sp/><sp/>dIsx=0;dIsx1=0;dIsx2=0;dIsx3=0;dIsy=0;dIsy1=0;dIsy2=0;dIsy3=0;</highlight></codeline>
939<codeline lineno="110"><highlight class="normal"><sp/><sp/>dTheta=0;dTheta1=0;dTheta2=0;dTheta3=0;</highlight></codeline>
940<codeline lineno="111"><highlight class="normal"><sp/><sp/>dw=0;dw1=0;dw2=0;dw3=0;</highlight></codeline>
941<codeline lineno="112"><highlight class="normal"></highlight></codeline>
942<codeline lineno="113"><highlight class="normal"><sp/><sp/>init_regulace(Ls,Fmag,kp,p,h_reg_real);</highlight></codeline>
943<codeline lineno="114"><highlight class="normal">}</highlight></codeline>
944<codeline lineno="115"><highlight class="normal"></highlight></codeline>
945<codeline lineno="116"><highlight class="normal"></highlight></codeline>
946<codeline lineno="117"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>pwm(</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>mod)</highlight></codeline>
947<codeline lineno="118"><highlight class="normal"></highlight><highlight class="comment">//<sp/>mod<sp/>...<sp/>mod=0<sp/>-<sp/>sinusoidal<sp/>PWM;<sp/>mod=1<sp/>-<sp/>PWM<sp/>with<sp/>injected<sp/>3rd<sp/>harmonic</highlight><highlight class="normal"></highlight></codeline>
948<codeline lineno="119"><highlight class="normal">{</highlight></codeline>
949<codeline lineno="120"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i;</highlight></codeline>
950<codeline lineno="121"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>iabc[3],<sp/>ur[3],ustr[3],ua,ub,uc;</highlight></codeline>
951<codeline lineno="122"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>dtr[3],dd[3];</highlight></codeline>
952<codeline lineno="123"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Um,<sp/>beta;</highlight></codeline>
953<codeline lineno="124"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>U3;</highlight></codeline>
954<codeline lineno="125"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>up,<sp/>up2;</highlight></codeline>
955<codeline lineno="126"><highlight class="normal"></highlight></codeline>
956<codeline lineno="127"><highlight class="normal"><sp/><sp/>Um=*u;</highlight></codeline>
957<codeline lineno="128"><highlight class="normal"><sp/><sp/>beta=*(u+1);</highlight></codeline>
958<codeline lineno="129"><highlight class="normal"></highlight></codeline>
959<codeline lineno="130"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>emulation<sp/>of<sp/>carrier<sp/>-<sp/>timer</highlight><highlight class="normal"></highlight></codeline>
960<codeline lineno="131"><highlight class="normal"><sp/><sp/>up=((double)citac/citac_PR-0.5)*Ucn;</highlight></codeline>
961<codeline lineno="132"><highlight class="normal"><sp/><sp/>up2=((double)citac2/citac_PR-0.5)*Ucn;</highlight></codeline>
962<codeline lineno="133"><highlight class="normal"></highlight></codeline>
963<codeline lineno="134"><highlight class="normal"><sp/><sp/>iabc[0]=*x;</highlight></codeline>
964<codeline lineno="135"><highlight class="normal"><sp/><sp/>iabc[1]=(-*x+sqrt(3.)**(x+1))/2.;</highlight></codeline>
965<codeline lineno="136"><highlight class="normal"><sp/><sp/>iabc[2]=(-*x-sqrt(3.)**(x+1))/2.;</highlight></codeline>
966<codeline lineno="137"><highlight class="normal"></highlight></codeline>
967<codeline lineno="138"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(mod==0)<sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>sin.<sp/>PWM</highlight><highlight class="normal"></highlight></codeline>
968<codeline lineno="139"><highlight class="normal"><sp/><sp/>{</highlight></codeline>
969<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/>ur[0]=Um*cos(beta);</highlight></codeline>
970<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/>ur[1]=Um*cos(beta-2./3.*M_PI);</highlight></codeline>
971<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/>ur[2]=Um*cos(beta+2./3.*M_PI);</highlight></codeline>
972<codeline lineno="143"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
973<codeline lineno="144"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>PWM<sp/>with<sp/>injected<sp/>3rd<sp/>harmonic</highlight><highlight class="normal"></highlight></codeline>
974<codeline lineno="145"><highlight class="normal"><sp/><sp/>{</highlight></codeline>
975<codeline lineno="146"><highlight class="normal"><sp/><sp/><sp/><sp/>U3=0.17*cos(3.*beta);</highlight></codeline>
976<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/>ur[0]=Um*(cos(beta)-U3);</highlight></codeline>
977<codeline lineno="148"><highlight class="normal"><sp/><sp/><sp/><sp/>ur[1]=Um*(cos(beta-2./3.*M_PI)-U3);</highlight></codeline>
978<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/>ur[2]=Um*(cos(beta+2./3.*M_PI)-U3);</highlight></codeline>
979<codeline lineno="150"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
980<codeline lineno="151"><highlight class="normal"></highlight></codeline>
981<codeline lineno="152"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i=0;i&lt;3;i++)</highlight></codeline>
982<codeline lineno="153"><highlight class="normal"><sp/><sp/>{<sp/>dtr[i]=ubytek(fabs(iabc[i]));</highlight></codeline>
983<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/>dd[i]=dtr[i]*.73;</highlight></codeline>
984<codeline lineno="155"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
985<codeline lineno="156"><highlight class="normal"></highlight></codeline>
986<codeline lineno="157"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>implementation<sp/>of<sp/>voltage<sp/>drops<sp/>and<sp/>dead-times</highlight><highlight class="normal"></highlight></codeline>
987<codeline lineno="158"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(i=0;i&lt;3;i++)</highlight></codeline>
988<codeline lineno="159"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(iabc[i]&gt;=0)</highlight></codeline>
989<codeline lineno="160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((ur[i]&gt;up)<sp/>&amp;&amp;<sp/>(ur[i]&gt;up2))</highlight></codeline>
990<codeline lineno="161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ustr[i]=Uc/2-dtr[i];</highlight></codeline>
991<codeline lineno="162"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
992<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ustr[i]=-(Uc/2+dd[i]);</highlight></codeline>
993<codeline lineno="164"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
994<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((ur[i]&lt;up)<sp/>&amp;&amp;<sp/>(ur[i]&lt;up2))</highlight></codeline>
995<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ustr[i]=-(Uc/2-dtr[i]);</highlight></codeline>
996<codeline lineno="167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
997<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ustr[i]=Uc/2+dd[i];</highlight></codeline>
998<codeline lineno="169"><highlight class="normal"></highlight></codeline>
999<codeline lineno="170"><highlight class="normal"></highlight><highlight class="comment">//<sp/>phase<sp/>voltages</highlight><highlight class="normal"></highlight></codeline>
1000<codeline lineno="171"><highlight class="normal"><sp/><sp/>ua=(2.*ustr[0]-ustr[1]-ustr[2])/3.;</highlight></codeline>
1001<codeline lineno="172"><highlight class="normal"><sp/><sp/>ub=(2.*ustr[1]-ustr[0]-ustr[2])/3.;</highlight></codeline>
1002<codeline lineno="173"><highlight class="normal"><sp/><sp/>uc=(2.*ustr[2]-ustr[0]-ustr[1])/3.;</highlight></codeline>
1003<codeline lineno="174"><highlight class="normal"></highlight></codeline>
1004<codeline lineno="175"><highlight class="normal"></highlight><highlight class="comment">//<sp/>voltage<sp/>vector<sp/>in<sp/>stationary<sp/>reference<sp/>frame<sp/>(x,y)</highlight><highlight class="normal"></highlight></codeline>
1005<codeline lineno="176"><highlight class="normal"><sp/><sp/>*us=(2.*ua-ub-uc)/3.;</highlight></codeline>
1006<codeline lineno="177"><highlight class="normal"><sp/><sp/>*(us+1)=(ub-uc)/sqrt(3.);</highlight></codeline>
1007<codeline lineno="178"><highlight class="normal"></highlight></codeline>
1008<codeline lineno="179"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>emulation<sp/>of<sp/>DSP<sp/>timers</highlight><highlight class="normal"></highlight></codeline>
1009<codeline lineno="180"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((citac==citac_PR)||(citac==0))<sp/>smer*=-1;</highlight></codeline>
1010<codeline lineno="181"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((citac2==citac_PR)||(citac2==0))<sp/>smer2*=-1;</highlight></codeline>
1011<codeline lineno="182"><highlight class="normal"><sp/><sp/>citac+=smer;</highlight></codeline>
1012<codeline lineno="183"><highlight class="normal"><sp/><sp/>citac2+=smer2;</highlight></codeline>
1013<codeline lineno="184"><highlight class="normal">}</highlight></codeline>
1014<codeline lineno="185"><highlight class="normal"></highlight></codeline>
1015<codeline lineno="186"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>ubytek(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>I)</highlight></codeline>
1016<codeline lineno="187"><highlight class="normal">{</highlight></codeline>
1017<codeline lineno="188"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>ii;</highlight></codeline>
1018<codeline lineno="189"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>delta_u;</highlight></codeline>
1019<codeline lineno="190"><highlight class="normal"></highlight></codeline>
1020<codeline lineno="191"><highlight class="normal"><sp/><sp/>ii=0;</highlight></codeline>
1021<codeline lineno="192"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>((*(va_char+ii)&lt;I)<sp/>&amp;&amp;<sp/>(ii&lt;(pocet-1)))</highlight></codeline>
1022<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/>ii++;</highlight></codeline>
1023<codeline lineno="194"><highlight class="normal"></highlight></codeline>
1024<codeline lineno="195"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ii==(pocet-1))</highlight></codeline>
1025<codeline lineno="196"><highlight class="normal"><sp/><sp/><sp/><sp/>delta_u=*(va_char+ii+pocet);</highlight></codeline>
1026<codeline lineno="197"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
1027<codeline lineno="198"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(ii==0)</highlight></codeline>
1028<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>delta_u=0;</highlight></codeline>
1029<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
1030<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>delta_u=*(va_char+ii-1+pocet)+(I-*(va_char+ii-1))/(*(va_char+ii)-*(va_char+ii-1))*(*(va_char+ii+pocet)-*(va_char+ii-1+pocet));</highlight></codeline>
1031<codeline lineno="202"><highlight class="normal"></highlight></codeline>
1032<codeline lineno="203"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>delta_u;</highlight></codeline>
1033<codeline lineno="204"><highlight class="normal">}</highlight></codeline>
1034<codeline lineno="205"><highlight class="normal"></highlight></codeline>
1035<codeline lineno="206"><highlight class="normal"></highlight></codeline>
1036<codeline lineno="207"><highlight class="normal"></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>pmsm_model(</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>mod)</highlight></codeline>
1037<codeline lineno="208"><highlight class="normal"></highlight><highlight class="comment">//<sp/>mod&lt;5...Euler,<sp/>mod&gt;4<sp/>...<sp/>Adams<sp/>of<sp/>4th<sp/>order</highlight><highlight class="normal"></highlight></codeline>
1038<codeline lineno="209"><highlight class="normal">{</highlight></codeline>
1039<codeline lineno="210"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>usx,<sp/>usy;</highlight></codeline>
1040<codeline lineno="211"><highlight class="normal"></highlight></codeline>
1041<codeline lineno="212"><highlight class="normal"><sp/><sp/>usx=*us;</highlight></codeline>
1042<codeline lineno="213"><highlight class="normal"><sp/><sp/>usy=*(us+1);</highlight></codeline>
1043<codeline lineno="214"><highlight class="normal"></highlight></codeline>
1044<codeline lineno="215"><highlight class="normal"><sp/><sp/>dIsx=-Rs/Ls*x[0]+Fmag/Ls*x[2]*sin(x[3])+usx/Ls;</highlight></codeline>
1045<codeline lineno="216"><highlight class="normal"><sp/><sp/>dIsy=-Rs/Ls*x[1]-Fmag/Ls*x[2]*cos(x[3])+usy/Ls;</highlight></codeline>
1046<codeline lineno="217"><highlight class="normal"><sp/><sp/>dTheta=x[2];</highlight></codeline>
1047<codeline lineno="218"><highlight class="normal"></highlight></codeline>
1048<codeline lineno="219"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(J&gt;0)</highlight></codeline>
1049<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/>dw=kp*p*p*Fmag/J*(x[1]*cos(x[3])-x[0]*sin(x[3]))-Bf/J*x[2]-p/J*x[8];</highlight></codeline>
1050<codeline lineno="221"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
1051<codeline lineno="222"><highlight class="normal"><sp/><sp/><sp/><sp/>dw=0;</highlight></codeline>
1052<codeline lineno="223"><highlight class="normal"></highlight></codeline>
1053<codeline lineno="224"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>integration</highlight><highlight class="normal"></highlight></codeline>
1054<codeline lineno="225"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(mod&lt;5)<sp/><sp/></highlight><highlight class="comment">//<sp/>Euler</highlight><highlight class="normal"></highlight></codeline>
1055<codeline lineno="226"><highlight class="normal"><sp/><sp/>{<sp/>x[0]+=dIsx*h;</highlight></codeline>
1056<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/>x[1]+=dIsy*h;</highlight></codeline>
1057<codeline lineno="228"><highlight class="normal"><sp/><sp/><sp/><sp/>x[2]+=dw*h;</highlight></codeline>
1058<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/>x[3]+=dTheta*h;</highlight></codeline>
1059<codeline lineno="230"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
1060<codeline lineno="231"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Adams<sp/>(4th<sp/>order)</highlight><highlight class="normal"></highlight></codeline>
1061<codeline lineno="232"><highlight class="normal"><sp/><sp/>{<sp/>x[0]+=h/24.*(55.*dIsx-59.*dIsx1+37.*dIsx2-9.*dIsx3);</highlight></codeline>
1062<codeline lineno="233"><highlight class="normal"><sp/><sp/><sp/><sp/>x[1]+=h/24.*(55.*dIsy-59.*dIsy1+37.*dIsy2-9.*dIsy3);</highlight></codeline>
1063<codeline lineno="234"><highlight class="normal"><sp/><sp/><sp/><sp/>x[2]+=h/24.*(55.*dw-59.*dw1+37.*dw2-9.*dw3);</highlight></codeline>
1064<codeline lineno="235"><highlight class="normal"><sp/><sp/><sp/><sp/>x[3]+=h/24.*(55.*dTheta-59.*dTheta1+37.*dTheta2-9.*dTheta3);</highlight></codeline>
1065<codeline lineno="236"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
1066<codeline lineno="237"><highlight class="normal"></highlight></codeline>
1067<codeline lineno="238"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>saturation<sp/>of<sp/>theta<sp/>to<sp/>(-pi,pi)</highlight><highlight class="normal"></highlight></codeline>
1068<codeline lineno="239"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(x[3]&gt;M_PI)<sp/>x[3]-=(2*M_PI);</highlight></codeline>
1069<codeline lineno="240"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(x[3]&lt;-M_PI)<sp/>x[3]+=(2*M_PI);</highlight></codeline>
1070<codeline lineno="241"><highlight class="normal"></highlight></codeline>
1071<codeline lineno="242"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>diff.<sp/>shift<sp/>-<sp/>Adams</highlight><highlight class="normal"></highlight></codeline>
1072<codeline lineno="243"><highlight class="normal"><sp/><sp/>dIsx3=dIsx2;dIsx2=dIsx1;dIsx1=dIsx;</highlight></codeline>
1073<codeline lineno="244"><highlight class="normal"><sp/><sp/>dIsy3=dIsy2;dIsy2=dIsy1;dIsy1=dIsy;</highlight></codeline>
1074<codeline lineno="245"><highlight class="normal"><sp/><sp/>dTheta3=dTheta2;dTheta2=dTheta1;dTheta1=dTheta;</highlight></codeline>
1075<codeline lineno="246"><highlight class="normal"><sp/><sp/>dw3=dw2;dw2=dw1;dw1=dw;</highlight></codeline>
1076<codeline lineno="247"><highlight class="normal"></highlight></codeline>
1077<codeline lineno="248"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>calculation<sp/>of<sp/>Isd,<sp/>Isq</highlight><highlight class="normal"></highlight></codeline>
1078<codeline lineno="249"><highlight class="normal"><sp/><sp/>x[6]=x[0]*cos(x[3])+x[1]*sin(x[3]);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Isd</highlight><highlight class="normal"></highlight></codeline>
1079<codeline lineno="250"><highlight class="normal"><sp/><sp/>x[7]=x[1]*cos(x[3])-x[0]*sin(x[3]);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Isq</highlight><highlight class="normal"></highlight></codeline>
1080<codeline lineno="251"><highlight class="normal"></highlight></codeline>
1081<codeline lineno="252"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>Fsd<sp/>...<sp/>d-component<sp/>of<sp/>stator<sp/>flux</highlight><highlight class="normal"></highlight></codeline>
1082<codeline lineno="253"><highlight class="normal"><sp/><sp/>x[5]=Ls*x[6]+Fmag;</highlight></codeline>
1083<codeline lineno="254"><highlight class="normal"></highlight></codeline>
1084<codeline lineno="255"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>Torque</highlight><highlight class="normal"></highlight></codeline>
1085<codeline lineno="256"><highlight class="normal"><sp/><sp/>x[4]=kp*p*Fmag*(x[1]*cos(x[3])-x[0]*sin(x[3]));</highlight></codeline>
1086<codeline lineno="257"><highlight class="normal">}</highlight></codeline>
1087<codeline lineno="258"><highlight class="normal"></highlight></codeline>
1088<codeline lineno="260"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>eval(</highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Ww)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>you<sp/>must<sp/>link<sp/>array<sp/>KalmanObs[]<sp/>to<sp/>EKF<sp/>modul</highlight><highlight class="normal"></highlight></codeline>
1089<codeline lineno="261"><highlight class="normal">{</highlight></codeline>
1090<codeline lineno="262"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>Umk,<sp/>ua,<sp/>ub;</highlight></codeline>
1091<codeline lineno="263"><highlight class="normal"></highlight></codeline>
1092<codeline lineno="264"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>while<sp/>(t&lt;=t_end)</highlight><highlight class="normal"></highlight></codeline>
1093<codeline lineno="265"><highlight class="normal"><sp/><sp/>{</highlight></codeline>
1094<codeline lineno="266"><highlight class="normal"><sp/><sp/><sp/><sp/>pwm(modulace);</highlight></codeline>
1095<codeline lineno="267"><highlight class="normal"><sp/><sp/><sp/><sp/>pmsm_model(5);</highlight></codeline>
1096<codeline lineno="268"><highlight class="normal"></highlight></codeline>
1097<codeline lineno="269"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(h_reg_counter&gt;=h_reg_counter_mez)<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>pocatek<sp/>ISR</highlight><highlight class="normal"></highlight></codeline>
1098<codeline lineno="270"><highlight class="normal"><sp/><sp/><sp/><sp/>{</highlight></codeline>
1099<codeline lineno="271"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>voltages<sp/>and<sp/>measured<sp/>currents<sp/>for<sp/>EKF</highlight><highlight class="normal"></highlight></codeline>
1100<codeline lineno="272"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>Umk=*u*Uc/Ucn;</highlight></codeline>
1101<codeline lineno="273"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ua=Umk*cos(*(u+1));</highlight></codeline>
1102<codeline lineno="274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ub=Umk*cos(*(u+1)-2./3.*M_PI);</highlight></codeline>
1103<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>KalmanObs[0]=ua;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>usx</highlight><highlight class="normal"></highlight></codeline>
1104<codeline lineno="276"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>KalmanObs[1]=(ua+2.*ub)/sqrt(3.);<sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>usy</highlight><highlight class="normal"></highlight></codeline>
1105<codeline lineno="277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>KalmanObs[2]=Isx;</highlight></codeline>
1106<codeline lineno="278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>KalmanObs[3]=Isy;</highlight></codeline>
1107<codeline lineno="279"><highlight class="normal"></highlight></codeline>
1108<codeline lineno="280"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>vektor_regulace(0,0,Urm_max,Ww,u,Isx,Isy,theta,speed,U_modulace,Uc,Ucn,REZIM_REGULACE);<sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>rezim=1<sp/>...<sp/>reg.<sp/>rychlosti,<sp/>rezim=0<sp/>...<sp/>reg.<sp/>momentu</highlight><highlight class="normal"></highlight></codeline>
1109<codeline lineno="281"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>rezim=2<sp/>...<sp/>Iqw=sqrt(Imax^2-Idw^2)</highlight><highlight class="normal"></highlight></codeline>
1110<codeline lineno="282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>emulation<sp/>of<sp/>the<sp/>real<sp/>sampling<sp/>of<sp/>A/D<sp/>converter</highlight><highlight class="normal"></highlight></codeline>
1111<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>Isx=x[0];Isy=x[1];speed=x[2];theta=x[3];</highlight></codeline>
1112<codeline lineno="284"><highlight class="normal"></highlight></codeline>
1113<codeline lineno="285"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>h_reg_counter=0;</highlight></codeline>
1114<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
1115<codeline lineno="287"><highlight class="normal"></highlight></codeline>
1116<codeline lineno="288"><highlight class="normal"><sp/><sp/><sp/><sp/>t+=h;</highlight></codeline>
1117<codeline lineno="289"><highlight class="normal"><sp/><sp/><sp/><sp/>h_reg_counter++;</highlight></codeline>
1118<codeline lineno="290"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
1119<codeline lineno="291"><highlight class="normal">}</highlight></codeline>
1120    </programlisting>
1121    <location file="/home/smidl/work/git/mixpp/pmsm/simulator_zdenek/demo_example/simulator.cpp"/>
1122  </compounddef>
1123</doxygen>
Note: See TracBrowser for help on using the browser.