二维方位检测器的设计.docx
- 文档编号:26170812
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:54
- 大小:256.09KB
二维方位检测器的设计.docx
《二维方位检测器的设计.docx》由会员分享,可在线阅读,更多相关《二维方位检测器的设计.docx(54页珍藏版)》请在冰豆网上搜索。
二维方位检测器的设计
摘要:
在科技日益发展的今天,数字技术以自己独特的优势,在各个领域都占有一席之地。
如雷达、通信,而方位检测技术正是这些领域中的基础。
在已知目标信号在二维平面中横纵坐标的情况下,如何能够迅速的检测出目标的方位角,这就是方位检测技术所要解决的主要问题,因此,设计出数字系统的二维方位检测器是十分有意义的。
本文阐述了二维方位检测器的工作原理,提出了利用现场可编辑逻辑门阵列实现二维方位检测器的一种具体可行方法。
目标信号通过所设计的二维方位检测器后可以快速地检测出其方位角。
其测量精度可达0.02º。
同时介绍了一种验证二维方位检测器的方法,使用这种验证方法可以简单的判断所设计的二维方位检测器是否达到系统要求。
并简要地介绍了数字系统设计的一般过程及常用软件QuartusII,MATLAB的基础知识。
关键词:
现场可编程门阵列,二维方位检测器,方位角,
Abstract:
Todayitdevelopsincreasinglyinscienceandtechnology.Numericaltechniqueoccupiesaplaceateachrealmbecauseofitsspecialadvantage。
suchastherader,correspondence.butthetechniqueofdirectionsexaminationisexactlythatwehavealreadyknowthetargetsignal,whichsitsontheobjectincross-Islandhighwaysoftwoflatsurface,howtoexamineanazimuthangleofthetargetquickly,isthekeyproblemthatthetechniqueofdirectionexaminationwantstoresolve.Therefore,itisverymeaningfulltodesignthetwodirectionsdetectorsofanumericalsystem.Thistextelaboratestheworkprincipleofthetwodirectionsdetector.Italsoputsforwarda具体可行methodtocarryoutthetwodirectionsdetectorbymakinguseofFPGA.Whenthetargetsignalpasses,thedesigedtwo维directionsdetectorcanexamineitsazimuthanglequickly.Itsmeasuringaccuracycanreachtoa0.02º.Moreover,itintroducesakindofmethodwhichverifiestwo维directionsdetectorsinthemeantime.Wecanjudgewhetherthedesignedtwo维directionsdetectorattainstherequestofthesystemornotinbriefbyusingthiskindofverificationmethod.Atlast,thetextintroducedthegeneralprocessofdesigninganumericalsystemandthefoundationknowledgesoftheconventionalsoftwaresQuartusIIandMATLAB.
Keywords:
FPGA,azimuthangle
1引言
随着大规模集成电路和电子计算机的迅速发展,电子电路设计方法发生了重大改革,电子设计自动化(EDA)技术改变了以定量估算和电路实验为基础的传统设计方法。
EDA仿真技术为电路设计者提供了全功能、全频带的分析仪器平台,可以方便地实现系统结构或电路特性的模拟以及参数化设计。
利用现场可编辑门阵列(FPGA)设计数字系统,可以方便地设计出符合系统要求的电子电路。
在二维平面中,已知目标位置的横坐标和纵坐标,就可以通过数学运算求出就目标位置的方位角。
而方位检测技术正可以将这一过程自动化,利用方位检测系统,可以自动、迅速地得出目标位置的方位角。
因此,方位检测技术广泛应用与军事、生活、生产、科研等领域。
在雷达、卫星定位系统用,测量出目标方位,才能给予精确打击;在测量某做圆周运动物体角速度时候,在一个转动周期内二次测定某一点的具体方位角,同时计算出二次测量的时间差,就可以通过简单的数学运算求出此物体的角速度。
本文阐述了数字系统设计的一般过程,介绍了利用FPGA实现二维方位检测器的设计的一种可行方法,利用EDA仿真技术对所设计的二维方位检测器进行了模拟仿真,并对所设计的二维方位检测器做了验证。
2数字系统设计
2.1FPGA的优势
高集成度、高速和可靠是FPGA最明显的特点,其时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。
在高可靠应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和PC可以跑飞等问题。
FPGA的高可靠性还表现在,几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大小缩小了体积,易于管理和屏蔽。
由于FPGA的集成规模非常大,可利用先进的EDA工具进行电子系统设计和产品开发。
由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用器件的硬件结构没有关系,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号和规模的FPGA中,从而使产品设计效率大幅度提高。
可以在很短时间内完成十分复杂的系统设计,这正是产品快速进入市场最宝贵的特征。
美国TI认为一个ASIC80%的功能可用IP核等现成逻辑合成。
而未来大系统的FPGA设计仅仅是各类再应用逻辑与IP核的拼装,其设计周期将更短。
与ASIC设计相比,FPGA显著的优势是开发周期短,投资风险小,产品上市速度快,市场适应能用强和硬件升级回旋余地大,而且当产品定型和产量扩大后,可将在生产中达到充分检验的VHDL设计迅速实现ASIC投产。
2.2数字系统设计的一般过程
数字系统一般专指时序系统,它是在时序电路的基础上发展起来的。
之所以将其称为系统而不叫做电路,主要是因为它完成的功能已经远远超过一般的数字,结构比通常电路复杂得多。
数字系统设计内容涉及数字电路、计算机、电子设计自动化、数学等众多科学领域,本节简要介绍了数字系统设计的一般流程。
当前,数字系统普遍采用自顶向下(top-down)的设计方法。
这里的“顶”指系统功能,“向下”就是指将系统由大到小逐步进行分解,直至可以用基本模块实现。
采用自顶向下的方法设计数字系统的一般过程大致上可以分为三个步骤,即方案设计、划分模块和系统的物理实现。
2.2.1 方案设计
所谓方案设计,就是根据设计要求,包括功能要求和性能指标要求,确定待设计系统的总体方案。
方案设计是数字系统设计中最重要的一个环节,一般而言,同一功能的系统往往有多种工作原因和实现方法可供选择,不同的系统方案可能会有不同的系统质量及性能价格比。
因此,必须首先对各种可能方案的实现成本和性能进行综合比较,然后确定出既满足系统功能和性能指标要求、性能比又较高的总体方案。
2.2.2 划分模块
采用自顶向下的设计方法,将整个系统由上到下进行分解成基本模块的方法,是当前数字系统设计中普遍采用的方法。
系统的每个模块都有自己的独立功能,而将各个模块连接起来,就可以实现系统的要求。
2.2.3系统的物理实现
当前,数字系统主要由两类逻辑器件实现,其中一类为可编程逻辑器件(PLD),另一类为标准SIM器件。
由于这两类器件的特点不同,因此,系统物理实现的方法、过程也不一样,这里主要介绍前一类器件的物理实现。
由于PLD本身并不具备特定的功能,可以根据需要灵活地将其编程为所需要的任何芯片,因此,系统结构框图中需要什么功能的模块,便可将PLD设计为什么模块。
从这个意义上说,使用PLD实现数字系统最为方便。
用PLD实现数字系统,与用PLD实现数字电路的过程相同,就是首先编写数字系统的VHDL源程序,然后用EDA软件进行编译,仿真,通过后再将编程数据下载到PLD器件中,最后进行功能测试,测试成功后,系统设计便告结束。
编写数字系统源程序时,也是按照模块化的方式进行的。
数字系统中的每一个模块对应一个实体,系统的整体功能用另一个包括各个模块间连接关系的顶层实体来描述。
在设计各个模块时,可以对各个模块进行独立仿真,以检验所编写的程序是否达到各个模块的具体要求。
最后对整个系统进行仿真,检验整个系统的可行性。
2.3QuartusII基础知识
Altera公司在推出各种系列的可编程逻辑器件的同时,也在不断地升其相应的开发软件,QuartusII就是Altera公司推出的新一代的可编程逻辑器件开发软件,与原先的MAX+PLUSII相比,它具有更强大的功能,能够适应更大规模、更复杂可编程逻辑器件的开发。
QuartusII主要有以下几个基本特点:
(1)支持多平台工作。
(2)提供与器件结构无关的设计环境。
(3)完全集成化。
(4)具有开放的界面。
(5)支持硬件描述语言。
(6)具有丰富的设计库。
(7)提供强大的在线帮助。
2.3.1.QuartusII软件的使用
在QuartusII集成开发环境中进行可编程ASIC设计的基本流程包括设计输入、设计编译、设计校验(时序分析、仿真)和器件编辑四个部分。
一、设计输入:
设计输入的主要过程是
(1)创建设计项目
“项目(Project)”就是一个设计的总和,它包含了与设计相关的所有文件,如设计文件、仿真波形文件、配置文件、报告文件、编程文件等。
QuartusII的设计编译和设计校验都需要在项目中进行,所以必须为所要进行的设计创建一个项目。
(2)建立设计文件
QuartusII支持三种设计方式:
原理图输入、HDL输入、网表输入,用户既可以用QuartusII自身的设计输入工具,包括模块编辑器(BlockEditor)、文本编辑器(TextEditor)和MegaWizardPlug-InManager,也可以利用其它的设计输入/综合工具来建立设计文件。
设计输入的方法不同,生成的设计文件类型也有所不同。
另外,QuartusII还支持层次化的设计方法,用户可将一个完整的设计逐层分解成规模越来越小的子设计单元,第个设计单元用一个设计文件来描述,而技术整个设计的文件一般称为顶层设计文件,用QuartusII进行层次化设计时,每个设计文件的设计输入方式都可以有多种选择,如原理输入、HDL输入或网表输入。
二、设计编译
设计编译就是将输入的设计文件转化成器件编程、设计校验所需要的数据文件,这个过程主要由QuartusII软件的核心—编译器(compiler)自动完成,用户也可以通过设置编译器的一些选项,对编译结果进行引导。
一个完整的设计编译过程主要有7个阶段,每个阶段由QuartusII编译器的一个工具模块来完成。
三、时序分析
在QuartusII软件中,时序分析器(TimingAnalyzer)会在完全编译(选择Processing|StartCompilation命令)之后自动运行,也可以选择Processing|Start|StartTimmingAnalysis命令,启动时序分析。
在时序分析完成之后,用户可以在编译报告的TimmingAnalysis目录下看到时序分析结果。
QuartusII的时钟分析结果主要包括以下几项内容:
(1)最高时钟工作频率,分为内部工作频率(不包括引脚上的输入输出时延)和系统工作频率(包括引脚上的输入输出时延)。
(2)寄存器到寄存器的时延。
(3)建立时间。
(4)保持时间。
(5)时钟到输出的时延。
(6)引脚到引脚的时延。
四、仿真
以下是对设计项目进行仿真的基本步聚。
(1)建立向量波形文件(.vwf)
(2)设置仿真器
QuartusII会自动将编译器当的编译对象作为仿真器当前的仿真对象,并为其创建一套与仿真对象同名的仿真设置。
用户也可以创建自己的仿真设置,以后再仿真时可以直接调用。
设置仿真的方法是,选择Assignments|Setting命令,打开Settings窗口,在Category栏的SimulatorSettings选择要设置的内容。
在出现在Settings窗口右侧的对话框中进行设置。
(3)运行仿真器
选择Processing|RunSimulation命令运行仿真器。
在仿真器运行过程中,如果选择Processing|StopProcessing命令,可以使仿真器终止工作。
(4)查看仿真结果
仿真结束后,仿真器产生一个仿真报告(SimulationReprot),单击住址报告列表中的SimulationWaveforms,可以在右侧看到仿真结果。
选择Processing|SimulationReport命令,可以打开最近一次的仿真报告。
五、器件编程
器件编程就是利用QuartusII的编程器(Programmer)工具模块和编程硬件(如MasterBlaster下载电缆、ByteBlasterMV下载电缆等),将编译器产生的编程文件下载到可编程逻辑器件中去。
其本操作如下:
(1)用下载电缆将计算机与目标器件的编程接口连接起来,打开电源。
(2)打用Programmer窗口,有两种方法:
其一,选择Tools|Programmer命令;其二,选择File|New命令,在New对话框的OtherFiles栏中选择ChainDescriptionFile,然后单击OK按钮。
(3)设置编程硬件。
在ProgammingHardware框中单击Setup按钮,弹出HardwareSetup对话框,在HardwareSettings对话框中设置下载电缆的类型、计算机的下载接口和下载速率;单击Close按钮,关闭ProgrammingHardwareSetup对话框。
(4)在Mode框中选择下载模式,如JTAG模式。
(5)单击AddFile或AddDevice按钮,添加编程文件或目标器件。
(6)选择File|SaveAs命令,将以上的设置保存到一个ChinaDescripitionFile(*.cdf)中,以后再进行同样方式的编程时,直接打开这个文件即可。
(7)单击Start按钮,开始编程。
2.4MATLAB软件的特点
随着现代系统的大规模发展趋势,所需的数学运算日益复杂,特别是对于矩阵运算的要求逐渐增多,这些工作已经难以手工完成,因此,随着科学技术的前进以及计算机技术的日益完善,一些便于实现仿真应用软件逐步在科学领域占了重要的地位。
住址软件不同于编程软件,作为一种分析工具,它们在人机交互式方面有着极大的优越性,人们可以不必对编程所用的语言下很大的工夫去学习它,从而可以节省大量的时间用于科学研究,提高了工作进程和效率。
MATLAB软件包最高由美国Matwork公司于1967年推出,是“MatrixLaboratory”的缩写,早期是为了实现一些矩阵运算,而随着这种软件的逐步发展,它以计算机绘图功能强大的优势逐渐渗入到了各个工程领域,比如数学、物理、力学、信号分析以及数字信号处理等。
目前该软件已经发展到了MATLAB7.0版本。
MATLAB大大降低了对于使用者数学基础和计算机语言知识方面的要求,而且编程效率较高,还可以直接在计算机上输出结果和精美图形。
2.4.1MATLAB语言概述
一、MATLAB语言的特点
(1)编程效率高
MATLAB允许数学形式的语言来编写程序。
这种语言和其它的诸如C、Fortran等语言相比,其语言格式更接近于我们平时的书写习惯,因此,MATLAB又被物为纸式算法言。
由于编写程序简单,因此编程效率高,易学易懂。
另外,在MATLAB中还可以调用C和Fortran子程序,而且调用格式非常简单。
(2)采用交互式人机蜀面,用户使用方便
MATLAB语言为解释型操作,人们可以在每条指令之后马上得到该指令执行结果,同时在执行的过程中如发现指令有错,在屏幕上马上会出现提示。
该语言提供了丰富的在线帮助功能,想了解指令或操作的格式、功能等,只要在窗口输入‘help指令’,该指令的格式、功能马上在屏幕上显示出来。
(3)语言简单,涵盖丰富
MATLAB语言中有丰富的库函数功能,这些函数功能和C语言中函数功能一样使用方便,而且在MATLAB的函数调用起来更要方便、直接接近于生活语言。
这些函数包括常用的数学计算、绘图及一些扩展工具箱。
(4)具有多个功能强大的应用工具箱
MATLAB中包括了一些扩展的函数功能,一般称为工具箱,这些工具箱实际上是一些功能函数集,每一个工具箱适用于各自不同的科学分析领域。
现在MATLAB中已经有系统分析、信号处理、图像处理、DSP等多个工具箱,而且MATLAB所包括的工具箱还在不断地被扩展。
(5)方便的计算和绘图功能
MATLAB中的很多运算符不仅可以用于数值计算,而且很多运算符只要增加一个“·”就可以用于矩阵运算,另外,在MATLAB中还给出了适用于不同领域的特殊函数,使用一些诸如卷积的复杂运算也可以很方便地得到解决。
MATLAB的绘图功能函数十分丰富,用适用于不同坐标系的绘图语句,还可以方便地在所绘图形上标注横纵坐标变量、图形名称等。
另外,在调用绘图语句时,只需改变函数变量,就可以绘出不同颜色、不同风格的线或图。
2.5硬件描述语言VDHL
VHDL的英文全名是VHSIC(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage),于1983年由美国国防部发起创建,由IEEE(TheInstituteofElectricalandElectronicsEngineers)进一步发展,工在1987年作为“IEEE标准1076”发布。
从此VHDL成为硬件描述语言的业界标准之一。
VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。
VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的行为描述和系统描述能力,并在语言易读性和层次化结构设计方面,表现了强大的生命力和应用潜力。
因此,VHDL在支持各种模式的设计方法、向顶向下与自底向上或混合方法方面,在面对当今许多电子产品生命周期的缩短,需要多次重新设计以融入最新技术,改变工艺等方面表现了良好的适应性。
用VDHL进行电子系统设计的一个很大的优点是设计者可以专心致力其功能的实现,而不需要对不影响功能的工艺有关的因素花费过多的时间和精力。
3二维方位检测器的设计与FPGA的实现
3.1二维方位检测器的设计理论
二维方位检测器的主要功能是在二维平面内确定目标位置的方位角。
已知目标位置的坐标值(x,y)的情况下。
要求得目标位置与横坐标的夹角,即方位角,可以通过简单的数学表达式。
θ=arctan(y/x)(-π/2<θ<π/2)(3-1)
然而,上述表达式只式用于二维平面的右半个平面,而当目标位置处于左半个平面时,就不能简单的通过上述表达式得出正确的θ值,而要通过y和x的符号来加以判断θ的正确值,换名话说,就是确定目标位置在二维平面中所处的象限。
考虑到在区间(0,π/2)存在以下关系。
arctan(y/x)=π/2-arctan(x/y)(0<θ<π/2)(3-2)
设在二维平面内有一点p属于区间(π/4,π/2),且存在Px=a,Py=b。
同时a
其它象限可以参照类似方法由arctan(min/max)求出。
(min,max分别值绝对值较小、较大)。
因此,只要求得区间(0,π/4)的arctanθ值,就可以得到整个二维平面的arctanθ值,为了便于检测器的设计,可以通过一个(0,π/4)的反正切rom表求得角度θ,加以角度修正来得出目标位置正确的方位值。
将360º的二维平面等分成8个区域(如图3.1),每个区域45º,这们只要用3位的二进制数就可以把这八个区域表示出来。
输入的信号为(I,Q),设他们皆为有符号二进制数据,其中最高位表示为符号位。
那么确定I、Q的最高位,就可以确定目标信号在二维平面所处的象限,具体见表3.1:
y
ⅢⅡ
45~90
ⅣⅠ
0~45
x
ⅤⅧ
ⅥⅦ
图3.1将二维平面等分成八个区域
I值
正
负
负
正
Q值
正
正
负
负
确定象限
第一象限
第二象限
第三象限
第四象限
表3.1由I、Q最高位确定四个象限
去除I、Q最高位后,将I,Q的数据类型改为无符号数据。
因为计算机表达带符号位二进制数时通常使用补码,因此对于正数,只需将最高位去除,就可以得出其绝对值,而对于负数,应将二进制数据先加1后取反,方可得出其绝对值。
将I、Q的绝对值进行大小比较。
得出二种结果即IQ(I=Q的情况下刚好在45º、135º、225º和315º,这里可以不做考虑),这个种结果在二维平面的八个区域里有如表3.2对应关系。
区域
I
II
III
IV
V
VI
VII
VIII
I、Q比较
I>Q
I I I>Q I>Q I I I>Q 表3.2I、Q大小比较与区域对应关系 设输入信号是I,Q为正时用“0”表示,I,Q为负时用“1”表示,取绝对值后的I、Q大小关系存在I>Q时用“1”表示,存在I>Q时用“0”表示。 这样用一个三位的二进制数,第一位表示I的正负,第二位表示Q的正负,最低位表示I,Q之间的大小关系。 这样就可以将目标信号在二维平面中所处的区域和用三位的二进制数据表示出来,具体关系如表3.3。 区域 I II III IV V VI VII VIII 二进制数 001 000 100 101 111 110 010 011 表3.3用三位二进制数据表示八个区域 因为所设计的ROM表只能查找0-45º范围内的角度值,因此必须通过角度修才能得目标信号的方位值。 设从ROM表中输出的角度值为Θ,而目标信号的实际角度值为θ。 从图3.1中可以简单的得出Θ值与θ值和区域之间的关系,如表3.4: 区域 I II III IV V VI VII VIII θ(ROM表中输出的值为Θ) θ=Θ θ=π/2-Θ θ=π/2+Θ θ=π-Θ θ=π+Θ θ=3π/2-Θ θ=3π/2+Θ θ=2π-Θ 表3.4θ、Θ值和区域之间的关系 从理论上讲,上述方案是设计二维方位检测器的一种可行方案,这种方案
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二维 方位 检测器 设计