全数字FM接收机2---仿真
在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---仿真相关推荐
- 全数字实时仿真平台SkyEye经典案例——空间站项目
1. SkyEye 简介 SkyEye,中文全称天目全数字实时仿真软件,是基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模.采用基于LLVM的二进制加速技术,加 ...
- 全数字实时仿真平台SkyEye故障注入测试
故障注入测试(Fault Injection Test),简称FIT,是一种可靠性验证技术,在安全关键领域,设备的可靠性与安全性是检验装备制造生产的重要指标之一,针对现有的安全关键领域工程可靠性验证方 ...
- 全数字实时仿真平台SkyEye和同步数据流语义与翻译正确性验证
全数字实时仿真平台 SkyEye,中文全称天目全数字实时仿真软件,应用软件仿真技术,逼真地模拟出被测软件的物理环境.用图形化方式构建虚拟目标系统,有效降低了硬件工程师和软件工程师之间的沟通成本,软件工 ...
- 全数字实时仿真平台SkyEye与SystemC集成进行时序仿真
SkyEye与SystemC集成进行时序仿真 仿真过程是正确实现设计的关键环节,用来验证设计者的设计思想是否正确,及在设计实现过程中各种分布参数引入后,其设计的功能是否依然正确无误.时序仿真使用布局布 ...
- 中国自主可控的全数字实时仿真软件SkyEye支持龙芯CPU指令级仿真
传统的系统开发过程,都是由工程师根据项目需求书来编写代码完成系统的开发,但随着功能的完善和版本迭代,系统中庞大的代码量很难确保正确无误,给后期测试和仿真带来了很大的压力和成本,在航空航天.卫星系统.核 ...
- 自主可控的全数字实时仿真软件SkyEye支持PowerPC指令级仿真
随着科技的发展,系统工程的设计体量逐渐庞大起来,尤其是对于轨道交通.航空航天.核电站等安全关键领域中,如何在复杂度逐年变大的同时保证其安全性和可靠性,是近年来各大公司需要研究的课题.最近比较火热的基于 ...
- 支持国产处理器仿真的全数字实时仿真平台SkyEye与可信编译器L2C的核心翻译步骤
1.核心翻译步骤示例 本节我们以第2节提到的Lustre语言的主要特性为线索来解释L2C在翻译过程中的关键节点是如何处理的, 并以图 1的实例来解释Lustre程序是如何被一步步地翻译到Clight语 ...
- 全数字实时仿真平台SkyEye的同步数据流语言可信编译器的构造
随着计算机控制系统在人们生活中的普及,软件自身的可靠性也越来越受到重视.在航空.高铁.核电及军事等高安全要求领域的软件系统--安全关键系统(safety-critical system,简称SCS)更 ...
- 高性能全数字嵌入式仿真测试软件SkyEye支持多达70余种核心
全数字仿真平台作为工业领域不可缺少的重要软件之一,除了可以与MATLAB或者Simulink集成外,还支持哪些优秀的功能?在了解新一代全数字仿真平台SkyEye之前,先来学习一下什么是全数字仿真平台. ...
最新文章
- ECharts测量图,功率图
- Springcloud Feign原理
- 如何对软件项目团队成员进行角色和岗位的划分
- Ajax:异步js和xml
- QTableWidget item设置不可以选中和编辑状态
- 【Java】关于Java编程软件idea快捷键的使用
- Netflix推出Hollow,处理内存数据集的Java库
- hdu 1754 线段树 水题 单点更新 区间查询
- 浙大PAT 乙级(Basic Level) Practice 题解合集(全AC版)
- 机器视觉检测技术发展趋势分析
- 智能制造与大数据平台
- win10摄像头打开后黑屏怎么回事?(驱动重新装了、注册表按照网上的方法也改过了、相机隐私设置也打开了,总之各种方法都尝试了还是打开黑屏)
- 计算机在线检测,卡方检验在线计算
- 销售书籍推荐:做销售你究竟该看什么书?
- Linux下自动化运维工具ansible
- graphpad画生存曲线怎么样去掉删失点_Graphpad Prism 绘制散点图
- 将连续生产参数与四班三运转班次对应起来的算法
- 使用MMX/SSE汇编指令集优化视频开发
- IntelliJ IDEA 15 EAP Adds On-the-Fly Code Duplicates Detection
- 一套问卷调查系统源码,功能齐全,适合二开或学习使用