SVPWM的原理及法则推导和控制算法详解

SVPWM的原理及法则推导和控制算法详解
SVPWM的原理及法则推导和控制算法详解

一直以来对SVPWM 原理和实现方法困惑颇多,无奈现有资料或是模糊不清,或是错误百

出。 经查阅众多书籍论文,长期积累总结,去伪存真,总算对其略窥门径。未敢私藏,故公之于众。其中难免有误,请大家指正,谢谢!

1 空间电压矢量调制 SVPWM 技术

SVPWM 是近年发展的一种比较新颖的控制方法,是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,能够使输出电流波形尽 可能接近于理想的正弦波形。空间电压矢量PWM 与传统的正弦PWM 不同,它是从三相输出电压的整体效果出发,着眼于如何使电机获得理想圆形磁链轨迹。 SVPWM 技术与SPWM 相比较,绕组电流波形的谐波成分小,使得电机转矩脉动降低,旋转磁场更逼近圆形,而且使直流母线电压的利用率有了很大提高,且更易于实现数字化。下面将对该算法进行详细分析阐述。

1.1 SVPWM 基本原理

SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组

合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通圆,并由两者的比较结果来决定逆变器的开关状态,从而形成PWM 波形。逆变电路如图 2-8 示。

设直流母线侧电压为Udc ,逆变器输出的三相相电压为UA 、UB 、UC ,其分别加在空间上互差120°的三相平面静止坐标系上,可以定义三个电压空间矢量 UA(t)、UB(t)、UC(t),它们的方向始终在各相的轴线上,而大小则随时间按正弦规律做变化,时间相位互差120°。假设Um 为相电压有效值,f 为电源频率,则有:

?????+=-==)

3/2cos()()3/2cos()()cos()(πθπθθm C

m B m A U t U U t U U t U (2-27) 其中,ft πθ2=,则三相电压空间矢量相加的合成空间矢量 U(t)就可以表示为:

θππj m j C j B A e U e t U e t U t U t U 2

3

)()()()(3/43/2=++= (2-28)

可见 U(t)是一个旋转的空间矢量,它的幅值为相电压峰值的1.5倍,Um 为相电压峰值,且以角频率ω=2πf 按逆时针方向匀速旋转的空间矢量,而空间矢量 U(t)在三相坐标轴(a ,

b ,

c )上的投影就是对称的三相正弦量。

图 2-8 逆变电路

由于逆变器三相桥臂共有6个开关管,为了研究各相上下桥臂不同开关组合时逆变器输出的空间电压矢量,特定义开关函数 Sx ( x = a 、b 、c) 为:

??

?=下桥臂导通

上桥臂导通

01x S (2-30) (Sa 、Sb 、Sc)的全部可能组合共有八个,包括6个非零矢量 Ul(001)、U2(010)、U3(011)、U4(100)、U5(101)、U6(110)、和两个零矢量 U0(000)、U7(111),下面以其中一 种开关 组 合为 例分 析,假设Sx ( x= a 、b 、c)= (100), 此 时

Udc

Ua Ub

Uc 矢矢U4矢100矢

N

???

??=++=-=--===0

,,0,cN bN aN

c d cN aN dc bN aN dc ca bc dc ab U U U U U U U U U U U U U U (2-30) 求解上述方程可得:Uan=2Ud /3、UbN=-U d/3、UcN=-Ud /3。同理可计算出其它各种组合下的空间电压矢量,列表如下:

表 2-1 开关状态与相电压和线电压的对应关系

Sa Sb Sc 矢量符号

线电压

相电压

Uab

Ubc Uca UaN UbN UcN 0

U0

1 0 0 U4 Udc 0 0 dc U 32

dc U 31

- dc U 3

1

- 1 1 0 U6 Udc Udc 0 dc U 31

dc U 31

dc U 32

- 0 1 0 U2 0 Udc Udc dc U 31

- dc U 31

- dc U 31

- 0 1 1 U3 0 Udc Udc dc U 32

- dc U 31

dc U 31

0 0 1 U1 0 0 Udc dc U 31

- dc U 31

- dc U 32

1 0 1 U5 Udc 0 Udc dc U 3

1

dc U 3

2

- dc U 3

1

1

1

1

U7

0 0 0

图 2-9 给出了八个基本电压空间矢量的大小和位置。

图 2-9 电压空间矢量图

其中非零矢量的幅值相同(模长为 2Udc/3),相邻的矢量间隔 60°,而两个零矢量幅值为零,位于中心。在每一个扇区,选择相邻的两个电压矢量以及零矢量,按照伏秒平衡的原则来合成每个扇区内的任意电压矢量,即:

(2-31)

或者等效成下式:

00****T U T U T U T U y y x x ref ++=(2-32)

其中,Uref 为期望电压矢量;T 为采样周期;Tx 、Ty 、T0分别为对应两个非零电压矢量 Ux 、Uy 和零电压矢量 U 0在一个采样周期的作用时间;其中U0包括了U0和U7两个零矢量。式(2-32)的意义是,矢量 Uref 在 T 时间内所产生的积分效果值和 Ux 、Uy 、U 0 分别在时间 Tx 、Ty 、T0内产生的积分效果相加总和值相同。

由于三相正弦波电压在电压空间向量中合成一个等效的旋转电压,其旋转速度是输入电源角频率,等效旋转电压的轨迹将是如图2-9 所示的圆形。所以要产生三相正弦波电压,可以利用以上电压向量合成的技术,在电压空间向量上,将设定的电压向量由U4(100)位置开始,每一次增加一个小增量,每一个小增量设定电压向量可以用该区中相邻的两个基本非零向量与零电压向量予以合成,如此所得到的设定电压向量就等效于一个在电压空间向量平面上平滑旋转的电压空间向量,从而达到电压空间向量脉宽调制的目的。

1.2 SVPWM 法则推导

三相电压给定所合成的电压向量旋转角速度为ω=2πf ,旋转一周所需的时 间为 T =1/ f ;若载波频率是 fs ,则频率比为 R = f s / f 。这样将电压旋转平面等 切 割 成 R 个 小 增 量 ,亦 即 设 定 电 压 向 量 每 次 增 量 的 角 度 是 : γ=2/ R =2πf/fs=2Ts/T 。

今假设欲合成的电压向量Uref 在第Ⅰ区中第一个增量的位置,如图2-10所示,欲用 U4、U6、U0 及 U7 合成,用平均值等效可得:U ref*Tz =U 4*T4 +U 6*T6 。

图 2-10 电压空间向量在第Ⅰ区的合成与分解

在两相静止参考坐标系(α,β)中,令 Uref 和 U4 间的夹角是θ,由正弦定理 可得:

???

?

??

?-------=--+=轴

轴βπθαπθ3sin ||sin ||3cos ||||cos ||666644U T T U U T T U T T U s ref s s ref

(2-33) 因为 |U 4 |=|U 6|=2Udc/3 ,所以可以得到各矢量的状态保持时间为:

(2-34)

式中 m 为 SVPWM 调制系数(调制比), m=3|Uref|/Udc 。调制度怎么得到的?

个人理解:最大不失真电压矢量圆的模长Uref 是1/3 Udc,是否定义SVPWM 调制度为当取不失真电压矢量模长是最大时候,调制比为1。

而零电压向量所分配的时间为:

T7=T0=(TS-T4-T6 ) /2 (2-35) 或者T7 =(TS-T4-T6 ) (2-36)

得到以 U4、U6、U7 及 U0 合成的 Uref 的时间后,接下来就是如何产生实际的脉宽调制波形。在SVPWM 调制方案中,零矢量的选择是最具灵活性的,适当选择零矢量,可最大限度地减少开关次数,尽可能避免在负载电流较大的时刻的开关动作,最大限度地减少开关损耗。

一个开关周期中空间矢量按分时方式发生作用,在时间上构成一个空间矢量的序列,空间矢量的序列组织方式有多种,按照空间矢量的对称性分类,可分为两相开关换流与三相开关换流。下面对常用的序列做分别介绍。

1.2.1 7段式SVPWM

我们以减少开关次数为目标,将基本矢量作用顺序的分配原则选定为:在每次开关状态转换时,只改变其中一相的 开关状态。并且对零矢量在时间上进行了平均分配,以使产生的 PWM 对称,从而有效地降低 PWM 的谐波分量。当 U4(100)切换至 U0(000)时,只需改变 A 相上下一对切换开关,若由 U4(100)切换至 U7(111)则需改变 B 、C 相上下两对切换开关,增加了一倍的切换损失。因此要改变电压向量 U4(100)、U2(010)、 U1(001)的大小,需配合零电压向量 U0(000),而要改变 U6(110)、U3(011)、U5(100), 需配合零电压向量 U7(111)。这样通过在不同区间内安排不同的开关切换顺序, 就可以获得对称的输出波形,其它各扇区的开关切换顺序如表 2-2 所示。

表 2-2 UREF 所在的位置和开关切换顺序对照序

UREF 所在的位置 开关切换顺序 三相波形图

Ⅰ区(0°≤θ≤60°)

…0-4-6-7-7-6-4-0…

Ts

T0/2T4/2T6/2T7/2T7/2T6/2T4/2T0/2

1

1

1

1

1

1

1

11

1000010000

Ⅱ区(60°≤θ≤120°) …0-2-6-7-7-6-2-0…

Ts

T0/2T2/2T6/2T7/2T7/2T6/2T2/2T0/2

1

1

1

1

01111110

1

00

Ⅲ区(120°≤θ≤180°) …0-2-3-7-7-3-2-0…

Ts

T0/2T2/2T32T7/2T7/2T3/2T2/2T0/2

1

1

1

1

11

1100111100

Ⅳ区(180°≤θ≤240°) …0-1-3-7-7-3-1-0…

Ts

T0/2T1/2T3/2T7/2T7/2T3/2T1/2T0/2

1

1

1

11

1001111110

Ⅴ区(240°≤θ≤300°) …0-1-5-7-7-5-1-0…

Ts

T0/2T1/2T5/2T7/2T7/2T5/2T1/2T0/2

1

1

1

1

11

0001111110

Ⅵ区(300°≤θ≤360°) …0-4-5-7-7-5-4-0…

Ts

T0/2T4/2T5/2T7/2T7/2T5/2T4/2T0/2

1

1

1

1

1

1

11

0000111100

以第Ⅰ扇区为例,其所产生的三相波调制波形在时间 TS 时段中如图所示,图中电压向量出现的先后顺序为 U0、U4、U6、U7、U6、U4、U0,各电压向量的三相波形则与表 2-2 中的开关表示符号相对应。再下一个 TS 时段,Uref 的角度增加一个γ,利用式(2-33)可以重新计算新的 T0、T4、T6 及 T7 值,得到新的 合成三相类似(3-4)所示的三相波形;这样每一个载波周期TS 就会合成一个新的矢量,随着θ的逐渐增大,Uref 将依序进入第Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ区。在电 压向量旋转一周期后,就会产生 R 个合成矢量。

1.2.2 5段式SVPWM

对7段而言,发波对称,谐波含量较小,但是每个开关周期有6次开关切换,为了进一

步减少开关次数,采用每相开关在每个扇区状态维持不变的序列安排,使得每个开关周期只有3次开关切换,但是会增大谐波含量。具体序列安排见下表。

表 2-3 UREF 所在的位置和开关切换顺序对照序

UREF 所在的位置 开关切换顺序 三相波形图

Ⅰ区(0°≤θ≤60°)

…4-6-7-7-6-4…

Ts

T4/2T6/2T7/2T7/2T6/2T4/2

1

1

1

1

1

1

011110

001110

Ⅱ区(60°≤θ≤120°) …2-6-7-7-6-2…

Ts

T2/2T6/2T7/2T7/2T6/2T2/2

1

1

1

1

1

111111

001110

Ⅲ区(120°≤θ≤180°) …2-3-7-7-3-2…

Ts

T2/2T3/2T7/2T7/2T3/2T2/2

1

1

111111

011110

Ⅳ区(180°≤θ≤240°) …1-3-7-7-3-1…

Ts

T1/2T3/2T7/2T7/2T3/2T1/2

1

1

011110

111111

Ⅴ区(240°≤θ≤300°) …1-5-7-7-5-1…

Ts

T1/2T5/2T7/2T7/2T5/2T1/2

1

1

1

1

001100

111111

Ⅵ区(300°≤θ≤360°) …4-5-7-7-5-4…

Ts

T4/2T5/2T7/2T7/2T5/2T4/2

1

1

1

1

001100

011110

1.3 S VPWM 控制算法

通过以上 SVPWM 的法则推导分析可知要实现SVPWM 信号的实时调制,首先需要知道参考电压矢量 Uref 所在的区间位置,然后利用所在扇区的相邻两电压矢量和适当的零矢量来合成参考电压矢量。图2-10是在静止坐标系(α,β)中描述的电压空间矢量图,电压矢量调制的控制指令是矢量控制系统给出的矢量信号 Uref ,它以某一角频率ω在空间逆时针旋转,当旋转到矢量图的某个 60°扇区中时,系统计算该区间所需的基本电压空间矢量,并以此矢量所对应的状态去驱动功率开关元件动作。当控制矢量在空间旋转 360°后,逆变器就能输出一个周期的正弦波电压。

1.3.1 合成矢量 Uref 所处扇区 N 的判断

空间矢量调制的第一步是判断由 U α 和 U β所决定的空间电压矢量所处的扇区。假定合成的电压矢量落在第 I 扇区,可知其等价条件如下: 0o

以上等价条件再结合矢量图几何关系分析,可以判断出合成电压矢量 Uref 落在第 X 扇区的充分必要条件,得出下表: 扇区 落在此扇区的充要条件

I

U α>0 ,U β>0 且U β/ U α<3

Ⅱ U α>0 , 且U β/ |U α|>3 Ⅲ U α<0 ,U β>0 且-U β/ U α<3 Ⅳ U α<0 ,U β<0 且U β/ U α<3 Ⅴ U β<0 且-U β/|U α|>3 Ⅵ

U α>0 ,U β<0 且-U β/U α<3

若进一步分析以上的条件,有可看出参考电压矢量Uref 所在的扇区完全由U β,3 U α- U β, -3 U α- U β 三式决定,因此令:

???

?

?

?

???

--=-==223223321βα

βα

βU U U U U U U U 再定义,若U1>0 ,则 A=1,否则 A=0; 若U 2>0 ,则 B=1,否则 B=0;若U3>0 ,则 C=1,否则 C=0。可以看出 A ,B ,C 之间共有八种组合,但由判断扇区的公式可知 A ,B ,C 不会同时为 1 或同时为 0,所以实际的组合是六种,A ,B ,C 组合取不同的值对 应着不同的扇区,并且是一一对应的,因此完全可以由 A ,B ,C 的组合判断所在的扇区。为区别六种状态,令 N=4*C+2*B+A ,则可以通过下表计算参考电压 矢量 Uref 所在的扇区。

表 2-3 P 值与扇区对应关系

N 3 1 5 4 6 2 扇区号

采用上述方法,只需经过简单的加减及逻辑运算即可确定所在的扇区,对于提高系统的响应速度和进行仿真都是很有意义的。

1.3.2 基本矢量作用时间计算与三相 PWM 波形的合成

在传统 SVPWM 算法如 式(2-34)中用到了空间角度及三角函数,使得直接计算基本电压矢量作用时间 变得十分困难。实际上,只要充分利用 U α 和 U β 就可以使计算大为简化。以 Uref 处在第Ⅰ扇区时进行分析,根据图 2-10 有:

???

??

?

????

??????????+??????=??????=??

?

?

??643sin 3cos 0132sin cos T T U T U T U U dc s ref s ππθθβα 经过整理后得出:

???

?

?????

?? ??=?

?? ??

+=66423322132T U T U T T U T U dc s dc s βα

?

????

??

????--=--=====???

? ??-=-=-=段)(段)或57(23332233321232123476

40716

264T T T T T T T T T U U T U T U T U U T U U U T U T U U T U T U T U T s s

dc

s dc s dc s

dc s dc s dc s dc ββαβαα 同理可求得Uref 在其它扇区中各矢量的作用时间,结果如表2-4所示。由此可根据式2-36 中的U1 、U 2 、U3 判断合成矢量所在扇区,然后查表得出两非零矢量的作用时间,最后得出三相PWM 波占空比,表2-4可以使SVPWM 算法编程简易实现。

为了实现对算法对各种电压等级适应,一般会对电压进行标幺化处理,实际电压

Ubase U U '=,U '为标幺值,在定点处理其中一般为Q12格式,即标幺值为1时,等于

4096,假定电压基值为3

2nom

base U U =,Unom 为系统额定电压,一般为线电压,这里看出基值为相电压的峰值。

以DSP 的PWM 模块为例,假设开关频率为fs ,DSP 的时钟为fdsp ,根据PWM 的设置要是想开关频率为fs 时,PWM 周期计数器的值为NTpwm=fdsp/fs/2,则对时间转换为计数值进行如下推导:

14

141166666

6623)2

23

(3*

3*3*41U Ksvpwm U Ksvpwm N U U NTpwm Unom

U U NTpwm Ubase N U U U U NTpwm U U NTpwm fs U U T NTpwm fs NTpwm T N fs NTpwm T N fs T NTpwm N fs T NTpwm N T dc

dc T base dc

dc

dc

s

T T T T '='=?'

='=?'-'=====?=?=?=β

ββα 其中α

U '和βU '为实际值的标幺值,令发波系数,Ksvpwm=dc

U NTpwmUnom

2

同理可以得到2

6

)2

23

(U Ksvpwm U U Ksvpwm N T '='-'=βα 表 2-4 各扇区基本空间矢量的作用时间

扇区 时间

I

1

62

433U U T T U U T T d c

s

d c

s

=

=

1

624U Ksvpwm T U Ksvpwm T N N '='=

TN4=TNx TN6=TNy Ⅱ

3

62

233U U T T U U T T dc s

dc s

=

=

3622U Ksvpwm T U Ksvpwm T N N '='= TN2=TNx TN6=TNy

3

31

233U U T T U U T T dc s

dc s

=

=

3

312U Ksvpwm T U Ksvpwm T N N '='=

TN2=TNx TN3=TNy Ⅳ

2

31

133U U T T U U T T dc

s

dc s

=

=

2

311U Ksvpwm T U Ksvpwm T N N '='=

TN1=TNx TN3=TNy

2

53

133U U T T U U T T dc

s

dc s

=

=

2

531U Ksvpwm T U Ksvpwm T N N '='=

TN1=TNx TN5=TNy Ⅵ

1

53

433U U T T U U T T dc

s

dc s

=

=

1534U Ksvpwm T U

Ksvpwm T N N '='= TN4=TNx TN5=TNy

由公式(2-38)可知,当两个零电压矢量作用时间为0时,一个PWM 周期内非零电压矢量的作用时间最长,此时的合成空间电压矢量幅值最大,由图2-12可 知其幅值最大不会超过图中所示的正六边形边界。而当合成矢量落在该边界之外 时,将发生过调制,逆变器输出电压波形将发生失真。在SVPWM 调制模式下, 逆变器能够输出的最大不失真圆形旋转电压矢量为图2-12所示虚线正六边形的 内切圆,其幅值为:

dc dc U U 3

33223=?,即逆变器输出的不失真最大 正弦相电压幅值为

dc U 3

3

而若采用三相SPWM 调制,逆变器能输出的不失真最大正弦相电压幅值为 U dc /2 。显然SVPWM 调制模式下对直流侧电压利用率 更高,它们的直流利用率 之比为 1547.12

1

/33=dc dc U U ,即SVPWM 法比SPWM 法的直流电压利用率提高了15.47%。

图2-12 SVPWM 模式下电压矢量幅值边界

如图当合成电压矢量端点落在正六边形与外接圆之间时,已发生过调制,输出电压将发生失真,必须采取过调制处理,这里采用一种比例缩小算法。定义每个扇区中先发生的矢量用为 TNx ,后发生的矢量为 TNy 。当 Tx+Ty ≤TNPWM 时,矢量端点在正六边形之内,不发生

过调制;当 TNx+TNy> TNPWM 时,矢量端点超出正六边形,发生过调制。输出的波形会出现严重的失真,需采取以下措施:

设将电压矢量端点轨迹端点拉回至正六边形内切圆内时两非零矢量作用时间分别为 TNx',TNy',则有比例关系:

Ny

Ny

Nx Nx T T T T '=' (2-39) 因此可用下式求得 TNx',TNy',TN0,TN7:

????

?

??????==+='+='0

7

0T T T T T T T T T T T T NPWM Ny

Nx Ny Ny

NPWM

Ny

Nx Nx Nx (2-40)

按照上述过程,就能得到每个扇区相邻两电压空间矢量和零电压矢量的作用时间。当U ref 所在扇区和对应有效电压矢量的作用时间确定后,再根据PWM 调制原理,计算出每一相对应比较器的值,其运算关系如下 在I 扇区时如下图,

Ts

T0/2T4/2T6/2T7/2T7/2T6/2T4/2T0/2

1

1

1

1

1

1

001111000010000

tcon

taon

tbcon

Tpwm

NTPWM

Ntaon

Ntbon

Ntcon

TNx

TNy

TN0

NTPWM-Ntaon

NTPWM-Ntbon

NTPWM-Ntbon

()段72/---???

??+=+=--=y bon

con x

aon bon y x s aon T

t t T t t T T T t (2-41) (感觉公式少除了2的话,看前面的各量定义,因为采用了连续增减模式,所以实际周期是dsp 设定计数周期的2倍)

同理可以推出5段时,在I 扇区时如式,

段50

--???

??+===y bon con

x

bon aon T

t t T t t (2-42) 不同PWM 比较方式,计数值会完全不同,两者会差180度 段数 以倒三角计数,对应计数器的值

以正三角计数,对应计数器的值

7

()???

??--=--=---=Ny tbon tcon

Nx taon tbon Ny Nx taon T

N TNPWM N T N TNPWM N T T NTPWM TNPWM N 2/

()???

??+=+=--=Ny tbon tcon

Nx taon tbon Ny Nx taon T

N N T N N T T NTPWM N 2

/

5

???

??--=-==Ny

tbon tcon Nx tbon taon T N TNPWM N

T TNPWM N TNPWM

N

???

??+===Ny

tbon tcon Nx tbon taon T N N

T N N 0

其他扇区以此类推,可以得到表2-5,式中 Ntaon 、Ntbon 和Ntcon 分别是相应的比较器的计数器值,而不同扇区时间分配如表 2-5 所示,并将这三个值写入相应的比较寄存器就完成了整个 SVPWM 的算法。

表 2-5 不同扇区比较器的计数值

扇区 1 2 3 4 5 6 Ta Ntaon Ntbon Ntcon Ntcon Ntbon Ntaon Tb Ntbon Ntaon Ntaon Ntbon Ntcon Ntcon Tc

Ntcon

Ntcon

Ntbon

Ntaon

Ntaon

Ntbon

1.4 S VPWM 物理含义

SVPWM 实质是一种对在三相正弦波中注入了零序分量的调制波进行规则采样的一种变形SPWM 。但SVPWM 的调制过程是在空间中实现的,而SPWM 是在 ABC 坐标系下分相实现的;SPWM 的相电压调制波是正弦波,而SVPWM 没有明确的相电压调制波,是隐含的。为了揭示 SVPWM 与 SPWM 的内在联系,需求出 SVPWM 在 ABC 坐标系上的等效调制波方程,也就是将 SVPWM 的隐含调制波显化。

为此,本文对其调制波函数进行了详细的推导。 由表 3-2 我们知道了各扇区的矢量发送顺序:

奇数区依次为:U 0 ,U k ,U k+1 ,U 7 ,U k+1 ,U k ,U 0 偶数区依次为:U 0 ,U k+1 ,U k ,U 7 ,U k ,U k+1 ,U 0 利用空间电压矢量近似原理,可总结出下式:

???????????

?????

----=??????+θθππππsin cos 3)1(cos

3)1(sin

3cos

3sin 1k k k k mT T T s k k

式中 m 仍为 SVPWM 调制系数,利用以上各式就可得到在第Ⅰ扇区的各相电压平均值:

????

?

???

???--=-++++++-=-=-++++++-=-=-++++++-=)

6cos(23)22222222()()6sin(23)22222222()()6cos(23)22222222()(046776400467764004677640πθθπθθπ

θθref s dc c ref

s dc b ref s dc a U T T T T T T T T T U U U T T T T T T T T T U U U T T T T T T T T T U U 同样可以推导出其它扇区的调制波函数,其相电压调制函数如下:

????????

?

?

??

?

??

??????-=-=?????????<≤<≤---+<≤<≤-------<≤<≤----=)3

4()()

32

()()235,32()6cos(23)3534,323(cos 23)34,30()6cos(2

3)(πθθπθθπθπ

πθππθπθππθπθπ

θππθπθθa c

a b ref ref ref

a

U U U U U U U U (2-44) 其线电压的调制波函数为:

??

?

?

?

?

???

-=-=+=-=)34()()

32()()3sin(||3)()()(πθθπθθπθθθθa ca

ab bc ref b a ab U U U U U U U U (2-45) 从相电压调制波函数(2-44)来看,输出的是不规则的分段函数,为马鞍波形。从线电压调制波函数(2-45)来看其输出的则是正弦波形。

AAC解码算法原理详解

AAC解码算法原理详解 原作者:龙帅 (loppp138@https://www.360docs.net/doc/747519197.html,) 此文章为便携式多媒体技术中心提供,未经站长授权,严禁转载,但欢迎链接到此地址。 本文详细介绍了符合ISO/IEC 13818-7(MPEG2 AAC audio codec) , ISO/IEC 14496-3(MPEG4 Audio Codec AAC Low Complexity)进行压缩的的AAC音频的解码算法。 1、程序系统结构 下面是AAC解码流程图: AAC解码流程图 在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始,找到后,根据ISO/IEC 13818-7所述的语法开始进行Noisless Decoding(无噪解码),无噪解码实际上就是哈夫曼解码,通过反量化(Dequantize)、联合立体声(Joint Stereo),知觉噪声替换(PNS),瞬时噪声整形(TNS),反离散余弦变换(IMDCT),频段复制(SBR)这几个模块之后,得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。

2. 主控模块 主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中,输入输出缓冲区均由DSP控制模块提供接口。输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive 耳机放大器)输出模拟声音。 3. 同步及元素解码 同步及元素解码模块主要用于找出格式信息,并进行头信息解码,以及对元素信息进行解码。这些解码的结果用于后续的无噪解码和尺度因子解码模块。 AAC的音频文件格式有以下两种: ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。 ADTS:Audio Data Transport Stream 音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。它的特征类似于mp3数据流格式。 AAC的ADIF格式见下图: 3.1 ADIF的组织结构 AAC的ADTS的一般格式见下图: 3.2 ADTS的组织结构 图中表示出了ADTS一帧的简明结构,其两边的空白矩形表示一帧前后的数据。ADIF和ADTS的header是不同的。它们分别如下所示:

智能车PID 算法实现原理讲解

智能车P I D算法实现 原理讲解

为了实现PID控制所需要的等间隔采样,我们使用了一个定时中断,每2ms进行一次数据采样和PID计算。与此并行,系统中还设计了一个转速脉冲检测中断,从而实现了转速检测。为了调试的需要,程序中还在main{}函数中加入了相关的调试代码,这部分代码有最低的优先级,可以在保证不影响控制策略的情况下实现发送调试数据等功能。检测环节对整个控制系统的质量起到至关重要的作用 4.3.2 PID控制调整速度 本系统采用的是增量式数字PID控制,通过每一控制周期(10ms)读入脉冲数间接测得小车当前转速vi_FeedBack,将vi_FeedBack与模糊推理得到的小车期望速度vi_Ref比较,由以下公式求得速度偏差error1与速度偏差率d_error。 error1 = vi_Ref– vi_FeedBack; (公式3) d_error = error1 –vi_PreError; (公式4)公式4中, vi_PreError为上次的速度偏差。考虑到控制周期较长,假设按2.5m/s的平均速度计算,则一个控制周期小车大概可以跑过2.5cm,如果按这种周期用上述PID调节速度,则会导致加速减速均过长的后果,严重的影响小车的快速性和稳定性。为了解决这个问题,可以在PID调速控制中加入BANG-BANG控制思想:根据error1的大小,如果正大,则正转给全额占空比;如果负大,则自由停车或给一个反转占空比;否则就采用PID计算的占空比。

PID控制算法 为了使赛车平滑得保持在黑线中央,即使赛车的偏移量平滑地保持在0,实用了PID控制算法。 P为比例参数,D为微分参数。基准值为0,PID输入为水平偏移量X0,PID输出为转角,转角方向:向左转为正,向右转为负。 P参数在智能车控制器中表示水平偏差量的权,D参数在智能车控制器中表示水平偏差速度的权。 水平偏差量直接反映了赛车偏离黑线的程度,例如赛车偏向黑线的左边越厉害,则赛车的右转角度将越大。水平偏差量,是PID控制器的P部分。 水平偏差速度则直接反映了赛车的运动倾向,因为有了赛车的水平偏差速度,对赛车的掌握,将更加精确。例如赛车偏向黑线左边,然而它的运动方向是向右的,那么,他的转角将比向左运动时的转角要小,因为,我知道赛车已经开始朝正确的方向调整了。水平偏差速度,是PID控制器的D部分。 通过两个相隔一定采样时间的水平偏差量的差,来得到赛车的水平偏差速度。然而,这个时间间隔多少比较合适呢?

算法理论详细讲解

《算法与程序设计》导学 一、编程的步骤: 启动VB——标准EXE——对象——属性——代码——调试——保存——生成EXE 1、VB窗口组成:控件工具箱、对象窗口、工程窗口、属性窗口、代码窗口 2、对象:标签(Label)、文本框(text)、命令按钮(command) 计时器(timer)、简单图形(shape) 3、属性:caption(标题) 4、保存:窗体文件(.frm)、工程文件(.vbp) 二、算法的特征: 1、有穷性 2、确定性 3、能行性 4、有0个或多个输入 5、有1个或多个输出 三、算法的表示: 1、自然语言 2、流程图 (1)标准:GB1526—89、ISO5807-1985 (2)常用符号: 3、计算机语言(伪代码) 四、算法的三种基本结构: 1、顺序模式: 2、选择模式: 3、循环模式: 五、四种基本算法: 1、枚举算法:(循环模式的应用) (1)、把问题所有可能的解全部列举出来,在列举的过程式中根据条件进行判断,满足条件的则是问题真正的解,不满足的去掉。

(2)、包装问题的分析及流程图: 2、解析算法:(公式求解的过程) 3、排序: (1)、冒泡排序:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名。 (2)、选择排序:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法。 冒泡排序、选择排序都是比较排序。 4、查找: (1)、顺序查找:序列的最头走到最尾,挨个和目标进行比较,如果找到了,就停止遍历,如果走完了,还没找到,那么表示失败了 (2)、对分查找:对分查找是效率很高的查找方法,但被查找的数据必须是有序的。A,首先将查找的数与有序数组内处于中间位置的数据比较,如果中间位置上的数与查找的数不同,根据有序性,就可确定应该在数组的前半部分还是后半部分继续查找。B,在新确定的范围内,继续按上述方法进行查找,直到获得最终结果 六、VB基本数据类型:

Dijkstra算法原理详细讲解

Dijkstra算法原理详细讲解 如下图,设A为源点,求A到其他各顶点(B、C、D、E、F)的最短路径。线上所标注为相邻线段之间的距离,即权值。(注:此图为随意所画,其相邻顶点间的距离与图中的目视长度不能一一对等) 算法执行步骤如下表:

Dijkstra算法的完整实现版本之算法的源代码 样例图: 输入格式: 输出格式:

输入时,将s,t,x,y,z五个点按照1,2,3,4,5起别名,输入格式按照下图例所示当提示Please enter the vertex where Dijkstra algorithm starts:时输入算法的起 始点 比如计算结果v1v4v2表示从点1到点2经过1,4,2为最短路径 Dijkstra算法的完整实现版本,算法的源代码 /* Dijkstra.c Copyright (c) 2002, 2006 by ctu_85 All Rights Reserved. */ #include "stdio.h" #include "malloc.h" #define maxium 32767 #define maxver 9 /*defines the max number of vertexs which the programm can handle*/ #define OK 1 struct Point { char vertex[3]; struct Link *work; struct Point *next; }; struct Link { char vertex[3]; int value; struct Link *next; }; struct Table /*the workbannch of the algorithm*/ { int cost; int Known; char vertex[3];

知识讲解_算法案例_基础

算法案例 【学习目标】 1.理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析; 2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序; 3.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质; 4.了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换. 【要点梳理】 要点一、辗转相除法 也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的.利用辗转相除法求最大公约数的步骤如下: 第一步:用较大的数m除以较小的数n得到一个商q0和一个余数r0; 第二步:若r0=0,则n为m,n的最大公约数;若r0≠0,则用除数n除以余数r0得到一个商q1和一个余数r1; 第三步:若r1=0,则r0为m,n的最大公约数;若r1≠0,则用除数r0除以余数r1得到一个商q2和一个余数r2; …… 依次计算直至r n=0,此时所得到的r n-1即为所求的最大公约数. 用辗转相除法求最大公约数的程序框图为: 程序:

INPUT “m=”;m INPUT “n=”;n IF m0 r=m MOD n m=n n=r WEND PRINT n END 要点诠释: 辗转相除法的基本步骤是用较大的数除以较小的数,考虑到算法中的赋值语句可以对同一变量多次赋值,我们可以把较大的数用变量m 表示,把较小的数用变量n 表示,这样式子)0(n r r q n m <≤+?=就是一个反复执行的步骤,因此可以用循环结构实现算法. 要点二、更相减损术 我国早期也有解决求最大公约数问题的算法,就是更相减损术. 更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之. 翻译出来为: 第一步:任意给出两个正整数;判断它们是否都是偶数.若是,用2约简;若不是,执行第二步. 第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数. 理论依据: 由r b a r b a +=→=-,得b a ,与r b ,有相同的公约数 更相减损术一般算法: 第一步,输入两个正整数)(,b a b a >; 第二步,如果b a ≠,则执行3S ,否则转到5S ; 第三步,将b a -的值赋予r ; 第四步,若r b >,则把b 赋予a ,把r 赋予b ,否则把r 赋予a ,重新执行2S ; 第五步,输出最大公约数b . 程序: INPUT “a=”,a INPUT “b=”,b WHILE a<>b IF a>=b a=a-b;

SVPWM的原理及法则推导和控制算法详解

1 空间电压矢量调制 SVPWM 技术 SVPWM 是近年发展的一种比较新颖的控制方法,是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,能够使输出电流波形尽 可能接近于理想的正弦波形。空间电压矢量PWM 与传统的正弦PWM 不同,它是从三相输出电压的整体效果出发,着眼于如何使电机获得理想圆形磁链轨迹。 SVPWM 技术与SPWM 相比较,绕组电流波形的谐波成分小,使得电机转矩脉动降低,旋转磁场更逼近圆形,而且使直流母线电压的利用率有了很大提高,且更易于实现数字化。下面将对该算法进行详细分析阐述。 SPWM 通过控制开关器件的关断得到正弦的输入电压;SVPWM 的控制目标在于如何获得一个圆形的旋转磁场。之所以成为矢量控制,是因为通过SVPWM 对晶闸管导通的控制可以得到一系列大小和方向可变的空间电压矢量,通过对空间电压矢量进行控制,从而得到圆形旋转磁场。 1.1 SVPWM 基本原理 SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组 合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通圆,并由两者的比较结果来决定逆变器的开关状态,从而形成PWM 波形。逆变电路如图 2-8 示。 设直流母线侧电压为Udc ,逆变器输出的三相相电压为UA 、UB 、UC ,其分别加在空间上互差120°的三相平面静止坐标系上,可以定义三个电压空间矢量 UA(t)、UB(t)、UC(t),它们的方向始终在各相的轴线上,而大小则随时间按正弦规律做变化,时间相位互差120°。假设Um 为相电压有效值,f 为电源频率,则有: ?????+=-==) 3/2cos()()3/2cos()()cos()(πθπθθm C m B m A U t U U t U U t U (2-27) 其中,ft πθ2=,则三相电压空间矢量相加的合成空间矢量 U(t)就可以表示为:

GBDT算法原理深入解析

至于抑制单颗决策树的复杂度的方法有很多 比如限制树的最大深度 限制叶子节点的最少样本数量 限制节点分裂时的最少样本数量 吸收bagging的思想对训练样本采样(subsample) 在学习单颗决策树时只使用一部分训练样本 借鉴随机森林的思路在学习单颗决策树时只采样一部分特征 在目标函数中添加正则项惩罚复杂的树结构等。现在主流的GBDT算法实现中这些方法基 本上都有实现,因此GBDT算法的超参数还是比较多的,应用过程中需要精心调参,并用 交叉验证的方法选择最佳参数。 2、机器学习的关键元素 先复习下监督学习的关键概念:模型(model)、参数(parameters)、目标函数(objective function)模型就是所要学习的条件概率分布或者决策函数,它决定了在给定特征向量x时如何预测出目标y。 定义任意x(属于R)为训练集中的第i个训练样本,则线性模型(linear mode)可以表示为: 模型预测的分数y^i在不同的任务中有不同的解释。例如在逻辑回归任务中,表 示模型预测为正例的概率;而在排序学习任务中,表示排序分。 参数就是我们要从数据中学习得到的内容。模型通常是由一个参数向量决定的函数。 例如:线性模型的参数可以表示为: 目标函数通常定义为如下形式: 其中,是损失函数,用来衡量模型拟合训练数据的好坏程度;称之为正则项,用来衡量 学习到的模型的复杂度。训练集上的损失(Loss)定义为: 常用的损失函数有平方损失(square loss): logistic 损失: 常用的正则项有L1范数:

常用的正则项有L2范数: Ridge regression就是指使用平方损失和L2范数正则项的线性回归模型; Lasso regression就是指使用平方损失和L1范数正则项的线性回归模型; 逻辑回归(Logistic regression)指使用logistic损失和L2范数或L1范数正则项的线性模型目标函数之所以定义为损失函数()和正则项()两部分,是为了尽可能平衡模型的偏差和方差 (Bias Variance Trade-o?) 最小化目标函数意味着同时最小化损失函数和正则项,损失函数最小化表明模型能够较好的拟合训 练数据,一般也预示着模型能够较好地拟合真实数据(groud true) 另一方面,对正则项的优化鼓励算法学习到较简单的模型,简单模型一般在测试样本上的预测结果 比较稳定、方差较小(奥坎姆剃刀原则)。也就是说,优化损失函数尽量使模型走出欠拟合的状 态,优化正则项尽量使模型避免过拟合。 从概念上区分模型、参数和目标函数给学习算法的工程实现带来了益处,使得机器学习的各个组成部分之间耦合尽量松散。 3、加法模型(additive model) GBDT算法可以看成是由K棵树组成的加法模型: 其中为所有树组成的函数空间,以回归任务为例,回归树可以看作为一个把特征向量映射为某个score的函数。该模型的参数为:。与一般的机器学习算法不同的是,加 法模型不是学习d维空间中的权重,而是直接学习函数(决策树)集合。 上述加法模型的目标函数定义为: 其中表示决策树的复杂度,那么该如何定义树的复杂度呢?比如,可以考虑树的节点数量、树的深度 或者叶子节点所对应的分数的L2范数等等。 如何来学习加法模型呢? 解这一优化问题,可以用前向分布算法(forward stagewise algorithm)。因为学习的是加法模型,如果能够从前往后,每一步只学习一个基函数及其系数(结构),逐步逼近优化目标函数,那么就可以简化复杂度。这一学习过程称之为Boosting。具体地,我们从一个常量预测开始,每次学习一个新的函 数,过程如下: 那么,在每一步如何决定哪一个函数被加入呢?---指导原则还是最小化目标函数。

SVPWM的原理及法则推导和控制算法详解

空间电压矢量调制SVPWM 技术 SVPWM 是近年发展的一种比较新颖的控制方法,是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,能够使输出电流波形尽可能接近于理想的正弦波形。空间电压矢量PWM 与传统的正弦PWM 不同,它是从三相输出电压的整体效果出发,着眼于如何使电机获得理想圆形磁链轨迹。SVPWM 技术与SPWM 相比较,绕组电流波形的谐波成分小,使得电机转矩脉动降低,旋转磁场更逼近圆形,而且使直流母线电压的利用率有了很大提高,且更易于实现数字化。下 面将对该算法进行详细分析阐述。 SPWM 通过控制开关器件的关断得到正弦的输入电压;SVPWM 的控制目标在于如何获得一个圆形的旋转磁场。之所以成为矢量控制,是因为通过SVPWM 对晶闸管导通的控制可以得到一系列大小和 方向可变的空间电压矢量,通过对空间电压矢量进行控制,从而得到圆形旋转磁场。 1.1 S VPWM 基本原理 SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通圆,并由两者的比较结果来决定逆变器的开关状 态,从而形成PWM 波形。逆变电路如图2-8示。 设直流母线侧电压为Udc ,逆变器输出的三相相电压为UA 、UB 、UC ,其分别加在空间上互差120°的三相平面静止坐标系上,可以定义三个电压空间矢量UA(t)、UB(t)、UC(t),它们的方向始终在各相的轴线上,而大小则随时间按正弦规律做变化,时间相位互差120°。假设Um 为相电压有效 值,f 为电源频率,则有: ?????+=-==)3/2cos()()3/2cos( )()cos()(πθπθθm C m B m A U t U U t U U t U (2-27) 其中,ft πθ2=,则三相电压空间矢量相加的合成空间矢量U(t)就可以表示为: θππj m j C j B A e U e t U e t U t U t U 2 3)()()()(3/43/2=++=(2-28) 可见U(t)是一个旋转的空间矢量,它的幅值为相电压峰值的1.5倍,Um 为相电压峰值,且以角频率ω=2πf 按逆时针方向匀速旋转的空间矢量,合成空间电压矢量U (t )为一个幅值恒定、逆时针旋转速度恒定的一个空间电压矢量。而空间矢量U(t)在三相坐标轴(a ,b ,c )上的投影就是对称的三相正弦量。其中3/2πj e 、3/4πj e 表示时间向量的空间位置。为了实现对PMSM 的控制就需要通过对晶闸管导通关断的控制来使得得到的空间电压矢量逼近这一旋转电压矢量。(将逆变电路和 PMSM 看作一个电机控制整体,通过控制PWM 的占空比来实现控制磁场的目的)。 定子三相绕组通入相电流后,会产生与实际相绕组等同的磁动势矢量,3个轴线圈磁动势矢量合成后即为磁动势矢量fs 。设想,在fs 轴线上设置一个单轴线圈(可设想为定子铁心中旋转线圈S ),与fs 一道旋转。为满足功率不变约束条件(输入单轴线圈的功率应等于输入原定子三相绕组的功率)。根据合成规则,设定单轴线圈有效匝数为定子每相绕组有效匝数的3/2倍,假设通入单轴电 流is 后,这个单轴线圈产生的磁动势矢量为fs ,则可由它代替空间固定的3个轴线圈。则 Fs=4/pi*1/2*3/2*Ns*Kws1*Is=4/pi*1/2*Ns*Kws1*(Ia+aIb+a2Ic) 由上式可推得 Is=2/3*(Ia+aIb+a2Ic)

SVPWM的原理及法则推导和控制算法详解

1 空间电压矢量调制 S V P W M 技术 SVPWM 是近年发展的一种比较新颖的控制方法,是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,能够使输出电流波形尽 可能接近于理想的正弦波形。空间电压矢量PWM 与传统的正弦PWM 不同,它是从三相输出电压的整体效果出发,着眼于如何使电机获得理想圆形磁链轨迹。 SVPWM 技术与SPWM 相比较,绕组电流波形的谐波成分小,使得电机转矩脉动降低,旋转磁场更逼近圆形,而且使直流母线电压的利用率有了很大提高,且更易于实现数字化。下面将对该算法进行详细分析阐述。 SPWM 通过控制开关器件的关断得到正弦的输入电压;SVPWM 的控制目标在于如何获得一个圆形的旋转磁场。之所以成为矢量控制,是因为通过SVPWM 对晶闸管导通的控制可以得到一系列大小和方向可变的空间电压矢量,通过对空间电压矢量进行控制,从而得到圆形旋转磁场。 1.1 SVPWM 基本原理 SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通圆,并由两者的比较结果来决定逆变器的开关状态,从而形成PWM 波形。逆变电路如图 2-8 示。 设直流母线侧电压为Udc ,逆变器输出的三相相电压为UA 、UB 、UC ,其分别加在空间上互差120°的三相平面静止坐标系上,可以定义三个电压空间矢量 UA(t)、UB(t)、UC(t),它们的方向始终在各相的轴线上,而大小则随时间按正弦规律做变化,时间相位互差120°。假设Um 为相电压有效值,f 为电源频率,则有: ??? ??+=-==)3/2cos()()3/2cos( )()cos()(πθπθθm C m B m A U t U U t U U t U (2-27) 其中,ft πθ2=,则三相电压空间矢量相加的合成空间矢量 U(t)就可以表示为: θππj m j C j B A e U e t U e t U t U t U 2 3 )()()()(3/43/2=++= (2-28) 可见 U(t)是一个旋转的空间矢量,它的幅值为相电压峰值的1.5倍,Um 为相电压峰值,且以角频率ω=2πf 按逆时针方向匀速旋转的空间矢量,合成空间电压矢量U (t )为一个幅值恒定、逆时针旋转速度恒定的一个空间电压矢量。而空间矢量 U(t)在三相坐标轴(a ,b ,c )上的投影就是对称的三相正弦量。

SVPWM的原理及法则推导和控制算法详解

一直以来对SVPWM 原理和实现方法困惑颇多,无奈现有资料或是模糊不清,或是错误百 出。 经查阅众多书籍论文,长期积累总结,去伪存真,总算对其略窥门径。未敢私藏,故公之于众。其中难免有误,请大家指正,谢谢! 1 空间电压矢量调制 SVPWM 技术 SVPWM 是近年发展的一种比较新颖的控制方法,是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,能够使输出电流波形尽 可能接近于理想的正弦波形。空间电压矢量PWM 与传统的正弦PWM 不同,它是从三相输出电压的整体效果出发,着眼于如何使电机获得理想圆形磁链轨迹。 SVPWM 技术与SPWM 相比较,绕组电流波形的谐波成分小,使得电机转矩脉动降低,旋转磁场更逼近圆形,而且使直流母线电压的利用率有了很大提高,且更易于实现数字化。下面将对该算法进行详细分析阐述。 1.1 SVPWM 基本原理 SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组 合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通圆,并由两者的比较结果来决定逆变器的开关状态,从而形成PWM 波形。逆变电路如图 2-8 示。 设直流母线侧电压为Udc ,逆变器输出的三相相电压为UA 、UB 、UC ,其分别加在空间上互差120°的三相平面静止坐标系上,可以定义三个电压空间矢量 UA(t)、UB(t)、UC(t),它们的方向始终在各相的轴线上,而大小则随时间按正弦规律做变化,时间相位互差120°。假设Um 为相电压有效值,f 为电源频率,则有: ?????+=-==) 3/2cos()()3/2cos()()cos()(πθπθθm C m B m A U t U U t U U t U (2-27) 其中,ft πθ2=,则三相电压空间矢量相加的合成空间矢量 U(t)就可以表示为: θππj m j C j B A e U e t U e t U t U t U 2 3 )()()()(3/43/2=++= (2-28) 可见 U(t)是一个旋转的空间矢量,它的幅值为相电压峰值的1.5倍,Um 为相电压峰值,且以角频率ω=2πf 按逆时针方向匀速旋转的空间矢量,而空间矢量 U(t)在三相坐标轴(a ,

智能车PID_算法实现原理讲解

为了实现PID控制所需要的等间隔采样,我们使用了一个定时中断,每2ms进行一次数据采样和PID计算。与此并行,系统中还设计了一个转速脉冲检测中断,从而实现了转速检测。为了调试的需要,程序中还在main{}函数中加入了相关的调试代码,这部分代码有最低的优先级,可以在保证不影响控制策略的情况下实现发送调试数据等功能。检测环节对整个控制系统的质量起到至关重要的作用 4.3.2 PID控制调整速度 本系统采用的是增量式数字PID控制,通过每一控制周期(10ms)读入脉冲数间接测得小车当前转速vi_FeedBack,将vi_FeedBack与模糊推理得到的小车期望速度vi_Ref比较,由以下公式求得速度偏差error1与速度偏差率d_error。 error1 = vi_Ref– vi_FeedBack; (公式3) d_error = error1 –vi_PreError; (公式4) 公式4中, vi_PreError为上次的速度偏差。考虑到控制周期较长,假设按2.5m/s的平均速度计算,则一个控制周期小车大概可以跑过2.5cm,如果按这种周期用上述PID调节速度,则会导致加速减速均过长的后果,严重的影响小车的快速性和稳定性。为了解决这个问题,可以在PID调速控制中加入BANG-BANG控制思想:根据error1的大小,如果正大,则正转给全额占空比;如果负大,则自由停车或给一个反转占空比;否则就采用PID计算的占空比。

PID控制算法 为了使赛车平滑得保持在黑线中央,即使赛车的偏移量平滑地保持在0,实用了PID控制算法。 P为比例参数,D为微分参数。基准值为0,PID输入为水平偏移量X0,PID输出为转角,转角方向:向左转为正,向右转为负。 P参数在智能车控制器中表示水平偏差量的权,D参数在智能车控制器中表示水平偏差速度的权。 水平偏差量直接反映了赛车偏离黑线的程度,例如赛车偏向黑线的左边越厉害,则赛车的右转角度将越大。水平偏差量,是PID控制器的P部分。 水平偏差速度则直接反映了赛车的运动倾向,因为有了赛车的水平偏差速度,对赛车的掌握,将更加精确。例如赛车偏向黑线左边,然而它的运动方向是向右的,那么,他的转角将比向左运动时的转角要小,因为,我知道赛车已经开始朝正确的方向调整了。水平偏差速度,是PID控制器的D部分。 通过两个相隔一定采样时间的水平偏差量的差,来得到赛车的水平偏差速度。然而,这个时间间隔多少比较合适呢?

SVPWM的原理及法则推导和控制算法详解

一直以来对SVPWM原理和实现方法困惑颇多,无奈现有资料或是模糊不清,或是错误百出。经查阅众多书籍论文,长期积累总结,去伪存真,总算对其略窥门径。未敢私藏,故公之于众。其中难免有误,请大家指正,谢谢! 1空间电压矢量调制 SVPWM 技术 SVPWM是近年发展的一种比较新颖的控制方法,是由三相功率逆变器的六个功率开关元件组成的特定开关模式产生的脉宽调制波,能够使输出电流波形尽可能接近于理想的正弦波形。空间电压矢量PWM与传统的正弦PWM不同,它是从三相输出电压的整体效果出发,着眼于如何使电机获得理想圆形磁链轨迹。 SVPWM 技术与SPWM相比较,绕组电流波形的谐波成分小,使得电机转矩脉动降低,旋转磁场更逼近圆形,而且使直流母线电压的利用率有了很大提高,且更易于实现数字化。下面将对该算法进行详细分析阐述。 1.1 SVPWM基本原理 SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢

量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通圆,并由两者的比较结果来决定逆变器的开关状态,从而形成PWM 波形。逆变电路如图 2-8 示。 设直流母线侧电压为Udc ,逆变器输出的三相相电压为UA 、UB 、UC ,其分别加在空间上互差120°的三相平面静止坐标系上,可以定义三个电压空间矢量 UA(t)、UB(t)、UC(t),它们的方向始终在各相的轴线上,而大小则随时间按正弦规律做变化,时间相位互差120°。假设Um 为相电压有效值,f 为电源频率,则有: ??? ??+=-==)3/2cos()()3/2cos( )()cos( )(πθπθθm C m B m A U t U U t U U t U (2-27) 其中,ft πθ2=,则三相电压空间矢量相加的合成空间矢量 U(t)就可以表示为: θ ππj m j C j B A e U e t U e t U t U t U 2 3 )()()()(3/43/2=++= (2-28) 可见 U(t)是一个旋转的空间矢量,它的幅值为相电压峰值的1.5倍,Um 为相电压峰值,且以角频率ω=2πf 按逆时针方向匀速旋转的空间矢量,而空间矢量

推荐算法原理全文详解(今日头条、抖音)

推荐算法原理全文详解 系统概览以及内容分析、用户标签、评估分析,内容安全等原理。 1.系统概览 推荐系统,如果用形式化的方式去描述实际上是拟合一个用户对内容满意度的函数,这个函数需要输入三个维度的变量。 第一个维度是内容。头条现在已经是一个综合内容平台,图文、视频、UGC小视频、问答、微头条,每种内容有很多自己的特征,需要考虑怎样提取不同内容类型的特征做好推荐。 第二个维度是用户特征。包括各种兴趣标签,职业、年龄、性别等,还有很多模型刻划出的隐式用户兴趣等。 第三个维度是环境特征。这是移动互联网时代推荐的特点,用户随时随地移动,在工作场合、通勤、旅游等不同的场景,信息偏好有所偏移。 结合三方面的维度,模型会给出一个预估,即推测推荐内容在这一场景下对这一用户是否合适。 这里还有一个问题,如何引入无法直接衡量的目标?

推荐模型中,点击率、阅读时间、点赞、评论、转发包括点赞都是可 以量化的目标,能够用模型直接拟合做预估,看线上提升情况可以知道做 的好不好。 但一个大体量的推荐系统,服务用户众多,不能完全由指标评估,引 入数据指标以外的要素也很重要。 比如广告和特型内容频控。像问答卡片就是比较特殊的内容形式,其 推荐的目标不完全是让用户浏览,还要考虑吸引用户回答为社区贡献内容。这些内容和普通内容如何混排,怎样控制频控都需要考虑。 此外,平台出于内容生态和社会责任的考量,像低俗内容的打压,标 题党、低质内容的打压,重要新闻的置顶、加权、强插,低级别账号内容 降权都是算法本身无法完成,需要进一步对内容进行干预。 下面我将简单介绍在上述算法目标的基础上如何对其实现。 前面提到的公式y = F(Xi ,Xu ,Xc),是一个很经典的监督学习问题。可实现的方法有很多,比如传统的协同过滤模型,监督学习算法

知识讲解算法与程序框图基础

算法与程序框图 【学习目标】 1.初步建立算法的概念; 2.让学生通过丰富的实例体会算法的思想; 3.让学生通过对具体问题的探究,初步了解算法的含义; 4.掌握程序框图的概念; 5.会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构; 6.掌握画程序框图的基本规则,能正确画出程序框图. 【要点梳理】 要点一、算法的概念 1、算法的定义: 广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等. 在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成. 2、算法的特征: (1)确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可

有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务. (2)逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续. (3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行. (4)不唯一性:求解某一个问题的算法不一定是唯一的,对于一个问题可以有不同的算法. 3、设计算法的要求 (1)写出的算法,必须能解决一类问题(如:判断一个整数35是否为质数;求任意一个方程的近似解……),并且能够重复使用. (2)要使算法尽量简单、步骤尽量少. (3)要保证算法正确.且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的. 4、算法的描述: (1)自然语言:自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了. (2)程序框图:所谓框图,就是指用规定的图形符号来描述算法,用框图描述算法具有直观、结构清晰、条理分明、通俗易懂、便于检查修改及交流等特点.

新版解码算法原理详解精编版

新版解码算法原理详解集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

A A C解码算法原理详解原作者:龙帅 此文章为提供,未经站长授权,严禁转载,但欢迎链接到此地址。 本文详细介绍了符合ISO/IEC13818- 7(MPEG2AACaudiocodec),ISO/IEC14496- 3(MPEG4AudioCodecAACLowComplexity)进行压缩的的AAC音频的解码算法。 1、程序系统结构 下面是AAC解码流程图: AAC解码流程图 在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始,找到后,根据ISO/IEC13818-7所述的语法开始进行NoislessDecoding(无噪解码),无噪解码实际上就是哈夫曼解码,通过反量化(Dequantize)、联合立体声(JointStereo),知觉噪声替换(PNS),瞬时噪声整形(TNS),反离散余弦变换(IMDCT),频段复制(SBR)这几个模块之后,得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。 2.主控模块 主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中,输入输出缓冲区均由DSP控制模块提供接口。输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive耳机放大器)输出模拟声音。 3.同步及元素解码 同步及元素解码模块主要用于找出格式信息,并进行头信息解码,以及对元素信息进行解码。这些解码的结果用于后续的无噪解码和尺度因子解码模块。 AAC的音频文件格式有以下两种: ADIF:AudioDataInterchangeFormat音频数据交换格式。这种格式的特

相关文档
最新文档