[PLL][PM]锁相环模拟相位解调
%锁相环测试
%模拟相位解调 clear
close all
clc fs=1000; %采样率
tend=100;
t=0:1/fs:tend;
t(end)=[];
fc=1; %载波频偏
fb=100; %PM调制信号频率
gain=0.2; %锁相环输入增益
EbN0=20; [b,a]=cheby2(3,30,0.2); %切比雪甫滤波器
num=gain*b;
den=conv([1 -1],a)+[num,0];
pole=roots(den);
abs(pole) %计算系统稳定性
fvtool(b,a);
lb=length(b);
la=length(a)-1;
bb=zeros(1,lb);
aa=zeros(1,la); cio=cos(2*pi*fc*t+cos(2*pi*fb*t));
cqo=sin(2*pi*fc*t+cos(2*pi*fb*t));
ci=awgn(cio,EbN0,'measured');
cq=awgn(cqo,EbN0,'measured');
cout=complex(zeros(size(ci)),zeros(size(cq)));
phase_out=zeros(size(ci));
phase=0; for k=1:length(cout)
cout(k)=exp(1i*phase);
err=complex(ci(k),cq(k))*exp(-1i*phase);
phase_out(k)=angle(err);
err=phase_out(k)*gain;
bb=[err,bb(1:lb-1)];
err=sum(bb.*b)-sum(aa.*a(2:end));
aa=[err,aa(1:la-1)];
phase=phase+err;
if phase>pi, phase=phase-2*pi;
elseif phase<-pi, phase=phase+2*pi;end
end CO=fft(cio);
CO=abs(CO)/length(CO);
CR=fft(real(cout));
CR=abs(CR)/length(CR);
F=linspace(0,fs,length(CR));
N=ceil(length(F)/2);
plot(F(1:N),CO(1:N),'r');
hold on
plot(F(1:N),CR(1:N),'b');
figure
plot(t,phase_out);
PO=fft(phase_out);
PO=abs(PO)/length(PO);
figure
plot(F(1:N),PO(1:N));
[PLL][PM]锁相环模拟相位解调的更多相关文章
- 全数字锁相环(DPLL)的原理简介以及verilog设计代码
随着数字电路技术的发展,数字锁相环在调制解调.频率合成.FM 立体声解码.彩色副载波同步.图象处理等各个方面得到了广泛的应用.数字锁相环不仅吸收了数字电路可靠性高.体积小.价格低等优点,还解决了模拟锁 ...
- 第十四届智能车培训 PLL锁相环
什么是锁相环? PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时脉讯号,使高频器件正常工作,如内存的存取资料等.PLL用于振荡器中的反馈技术. 许多电子设备要正常工作 ...
- 数字锁相环Octave仿真
clc; clear all; % 仿真数据长度 SimLens = 1000; % 载波信号 Fs = 2400; Ts = 1 / Fs; Fsig = 60; % 随机初相 Delta_Phas ...
- ‘初始化锁相环INIT_PLL()’
在XS128的SCI学习的过程中,INIT_PLL()显得很重要,初始化锁相环几乎在每个程序中都有,今天看的程序-初始化锁相环的相关代码如下: /*************************** ...
- 【iCore4 双核心板_FPGA】例程九:锁相环实验——锁相环使用
实验现象: 利用Quartus内部组件生成锁相环,用SignalTap II进行校验. 核心代码: module pll( input clk_25m, output clk_100m, output ...
- 【iCore1S 双核心板_FPGA】例程九:锁相环实验——锁相环的使用
实验现象: 利用Quartus内部组件生成锁相环,用SignalTap II进行校验. 核心代码: //--------------------Module_PLL------------------ ...
- simulink pi的方法产生锁相环
pi方法就是比例积分方法,关于pi方法介绍参考http://www.elecfans.com/dianzichangshi/20120909287851.html 锁相环pi方法原理参考http:// ...
- 转:PLL 锁相环
原地址:http://fangjian0518.blog.163.com/blog/static/559196562011210103455430/ PLL的作用? 答:LPC2000系列ARM内部 ...
- Roman Roulette(约瑟夫环模拟)
Roman Roulette Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
随机推荐
- 云计算服务模型,第 2 部分: 平台即服务(PaaS)
英文原文:Cloud computing service models, Part 2: Platform as a Service 平台即服务 (PaaS) 常常是最容易让人迷惑的云计算类别,因为很 ...
- wifi详解(五)
1 Android平台的Wifi模块移植要点 1.1 Wifi结构 user interface Android WiFiService WPA_Supplicant DHD ...
- duilib combo控件,当鼠标滚动时下拉列表自动关闭的bug的修复
转载请说明出处,谢谢~~ 群里有朋友提到了使用Combo控件时,当下拉列表出现,此时鼠标滚轮滚动,下拉列表就自动消失了.我看了一下源码,这个bug的修复很简单. CComboUI控件被单击时创建CCo ...
- wuzhicms水印的设置
- 黄金点游戏之客户端(homework-05)
0. 摘要 之前我们玩了2次黄金数游戏,我也幸运的得到了一本<代码大全>,嘿嘿.这次的作业是一个Client/Server程序,自动化完成多轮重复游戏. 我完成了Client部分,使用C# ...
- ViewPager使用笔记
1.ViewPager.setCurrentItem(position),即使已设置动画,但是没有动画效果 原因:因为ViewPager滑动之前的时间间隔太短,可以通过反射,去修改ViewPager自 ...
- BAT-使用BAT生成快捷方式
@( echo [InternetShortcut] echo URL=C:\Windows\System32\calc.exe echo IconIndex=0 echo IconFile=C:\W ...
- 利用red5搭建一个简单的流媒体直播系统
http://blog.sina.com.cn/s/blog_51396f890102exmz.html 一.red5安装.设置. 这个过程就不多说了,参见http://blog.csdn.net/l ...
- 基于 Red5 的流媒体服务器的搭建和应用
http://www.ibm.com/developerworks/cn/opensource/os-cn-Red5/ Red5 是一个采用 Java 开发的开源免费 Flash 流媒体服务器.Red ...
- Gym 100818I Olympic Parade(位运算)
Olympic Parade http://acm.hust.edu.cn/vjudge/contest/view.action?cid=101594#problem/I [题意]: 给出N个数,找出 ...