VCO输出端的分频器对相噪和杂散的影响

       当VCO的输出信号通过D分频时,其相噪下降20log10(D);杂散幅度亦下降20log10(D),但频率偏移量(offset frequency)保持不变,即每2分频,改善6dB,而倍频则相反,由此在PLL测试Phase noise时,尽量不要分频或倍频,保持原有信号。 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 11
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是PLL的各个模块的Verilog-A建模实例: 1. _PFD(相位频率检测器): ```verilog `include "disciplines.vams" module pfd(vin_p, vin_n, vref_p, vref_n, ipfd, vco, kpd); // 定义参数 parameter real kpd = 1.0; parameter real kvco = 1.0; // 定义端口 inout vin_p, vin_n, vref_p, vref_n; output ipfd; inout vco; // 定义内部变量 real vpd, vref, error; real ipfd_int, vco_int; // 定义正常的 Verilog-A 表达式 analog begin // 计算差分输入电压 vpd = vin_p - vin_n; vref = vref_p - vref_n; // 计算误差信号 error = vpd * vref; // 计算 PFD 输出电流 ipfd_int += error * kpd * dt; ipfd = ipfd_int; // 计算 VCO 输入电压 vco_int += ipfd * kvco * dt; vco = vco_int; end endmodule ``` 2. 电荷泵: ```verilog `include "disciplines.vams" module charge_pump(ipfd, iup, idn, kcp); // 定义参数 parameter real kcp = 1.0; // 定义端口 input ipfd; output iup, idn; // 定义内部变量 real ipfd_int, iup_int, idn_int; // 定义正常的 Verilog-A 表达式 analog begin // 计算 PFD 输入电流 ipfd_int += ipfd * dt; // 根据 PFD 输入电流计算输出电流 if (ipfd_int > 0) begin iup_int += kcp * ipfd_int * dt; idn_int = 0; end else begin iup_int = 0; idn_int -= kcp * ipfd_int * dt; end // 输出电流 iup = iup_int; idn = idn_int; end endmodule ``` 3. LPF(低通滤波器): ```verilog `include "disciplines.vams" module lpf(vin, vout, r, c); // 定义参数 parameter real r = 1.0; parameter real c = 1.0; // 定义端口 input vin; output vout; // 定义内部变量 real vout_int; // 定义正常的 Verilog-A 表达式 analog begin // 计算输出电压 vout_int += (vin - vout_int) / (r * c * dt); vout = vout_int; end endmodule ``` 4. VCO(电压控制振荡器): ```verilog `include "disciplines.vams" module vco(vctrl, vout, f0, kvc); // 定义参数 parameter real f0 = 1.0; parameter real kvc = 1.0; // 定义端口 input vctrl; output vout; // 定义内部变量 real phase, vout_int; // 定义正常的 Verilog-A 表达式 analog begin // 计算相位 phase += 2 * $pi * f0 * (vctrl - vout) * kvc * dt; // 计算输出电压 vout_int = sin(phase); vout = vout_int; end endmodule ``` 5. 分频器: ```verilog `include "disciplines.vams" module divider(vin, vout, n); // 定义参数 parameter integer n = 1; // 定义端口 input vin; output vout; // 定义内部变量 integer count; // 定义正常的 Verilog-A 表达式 analog begin // 计算输出电压 if (count == n-1) begin vout = vin; count = 0; end else begin vout = 0; count++; end end endmodule ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当时皓月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值