在MATLAB下仿真程序

 1 %Simple PLL m-file demonstration
 2
 3 %This m-file demonstrates a PLL which tracks and demodulates an FM carrier.
 4 clear all;
 5 close all;
 6 f=1000;%Carrier frequency
 7 fs=100000;%Sample frequency
 8 N=5000;%Number of samples
 9 Ts=1/fs;
10 t=(0:Ts:(N*Ts)- Ts);
11 %Create the message signal
12 f1=100;%Modulating frequency
13 msg=sin(2*pi*f1*t);
14 kf=.0628;%Modulation index
15 %Create the real and imaginary parts of a CW modulated carrier to be tracked.
16 Signal=exp(j*(2*pi*f*t+2*pi*kf*cumsum(msg)));%Modulated carrier
17 Signal1=exp(j*(2*pi*f*t));%Unmodulated carrier
18 %Initilize PLL Loop
19 phi_hat(1)=30;
20 e(1)=0;
21 phd_output(1)=0;
22 vco(1)=0;
23 %Define Loop Filter parameters(Sets damping)
24 kp=0.15; %Proportional constant
25 ki=0.1; %Integrator constant
26 %PLL implementation
27 for n=2:length(Signal)
28 vco(n)=conj(exp(j*(2*pi*n*f/fs+phi_hat(n-1))));%Compute VCO
29 phd_output(n)=imag(Signal(n)*vco(n));%Complex multiply VCO x Signal input
30 e(n)=e(n-1)+(kp+ki)*phd_output(n)-ki*phd_output(n-1);%Filter integrator
31 phi_hat(n)=phi_hat(n-1)+e(n);%Update VCO
32 end;
33 %Plot waveforms
34 startplot = 1;
35 endplot = 1000;
36
37 figure(1);
38 subplot(3,2,1);
39 plot(t(startplot:endplot), msg(startplot:endplot));
40 title('100 Hz message signal');
41 %xlabel('Time (seconds)');
42 ylabel('Amplitude');
43 grid;
44
45 figure(1);
46 subplot(3,2,2);
47 plot(t(startplot:endplot), real(Signal(startplot:endplot)));
48 title('FM (1KHz carrier modulated with a 100 Hz message signal)');
49 %xlabel('Time (seconds)');
50 ylabel('Amplitude');
51 grid;
52
53 figure(1)
54 subplot(3,2,3);
55 plot(t(startplot:endplot), e(startplot:endplot));
56 title('PLL Loop Filter/Integrator Output');
57 %xlabel('Time (seconds)');
58 ylabel('Amplitude');
59 grid;
60
61 subplot(3,2,4);
62 plot(t(startplot:endplot), real(vco(startplot:endplot)));
63 title('VCO Output (PLL tracking the input signal)');
64 %xlabel('Time (seconds)');
65 ylabel('Amplitude');
66 grid;
67
68 subplot(3,2,5);
69 plot(t(startplot:endplot), phd_output(startplot:endplot));
70 title('Phase Detecter Output');
71 xlabel('Time (seconds)');
72 ylabel('Amplitude');
73 grid;
74
75 subplot(3,2,6);
76 plot(t(startplot:endplot), real(Signal1(startplot:endplot)));
77 title('Unmodulated Carrier');
78 xlabel('Time (seconds)');
79 ylabel('Amplitude');
80 grid;

View Code

仿真结果

转载于:https://www.cnblogs.com/hiramlee0534/p/3442516.html

全数字FM接收机2---仿真相关推荐

  1. 全数字实时仿真平台SkyEye经典案例——空间站项目

    1. SkyEye 简介 SkyEye,中文全称天目全数字实时仿真软件,是基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模.采用基于LLVM的二进制加速技术,加 ...

  2. 全数字实时仿真平台SkyEye故障注入测试

    故障注入测试(Fault Injection Test),简称FIT,是一种可靠性验证技术,在安全关键领域,设备的可靠性与安全性是检验装备制造生产的重要指标之一,针对现有的安全关键领域工程可靠性验证方 ...

  3. 全数字实时仿真平台SkyEye和同步数据流语义与翻译正确性验证

    全数字实时仿真平台 SkyEye,中文全称天目全数字实时仿真软件,应用软件仿真技术,逼真地模拟出被测软件的物理环境.用图形化方式构建虚拟目标系统,有效降低了硬件工程师和软件工程师之间的沟通成本,软件工 ...

  4. 全数字实时仿真平台SkyEye与SystemC集成进行时序仿真

    SkyEye与SystemC集成进行时序仿真 仿真过程是正确实现设计的关键环节,用来验证设计者的设计思想是否正确,及在设计实现过程中各种分布参数引入后,其设计的功能是否依然正确无误.时序仿真使用布局布 ...

  5. 中国自主可控的全数字实时仿真软件SkyEye支持龙芯CPU指令级仿真

    传统的系统开发过程,都是由工程师根据项目需求书来编写代码完成系统的开发,但随着功能的完善和版本迭代,系统中庞大的代码量很难确保正确无误,给后期测试和仿真带来了很大的压力和成本,在航空航天.卫星系统.核 ...

  6. 自主可控的全数字实时仿真软件SkyEye支持PowerPC指令级仿真

    随着科技的发展,系统工程的设计体量逐渐庞大起来,尤其是对于轨道交通.航空航天.核电站等安全关键领域中,如何在复杂度逐年变大的同时保证其安全性和可靠性,是近年来各大公司需要研究的课题.最近比较火热的基于 ...

  7. 支持国产处理器仿真的全数字实时仿真平台SkyEye与可信编译器L2C的核心翻译步骤

    1.核心翻译步骤示例 本节我们以第2节提到的Lustre语言的主要特性为线索来解释L2C在翻译过程中的关键节点是如何处理的, 并以图 1的实例来解释Lustre程序是如何被一步步地翻译到Clight语 ...

  8. 全数字实时仿真平台SkyEye的同步数据流语言可信编译器的构造

    随着计算机控制系统在人们生活中的普及,软件自身的可靠性也越来越受到重视.在航空.高铁.核电及军事等高安全要求领域的软件系统--安全关键系统(safety-critical system,简称SCS)更 ...

  9. 高性能全数字嵌入式仿真测试软件SkyEye支持多达70余种核心

    全数字仿真平台作为工业领域不可缺少的重要软件之一,除了可以与MATLAB或者Simulink集成外,还支持哪些优秀的功能?在了解新一代全数字仿真平台SkyEye之前,先来学习一下什么是全数字仿真平台. ...

最新文章

  1. ECharts测量图,功率图
  2. Springcloud Feign原理
  3. 如何对软件项目团队成员进行角色和岗位的划分
  4. Ajax:异步js和xml
  5. QTableWidget item设置不可以选中和编辑状态
  6. 【Java】关于Java编程软件idea快捷键的使用
  7. Netflix推出Hollow,处理内存数据集的Java库
  8. hdu 1754 线段树 水题 单点更新 区间查询
  9. 浙大PAT 乙级(Basic Level) Practice 题解合集(全AC版)
  10. 机器视觉检测技术发展趋势分析
  11. 智能制造与大数据平台
  12. win10摄像头打开后黑屏怎么回事?(驱动重新装了、注册表按照网上的方法也改过了、相机隐私设置也打开了,总之各种方法都尝试了还是打开黑屏)
  13. 计算机在线检测,卡方检验在线计算
  14. 销售书籍推荐:做销售你究竟该看什么书?
  15. Linux下自动化运维工具ansible
  16. graphpad画生存曲线怎么样去掉删失点_Graphpad Prism 绘制散点图
  17. 将连续生产参数与四班三运转班次对应起来的算法
  18. 使用MMX/SSE汇编指令集优化视频开发
  19. IntelliJ IDEA 15 EAP Adds On-the-Fly Code Duplicates Detection
  20. 一套问卷调查系统源码,功能齐全,适合二开或学习使用

热门文章

  1. Windows中安装Apache2和PHP4权威指南
  2. 给别人电脑永远设置个别人删不掉的管理员用户
  3. php i 获取不到值,thinkphp I方法讀取不到值~~~
  4. vivado如何实现增量编译,加快布局布线
  5. Python_模块介绍
  6. 利用graphviz模块展示斐波那契数列的递归函数调用图(Python)
  7. SQL Server中如何识别、查找未使用的索引(unused indexes)
  8. 2个byte类型数据相加(转型问题的分析)
  9. angular1配合gulp和bower使用
  10. Eclipse 菜单