news 2026/6/10 16:15:13

位同步--FPGA实现Gardner算法(1)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
位同步--FPGA实现Gardner算法(1)

自己学习,记录一下,AI+知乎+书

无需载波同步的位同步技术- Gardner算法

总概括:

就是通过观察“前后两个符号的中间那个点有没有归零”,来告诉 NCO “走快点”还是“走慢点”,从而让内插器始终抓在信号张开得最大的那个最佳时刻。

1.介绍Gardner算法

是一种定时误差算法,他通过观察,当前与上一次的采样点,来告诉我们采太快了,还是太慢了,同时告诉NCO这个误差,使得采样时刻改变,追求最佳采样点。
一般公式(数学版)如下:
e(k)=[y(k)−y(k−1)]×y(k−1/2)e(k) = [y(k) - y(k-1)] \times y(k-1/2)e(k)=[y(k)y(k1)]×y(k1/2)
逻辑:用前后两点的差(斜率)乘以中间点的值。
如图:

情况1:无误差,最佳采样时刻:y(k - 1/2)为0,e(k)为0。
情况2:采集太快了,y(k - 1/2)在最佳采样点左边,为正数。e(k)为负数,代表你(NCO)需要慢一点了。
情况3:采集太慢了,y(k - 1/2)在最佳采样点右边,为负数,e(k)为正数,代表你(NCO)需要快一点了。

**他的误差是怎么计算的?利用码元跳变(过零点)来检测误差
理想情况:如果一个符号是波峰,下一个是波谷,那么它们正中间的采样点(中间点)应该刚好是 0。
非理想情况:如果中间点不为 0,说明采样时刻偏了。
中间点偏正或偏负,结合前后符号的极性,就能算出偏移方向。


2.数据计算

核心矛盾:时钟不同步

在实际通信中,接收端的采样时钟(周期为TsT_sTs)通常是固定频率的本地晶振,它和发送端的符号时钟(周期为TiT_iTi)往往是不匹配、不同步的。


目的:重新采样(KiK_iKi周期下的)

公式 (8-19) :

y(kTi)=∑mx(mTs)hI(kTi−mTs)y(kT_i) = \sum_{m} x(mT_s)h_I(kT_i - mT_s)y(kTi)=mx(mTs)hI(kTimTs)
(k为整数,TiT_iTi为内插周期,k = T /TiT_iTi)
既然有了虚拟的连续曲线y(t)y(t)y(t),我们就在我们想要的时刻t=kTit = kT_it=kTi(内插时刻)去“摘取”信号值。
公式 (8-20) 是真正的数字实现:

y(t)=∑mx(mTs)hI(t−mTs)y(t) = \sum_{m} x(mT_s)h_I(t - mT_s)y(t)=mx(mTs)hI(tmTs)

  • 物理意义:想象我们把手中的数字点x(mTs)x(mT_s)x(mTs)通过一个理想的“低通滤波器”hI(t)h_I(t)hI(t)(即内插滤波器)。
  • 这就像是在坐标轴上根据现有的点,画出一条平滑的连续曲线y(t)y(t)y(t)。一旦有了这条曲线,理论上你可以在任何时间点ttt取值。
  • 关键点:在全数字接收机里,我们并不真的去还原连续信号。我们直接利用现有的x(mTs)x(mT_s)x(mTs)和滤波器系数hIh_IhI进行卷积运算,直接计算出y(kTi)y(kT_i)y(kTi)

总结:通俗的比喻

想象你在拍电影,但你的摄像机每秒只能拍 24 帧(这是1/Ts1/T_s1/Ts)。

  1. 现有数据:你手里只有这 24 帧画面。
  2. 需求:导演想要一段每秒 60 帧(这是1/Ti1/T_i1/Ti)的慢动作视频。
  3. 内插过程:你使用电脑算法,根据前后的画面,“计算”出原本不存在的两帧之间的画面。

这段话里的y(kTi)y(kT_i)y(kTi)就是那些被计算出来的、“补”上去的精准画面。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:49:31

【物联网】ESP32-C3 门禁系统方案

一、方案概述 核心特性 低成本开源:完全自主可控,无供应商锁定断电安全:电控锁断电自动锁闭,机械钥匙备份三重控制:Wi-Fi MQTT 蓝牙备用 机械钥匙应急极简部署:3个门可在2-3天内完成部署 技术架构 设备层…

作者头像 李华
网站建设 2026/5/28 14:31:46

深度学习计算机毕设之基于卷积网络结构的火灾检测系统实现

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/5 18:45:23

环境仿真软件:EcoPath with Ecosim_(8).模型验证与不确定性分析v1

模型验证与不确定性分析 在环境仿真软件中,模型验证和不确定性分析是确保模型可靠性和准确性的关键步骤。这些步骤不仅有助于评估模型的性能,还可以识别和量化模型中的不确定性来源,从而提高模型的预测能力。本节将详细介绍模型验证的基本方法…

作者头像 李华
网站建设 2026/5/30 18:10:58

积分旁瓣电平-matlab函数

%% ISL 计算 % 该示例用于采用我自己编写的ISL公式计算ISL clear all; close all; clear; N 128; %信号长度 plotEnableHigh 1; randPhaSig exp(1j*2*pi*rand(N,1)); %生成随机相位编码信号 mlb 0; %设置主瓣宽度为0,即只有自相关延迟为0的值 figure; plot(re…

作者头像 李华