基于 FPGA 的相控阵天线波束控制器设计

2023-10-09 05:59

本文主要是介绍基于 FPGA 的相控阵天线波束控制器设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘 要:相控阵天线的电扫描特性使其具有扫描灵活、指向精确、可靠性高和抗干扰能力强等特点。 波束控制 技术作为相控阵天线的关键技术之一,直接影响系统效能的发挥。 多波束相控阵天线支持跳波束通信模式,对波束 的快速切换提出了更高的要求。 针对波束扫描快速响应需求,对常规波束控制算法进行分解和优化,提出了一种基 于现场可编程门阵列(FPGA)的移相码快速计算方法,采用 cordic IP 核计算公共因子三角函数值、乘法器 IP 核做有 符号小数乘法运算、查表赋值法进行小数乘加运算、分区比较法对数据进行归一化处理和除法计算,每个单元移相 码计算时间仅 3 个时钟周期。 满阵 256 单元计算时间约 26 us,通过仿真表明,该算法可以快速而准确的计算出天 线单元所需的移相码,实现波束扫描快速响应性能。

关键词:相控阵天线;波束控制;cordic;FPGA

引言

相控阵天线是由许多辐射单元排成阵列形式构 成的天线,利用计算及控制移相器改变天线孔径上 的相位分布来实现波束在空间扫描[1] ,具有无物理 运动的转向、高的二维扫描灵活性以及极准确的波 束指向、可靠性高、抗干扰能力强等特点[2] 。 相控阵 技术目前已广泛应用于搜索、火控、制导等各种战术 雷达和着陆、气象等民用雷达、通信卫星、电子对抗 等领域[3-5] 。 在相控阵天线中,波束控制技术作为关键技术 之一,直接影响系统效能的发挥[6] ,尤其是支持跳波 束多区域时分通信模式[7] 的多波束相控阵天线,一 次波束驻留时间最小 50 us, 即要求波束控制器 在 50 us 内完成 256 单元移相码计算和将移相码送 到对应的移相器上。 波束控制器性能好坏直接影响 整个相控阵系统的整体性能和技术指标。 256 单元阵面规模决定了移相码计算方法需使 用集中式运算法。 集中式运算法多采用查表预处理 法和软件计算法[8] 。 查表法将每个波位下所有移相 码存于存储器中,工作时通过查表方式得到移相 码[9] 。 由于资源需求较大,存储器需选用大容量 NAND FLASH 作 为 外 部 存 储 器[10] 。 可 选 用 的 NAND FLASH 在读取数据时等待时间一般为 25 us30 us,甚至更高。 将移相码送到对应移相器上需要 20 us 时间。 在 50 us 内可用于从外部存储器读取数 据的时间很短,甚至没有读取数据时间。 软件计算 法由 DSP 或单片机等计算移相码,然后传送至 FPGA,FPGA 将移相码送到对应的移相器。 以运算速 度较快的 DSP 为例,DSP 计算 256 单元移相码时间 需要 10 ms 左右(频率 120 MHz),仅计算时间就是 波束驻留时间的 200 倍。 本文针对移相码快速计算问题,提出了一种基 于 FPGA 的实时计算方法[11] ,该方法通过对算法进 行分解和优化,只需要 3 个时钟周期即可计算出一 个单元的移相码,满阵 256 单元计算时间约为 26 us (时钟 30 MHz)。 仿真结果表明,该方法计算速度 快,实现了波束扫描快速响应性能。

1 、相控阵天线原理及算法

相控阵天线是由大量的辐射单元组成的阵列 (正方形、三角形、稀疏矩阵等),辐射单元几百、几 千,甚至上万[12] ,辐射单元由数字移相器控制,工作时通过根据指向角度计算并配置相应的移相码,达 到控制天线指向的目的[13] 。 如图 1 所示,设定天线共有 m∗n 个天线单元, 单元间距分别为 dx 和 dy,λ 为波长,θ 和 φ 分别为 对应目标的俯仰角和方位角,m 代表列,n 代表行。

 

计算结果与初始校正值累加,得到最终的移相 码。 移相码计算有 sinθ、cosφ、sinφ 正余弦求解、有 小数加减法和乘除法计算、归一化处理,算法比较复 杂。 对于不同的方位角、俯仰角,计算出辐射单元移 相码,并将移相码送到移相器中,才能保证相控阵雷 达的灵活性和多样性,快速准确计算移相码是波束 控制器的难点。

2、 波束控制器系统设计

为了快速而准确计算移相码,设计了以 FPGA 为核心的波束控制器,FPGA 进行算法运算和时序 控制[14] ,省去 DSP 处理芯片,简化了硬件电路设计。 组成框图如图 2 所示 :

波束控制器从数管计算机通过 RS422 串口接收 到控制命令后,根据输入角度计算出相对应的移相 码,同时从外部存储器中读出相位校正值,将两者相 加并发送给移相器,移相器在控制信号的作用下,偏 移到指定相位,从而达到改变波束的目的。 波束控制器硬件电路主要包括 FPGA、电源管 理、接口驱动电路、存储器、时钟电路。 各部分电路 作用如下:

1)FPGA 为核心器件,负责接收并解析数管计 算机发送的控制指令、管理外部存储器单元、计算移 相码、给组件发送移相码等控制指令;

2)接口驱动电路实现信号的电平转换和隔离;

3)时钟电路为 FPGA 提供所需时钟信号; 4)存储器中存储相控阵天线初始相位校正值。 

3 、FPGA 算法实现

3. 1 软件算法流程

为满足快速计算需求,本设计对算法进行分解 优化,采取面积换速度的思想,每一步设计都采用时 间需求最小的设计方法,计算流程图如图 3 所示。 首先,需要求解出公共因子三角函数值,并进行三角 函数值乘法运算。 本设计采用 cordic IP 核计算三角 函数值[15] ,需要 1 个时钟周期,然后对数据进行锁 存,需要 1 个时钟周期,三角函数乘法运算需要 1 个 时钟周期,共 3 个时钟周期。 完成三角函数值乘法 运算后,需要分别计算每个单元的移相码,该计算过 程包含 3 个步骤,分别是小数乘加运算、归一化处理 和除法计算,每个步骤只需要 1 个时钟周期即可完 成。 因此,仅需要 3 个时钟周期即可完成一个单元 的移相码计算。 根据本设计方案,全部的计算过程共计需要 3 个时钟周期完成公共因子三角函数值计算和三角函数值乘法运算,需要 256 × 3 个时钟周期完成全部 256 个单元的移相码计算,总计需要 3+256×3 = 771 个时钟周期。 在本设计中采用 30 MHz 系统时钟, 771 个时钟周期所占时间为 771÷30 = 25. 7 us。 计算流程图如下:

(1)三角函数值计算 当 FPGA 接收到指向角输入时,先进行指向角 的三角函数 运 算。 三 角 函 数 运 算 采 用 FPGA 的 cordic IP 核进行计算,1 个时钟周期就可得出三角函 数值。

(2)三角函数值乘法 得到三角函数值后,进行 sinθ 与 cosφ,sinθ 与 sinφ 乘积运算。 采用乘法器核进行有符号小数乘法 运算。

(3)小数乘加运算 接下来按照公式(1) 进行移相码计算,公式可 拆分成 :

个数据乘除法,用 FPGA 实时计算起来要耗费多个 乘法器资源和多个时钟周期,本设计采用查表赋值 方法,事先计算出 256 单元的 360 λ dx(m - 8. 5) 、 360 λ dy(n - 8. 5) 值,存储在 FPGA 中,在计算时,三 角函数乘积作为乘法器的一个输入端,将事先计算好 的系数作为乘法器的另一个输入赋给乘法器,这样每 计算一次进行一次系数赋值,仅需 2 个乘法器、一个 加法器和 1 个时钟周期即可得出所需要的数据。

(4)归一化处理 计算的结果要归一化到 0-360 之间。 如计算结 果为正数,与 360 比较,大于 360,则减去 360,继续 与 360 进行比较,直到数据在 0-360 之间;如计算结 果为负数,则加上 360,比较数据是否在 0-360 之间, 不在,则继续加 360,直到数据在 0-360 之间。 采取 传统的比较、加减循环操作,将数据归一化到 0-360 之间,每次数据归一化时间不定。 如遇到一个很大 的数,要多个时钟周期才能完成归一化。 例如计算 结果为 3500,则需要 9 次比较和减法才能完成数据 归一化。 按平均 1 个数据 9 个周期计算,系统时钟 30 MHz,仅归一化 256 个数据就需要 76. 7 us。 为避 免多次比较和加减运算,本设计采用分区比较方法, 以 360 为一个区间大小,以 360 的整数倍值作为区 间边界,划分多个数据区间,数据分区包含所有可能 计算出来的数据。 将计算出来的数据与数据分区边 界值进行比较,如果计算出来的数据为负值,加上左 边界值的绝对值;如果为正值,则减去左边界值,加 或减后的数据就在 0-360 之间。 与数据分区左边界 值绝对值相加或左边界值相减,相当于进行了多次 比较和加减,所以无论数据多大,都只需要 1 次比较 和加减即可完成归一化处理。 例如对于特定的天 线,公式(1)中的参数都是已知的,根据这些参数可 以估算出由公式(1) 计算的结果最大值和最小值。 假设估算出最大值为 5330,最小值为-5330。 我们 将数据分成[ -5400,-5040)、[ -5040,-4680)、…、 [-3600, - 3240)、 … [ - 360,0)、 [0,360)、 [360, 720)、…、[3240,3600)、…、[4680,5040) 、[5040, 5400]等数据分区,这些数据区间大小都是 360,区 间边界值是 360 的 - 15、 - 14、 - 13、 …、 - 10、 - 9、 …、-1、0、1、2、…、9、10、…、13、14、15 倍。 同样计算 结 果 是 3500, 将 3500 与 区 间 边 界 - 5400、 - 5040、-4680、…、3240、3600、…、4680、5040、5400 等 比较,3500 大于 3240, 小于 3600, 3500 在 [ 3240, 3600)数据区间内,3500 为正值,用 3500 减去数据 区间的左边界值 3240,就相当于做了 9 次与 360 的 比较和减法,比较和减法在 FPGA 内只需要 1 个时 钟周期就能实现,即 1 个时钟周期得出归一化结果 为 260。 同样系统时钟30MHz,归一化256 个数据只 需要 8. 533 us。

(5)除法计算除法计算是归一化的数据除以相 移 5. 625,然后四舍五入得出相位数据,传统的移位 比较减方法,算出一个数据需要多个时钟周期。 本 设计依然采用分区比较的方法,将归一化的数据与 事先计算好的数据区间进行比较,一个时钟周期即 可得出移相码。 如计算结果为 260,比较数据在 261. 5625 与 267. 1875 之间,得出移相码为 101111。 为方便运算和保证精度需求,本设计中小数运 算采用扩大为整数的方式[16] ,扩大倍数取决于所需 要的计算精度。 3. 2 仿真结果

MATLAB 计算值如图 4 所示,其中 Theta 为 8 度 俯仰角,Phi 为 44. 8 度方位角,Freq 为 29. 7 GHz 频 率,A 为输出的移相码。

ISE 软件仿真结果如图 5 所示,激励文件中 phase_inthe 代表 theta,phase_inphi 代表 phi,单位均 为弧度。 输入角度采用 16 位表示,为定点补码 2QN 格式,0X0478 转换成二进制“0000010001111000”, 按照 IP 核定义相当于 000. 0010001111000,小数后 第三位为 1,代表 2 -3 ,以此类推,所有为 1 的位代表 的值之和,就是所表示的值,即 2 -3 +2 -7 +2 -8 +2 -9 + 2 -10 之和为 0. 1396484375 弧度,转换成角度是 8 度, 同理 0X1900 转换成角度是 44. 8 度。 29. 7GHz 频率 体现在查找表里。 通过图 4 和图 5 进行比较,FPGA 计算出来的值与 MATLAB 计算出来的值是相同的。 由此可见,此方案计算出了正确的移相码。 从图 5 中可以看出,在复位后,经过 3 个时钟周期的三角函 数求解和乘积运算后,再经过 3 个时钟周期计算,共计 6 个周期后得出第一个移相码 54。 其后每经过 3 个周期,依次计算出移相码 63、7、15、24 等,每个移 相码计算周期仅需要 3 个时钟周期,完全满足快速 计算需求。

4 、结束语

波束扫描响应时间是相控阵天线的重要性能指 标,相控阵各种先进的工作方式对波束扫描的响应 时间提出了越来越高的要求。 采用本方案设计的波 束控制器,硬件电路简单,软件上对算法进行分解和 优化,计算一个单元移相码只需要 3 个时钟周期,满 阵 256 单元移相码计算时间缩短至 26 us(时钟 30 MHz),具有非常短的波束响应时间,提高了波束扫 描的速度和灵活性。

这篇关于基于 FPGA 的相控阵天线波束控制器设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

单片机毕业设计基于单片机的智能门禁系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍程序代码部分参考 设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不

创业者该如何设计公司的股权架构

本文来自七八点联合IT橘子和车库咖啡的一系列关于设计公司股权结构的讲座。 主讲人何德文: 在公司发展的不同阶段,创业者都会面临公司股权架构设计问题: 1.合伙人合伙创业第一天,就会面临股权架构设计问题(合伙人股权设计); 2.公司早期要引入天使资金,会面临股权架构设计问题(天使融资); 3.公司有三五十号人,要激励中层管理与重要技术人员和公司长期走下去,会面临股权架构设计问题(员工股权激

分布式文件系统设计

分布式文件系统是分布式领域的一个基础应用,其中最著名的毫无疑问是 HDFS/GFS。如今该领域已经趋向于成熟,但了解它的设计要点和思想,对我们将来面临类似场景 / 问题时,具有借鉴意义。并且,分布式文件系统并非只有 HDFS/GFS 这一种形态,在它之外,还有其他形态各异、各有千秋的产品形态,对它们的了解,也对扩展我们的视野有所俾益。本文试图分析和思考,在分布式文件系统领域,我们要解决哪些问题、有

(入门篇)JavaScript 网页设计案例浅析-简单的交互式图片轮播

网页设计已经成为了每个前端开发者的必备技能,而 JavaScript 作为前端三大基础之一,更是为网页赋予了互动性和动态效果。本篇文章将通过一个简单的 JavaScript 案例,带你了解网页设计中的一些常见技巧和技术原理。今天就说一说一个常见的图片轮播效果。相信大家在各类电商网站、个人博客或者展示页面中,都看到过这种轮播图。它的核心功能是展示多张图片,并且用户可以通过点击按钮,左右切换图片。