Matlab simulink PLL学习笔记

📅 2026/7/23 18:14:12
Matlab simulink PLL学习笔记
本文学习内容【官方】2022小迈步之 MATLAB助力芯片设计系列一电路仿真与模数混合设计基础_哔哩哔哩_bilibili所用规格书https://store.skyworksinc.com/datasheets/skyworks/sky73134_11.pdf本文所用simulink模板https://download.csdn.net/download/weixin_42221495/88617079?spm1001.2014.3001.5503目录时域模型testbench搭建开环分析闭环分析线性模型利用传输函数构建电路模型利用Simscape构建电路模型利用线性系统构建电路模型导入网表构建电路模型动态参数扫描自动参数优化时域模型testbench搭建菜单栏点击simulink创建空白模型点击库浏览器在PLL里面选择一种架构拖拽到画布。如图。在testbench里面找到PLL的测试平台拖拽到画布。如图。连线右击PLL在新选项中打开。即可看到PLL内部构成。双击PLL。下图中可以为PLL每个模块设计参数。开环分析在matlab中测试PLL在4.2GHZ下的表现。probe里面可以选择观测信号选了开环分析和闭环分析点击apply点击plot loop dynamics。出现了分析图。可以看到相位裕度带宽。闭环分析可以看到零极点图幅值响应。3dB带宽。阶跃响应左下角可以看到上升时间锁定时间冲击响应右下角闭环分析双击testbench选择方波激励分频系数2625测试的是4.2GHZ。4.2GHZ/26251.6MHZ。因此设置激励频率为1.6MHZ。都是根据规格书填的。设置一些目标性能。设置仿真停止时间。点击应用。点击菜单栏里的运行。仿真结束后双击testbench打印相位噪声或者导出测量结果。测量的相位噪声跟预期的结果一样。线性模型利用传输函数构建电路模型打开并运行三阶滤波器的setup文件将模型用到的参数赋值。代码放在下张图。三阶滤波器代码clear; close all; clc; Kp 2.7e-3; %Charge pump output current Kvco 20e6; % vco sensitivity N 2625; % Prescaler ratio R2 10e3; % Loop filter resistance for second-order response (ohms) R3 2.2e3; % Loop filter resistance for third-order response (ohms) R4 0; % Loop filter resistance for fourth-order response (ohms) C1 100e-12; % Loop filter direct capacitance (F) C2 2.2e-9; % Loop filter capacitance for second-order response (F) C3 100e-12; % Loop filter capacitance for third-order response (F) C4 0; % Loop filter capacitance for fourth-order response (F) Icp 1 ; A4 C1*C2*C3*C4*R2*R3*R4; A3 C1*C2*R2*R3*(C3C4)C4*R4*(C2*C3*R3C1*C3*R3C1*C2*R2C2*C3*R2); A2 C2*R2*(C1C3C4)R3*(C1C2)*(C3C4)C4*R4*(C1C2C3); Al C1C2C3C4;打开PLL主体架构的模板双击进入橘色的子模块双击画布调入tf模块并连线。设置传输函数模块的分子分母系数。点击应用。将其他三个模块全选中右击选择注释直通。点击菜单栏中的运行按钮。运行结束后双击下图的scope模块进行观测输入波形和输出波形相近。利用Simscape构建电路模型这个工具是matlab里面的工具用电路元件搭电路图后会帮助我们推算出传递函数。取消之前注释掉的三个模块。并双击进入第二个模块。双击画布调用元件搭建模型。其中simulink-PS Converter是simulink到物理域的转换PS-simulink Converter是物理域到simulink的转换。双击画布中的电阻电容将名字修改为对应的。回到主页面将剩余的两个模块右击选择注释直通。并双击模型开关选择2点击菜单栏中的运行运行结束后双击观测器。点击different模块可以看到两个模型跑出来的结果是没有差别的。利用线性系统构建电路模型点击模块的输入线再点击菜单栏里的输入扰动。选择输出线再选择菜单栏中的输出测量。点击这个模块再点击菜单栏中的线性化模块。点击波特图就可以查看波特图。这里还可以查看阶跃响应冲激响应等。左边的linear analysis workspace中生成了一个线性系统将这个线性系统用鼠标拖到上面的matlab workspace中并保存。回到主界面取消注释第三个模块。并将模型开关选择3双击进入绿色模块双击画布调入一个线性系统并双击该系统设置系统变量为刚刚保存的系统。回到主界面点击运行按钮并点击观测器。可以看到跟前面两种方法得到的结果一样。导入网表构建电路模型利用线性电路导入器将电路网表导入系统中进项仿真取消注释第四个模块并将模型开关设置成4双击进入该模块双击画布调入一个线性电路导入器并双击导入网表文件并给模块起个名字。device noise generators可以添加电路元件的噪声信息。点击build block。画布上生成了一个滤波器。删掉线性电路导入器。连线。因为是一个离散的模块所以需要设置采样率取消勾选。并将仿真方式设置从代码生成改成解释执行。运行并查看结果结果跟前三种方式一样。动态参数扫描自动参数优化如何提高PLL的环路带宽