首页 / 知识
关于信号处理:需要软件锁相环示例代码
2023-04-13 22:23:00

Software Phase Locked Loop example code needed有人知道我在任何地方都能找到软件锁相环(SPLL)的实际代码示例吗? 我需要一个SPLL,它可以跟踪1.1 KHz至1.3 KHz之间的PSK调制信号。 Google搜索带来了大量学术论文和专利,但没有用。即使是到大学图书馆旅行,其中包含一本关于硬件PLL的书的书架,在有关SPLL的书中也只有一章,而且理论上比实际要多。 感谢您的时间。 伊恩 我想这可能为时已晚,无法帮助您(您最终做了什么?),但可能会帮助下一个人。 这是我刚刚在C的一行中写的一个软件锁相环的例子,它将与您一起唱歌:
我首先介绍这个小巧的高尔夫球版本,以便说服您软件锁相环实际上相当简单,尽管它们可能很棘手。 如果您在stdin上输入8位线性样本,它将生成一个锯齿波的8位样本,试图在stdout上跟踪一个Octave。它以每秒8000个样本的速度跟踪250Hz附近的频率,正好位于中间C下方的B上方。在Linux上,您可以通过键入 然后 这个简单的示例缺少几件事: 它没有检测锁定的好方法。如果您有静音,噪音或纯正的250Hz输入音,则a大约为零,b将以其默认频率振荡。根据您的应用程序,您可能想知道是否找到了信号! Camenzind在《设计模拟芯片的设计》第12章中的建议是,将第二个"相位检测器"馈入与实际相位检测器异相90°的位置。其平滑的输出为您提供了理论上已锁定到的信号的幅度。 振荡器的固有频率是固定的,不会扫频。 PLL的捕获范围非常窄;如果当前未锁定在PLL上,它将捕获振荡的频率间隔;它的锁定范围要大得多,锁定范围会更大,以便在信号锁定后跟随信号。因此,通常会在希望找到信号的整个范围内扫描PLL的频率,直到获得锁定为止,然后停止扫描。 上面的高尔夫版本比我今天编写的C语言中软件锁相环的示例更具可读性,该示例确实执行了锁定检测但不进行扫描。我的上网本中,Atom CPU上每个PLL的每个输入采样大约需要100个CPU周期。 我认为,如果我遇到您的情况,我会做以下事情(除了显而易见的事情,例如寻找比我更了解信号处理的人,并生成测试数据)。我可能不会在前端对信号进行滤波和下变频,因为它已经处于如此低的频率。几乎没有必要下变频到200Hz-400Hz频段。我怀疑PSK会带来一些新问题,因为如果信号突然移相90°或更多,您将失去锁相;但是我怀疑这些问题将很容易解决,而且领土也并非一成不变。
这将帮助您入门,但是您确实需要充分了解PLL设计的基础知识,以便自己进行构建,以便以后进行故障排除-这是数字信号处理的领域,尽管不是黑魔法,但它肯定会在调试过程中为您省钱。 -亚当 使用Simulink进行Matlab吗? Matlab Central此处提供了PLL演示文件。 Matlab的代码生成功能可能会带您进入用C编写的PLL。 |
最新内容
相关内容
linux做路由跟踪命令?
linux做路由跟踪命令?,网络,系统,地址,设备,信息,电脑,工作,命令,服务,全球,linux查找网络配置命令是什么?1、首先在电脑上打开Linux系统,然后linux开启命令跟踪?
linux开启命令跟踪?,系统,信息,软件,对比,工具,发行,通信,实时,状态,最新,如何在Linux用户和内核空间中进行动态跟踪1、如果在一开始就需要查linux跟踪路由器命令?
linux跟踪路由器命令?,网络,地址,系统,信息,情况,工具,时间,通信,命令,管理人员,在路由器和Linux系统中,用来跟踪网络路径的命令是什么?命令格网络跟踪命令linux?
网络跟踪命令linux?,网络,地址,工具,系统,时间,数据,下行,信息,设备,基础,linux为了确定网络层经过的路由器数目应用什么命令发现到达目标网络linux跟踪网关命令?
linux跟踪网关命令?,地址,网络,系统,信息,电脑,时间,设备,名字,命令,数据,在linux下如何查IP及网关1、打开linux服务器,然后在桌面的空白处点击linux的跟踪路由命令?
linux的跟踪路由命令?,信息,网络,系统,通信,命令,路由,指令,网关,两个,方法,查看linux系统的路由命令是什么?1、route print 是Windows操作系linux跟踪命令工具?
linux跟踪命令工具?,工具,系统,分析,信息,状态,综合,情况,环境,命令,数据,Linux系统下常用性能分析工具top命令,怎么详解?TIME+ :任务启动后到路径跟踪命令linux?
路径跟踪命令linux?,系统,地址,工作,设备,标准,信息,命令,概念,网络,数据,linux中find命令的使用方法有哪些?1、Linux find命令用来在指定目录跟踪数据的Python技巧
跟踪数据的Python技巧,信息,数据,工具,项目,位置,培训,总量,灵活,状态,代码,了解如何运用Python的某些数据对象,有利于保持井然有序的状态,避免关于c ++:跟踪#include依赖关系的工
关于c ++:跟踪#include依赖关系的工具,关于c ++:跟踪#include依赖关系的工具,文件,列表,输入,输出,Tool to track #include dependenci版本控制(即Subversion)是否适用于
版本控制(即Subversion)是否适用于文档跟踪?,版本控制(即Subversion)是否适用于文档跟踪?,文档,部门,多个,源代码,Is version control关于asp.net:如何在Linq-to-sql Dat
关于asp.net:如何在Linq-to-sql DataContext上跟踪查询,关于asp.net:如何在Linq-to-sql DataContext上跟踪查询,执行,显示,查询,请求,H