主要内容

使用环整形设计调优锁相环

这个例子展示了如何调整无源环滤波器的组件来提高锁相环(PLL)系统的环路带宽。为了获得所需的环路频率响应,本例使用Control System Toolbox™软件中提供的固定结构调优方法计算环路滤波器参数。PLL系统使用来自Mixed-Signal Blockset™库的参考体系结构块进行建模。

简介

锁相环是一种闭环系统,它产生的输出信号的相位取决于输入信号的相位。下图显示了一个具有PLL参考体系结构块的简单模型(整数N锁相环与单模量预分频器)和a锁相环Testbench块。

SimplePLLModel.png

锁相环块内的闭环结构由相频检波器(PFD)、电荷泵、环路滤波器、压控振荡器(VCO)和预标器组成。

PLL_Internal2.png

mix - signal Blockset库提供了多个参考架构块,用于在Simulink®中设计和模拟锁相环系统。控件的组件可以进行调优循环过滤块,这是一个无源滤波器,以获得所需的开环带宽和相位裕度。

使用控制系统工具箱软件,您可以指定所需循环响应的形状,并调整固定结构控制器的参数以近似该循环形状。有关指定所需循环形状的详细信息,请参见环的形状和稳定裕度规格(控制系统工具箱).在前面的锁相环结构模型中,环路滤波器被定义为固定阶、固定结构的控制器。为了达到目标环路形状,环路滤波器的电阻和电容的值是调谐的。这样做可以提高系统的开环带宽,从而减少测量的锁定时间。

建立锁相环模型

打开模型。

模型=“PLL_TuneLoopFilter”;open_system(模型)

中指定的配置简单锁相环模型的设计与评价PFD电荷泵VCO,Prescalar块参数中的选项卡。的循环过滤tab指定类型为四阶滤波器,并将环路带宽设置为100 kHz,相位裕度设置为60度。电阻和电容的值是自动计算出来的。

要观察锁相环的电流环路动态,在块参数上分析选项卡上,选择开环分析而且闭环分析.单位增益频率为100千赫。闭环系统稳定,3db带宽为128.94 kHz。

OpenLoopAnalysis_Initial.png

ClosedLoopAnalysis_Initial.png

模拟模型。锁相环测试台块显示锁相环锁定时间和相位噪声度量。为了绘制和分析相位噪声剖面,在锁相环试验台的块参数中,对刺激选项卡上,选择图相位噪声.测量的锁定时间为2.30微秒。

open_system([模型,/范围的]) sim(模型);

ModelSimulation_Initial.png

LoopFilterOutput_Initial.png

PhaseNoisePlot_Initial.png

在MATLAB®中定义构建闭环系统所需的锁相环参数。

PllKphi = 5e-3;%电荷泵输出电流PllKvco = 1e8;VCO灵敏度%pln = 70;%分级前比例PllR2 = 88.3;二级响应回路滤波电阻%(欧姆)PllR3 = 253;三阶响应回路滤波电阻%(欧姆)PllR4 = 642;四阶响应回路滤波电阻%(欧姆)PllC1 = 8.13e-10;%回路滤波器直接电容(F)PllC2 = 1.48e-7;二阶响应回路滤波电容% (F)PllC3 = 1.59e-10;三阶响应回路滤波电容% (F)PllC4 = 9.21e-11;四阶响应回路滤波电容% (F)

构建自定义可调系统

要将循环过滤器建模为可调元素,首先要创建可调标量实参数(请参见realp(控制系统工具箱))表示每个过滤器组件。对于每个参数,定义初始值和边界。另外,指定参数是否可以自由调优。

使用电流环滤波器的电阻和电容值作为可调参数的初始数值。

%抗性R2 = realp(R2的, PllR2);R2。最小= 50;R2。最大值= 2000;R2。Free = true;R3 = realp(R3的, PllR3);R3。最小= 50;R3。最大值= 2000;R3。Free = true;R4 = realp(“R4”, PllR4);R4。最小= 50;R4。最大值= 2000;R4。Free = true;%的功放C1 = realp(“C1”, PllC1);C1。最小值= 1e-12;C1。最大值= 1e-7;C1。Free = true;C2 = realp(C2的, PllC2);C2。最小值= 1e-12;C2。最大值= 1e-7;C2。Free = true;C3 = realp(“C3”, PllC3);C3。最小值= 1e-12;C3。最大值= 1e-7;C3。Free = true;C4 = realp(“C4”, PllC4);C4。最小值= 1e-12;C4。最大值= 1e-7;C4。Free = true;

类的“更多关于”部分中指定的循环滤波器传递函数方程,使用这些可调参数创建自定义可调模型循环过滤块引用页。loopFilterSys是一个一族(控制系统工具箱)模型参数化为R2R3R4C1C2C3而且C4

Z 年代 R 2 C 2 年代 + 1 年代 一个 4 年代 3. + 一个 3. 年代 2 + 一个 2 年代 + 一个 1 一个 4 C 1 C 2 C 3. C 4 R 2 R 3. R 4 一个 3. C 1 C 2 R 2 R 3. C 3. + C 4 + C 4 R 4 C 2 C 3. R 3. + C 1 C 3. R 3. + C 1 C 2 R 2 + C 2 C 3. R 2 一个 2 C 2 R 2 C 1 + C 3. + C 4 + R 3. C 1 + C 2 C 3. + C 4 + C 4 R 4 C 1 + C 2 + C 3. 一个 1 C 1 + C 2 + C 3. + C 4

A4 = c1 * c2 * c3 * c4 * r2 * r3 * r4;R3 A3 = C1 R2 * C2 * * * (C3 + C4) + C4 * R4 * (C2 * C3 * R3 + C1 R2 * C3 * R3 C2 + C1 * * + C2 * C3 * R2);A2 = C2 R2 * * (C1 + C3 + C4) + R3 * (C1 + C2) * (C3 + C4) + C4 * R4 * (C1 + C2 + C3);A1 = c1 + c2 + c3 + c4;loopFilterSys = tf([R2*C2, 1],[A4, A3, A2, A1, 0]);

使用传递函数表示来定义架构中的固定块(电荷泵,VCO和预分级器),基于它们各自的频响特性[1]。

chargePumpSys = tf(PllKphi,1);%线性化为静态增益vcoSys = tf(PllKvco,[10]);线性化为积分器prescalerSys = tf(1/PllN,1);%线性化为静态增益

为每个块定义输入和输出名称。根据信号名称连接元素(参见连接(控制系统工具箱))来创建一个可调的闭环系统(见一族)表示锁相环体系结构,如图所示。

PLLexampleBlkdgm.png

chargePumpSys。InputName =“pfd_out”%充注泵(固定块)chargePumpSys。OutputName =“cp_out”;loopFilterSys。InputName =“cp_out”%循环滤波器(可调块)loopFilterSys。OutputName =“lf_x”;AP =分析点(“X”);分析点不改变闭环系统的结构AP.InputName =“lf_x”;AP.OutputName =“lf_out”;vcoSys。InputName =“lf_out”VCO %(固定块)vcoSys。OutputName =“vco_out”;prescalerSys。InputName =“vco_out”%预分级器(固定块)prescalerSys。OutputName =“prescaler_out”;PFD = sumblk'pfd_out = ref - prescaler_out');相频检波器(和块)为闭环体系结构创建genss模型。CL0 = connect(chargePumpSys,loopFilterSys,AP,vcoSys,prescalerSys,pfd,“ref”“vco_out”);

Loop-Shaping设计

通过提供至少低于所需开环带宽20年和高于所需开环带宽20年的目标增益,将环路增益定义为频率响应数据模型。所需的滚转通常更高,这导致相位噪声的衰减更高。

指定适当的目标循环形状是此设计的关键方面。可调补偿器是一个具有单个积分器和单个零的四阶系统,其中器件代表一个积分器。环增益必须是开环结构的可行目标。

要调优循环滤波器,请基于指定积分动作、3 MHz交叉和40 dB/decade滚转要求的目标循环形状创建调优目标。该目标将在期望的开环带宽以下和以上实施30年。

LoopGain =朋友([100、10、1,1依照1]的军医,2 *π* [1 e4, 1 e5、3 e6、e7 3, 3 e8]);% FRD使用响应数据和相应频率,单位为rad/sLoopShapeGoal = TuningGoal。LoopShape (“X”, LoopGain);%使用AnalysisPoint作为测量开环响应形状的位置LoopShapeGoal。Focus = 2*pi*[1e3, 1e9];%在频率范围内执行目标(使用rad/s)LoopShapeGoal。Name =“环形目标”调优目标名称MarginsGoal =调优目标。利润(“X”7.6、60);MarginsGoal。焦点= [0 Inf];MarginsGoal。开口= {“X”};MarginsGoal。Name =“利润率的目标”

参考目标环形状观察锁相环系统的当前开环形状。年代表示逆灵敏度函数和T表示互补灵敏度函数。默认情况下,“控制系统工具箱”绘图使用rad/s作为频率单位。有关如何将频率单位更改为Hz的详细信息,请参见工具箱首选项编辑器(控制系统工具箱)

图viewGoal (LoopShapeGoal CL0)

使用systune调整固定结构反馈回路。这样做计算电阻和电容值,以满足基于目标环路形状的软设计目标。除了在创建可调标量实参数期间定义的初始值外,还使用五个不同的初始值集运行优化算法。

选项= systuneOptions();选项。年代oftTol = 1e-5;终止的相对公差选项。MinDecay = 1e-12;闭环极点的最小衰减率选项。MaxRadius = 1e12;%稳定动态的最大谱半径选项。R而且omStart = 5;%不同随机起始点的数目[CL,fSoft,gHard,Info] = systune(CL0,[LoopShapeGoal;MarginsGoal]、[]选项);
Final: Soft = 3.16, Hard = -Inf, Iterations = 79 Final:未能强制闭环稳定性(max Re(s) = 3.1e+04) Final:未能强制闭环稳定性(max Re(s) = 6.7e+04) Final:未能强制闭环稳定性(max Re(s) = 6.3e+04) Final:未能强制闭环稳定性(max Re(s) = 7.5e+04) Final:未能强制闭环稳定性(max Re(s) = 4.9e+04)

systune返回调优后的闭环系统CL广义状态空间形式。

该算法对随机初始值无法收敛,仅当选取当前环滤波器分量值作为初始条件时才有可行解。对于不太复杂的调优问题,如三阶循环滤波器,该算法对初始条件不太敏感,随机启动是探索参数空间并收敛到可行解的有效技术。

参照目标环形状检查调优后的开环形状。观察到,当调谐环路形状不满足目标时,开环带宽增加,而环路保持相同的高频衰减。

图viewGoal (LoopShapeGoal, CL)

导出结果到Simulink模型

提取调优的循环过滤器组件值。

Rtuned = [getBlockValue(CL,R2的),...getBlockValue (CL,R3的),...getBlockValue (CL,“R4”));ctune = [getBlockValue(CL,“C1”),...getBlockValue (CL,C2的),...getBlockValue (CL,“C3”),...getBlockValue (CL,“C4”));

方法将调优的循环过滤器组件值写入PLL块setLoopFilterValue示例中提供的Helper函数。

BLK =[模型,'/整数N锁相环与单模量预分频器'];setLoopFilterValue(黑色、Rtuned Ctuned);

观察开环分析和闭环分析图分析tab中的整数N锁相环与单模量预分频块参数。单位增益频率和3db带宽得到改善,现在分别为341.4 kHz和511.72 kHz,而环路保持相同的相位噪声剖面。

OpenLoopAnalysis_Tuned.png

ClosedLoopAnalysis_Tuned.png

模拟模型,得到锁相环测试台测量值和环路滤波器输出与调谐组件。

sim(模型);

ModelSimulation_Tuned.png

LoopFilterOutput_Tuned.png

PhaseNoisePlot_Tuned.png

参考文献

班纳吉,迪恩。锁相环性能,仿真与设计.印第安纳波利斯:狗耳出版社,2006年。

Baidu
map