穿越频率、相位裕度和增益裕度剖析
先从稳定性判据谈起
\hspace{2em}
在介绍穿越频率、相位裕度、增益裕度这三个专业术语的概念之前,不得不先从稳定性的判断开始谈起,因为这三个概念就是用于判断系统稳定性而定义的。这种从无到有的分析方法,希望能够引导读者思考,从而真正掌握这些概念而不只是停留于对术语名称的机械认知。当读者掌握这些概念的来源,本文计划将这些概念应用移相振荡器的分析中,从而加深概念的理解与应用。
\hspace{2em}
阅读本文之前,希望读者已经了解传递函数、Bode图、零极点分布等知识内容,如果这方面有所欠缺,建议读者可以阅读上一期内容Octave(或Matlab)分析RLC二阶电路系统(万字全面解析:包含时域、频域、S域),有助于理解本文。
\hspace{2em}
下面开始正式进入正题。在上一期文章中,我们在S域分析中提到零极点的分布可以用于判断系统的稳定性,当极点完全落在S平面的左半平面,系统是稳定的;反之,若极点完全落在S平面的右半平面,系统则不稳定。但是,这个判断方法有个繁琐的问题,那就是得把零极点求解出来才能判断系统的稳定性;同时这种方法判断稳定性也不直观,求出的零极点也只是对应特定工况下得出的,当工况发生变化又得重新求解。为了更好的判断系统的稳定性,在经典控制理论中,我们有许多不需要求解传递函数的极点多项式即可判断稳定性的方法,不求解多项式就可以判断稳定性的方法这是一个很经典的课题,例如使用劳斯判据、巴克豪森判据、李雅普诺夫判据等。为了相互印证和对比不同稳定性判据的结果,这里准备介绍劳斯判据和巴克豪森判据。
\hspace{2em}
劳斯判据主要是通过传递函数的分母(极点)多项式构建劳斯矩阵,依据矩阵,劳斯提出稳定性的充要条件为该矩阵的第一列元素全部为正。那么如何构建劳斯矩阵呢?首先根据多项式的最高次幂,确定矩阵的行数,若最高次幂为n,则矩阵有n+1行,其中前两行分别以多项式第一和第二系数作为开头,紧随其后分别为偶数项和奇数项的系数。这么描述可能有些抽象,我们以一个四阶系统为例进行介绍劳斯阵列中前两行的元素如何确定下来。设存在一个极点多项式
d
(
s
)
d(s)
d(s)为:(即特征方程)
d
(
s
)
=
a
0
s
4
+
a
1
s
3
+
a
2
s
2
+
a
3
s
+
a
4
=
0
d(s)=a_0s^4+a_1s^3+a_2s^2+a_3s+a_4=0
d(s)=a0s4+a1s3+a2s2+a3s+a4=0
根据定义,矩阵前两行的元素为:(
a
5
a_5
a5不存在取0即可)
[
a
0
a
2
a
4
a
1
a
3
a
5
]
\begin{bmatrix} a_0 & a_2 & a_4 \\ a_1 & a_3 & a_5 \end{bmatrix}
[a0a1a2a3a4a5]
此时,多项式的最高次幂为4,说明矩阵行数有5行,还差三行才能构成完整的劳斯矩阵:
[
a
0
a
2
a
4
a
1
a
3
a
5
b
1
b
2
b
3
c
1
c
2
c
3
d
1
d
2
d
3
]
\begin{bmatrix} a_0 & a_2 & a_4 \\ a_1 & a_3 & a_5 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \\ d_1 & d_2 & d_3 \end{bmatrix}
a0a1b1c1d1a2a3b2c2d2a4a5b3c3d3
接下来的问题就是确定
b
1
、
c
1
、
d
1
⋯
b_1、c_1、d_1\cdots
b1、c1、d1⋯等9个元素的取值:
b
1
=
−
∣
a
0
a
2
a
1
a
3
∣
a
1
b
2
=
−
∣
a
0
a
4
a
1
a
5
∣
a
1
b
3
=
−
∣
a
0
a
6
a
1
a
7
∣
a
1
b_1=-\frac{\begin{vmatrix} a_0&a_2 \\ a_1&a_3 \end{vmatrix}}{a_1}~~~~~~~~ b_2=-\frac{\begin{vmatrix} a_0&a_4 \\ a_1&a_5 \end{vmatrix}}{a_1}~~~~~~~~ b_3=-\frac{\begin{vmatrix} a_0&a_6 \\ a_1&a_7 \end{vmatrix}}{a_1}
b1=−a1
a0a1a2a3
b2=−a1
a0a1a4a5
b3=−a1
a0a1a6a7
c
1
=
−
∣
a
1
a
3
b
1
b
2
∣
b
1
c
2
=
−
∣
a
1
a
5
b
1
b
3
∣
b
1
c
3
=
−
∣
a
1
a
7
b
1
b
4
∣
b
1
c_1=-\frac{\begin{vmatrix} a_1&a_3 \\ b_1&b_2 \end{vmatrix}}{b_1}~~~~~~~~ c_2=-\frac{\begin{vmatrix} a_1&a_5 \\ b_1&b_3 \end{vmatrix}}{b_1}~~~~~~~~ c_3=-\frac{\begin{vmatrix} a_1&a_7 \\ b_1&b_4 \end{vmatrix}}{b_1}
c1=−b1
a1b1a3b2
c2=−b1
a1b1a5b3
c3=−b1
a1b1a7b4
d
1
=
−
∣
b
1
b
2
c
1
c
2
∣
c
1
d
2
=
−
∣
b
1
b
3
c
1
c
3
∣
c
1
d
3
=
−
∣
b
1
b
4
c
1
c
4
∣
c
1
d_1=-\frac{\begin{vmatrix} b_1&b_2 \\ c_1&c_2 \end{vmatrix}}{c_1}~~~~~~~~ d_2=-\frac{\begin{vmatrix} b_1&b_3 \\ c_1&c_3 \end{vmatrix}}{c_1}~~~~~~~~ d_3=-\frac{\begin{vmatrix} b_1&b_4 \\ c_1&c_4 \end{vmatrix}}{c_1}
d1=−c1
b1c1b2c2
d2=−c1
b1c1b3c3
d3=−c1
b1c1b4c4
其中在多项式或劳斯矩阵中不存在的元素取0即可,例如
a
5
a_5
a5在多项式中不存在,
a
6
、
a
7
、
b
4
⋯
a_6、a_7、b_4\cdots
a6、a7、b4⋯等在劳斯矩阵中不存在。依据上述元素的求解规律,即可推广至n阶的情况,这里就不再展开了。
\hspace{2em}
劳斯判据可以在不求解多项式的情况下,即可得到系统是否稳定的结论。但是,随着系统阶数的增加,计算就变得复杂。对于一些反馈系统,在工程应用上我们使用巴克豪森判据,可能会简单一些。如下图所示为典型的负反馈系统:
根据梅森公式,可以快速写出输入和输出之间的传递函数:
H
L
o
o
p
(
s
)
=
Y
(
s
)
X
(
s
)
=
H
(
s
)
1
+
G
(
s
)
H
(
s
)
H_{Loop}(s)=\frac{Y(s)}{X(s)}=\frac{H(s)}{1+G(s)H(s)}
HLoop(s)=X(s)Y(s)=1+G(s)H(s)H(s)
当这个系统不稳定发生持续振荡时,意味着即使将输入撤掉,即
X
(
s
)
→
0
X(s)\rightarrow0
X(s)→0输出依旧存在:
Y
(
s
)
=
lim
X
(
s
)
→
0
H
(
s
)
X
(
s
)
1
+
G
(
s
)
H
(
s
)
≠
0
Y(s)=\lim_{X(s)\rightarrow0}\frac{H(s)X(s)}{1+G(s)H(s)}\neq 0
Y(s)=X(s)→0lim1+G(s)H(s)H(s)X(s)=0
极限要有存在的可能,势必是分母也趋向于0,则可以得到开环传递函数
T
(
s
)
=
G
(
s
)
H
(
s
)
=
−
1
T(s)=G(s)H(s)=-1
T(s)=G(s)H(s)=−1,将这个结果写成模值和相位的形式,即可得到巴克豪森判据的稳定性判断条件:
∣
G
(
s
)
H
(
s
)
∣
=
1
∠
G
(
s
)
H
(
s
)
=
−
180
∘
|G(s)H(s)|=1~~~~~~~~~~~~~~~\angle G(s)H(s)=-180^\circ
∣G(s)H(s)∣=1 ∠G(s)H(s)=−180∘
绘制Bode图时,增益曲线取对数后,模值1则对应0dB,因此在Bode图中,当增益曲线穿过0dB点所对应的频率,则称之为穿越频率
f
c
f_c
fc。 如果要设计一个稳定的反馈系统,则意味着可以通过控制系统增益和相位的方法,用于避免系统振荡。反之,也可以用于设计振荡器。对于一个负反馈系统而言,要想使其稳定,则当开环传递函数的相位小于等于
−
180
∘
-180^\circ
−180∘时(注意这里取了负值),其增益应该要尽可能小于1,因此不难得出,增益裕度(GM)就是指相位
−
180
∘
-180^\circ
−180∘对应的增益值小于1的裕度。 同理,当开环传递函数的增益大于等于1时,其相位应该要尽可能大于
−
180
∘
-180^\circ
−180∘,所以不难得出,相位裕度(PM)就是指增益1对应的相位值大于
−
180
∘
-180^\circ
−180∘的裕度。
\hspace{2em}
为了便于在Bode图中观察增益裕度和相位裕度,需保证增益裕度取对数时可以直观的进行作差运算,因此对数的真数,即增益裕度可以写成分式。而相位裕度,最好能直接通过正负值,就能看出相位裕度是有裕量还是已经超标,则可以通过加
180
∘
180^\circ
180∘进行转换运算。最终,可以定义增益裕度和相位裕度数学表达式为:(其中
f
π
f_\pi
fπ表示相位为
−
180
∘
-180^\circ
−180∘对应的频率)
G
M
=
1
∣
T
(
f
π
)
∣
P
M
=
180
∘
+
∠
T
(
f
c
)
GM=\frac{1}{|T(f_\pi)|}~~~~~~~~~~~~~~~~PM=180^\circ+\angle T(f_c)
GM=∣T(fπ)∣1 PM=180∘+∠T(fc)
根据行业的一般经验,要构建稳定的系统,增益裕度取对数(
20
l
g
G
M
20lgGM
20lgGM)需要保证大于
6
d
B
6dB
6dB,相位裕度要求大于
45
∘
45^\circ
45∘,即可保证系统的稳定。
构建移相振荡器
\hspace{2em}
掌握上述稳定性判据的概念之后,我们尝试从0到1开始构建一个振荡器,应用所学知识进行实验。根据巴克豪森判据得知,我们的目标是设计一个电路,这个电路的相移需超过
−
180
∘
-180^\circ
−180∘,同时系统的穿越频率恰好对应相位
−
180
∘
-180^\circ
−180∘;这就意味着
20
l
o
g
10
(
G
M
)
=
0
、
P
M
=
0
∘
20log_{10}(GM)=0、PM=0^\circ
20log10(GM)=0、PM=0∘增益裕度取对数为0,相位裕度也为0,就会发生持续的振荡。众所周知,最简单的一阶RC电路的相移为
−
90
∘
-90^\circ
−90∘,所以三阶RC电路级联在一起,就能形成
−
270
∘
-270^\circ
−270∘的相移(后文会给出三阶RC电路传递函数计算方法)。如图2所示,在LTspice中搭建三阶RC电路,负载选取100k,使用交流AC扫描,得到Bode图。可以看到电路最终移相
−
270
∘
-270^\circ
−270∘,在相位为
−
180
∘
-180^\circ
−180∘时对应的增益约为
−
29.318
d
B
-29.318dB
−29.318dB,说明增益裕度较大,系统不会发生振荡。我们还需要设计一个补偿器,能够将此处的增益提高至
0
d
B
0dB
0dB。
\hspace{2em}
根据图1的典型反馈框图,我们可以构建如图3所示的电路。反馈网络使用同相放大器将三阶RC的输出增益提高,之后将反馈信号送入到误差放大器中(此处用运放减法器构成),从而完成反馈系统的构建。注意输入是一个开始为1在
0.1
μ
s
0.1\mu s
0.1μs后变为0的信号,正如前文描述的极限表达式一样。
\hspace{2em}
这个电路最关键问题就是同相放大器的反馈电阻是如何计算的,不要忘记我们的目标是将系统增益
H
(
f
π
)
=
−
29.318
d
B
H(f_\pi)=-29.318dB
H(fπ)=−29.318dB提升至
0
d
B
0dB
0dB,也就是
G
(
f
π
)
G(f_\pi)
G(fπ)取对数运算后等于
29.318
d
B
29.318dB
29.318dB,最终可得开环增益
T
(
f
π
)
=
0
d
B
T(f_\pi)=0dB
T(fπ)=0dB(复频域乘积对应对数求和),那么可以这样计算:
20
l
o
g
10
G
(
f
π
)
=
29.318
→
G
(
f
π
)
=
10
1.4659
≈
29.23
20log_{10}G(f_\pi)=29.318\rightarrow G(f_\pi)=10^{1.4659}\approx29.23
20log10G(fπ)=29.318→G(fπ)=101.4659≈29.23
又根据同相放大器的计算公式可得:(这里的
G
G
G与图3标注一致,为同相放大器的输出)
29.23
=
G
V
o
=
(
1
+
R
5
R
4
)
→
选定
R
4
=
100
k
R
5
=
2823
k
29.23=\frac{G}{V_o}=(1+\frac{R_5}{R_4})\xrightarrow[]{选定R_4=100k}R_5=2823k
29.23=VoG=(1+R4R5)选定R4=100kR5=2823k
同相放大器的参数确定以后,减法器只需要保证
R
6
=
R
7
=
R
8
=
R
9
R_6=R_7=R_8=R_9
R6=R7=R8=R9,每一个电阻都相等即可完成输入信号减去反馈信号的功能。从图3可以看出,此时穿越频率约为
39
K
H
z
39KHz
39KHz,增益裕度和相位裕度基本为0,因此系统会发生振荡,而且振荡的频率就是穿越频率。我们观察一下时域仿真波形,如图4所示即为移相振荡器时域仿真波形。其振荡频率确实约是
39
K
H
z
39KHz
39KHz,说明上述分析正确。
同时,我们可以进一步思考,如果想要系统稳定。那就是可以提高增益裕度,目前增益裕度为0,只需将同相放大器的放大系数降低一些,就会观察到振荡衰减,无法维持振荡的现象,最终趋于稳定,即如图5所示。反之,如果进一步提高放大系数,振荡则是会加剧,如图6所示。
如果各位读者想自己搭建电路,重复该仿真实验的结果,需要注意运放参数设置的问题。理想运放的开环增益(
A
v
o
l
A_{vol}
Avol)和增益带宽积(GBW)以及压摆率(Slew)都是非常大的,LTspice理想运放模型的参数默认值并不大,所以还需调整这些参数,按图7所示进行调节即可:
LTI系统n阶传递函数构建方法简介
FACT技术(传递函数快速分析技术)
\hspace{2em}
关于穿越频率、相位裕度、增益裕度的概念以及简单的应用,分析就到此为止。前文中有些计算问题,可能是部分读者关心的,例如三阶RC电路的传递函数应该如何计算?前文中,是直接使用仿真工具做AC交流扫描获得,也就是没有表达式。我们知道,如果想要精确的洞悉物理世界的现象,最好就是建立数学模型,在数学模型之上还能导出各变量之间的表达式。正如上一期我们分析RLC电路的特性时,列出了时域表达式、频域表达式、S域表达式,然后才能基于表达式得出RLC电路的各种特性。其中对于LTI系统而言,S域下得到的传递函数就可以在各变量域之间换算,也就是得到S域下的传递函数,就足以分析LTI系统的所有特性。在上一期RLC的分析中,我们是采用阻抗计算法获得的传递函数,但是在面对三阶RC电路时,不难想象阻抗分析法计算非常困难(读者可以自行尝试阻抗分析法的计算),这里介绍一种由额外元素定理(EET)推广而来,基于时间常数快速列写传递函数的方法。由于这个课题内容非常丰富,这里重点只介绍计算方法,对FACT技术感兴趣的读者可以看看《线性电路传递函数快速分析技术》(作者:克里斯托夫
⋅
\cdot
⋅巴索)这本著作。基于巴索的这本著作,我个人总结了用于分析线性电路的五个步骤:
1、确定直流增益;
2、观察法求解零点表达式;
3、输入置零求解(高低频)时间常数;
4、基于时间常数求解极点表达式;
5、套用广义传递函数一般表达式,完成传递函数的建立;
我们先以上一期的RLC电路进行牛刀小试,对比FACT技术和阻抗分析法的差别:
第一步求解直流增益,即令输入信号频率为0时,对应的电路状态为电感短路、电容开路。因此直流状态下输出和输入的比值就是直流增益,此时为 H 0 = 1 H_0=1 H0=1。
第二步观察RLC电路是否存在输出会因为阻抗变化使得输出置零的情况,RLC电路只有容抗 1 s C = 0 \frac{1}{sC}=0 sC1=0或者 s L + R = + ∞ sL+R=+\infty sL+R=+∞才会使得输出置零,这两种情况表明s不存在一个有限的介于 ( 0 , + ∞ ) (0,+\infty) (0,+∞)的常数,因此零点不存在。
第三步是计算的重点,将输入置零,绘制交流通路,先分别求解低频状态下的时间常数。例如求电感L对应的时间常数时,将电容设置为低频状态,即开路,此时无法形成有效回路,需在电容处并联一个虚拟电阻 R d = + ∞ R_d=+\infty Rd=+∞构成虚拟回路,从而求得 τ L = L R + R d → 0 \tau_L=\frac{L}{R+R_d}\rightarrow0 τL=R+RdL→0。而求解电容C对应的时间常数,则是将电感设置为低频状态,即短路,因此 τ C = R C \tau_C=RC τC=RC,得到低频状态下的时间常数后,再求解高频状态的时间常数。例如高频下求解电感L对应的时间常数时,将电容设置为高频状态,即短路,因此 τ L C = L R \tau^C_L=\frac{L}{R} τLC=RL(注意这种写法, τ L C \tau^C_L τLC表示C设置为高频状态下电感L的时间常数)。与之对应的是,高频下求解电容C对应的时间常数,将电感设置为高频状态,即开路,因此 τ C L = R d C \tau^L_C=R_dC τCL=RdC,至此储能器件高低频对应的状态分析完毕。
第四步,列写极点表达式。根据多项式二项展开定理可知,只需知道最高次幂以及当前幂的次数,即可得知多项式的系数个数为多少,也就是符合杨辉三角的规律。(这里可能需要读者有一定的数学基础,才能理解其含义)最好举例说明是什么意思,各位读者可以观察杨辉三角:
0
:
1
1
:
1
1
2
:
1
2
1
3
:
1
3
3
1
n
:
⋯
⋯
⋯
0:~~~~1\\ 1:~~~~1~1\\ 2:~~~~1~2~1\\ 3:~~~~1~3~3~1\\ \hspace{0em}n:\hspace{1em}\cdots\cdots\cdots
0: 11: 1 12: 1 2 13: 1 3 3 1n:⋯⋯⋯
例如RLC是二阶多项式,其系数的分布规律一定符合
1
2
1
1~2~1
1 2 1的规律,分别表示
s
0
s^0
s0常数项存在1个系数,在极点多项式中这个常数取1;而
s
1
s^1
s1一次方项存在2个系数,在极点多项式中这两个系数便是低频下的时间常数
(
τ
L
+
τ
C
)
s
(\tau_L+\tau_C)s
(τL+τC)s;最后
s
2
s^2
s2二次方项存在1个系数,在极点多项式中这个系数是高低频状态的组合,可以写成
τ
L
τ
C
L
s
2
\tau_L\tau^L_Cs^2
τLτCLs2,也可以写成
τ
C
τ
L
C
s
2
\tau_C\tau^C_Ls^2
τCτLCs2,这两者是等价的。可以基于第三步得到时间常数简单证明一下:
τ
C
τ
L
C
=
L
C
\tau_C\tau^C_L=LC
τCτLC=LC
τ
L
τ
C
L
=
L
C
⋅
lim
R
d
→
+
∞
R
d
R
+
R
d
=
L
C
\tau_L\tau^L_C=LC\cdot\lim_{R_d\rightarrow+\infty}\frac{R_d}{R+R_d}=LC
τLτCL=LC⋅Rd→+∞limR+RdRd=LC
因此两者完全是等价的,实际计算中可以只求其中一个,当然求解另一个可以用于验算另一组时间常数的正确性。最终确定了RLC电路的极点多项式如下:
D
(
s
)
=
1
+
s
R
C
+
s
2
L
C
D(s)=1+sRC+s^2LC
D(s)=1+sRC+s2LC
第五步,完整列写传递函数表达式。基于上述分析直流增益
H
0
H_0
H0为1,零点不存在,所以只有常数项,
N
(
s
)
N(s)
N(s)取1,极点表达式在第四步中已经给出,所以列写完整传递函数表达式如下:
H
(
s
)
=
H
0
N
(
s
)
D
(
s
)
=
1
1
+
s
R
C
+
s
2
L
C
H(s)=H_0\frac{N(s)}{D(s)}=\frac{1}{1+sRC+s^2LC}
H(s)=H0D(s)N(s)=1+sRC+s2LC1
这与上一期阻抗分析法求解的结果一致,说明求解正确。在使用FACT技术的过程中,没有经历繁琐的因式分解过程整理传递函数的形式,熟练应用FACT后,甚至可以一眼看出电路的零极点分布。
\hspace{2em}
由于篇幅有限,这里直接给出三阶RC电路的Mathcad计算过程,如图8所示:
根据图8的计算结果,穿越频率约为
39
K
H
z
39KHz
39KHz,增益为
29.319
d
B
29.319dB
29.319dB与前文仿真的结果基本一致,说明计算过程正确。如果读者想重复实操Mathcad的计算过程,有个技术细节需要注意,由于Mathcad的arg函数求解的返回值介于
(
−
π
,
+
π
)
(-\pi,+\pi)
(−π,+π),直接绘制相位曲线图会在
−
180
∘
-180^\circ
−180∘处发生翻折现象,因此要做相位解卷操作。得到的
H
A
g
(
f
)
H_{Ag}(f)
HAg(f)是一个分段函数,直接绘制相位曲线会报错,需要像增益曲线的表达式一样,添加一个向量化操作的箭头,方可绘制。
\hspace{2em}
既然我们已经得到三阶RC电路系统传递函数
H
(
s
)
H(s)
H(s)的表达式,我们不妨应用劳斯判据试着求解系统闭环传递函数
H
L
o
o
p
(
s
)
H_{Loop}(s)
HLoop(s)稳定与加剧振荡之间的临界点,对比结果是否与巴克豪森判据一致。假设反馈环路增益为
K
K
K,可以得出闭环传递函数表达式:
H
L
o
o
p
(
s
)
=
H
(
s
)
1
+
K
H
(
s
)
H_{Loop}(s)=\frac{H(s)}{1+KH(s)}
HLoop(s)=1+KH(s)H(s)
根据分母可以得到闭环传递函数的特征方程:
d
(
s
)
=
1
+
K
⋅
H
0
D
(
s
)
=
0
d(s)=1+K\cdot\frac{H_0}{D(s)}=0
d(s)=1+K⋅D(s)H0=0
化简后,将劳斯矩阵中的系数求出,即可求解临界点对应的增益
K
K
K的大小,其计算过程如图9:
\hspace{2em}
最终各系数换算结果中,劳斯矩阵的系数中存在增益
K
K
K表达式的,只有两个系数,其中一个是
a
0
a_0
a0,另一个就是
b
1
b_1
b1。根据前文中,劳斯判据的描述,矩阵的第一列元素全为正,表明系统稳定,只要不全为正,则会发生振荡。除了存在
K
K
K表达式的两个系数以外,其余的可以直接判断都是为正,因为时间常数不为负值。同时,移相振荡器的设计中,反馈环路是由同相放大器构成,其增益
K
>
0
K>0
K>0,因此
a
0
a_0
a0亦为正。所以,最终移相振荡器是否振荡,完全由系数
b
1
b_1
b1决定。令
b
1
=
0
b_1=0
b1=0即可求解出系统的临界点增益,如图9最终的结果为29.23,这与前文使用巴克豪森判据求解出来的结果一致,说明计算正确。 不难得出,若
b
1
>
0
b_1>0
b1>0劳斯矩阵第一列元素为正,则系统不会发生振荡。若
b
1
<
0
b_1<0
b1<0劳斯矩阵第一列元素存在负值,系统则是会加剧振荡。
\hspace{2em}
本文的分析就到此结束了,希望对各位读者能够有所帮助和提升。由于作者水平有限,所阅读的资料有限,文章中难免有疏漏和不妥之处,望各位读者批评指正!