数字锁相环Octave仿真
clc;
clear all; % 仿真数据长度
SimLens = 1000; % 载波信号
Fs = 2400;
Ts = 1 / Fs; Fsig = 60; % 随机初相
Delta_Phase = rand(1)*2*pi; SignalMod = exp(-1i*(Fsig/Fs * (1: SimLens) + Delta_Phase)); % 锁相环处理过程
Signal_PLL = zeros(SimLens, 1);
NCO_Phase = zeros(SimLens, 1);
nco = zeros(SimLens, 1);
Discriminator_Out = zeros(SimLens, 1);
Freq_Control = zeros(SimLens, 1);
PLL_Phase_Part = zeros(SimLens, 1);
PLL_Freq_Part = zeros(SimLens, 1); % 环路参数
C1 = 0.012013;
C2 = 0.000247; % 正交鉴相器
for i = 2 : SimLens
Signal_PLL(i) = SignalMod(i) * exp(-1i * NCO_Phase(i-1));
I_PLL(i) = real(Signal_PLL(i));
Q_PLL(i) = imag(Signal_PLL(i)); Discriminator_Out(i) = atan2(Q_PLL(i), I_PLL(i)); PLL_Phase_Part(i) = Discriminator_Out(i) * C1;
Freq_Control(i) = PLL_Phase_Part(i) + PLL_Freq_Part(i-1); NCO_Phase(i) = NCO_Phase(i-1) + Freq_Control(i);
PLL_Freq_Part(i) = Discriminator_Out(i) * C2 + PLL_Freq_Part(i-1);
end nco = cos(NCO_Phase); figure;
plot(real(SignalMod), 'r+');
hold on;
plot(nco, 'b*');
hold on;
grid on; figure
subplot(2,1,1)
plot(-PLL_Freq_Part(2: SimLens)*Fs);
grid on;
title('PLL频率响应曲线图');
axis([1 SimLens -100 100]);
subplot(2,1,2)
plot(PLL_Phase_Part(2: SimLens)*180/pi);
title('PLL相位响应曲线图');
axis([1 SimLens -2 2]);
grid on;


数字锁相环Octave仿真的更多相关文章
- 全数字锁相环(DPLL)的原理简介以及verilog设计代码
随着数字电路技术的发展,数字锁相环在调制解调.频率合成.FM 立体声解码.彩色副载波同步.图象处理等各个方面得到了广泛的应用.数字锁相环不仅吸收了数字电路可靠性高.体积小.价格低等优点,还解决了模拟锁 ...
- 使用Logistic Regression Algorithm进行多分类数字识别的Octave仿真
所需解决的问题是,训练一个Logistic Regression系统,使之能够识别手写体数字1-10,每张图片为20px*20px的灰度图.训练样例的输入X是5000行400列的一个矩阵,每一行存储一 ...
- 基于模k可逆计数的数字锁相环fpga实现
参考http://wenku.baidu.com/view/59420cb069dc5022aaea00bd.html 实现结构是参考的上边的实例,我用的全同步实现,实现过程中发现一些现象,做下记录. ...
- simulink pi的方法产生锁相环
pi方法就是比例积分方法,关于pi方法介绍参考http://www.elecfans.com/dianzichangshi/20120909287851.html 锁相环pi方法原理参考http:// ...
- [PLL][PM]锁相环模拟相位解调
%锁相环测试 %模拟相位解调 clear close all clc fs=1000; %采样率 tend=100; t=0:1/fs:tend; t(end)=[]; fc=1; %载波频偏 fb= ...
- ‘初始化锁相环INIT_PLL()’
在XS128的SCI学习的过程中,INIT_PLL()显得很重要,初始化锁相环几乎在每个程序中都有,今天看的程序-初始化锁相环的相关代码如下: /*************************** ...
- C++版 - 剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题,ZOJ 1088:System Overload类似)题解
剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题) 原书题目:0, 1, - , n-1 这n个数字排成一个圈圈,从数字0开始每次从圆圏里删除第m个数字.求出这个圈圈里剩下的最后一个数字 ...
- 第十四届智能车培训 PLL锁相环
什么是锁相环? PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时脉讯号,使高频器件正常工作,如内存的存取资料等.PLL用于振荡器中的反馈技术. 许多电子设备要正常工作 ...
- 【iCore4 双核心板_FPGA】例程九:锁相环实验——锁相环使用
实验现象: 利用Quartus内部组件生成锁相环,用SignalTap II进行校验. 核心代码: module pll( input clk_25m, output clk_100m, output ...
随机推荐
- plan-6.17周末
喷完了自己,浑身舒爽. 搞个计划,最近要学东西,以提交博客为准,提交了才认为ok. 1.python的新书<<Fluent python>>不错,老的python资料已经满足不 ...
- s12-day04-work01 简单计算器功能实现
代码: #!/usr/local/env python3 ''' Author:@南非波波 Blog:http://www.cnblogs.com/songqingbo/ E-mail:qingbo. ...
- docker 解决network has active endpoints
解决方式 使用 docker network disconnect -f {network} {endpoint-name},其中的 {endpoint-name} 可以使用命令 docker net ...
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第3章Spark架构设计与编程模型第3节:Spark架构设计(2)
三,深入RDD RDD本身是一个抽象类,具有很多具体的实现子类: RDD都会基于Partition进行计算: 默认的Partitioner如下所示: 其中HashPartitioner的文档说明如下: ...
- Scrollify – jQuery全屏滚动插件
和 fullPage.js 一样,Scrollify 也是一款基于 jQuery 的全屏滚动插件.跟 fullPage.js 相比,Scrollify 更加小巧,压缩后不足 4KB.但功能上不如 fu ...
- elementUI 学习入门之 layout 布局
layout 布局 通过基础的 24 分栏,可进行快速布局 基础布局 使用单一分栏创建基础的栅格布局, 通过 span 属性指定每栏的大小 <el-col :span="8" ...
- Jquery 官网下载流程
选中解压版本,然后把ctrl+s保存另存为他的min版本
- 记录一下最近犯得sb的翻车错误
首先是: 数据范围是long long范围,然后写了一个暴力,觉得过不去,于是开了int范围,最后写了个能骗过所有数据的骗分,然后没开longlong... 接着是: for(int i = l; i ...
- django 编码错误
估计这个问题是2.7的问题3.0好像就统一utf编码了 报错代码: python :ascii codec can't decode byte 0xe8 in posi 当django中报这个错误的时 ...
- SpringBoot学习(七)
静态资源处理 spring Boot 默认的处理方式就已经足够了,默认情况下Spring Boot 使用WebMvcAutoConfiguration中配置的各种属性. 建议使用Spring Boot ...