vbn中使用的3种流程控制结构是_使用HFA3787设计零中频接收机的设计方案

本文主要是介绍vbn中使用的3种流程控制结构是_使用HFA3787设计零中频接收机的设计方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

413d80984562e9a1eee6d09f8a6cce1a.png

摘 要: 本文介绍了零中频接收机的原理,以及基于高性能调制解调芯片HFA3787的类零中频接收机的设计与实现。

引言

众所周知,传统的“超外差”式无线接收机工作流程如下:微弱的高频无线电信号必须通过一级或几级的混频电路,才能去掉其它信道的干扰并获得足够的增益,最终完成解调,取出所需的信息。

为了克服“超外差”式无线接收机存在的镜像干扰和需要高Q值滤波器等缺陷,人们提出了零中频接收机的概念。这种被称为直接变频(Direct-Conversion)或零中频(Zero-IF)的结构存在以下优点:(1)中频频率为零,不存在镜像干扰问题;(2)信道选择在低频进行,可以很方便地利用集成电路对信号进行数字化处理。

但是零中频接收机也存在着直流偏移和低频噪声等不易消除的障碍,于是又有人提出了二次变频宽中频(Dual-Conversion wih Wideband Fisrt IF)接收机。这种接收机在第一次变频时将高频信号变到一个较高的中频上,第二次变频输出则是零中频。本文采取的就是这种类零中频接收机的结构。图1给出了其工作原理图。

HFA3783芯片功能及结构

HFA3783是Intersil公司为半双工无线应用而推出的综合芯片,它包含了正交调制和I/Q路解调所有必需的功能模块。它的中频接收AGC放大器具有600 MHz 频率响应范围和70 dB电压增益,并且有超过70 dB的增益控制范围;发送输出也有70 dB的增益控制范围。它的接收和发送中频可以共用一个差分匹配滤波网络,以减少在单中频半双工发送器中所必需的滤波器件数量。在接收模式中有直流偏置校正电路和中频电平检测等功能。其内部混频器由一个宽带正交本振发生器驱动,中频频率设置及PLL环同步参数由一个3线串行接口控制,它只需要低电平的外部VCO和频率可达50 MHz的参考源。其功能模块如图2所示。

它的主要特性如下:

综合了中频发送和接收所有的功能,宽幅度的正交频率范围为70 至 600MHz,中频AGC动态范围为69dB,具有直流耦合基带接口和接收直流偏移校正环路,使用3线串行接口控制PLL环同步,本振驱动电平为-15dBm,发送/接收功能切换

图1 二次变频宽中频式接收机原理图

b3c55ae3b1f3c30bba66b3bb0497f1fe.png

图2 HFA3783功能模块图

图3 同步串口时序图

图4 类零中频接收机的电路框图

参数设置及寄存器功能

HFA3783由于是半双工模式,其需要输入管脚PE1、PE2和寄存器M的最低位M(0)来定义发送/接收的工作状态。它的真值表见表1。

HFA3783共有5个内部功能寄存器,它们都是通过3线串行接口来设置,这3根输入管脚分别为:时钟(CLK)、数据(DATA)、锁存(LE),其输入时序如图3所示。

当数据输入满20位时,输入一个锁存信号,HFA3783通过比较低2位数据来判断是给哪一个寄存器进行设置,其具体设置如表2。

其中,R为参考源的分频比, A/B及M(2)为VCO分频系数。HFA3783通过对经过分频的参考频率REF/R和分频后的VCO/[P*B+A] 进行比较,来控制VCO的调谐电压,最终使PLL环锁定用户所设置的频率。

C寄存器的值决定在接收模式中校正直流偏置电平的频率及时间。校正时间计算公式为:

校正时间=22&TImes;

其中fREFIN为MHz级。

M为工作模式寄存器,它必须首先被设置,其次才是其它寄存器。

类零中频接收机的电路实现

射频段由于是采用传统的结构,在这里我们不再赘述。其电路框图如图4所示。

这里,使用FPGA对HFA3783进行参数配置,用FPGA和DSP协同处理基带数据。在基带处理时,低层的信号预处理算法处理的数据量大,对处理的速度要求高,但运算结构相对简单,因而适于用FPGA进行硬件实现。相比之下,高层处理算法所处理的数据量相对较小,但算法的控制结构复杂,适于用运算速度高、寻址方式灵活、通信机制强大的DSP芯片来实现。

结语

由于HFA3783除了调制、解调电路之外,其内部还综合了中频放大、AGC、基带低通滤波等电路,这样,类零中频接收机的中频电路仅需要很少的器件,而且调试起来也比较方便;并且HFA3783还能给A/D采样提供一个1.2V的参考电平,提高A/D采样精度。

但我们在硬件调试时发现有几个问题必须注意:

* VCO和参考频率的分频系数与本振的PLL环相位噪声是一对矛盾:分频系数选得小,PLL环就有可能不能正常锁定;分频系数选得大,PLL环相位噪声也相应地增大了,这就需要通过具体地调试来选择一个折衷的方案。

* 阻抗匹配需要认真考虑。在HFA3783的中频输入、输出端,可以共用一个滤波匹配网络,其阻抗为250W。

* HFA3783的发基带需要1.3V的偏置电压,否则发中频不能正常工作。

本文介绍的类零中频接收机的方案已成功地应用在某型扩频单元中,各项性能指标均达到要求。

这篇关于vbn中使用的3种流程控制结构是_使用HFA3787设计零中频接收机的设计方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/166416

相关文章

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

使用Python实现图像LBP特征提取的操作方法

《使用Python实现图像LBP特征提取的操作方法》LBP特征叫做局部二值模式,常用于纹理特征提取,并在纹理分类中具有较强的区分能力,本文给大家介绍了如何使用Python实现图像LBP特征提取的操作方... 目录一、LBP特征介绍二、LBP特征描述三、一些改进版本的LBP1.圆形LBP算子2.旋转不变的LB

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin