




已阅读5页,还剩57页未读, 继续免费阅读
(通信与信息系统专业论文)认知无线电频谱感知功能的fpga实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本文主要研究了认知无线电频谱感知功能的关键技术以及硬件实现方法。首 先,提出了认知无线电频谱感知功能的硬件实现框图,包括射频前端部分和数字 信号处理部分,接着简单介绍了射频前端电路的功能与特性,最后重点介绍了数 字信号处理部分的f p g a 实现与验证过程。 数字处理部分主要实现宽带信号的短时傅立叶分析,将中频宽带数字信号通 过基于多相滤波器组的下变频模块,实现并行多通道的数字下变频,然后对每个 信道进行重叠加窗处理,最后再做快速傅立叶分析( f f d ,从而得到信号的时频关 系。整个系统主要包括;延时抽取模块、多相滤波器模块、3 2 点开关式流水线f f t 模块、滑动窗缓冲区、2 5 6 点流水线f f t 模块等。 本设计采用v c 棚o gh d l 硬件描述语言进行设计,基于) ( i l i 舣公司的r 缸_ 4 x c 4 v s x 3 5 芯片。整个系统采用全同步设计,可稳定工作于2 0 0 m h z ,其分析带宽 高达6 5 m h z ,具有很高的使用价值。 关键词:认知无线电多相滤波器组数字下变频快速傅立叶分析现场可编程逻 辑门阵列 a b s t r 翟l c t k c yt e c :h n 0 1 0 9 i 嚣a n dah a r d w a i 功叫锄e n t a t i o fs p 仉ms 趾s i n g 璐c di n c o g n j d v cr a d i o ( c r ) s y s t c m 躺呻c n t e di n t h i sp a p f 砌y ,也eh a r d w 躺 i m p l 锄t a t i 删做柚o fm es p 咖ms e 珊i n g 缸c t i o no fc ri sp r o p o s e d i n d u d i n gt h el 谭丘伽t - dm o d l l l ea n dd i 舀t a ls i 弘a 1p r o c 髂s i n gm o d u l e s e c 0 删y ,a l l t h ea m n p _ c s f i l n c t i o 越锄dc h 撇c c c r i s t i 璐o ft h er f 丘d n t - e n dm o d u l ea 北h o m y i n 订o d u c o d f i n a l l y ,也eh a r d w a mi m p l e m 锄妇d o na n dv e r i 丘训o np r o s s 嚣b 鹊e do n f p g a 鲫:p 始s e n t e di nd e t a i l d i 垂t a ls i 弘a lp r o c e s s i n gm o d u l ea i m st oo b t a i n1 h es h o m t i m ef o u r i e rt r 姐s f o m ( s t f do fb r o a d - b a n ds i 印a l s n 蹴sab r o a 曲翘di n t 锄o d i a t c 丘明u 趾c ys i 弘a lt oa d i 萄t a ld o w nc o n v e f t l o rw h i c hi sb 勰e do nap o l y 龟h 勰e6 1 t e rb a n k a n dt h e 玛d a t a 触m 铺o f c hb 勰曲a n dc h 籼c la f eo v 盯l a p p c d 粗dw i i l d o w e d a tl 勰t t h e t i m e - 她d - s p e c 劬l mr e l a t i o n s h i po ft h es i g n a li sd i s p l a y e d 、,i af 部tf o u r i e r1 h n s f o m 伊f t ) a n a l y s i s 1 1 l ew h o l es y s t e mi s 湖p o s e do f d c l a y - d e c i m a t i o nm o d u l e ,p l o y _ p h 硒e f i l t c rm o d u l e ,3 2 学i n tp i p d i n i l l gf f tm o d u l e s l i d i i l gd a 忸b u f 触,2 5 6 掣i n t p i p e h n i l l gf f tm o d l l l e 柚ds 0f o l 恤 蹦sd e s 啦i sb u i l to n r t 既_ 4x c 4 v s x 3 5f p g ao f 恤x i l l l ) 【c o r pu s i n g h 羽w a r e d e s c r i p t i v e1 弛g l l a g ec a l l c dv 舐l o gh d l as y n c h r o u sm e i h o di sa d o p t c di nt h e w h o l es y s t 锄,s ot h a tm es y s t e m 伽n l ns t e a d i l y 瑚d e r2 0 0 m h zc l o c k i t sa n a l y s i s s p e c 虮匝b 牡d 、) l r i d l hi su pt o6 5 m h z ,w b j c hi sp r o v c do ft h eh i 曲v a l u ei np r a c t i c a l a _ p p l i 硎o n s k e y w o r d :c o g n i t v er a m op o l y - 肌a f i l 怔rb a n kd i g i t a id o w nc o n v e n o r n f p g a 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导 师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注 和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果: 也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材 料与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明 并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:立查j 茎 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留 送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容, 可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合 学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:虚圭j 主 导师签名: 日期翌! 墅! :塑 第一章绪论 第一章绪论 1 1 研究概况与背景 众所周知,无线电频谱是宝贵的不可再生资源。随着无线通信的发展,新的 通信制式层出不穷,频谱资源贫乏的问题日益严重,尤其是在频率需求非常紧张 的3 0 m 3 g h z 频段中。然而,在目前的频谱授权分配的体制下,某频段内频谱 竞争激烈的非授权用户却不能占用其他频段的授权用户不用的频道,造成了频谱 利用率较低。在频谱资源贫乏和频谱利用率较低的矛盾下,认知无线电应运而生。 认知无线电( c o 鲥d v er a d i o ) 是由m i t r e 公司顾问、瑞典皇家技术学院博士 生约瑟夫米托拉( j o s 印h m i t 0 1 a ) 和g e r a i dq m a g u 珉e ,瓜教授于1 9 9 9 年8 月 提出的。它是对软件无线电的进一步的扩展,采用无线电域的基于模型的方法控 制无线电频谱使用的规则( 如r f 频段、空中接口、协议、以及空间和时间模式等) 进行推理,通过无线电知识表示语言来描述无线电规则、设备、软件模块、电波 传播特性、网络、用户需求、和应用场景的知识,以便增强个人业务的灵活性, 使软件无线电更好的满足用户的需求【l 】【2 】【3 】。 认知无线电是一种智能的无线通信系统,它能够感知周围环境,并相应地改 变某些工作参数( 例如功率控制、载波频率和调制方法) 实时地适应外界频谱环 境,从而达到:在任何时刻、任何地点提供可靠的通信,高效地使用无线频谱资 源f 4 】。尽管没有成熟的认知无线电的标准和法规,但无线通信业界的强烈感觉是认 知无线电( c r ) 将成为下一波有冲击性的浪潮。 1 2 认知无线电的基本任务 为实现系统参数可重新配置,认知无线电要使用软件无线电、信号处理、学 习和决策理论以实现认知的功能。认知的主要工作包括: 1 无线频谱分析,包括:估计无线环境干扰温度,检测空闲频谱。具体工作 如下: 在接收端完成:估计干扰温度和检测空闲频谱,然后将信息传给发射机,以 便发射机能够完成功率控制和动态频谱管理。可在发射端和接收端同时使用波束 成形实现干扰控制。无线信道分析和无线空闲信道的检测可采用时间频率分 布统计或分段谱估计等方法。 2 信道识别,包括:信道状态信息估计,预测发射机可使用的信道容量。主 要任务是实时的估计和跟踪信道,通过学习和决策理论,判断信道质量变化的趋 势,从而改变系统的调制方式、传输速率。信道状态估计需要接收机和发射机联 合工作,同时需要计算发射机的发射功率和信道容量。 2 认知无线电频谱感知功能的f p g a 实现 3 发射功率控制和动态频谱资源管理。动态频谱分配由发射端实现,完成认 知周期中的多址接入控制。频谱分配的主要任务是,研究一种自适应策略以提高 r f 频谱利用率。更明确的说,就是通过无线信道检测和分析获得的空闲频谱上, 选择一种适合时变无线信道环境的调制方案,从而在任何时刻能够进行可靠的通 信 图1 1 给出的示意图是认知无线电的基本构成形式和组成部分。这几个部分有 机的结合,形成一个完整的认知周期。 无线信道环境 发射一 信号。 ”任撼 。、 信道车* 奈 发射功率控制、珑川、嘎毋岁 频谱资源管理、t 干扰温度 釜翘了 发射机、接收机 1 3 项目来源和内容章节安排 本课题来自国家预研项目,主要研究认知无线电的频谱感知的体系结构。就 目前硬件实现水平,探究认知无线电的频谱感知功能的硬件实现。本文后续内容 具体安排如下: 第二章简要介绍认知无线电技术的概念和结构,以及认知无线电研究的主要 任务,并简单介绍认知无线电中环境感知方面的实现算法。 第三章介绍了软件无线电的基本理论,据此提出了认知无线电频谱感知功能 的硬件系统模型,简单介绍了各个部分的作用。详细论述了第四章中涉及到的理 论问题和数学模型。 第四章详细论述了认知无线电频谱感知功能的数字部分的f p g a 实现过程。 其中包括基于多相滤波器组的数字下变频、数据调整模块、滑动窗数据缓冲区, 2 5 6 点全流水线结构的快速傅立叶( f f t ) 分析模块,实现了一个高速宽带多通道时 频分析系统。 第五章对整个系统的验证方案做了介绍,对系统性能作了分析和总结,并给 出了硬件资源的使用情况。 第二章认知无线电频谱感知功能概述 第二章认知无线电频谱感知功能概述 2 1 认知无线电中的频谱感知 3 在认知无线电中,为了合理有效地利用空闲频段进行通信,首要的任务就是 进行环境感知。简单地说,最需要感知的信息就是频谱状态。通过对区域内的环 境频谱进行检测,查找能够用来进行认知无线电系统业务通信的频谱空洞。 频谱空洞通常指一个分配给原有用户但在特定时间和特定地点没有被原有用 户使用的频带。通过检测可以明确某区域内频率的使用状态和利用程度,在此基 础上,就可以通过利用其它技术,让未被授权的用户在特定时间特定地点使用未 被授权用户占用的频带。通过这样的频率再利用方式,可以显著提高频谱利用率, 为合理和充分的利用频率资源做出贡献。 根据用户的使用情况,可以将频段分为三种不同的情况【4 1 : 白空:仅存在环境噪声量,如热噪声,瞬时反射,脉冲噪声等,能够被新 的非授权认知业务利用的频率资源; 灰空:存在低功率的干扰,或者被部分占用,能够被非授权认知业务利用 的频率资源,但是使用情况并非十分理想; 黑空:存在高功率的干扰,被原始分配业务占据,不能被非授权认知业务 利用的频率资源。 频谱检测的任务也就是查找适合认知无线电业务的白空( 灰空) ,或者对具体 频段在黑空( 灰空) 和自空之间的转变进行监测。 2 2 认知无线电频谱感知算法 频谱估计算法分为非参数估计算法和参数估计算法两大类,认知无线电频谱 感知算法可以借鉴这些成熟的频谱估计算法。由于认知无线电自身特点的要求, 一方面算法必须有较高的精确度,才能严格区分白空、灰空和黑空;另一方面, 认知无线电中的频谱空洞是与特定时间和特定地点严格对应的,所以算法实时性 要好,应该有较小的硬件处理延时。参数谱估计算法虽然估计精度较高,但计算 复杂不易硬件实现,所以本文采用非参数估计方法。 非参数谱估计方法也称经典谱估计,是以傅立叶变换为基础的,主要包括下 列方法: 。 1 ) 直接法( 也称周期图法) 这种方法是直接对观测数据进行快速傅立叶变换( f f t ) ,对结果取模的平方, 再除以f f t 分析点数n ,就可以得到功率谱。如果数字信号为工( n ) ,那么该信号 4 认知无线电频谱感知功能的f 您 实现 的频谱为 蜀( 奶= 栉) p 伽 式( 2 1 ) 其功率谱为 荆= 抛( 硝= 糇砌叫 式( 2 2 ) 2 ) 间接法毋t 法) 这种方法是先计算有限观测数据的估计自相关函数,然后再对估计自相关函 数做傅立叶变换,得到信号的功率谱。 相关函数 怠( 七) = 专篓x 伽+ i ) ,( 行) , | = o 1 ,膨,1 膨 1 5 曰 式( 4 2 ) 综合以上几点,此处n 取4 ,可以得到模拟下变频以后的中频信号的中心频率为 磊= 2 5 0 朋月l ,其有效带宽为口= 6 5 删2 。 然后是确定多相滤波器组的各项参数,主要包括多相滤波器组的路数k 和抽 取因子m 。多相滤波器组的路数k 很大程度上决定了利用滤波器组实现下变频的 硬件代价,路数越多,那么在一个时钟内需要完成的f f t 计算的点数越多,消耗 硬件资源越大。实际设计中,选取k = 3 2 ,可以很好地平衡设计的性能和硬件开销。 图3 8 所示的结构的前提是f = 足m = 2 ,所以此处取m = 1 6 ,即对中频信号实现 1 6 倍抽取的下变频。 依据以上参数可以完全确定中频模拟信号的中心频率和带宽,从而确定带通 采样后的中频信号映射到基带频带的位置。这一点非常重要,因为后面的多相滤 波器组的原型低通滤波器是在基带频段上设计出来的。根据式( 3 1 9 ) ,可以得到模 拟中频信号被带通采样以后的等效的基带映像,如图4 1 所示。从图中可以看出, 中心频率位于2 5 0 m h z 的模拟带通信号,被2 0 0 m h z 的速率采样以后,其频谱出 现周期性的重复( 频谱的映像) ,被映射到基带的部分位于中心为5 0 m h z 的频段上。 认知无线电频谱感知功能的f p g a 实现 然后让基带映像信号通过覆盖不同子频段的滤波器,从而滤出需要的各个子基带 信号,从而同时实现数字下变频和信道化两个过程。从图4 1 还可以看出,在考虑 到a d c 前端模拟滤波器的矩形系数为2 的情况下,滤波器的过渡带占据6 个子滤 波器所覆盖的带宽。所以最终只能得到1 0 个独立的有效信道。但这种非理想状况 造成的子信道的损失会随着前端模拟滤波器矩形系数的减小而得到改善, 图4 1 中频向基带的映射和基带信号与各个子滤波器的关系 从图4 1 中可以看出,1 6 个子滤波器无缝覆盖o 1 0 0 m h z 内的基带频段,而且 各个滤波器的带宽相同,中心频率的关系如式( 3 2 0 ) 所示。那么第一个滤波器即为 滤波器组的原型低通滤波器,所以该原型低通滤波器的理论通带截止频率为 , 丘。= 詈= 3 1 2 5 纰 式睁3 ) 二a 同时,设计该滤波器的矩形系数为2 ,那么理论上的阻带截止频率为 厂嘲,= 2 ,o = 6 2 5 舰阮 式件4 ) 所以除了原型低通滤波器以外的带通滤波器的通带带宽为 占0 = 2 删= 6 2 5 此陇 式( 4 - 5 ) 在实际设计中,原型低通滤波器采用p 破s m c c l e l l 锄滤波器方法设计。在采 样频率为2 0 0 瑚z 的条件下。通带截止频率设置为3 4 姗z ,阻带截止频率为 5 2 m h z ,通带和阻带波纹均为o 0 0 1 ,这样可以得到2 5 6 阶的原型低通滤波器。然 后将其2 5 6 个系数均匀拆分给3 2 个子滤波器,放每个子滤波器的阶数为8 。原型 低通滤波器的幅频响应和相频响应如图4 2 所示。 第四章硬件实现 图4 2 原型低通滤波器的频响特性 4 2 多相滤波器组的f p g a 实现 整个f p g a 的实现按照图3 8 所示的构架,主要模块包括:延时抽取模块、f 眼 滤波器模块、3 2 点f f t 模块。整个模块的时钟频率与中频采样速率,:一致。虽然 滤波器组属于多速率系统,但通过设置级与级之间的使能信号可以将多个时钟减 少为一个时钟,避免了数据跨时钟域所造成的亚稳态,提高了系统的稳定性。该 模块的输入数据的位宽为1 6 b i t ,中间数据的位宽根据数据精度的要求和计算增益 进行合理的调整。 4 2 1 1 6 倍抽取延时器 该模块的作用是将单路数据拆分为3 2 路数据,每一路数据依次延时一个时钟 周期,最后将每路数据每隔1 5 点抽取一次,其原理图如4 3 ( a ) 所示。在实际的f p g a 实现中,延时抽取单元可以利用一个串并变换逻辑实现。串并变换电路类似于一 个旋转开关,如图4 3 ( b ) ,不仅可以同时实现延时和抽取的功能,而且相比图4 3 ( a ) 的设计要节约硬件资源。 由式( 3 3 8 ) 和( 3 3 9 ) 可知,后1 6 路( 从通道1 6 到通道3 1 ) 数据通道,与前一个时 钟周期内的前1 6 路( 从通道o 到通道1 5 ) 数据相同,所以仅仅需要对前1 6 路数据作 一个时钟周期的延时就可以得到下一个时钟的后1 6 路信号,其f p g a 实现框图如 图4 3 ( b ) 所示。首先,对单路串行数据进行l 转1 6 的串并变换( 串并变换顺序是将 第一个数据送入第1 5 支路,第2 个数据送入第1 4 支路,以此类推) ,从而构成3 2 条支路中前1 6 条数据通道;然后,在串并变换结束时刻( 此时第o 路通道的数据刚 出现一个时钟周期,而第1 5 支路的下一个数据还未来到) ,通过对前1 6 路数据做 一次寄存,就可以得到后1 6 路的数据。 认知无线电频谱感知功能的f p g a 实现 经过延时抽取以后,每个支路的数据更新周期为】6 个时钟。在每个数据周期 的最后一个时钟,即串并变换的结束时刻,产生一个持续一个时钟周期的脉冲信 号,用来作为下一级f 取滤波器读入数据的使能信号。 p 聊 通j 1 :1 6 b 斌 唁并变换 、一 , 一,、 通谴 j 一矗 ( a ) 延时抽取单元的原始结构( b ) 实际设计中的延时抽取单元结构 图4 3 延时抽取单元的设计 4 2 2f i r 滤波器的f p g a 实现 如图4 2 所示的原型低通滤波器的阶数为2 5 6 ,将该滤波器经过多相分解后, 每个支路上的f 取子滤波器的阶数为8 。对于n 阶直接型f 瓜滤波器来说,每输 入一个数据,滤波器都要在下一个数据到来之前完成n 次乘累加运算。在该系统 中,由于数据经过延时抽取单元后,每条支路上的数据速率降至时钟速率的1 1 6 , 但f 瓜的乘累加单元( m a c ) 仍工作在,:= 2 0 0 此眈的时钟下。这样就可以在一个数 据周期内,仅仅用一个m a c 单元,采用时分复用的方式进行8 次乘累和运算,完 成f m 滤波器每接收一个新数据所需的计算量。这充分体现了滤波器的多相化结 构在节省硬件资源方面的优势。 对于阶数较小的f 瓜滤波器( 通常阶数少于3 2 ) ,使用f p g a 内嵌的块存储器 1 0 c k r a m ) 作为存储滤波器的输入数据和系数的方式被认为是一种浪费。因此, 该设计的存储抽头系数的r o m 用分布式存储器( d i s 仃i b u t c d 实现。x i l i n 】【 f p g a 内嵌的移位寄存器s r l l 6 e 是基于查找表( l u t ) 的移位寄存器,它可以用一 个s l i c c 实现1 6 位以内的数据移位,并且配有读地址和写地址。所以本设计的输 入数据缓冲区通过s r l l 6 e 实现,不仅实现了移位功能,而且节省了控制逻辑, 该f 瓜滤波器的f p g a 实现结构如图4 4 所示。需要注意的是,图3 8 中f i r 滤波 器e 乜- 2 ) 与普通滤波器的区别在于其相邻的两个抽头系数之间,数据要延时2 个时 钟单元。 第四章硬件实现 图4 4 多相滤波器组中f m 滤波器的f p g a 实现框图 从图4 4 中可知,该模块使用了一个深度为1 6 的移位寄存器s r l l 6 e 作为数 据缓冲区,而系数存储器的深度只有8 。新数据到来时,数据缓冲区写使能信号 w e 为高电平,数据写入移位寄存器s r l l 6 e ,实现移位存储。此后信号w e 变为低 电平,移位寄存器s r l l 6 e 处于读状态。信号d a _ t aa d d r 控制数据缓冲区的读地址, 是由一个每时钟增2 的计数器产生。信号c o c fa d d r 控制系数存储器的读地址,是 由一个每时钟加l 的计数器产生。这样就可以从深度为1 6 的数据缓冲区中每隔一 个地址读取一个数据,一共读出8 个数据,分别与系数存储器中的8 个系数进行 相乘并累加,实现了相邻的两个抽头系数之间数据延时2 个时钟周期的目的。将 最终的累加结果在信号为高电平时由最后一级寄存器送出。此时,下一个新的 输入数据还未到来,模块将内部累加寄存器清零,为下一次计算周期做准备。 其中m a c 单元通过x i l i n 】【内嵌的专用硬件乘累和单元d s p 4 8 实现,它可以 提供高达1 8 位1 8 位的二进制补码乘法器,具有全精度3 6 位结果,而和累加部 分的位宽高达4 8 位。该设计中,滤波器系数在m a t l a b 中产生,然后定点化为1 6 位,存储在分布式r a m 中。 f i r 滤波器通过多次乘加,会输出比滤波器输入端更多的比特数,该效应被称 为滤波器的“增益”,由于成本和速率的问题,在整个系统无法维持这些比特数。 因此通常需要对输出结果进行舍入或者截断。在滤波器系数已知的情况下,利用 实际系数和的绝对值,采用最坏情况估算滤波器输出数据的位甜1 8 】,计算公式如 下 输出饱和位宽曰= c e l f ( 1 0 9 2 ( 2 ( “) 口缸0 姗( c d 矿) ) r ) ) + 1 式( 4 6 ) 其中, c e i l 是上舍入到最接近的整数; a b s 取绝对值; 飘胍:对数组中的所有数据求和; b :输入数据的位宽; 认知无线电频谱感知功能的f p g 实现 c :系数的位宽; 颤滤波器系数的定点化以后的数值; n :滤波器的阶数; 按照公式件妨,本设计中输出的饱和位宽为3 4 位,并对结果直接截尾,保留 高1 6 位。按照理论计算的资源消耗如表4 1 所示。实际综合结果表明,每个子滤 波器仅仅消耗1 7 个s l i ,要比使用) ( i l i n x 的f 珏l 的口核要节省4 5 的资源。 表4 1f 取资源消耗表 元件消耗s h c e s 价数) 数据缓冲区( s r l l 6 e ) 8 系数存储器( d i s 在i b u t e dr a m ) 8 控制逻辑( 两个计数器) 2 总计 1 8 4 2 33 2 点实数i f f t 模块的实现 3 2 点实数m f t 的设计是多相滤波器组的核心。此处f t 的设计与f f t 的设 计完全相同,只是蝶形运算的旋转因子要取复共轭,为了保证整个系统工作在一 个时钟下,设计f f t 计算引擎仍然工作于2 0 0 m h z 。由于前一级f 取滤波器的输 出数据速率为时钟速率的l ,1 6 ,所以为了不丢失数据流,f f t 模块必须在1 6 个时 钟周期内完成3 2 点的实数f f t 计算。若采用图3 1 l 的递归结构,3 2 点的计算周 期为t n 纪l o g ,= 8 0 t ,处理速率远达不到该系统的要求。若采用并行结构,又需 要1 6 个蝶形计算单元,资源消耗无法承受。综合以上原因,加上f i 叮计算点数较 少,为了节省存储单元,i f f t 模块采用图3 1 3 所示的开关式全流水线级联结构。 在f f t 算法方面,该设计采用基2 的c o o l 咿t u k c y 算法,是基于时间抽取的 顺序输入,倒序输出的结构,一共分为5 级,每一级都有一个独立的碟形运算单 元。通过内部的开关逻辑实现各级数据流位置的调整,使之适合下一级蝶形运算 输入数据流的顺序,这样就省去了每一级蝶形运算所需要的数据缓冲单元但怂d , 同时也避免了复杂的地址发生器的设计。由于m f t 是串行输入串行输出,为了与 前级滤波器组和后级并行信道模块进行连接,i f f t 的输入端需加一个并串变换模 块,而其输出端则需要一个串并变换模块。其f p g a 实现框图如图4 5 所示。通过 两个1 6 转l 的并串交换器将滤波器组的3 2 路并行输出转换为两路数据,作为第 一级蝶形运算单元的输入。 第四章硬件实现 第 级 曩 形 运 算 上纠苎 摹赝珂蓁 开 关 3 姗 逻辑控制单元 图4 53 2 点硐盯的开关式全流水线结构 符号 选择 和 申, 并变 换 按时间抽取的基2 。的f f t 算法的蝶形单元的表达式如式( 3 _ 4 3 ) 和式( 3 - 4 4 ) 所示, 其计算示意图如图3 1 0 所示。若赶咒 是一个n 点的序列,其d f t 的系数为z 【明, 根据帕赛瓦尔定理, 、 一 - |1 一l x 2 m = 专i 石【七扩 式睁7 ) h - 0i l o 从而可以看出,d f t 结果的均方值是输入原序列均方值的n 倍。即f f t 计算的全 精度结果的位宽要比原输入序列的位宽宽很多。由式( 3 - 4 3 ) 和式( 3 4 4 ) 可以看出, 序列中数值是逐级增大的,数值宽度每一级最多增加2 比特,这就意味着必须将 数据的数位右移实现定比例。考虑输出位宽的饱和情况,若式( 3 - 4 3 ) 中孵= 2 , 同时- l ( p ) ,毛一l ( g ) 均为l ,那么毛( p ) = 1 + 2 是输入数据的1 + 2 倍。所以,若 每一级蝶形运算单元的输入数据的位宽为1 6 比特,那么其蝶形运算结果的饱和位 宽应该为1 8 比特。但这种最坏情况发生的可能性极小,一般1 7 比特的输出结果 不会造成计算溢出。在本设计中,舍去1 8 比特中的最高位和最低位,等效于对每 一级蝶形运算结果作除2 处理。 在该模块中,第一级蝶形运算仅是实数的加减,只用了一个加法器和一个减 法器。第二级蝶形运算的旋转因子只有l 和- j ,对应着第二级的前1 6 个蝶形运算 是实数加法和减法运算,而后1 6 个蝶形运算仅是实现实部和虚部的简单交换,没 有比特的增长。为了确保计算的精度,后1 6 个蝶形运算的结果没有舍去最低位。 这样就导致3 2 点f f t 的结果中,偶数点的输出结果右移了5 位,而奇数点的数据 被右移了4 位。由于3 2 点f f t 的输出数据被分配到不同的独立支路上作为多相滤 波器组的输出,所以同一个支路上的数据放缩的倍数是一致的,不会影响下一级 的运算。 从第三级的蝶形运算开始,要涉及复数乘法运算。这里将复数乘法运算分解 为4 个实数乘法和两个复数加法运算。其中,每一个实数乘法通过内嵌的d s p 4 8 s l i c e 实现,同时复数乘法中的加法和减法运算也通过d s p 4 8s l i c e 内置的加法器实 现。其硬件实现框图如图4 6 所示。根据图中寄存器的级数,可以得出复数乘法过 程需要3 个时钟周期,再加上一个复数加法所需要的额外周期,一个蝶形运算需 黼晕。一一辨荤: 1 , 卜, : 一: 认知无线电频谱感知功能的f p g a 实现 要4 个时钟周期 图4 6 复数乘法器硬件实现结构图 图4 5 中的开关逻辑电路类似与双刀双掷开关,可以实现上下两个支路数据流 的交叉。不同的延时单元和开关逻辑电路将相邻的两级蝶形运算单元连接起来, 用来将前一级蝶形运算的输出数据流的顺序调整为下一级蝶形运算所需要的数据 流的顺序。它等效于传统f f t 结构中的地址发生器和数据存储器的功能。在传统 的f f t 实现结构中,是将上一级的数据按照输出的顺序依次存入r a m 中,然后 通过下一级的地址发生器来读取下一级蝶型运算单元所需要的输入数据。可见, 开关延时单元不仅省去复杂的地址产生单元,而且不需要r a m ,极大地节省了硬 件资源。现将连接第一级与第二级蝶形单元的开关逻辑单元细化如图4 7 所示,其 中a ,b ,i ,j 分别代表数据流节点。 j j 并,串p t 叫警l ;i 鬻b 一1 j 2l 第 一 缀 蝶 形 运 算 d 开 关 1 壁+ z _ 8 j h 逻辑控制单元 第 一 级 蝶 形 运 算 图4 7 第一个开关延时单元示意图 根据图4 7 所示的操作,该开关延时逻辑单元的各个节点数据流的时序图如图 4 8 所示。 第四章硬件实现 图4 8 第一个开关延时单元的时序图 开关的动作由图4 8 中的开关控制电平控制,而开关控制电平由逻辑控制单元 产生。当开关控制电平为1 时,开关输入e ,f 分别直通输出到g ,h ;当开关控 制电平为0 时,开关将e ,f 两路数据流交叉输出,即将e 输出到h ,而把f 输出 到g 。开关前后均有8 个时钟周期的延时单元,与开关逻辑一同实现数据流位置 的调整。依次类推,可以得到以后几级的开关延时单元的结构:开关控制逻辑的 高低电平翻转的频率逐级提高1 倍,而延时单元的延时时间逐级递减一半。 从第三章的图3 8 可知,符号交替选择单元是位于奇数通道上,应该处于串并 变换器之后,但实际设计中将其提到串并变换器之前。这样做的好处在于,若将 其放在串并变换器之后,那么每个奇数支路都需要该模块,而图4 5 中结构只需要 一个就可以实现。 4 3 数据调整单元 由于滤波器组中最后一级串并变换电路的影响,使得各个支路的数据不是同 时有效的,而是随着时钟推移逐步出现。这样就要求后端模块相互独立地处理各 自支路上的数据流,不利于后端模块共享一些控制单元,所以将滤波器组的多路 并行输出数据在某一时刻对齐是十分有意义的。数据调整单元在串并变换模块输 出最后一路数据后,将各个支路的数据通过一个寄存器组进行一次寄存,从而使 各个支路上的数据对齐。这样,后面的模块用一个控制电路就可以同时控制所有 通路,极大地减小了f p g a 逻辑资源的消耗。 4 4 滑动窗缓冲区的实现 滑动缓冲区主要为后面的f f t 分析模块提供重叠的数据帧,为实现“滑动窗 式”f f t 分析做准备。“滑动窗式”f f t 分析的相邻两个数据帧在时间轴上是部分 重叠的,这样可以得到很好的时间分辨率。由于前端数字下变频的作用,使得后 3 2 认知无线电频谱感知功能的f p g a 实现 端n 叮分析模块的处理速率要高于输入数据速率,这就为实现滑动f l 叮分析提供 了可能。 为了避免多时钟设计带来的不稳定性,后端f f t 分析模块仍然工作于 2 0 0 姗z 那么滑动缓冲区的数据写入速率是多相滤波器组的数据输出速率 ( 1 2 5 啪b p s ) ,而读数据速率与系统时钟一致为2 0 0 m b p s ,这就要求两个独立的读、 写时钟分别控制读、写两个过程。但通过设置缓冲r a m 的写使能信号,可以巧妙 地将两个时钟统一到频率较高的读时钟上。同时,考虑到后端f f t 分析模块的第 一级蝶形运算单元需要两路并行的输入数据,所以需设置两个读地址同时读取缓 冲区的数据。滑动缓冲区实现滑动读取数据的原理如图4 9 所示。 r a m 两个读地址 i 读地址 度的一半 图4 9 滑动读取数据的原理图 该模块包括一个写地址和两个读地址,均工作在2 0 0 m h z 的时钟下。由于输 入数据每1 6 个时钟到来一个,所以写地址是每1 6 含时钟增加1 ,而两个读地址是 每个时钟周期都增加l 。但读地址在遍历整个缓冲区空间以后需要再次初始化,这 种初始化过程是受后端f f t 分析模块控制的。f f t 分析模块在处理完一帧数据后, 就会初始化这两个读地址。假定读地址初始化信号有效时,此刻的写地址为 w 口胁,那么读地址1 的初始化值为 旭一4 d 办l = 矿口d 跏+ l 式( 4 8 ) 同时,读地址2 被初始化为 理一口d 打2 = m j r 一口d 办+ 1 + 如印一r 口m 2 式( 4 - 9 ) 其中,如印,删为整个缓冲区r a m 的深度。初始化后,读地址各自独立地加l 工作。这样的地址设计不仅可以实现数据的滑动存取,更重要的是避免了对r a m 的同一地址单元进行同时读写造成的时序冲突。由式( 4 - 8 ) 和式( 4 9 ) 可以看出,两 个读地址总是相差r a m 深度的一半,经过沈甲阳m 2 个时钟周期就可以完成一 次读周期,然后等待读地址初始化信号,初始化读地址,进行下一帧的数据读取。 滑动缓冲区的f p g a 硬件框图如图4 1 0 所示。s t 耐时信号由前端多相滤波器 组模块提供,是一个通知滑动缓冲区前端数据已经准备好的控制信号。在检测到 s t a n 、v r 有效后,控制模块便初始化写地址,同时产生周期性的写使能信号、e 。 第四章硬件实现 w e 信号连接到数据缓冲区的数据写使能端口,和输入数据相配合,每1 6 个时钟输 出一个持续一个时钟的脉冲信号,用来锁存数据。s t a t p 信号是读地址初始化信 号,是由后端的f f t 分析模块提供。当f f t 分析模块要求缓冲区送出数据时,就 用该信号通知缓冲区的控制模块,从而根据式( 4 - 8 ) 和( 4 _ 9 ) 的逻辑初始化两个读地 址线信号瑚da d d r l 和r da d d r 2 。 c 1 1 【 w ra d 出 w ra 曲。 o l n d a l a a r s t s t a r tw r 控制模块w e h ,e 数据缓冲模块 s 协ni e硎a d 打l嗍da d d r l o l l l d a t a b 砌a d d r 2 r d - a d d r 2 图4 1 0 滑动缓冲区单元的硬件框图 图4 1 0 中的数据缓冲区模块不是普通的r a m 模式,而是单端口输入,双端 口输出。它由两个双口b l o c kr a m 组成,每一个r a m 有独立的输入、输出端口 和读、写地址线,其配置如图4 1 1 所示。两个r a m 共享数据输入端口、写地址 线和写使能信号,但具有两个独立的读地址线,这样就实现了具有一个输入端口 和两个独立输出端口的r a m 。 图4 1 l 数据缓冲区i m m 的配置 认知无线电频谱感知功能的f p g a 实现 4 52 5 6 点全流水线f f t 的实现 f f t 的硬件实现结构已经在3 5 3 节做了详细论述。在本系统中,前端数据流 是源源不断供给的,为了不丢失数据,同时考虑硬件开支,2 5 6 点礤可模块采用 时间抽取的基2c 0 0 1 呼n r k 昭算法,其结构采用全流水线级联结构。由于此处f f t 计算点数较大,4 2 3 节所论述的3 2 点f i 叮的结构不再适用,故采用图3 9 所示的 构架。由于整个系统需要多路f f t 分析模块,所以实现f f t 分析电路的硬件开销 最小是整个系统设计的关键点,以下几点的设计均是围绕这个目的进行的。 4 5 1 算法结构的选择 根据f f t 计算中蝶形运算结果是否送回r a m 的原地址,f f t 可分“就地” 和“非就地”算法。所谓就地算法,就是f f t 的每次蝶形计算结果都要送回到其 输入数据原来的存储单元。而蝶形运算的输出结果不送回到源地址存储器的算法 就是非就地算法。这种算法的每一级蝶形运算结构都是相同的,所以有时候也称 为固定结构f f t 算法【l 习。 就地算法比较适合实现递归结构的f f t ,一方面可以节省r a m 存储单元,另 一方面,读地址产生器的地址可以延时几个时钟作为写地址来用,简化写地址产 生逻辑。但对于流水线级联结构的r 呵来说,由于每一级蝶形运算级都有各自的 存储单元,就地算法和非就地算法所用的存储单元是相同的。但是,非就地算法 会造成各级蝶形运算的结构不同,每级的读、写地址产生逻辑各不相同。而固定 结构的f f t 算法,每一级的蝶形运算结构保持一致,这样极大地方便程序的设计 和资源的共享,有利于减少f p g a 实现面积。综上所述,本设计采用顺序输入, 倒序输出的固定结构算法。图4 1 2 给出了1 6 点顺序输入,倒序输出的固定结构算 法的计算流程图。 图4 1 21 6 点固定结构算法h 呵的结构图 o s 4 心2 m 6 l 9 5 皓3 n 7 峙 0 l 2 3 4 5 6 7 8 9如23 4 5 第四章硬件实现 从图4 1 2 中可以得出,每一级存储器读地址和写地址产生的规律: ( 1 ) 每一级输入数据的地址顺序都相同,且两个输入数据的地址固定相差,么 ,二 为f f t 的点数) 。 ( 2 ) 每一级输出数据的地址顺序都相同,且每次蝶形运算的结果将依次存储于 相邻的两个地址空间内。 可见利用这些规律,不仅可以简化逻辑设计,同时还可以减少f p g a 硬件资源消 耗量。 4 5 2 新型流水线结构 对于第三章的图3 1 l 所示的传统流水线级联结构的f f t 来说,n 点f f t 共有 l o g :( r ) 级流水线,每一级流水线配备一个蝶形运算单元。由于双口b 1 0 c kr a m 的 两对输入输出端口的读写过程并非完全独立,一个时钟周期内只能读或者只能写。 所以只有前一级的蝶形运算结果存储完毕,后一级才能读取所需数据,可见f f t 计算的延时为7 2 1 0 9 ,( ) 本设计创新地将每两级流水线合并为一条,并且公用一个蝶形运算单元,合 并后的实体称为“蝶形运算组”。这样蝶形运算单元的数目减半,极大地节省了硬 件资源。虽然合并后的流水线的处理延时加倍,但流水线级数减半,所以总的系 统延时仍为肼2 l o g ,( ) 。蝶形运算级数的合并只会降低f f t 模块输入数据的吞 吐量,使滑动窗f f t 分析的数据帧的重叠率变小,因此会恶化f f t 分析的时间分 辨率,但这都是可以接受的。新型流水线f f t 模块如图4 1 3 所示。由于每个数据 通道均需要f f t 分析模块,为了实现资源共享,设计过程中将控制单元和旋转因 子存储单元单独分离出来,为多个数据通道所公用。 图4 1 3 新型流水线结构的f f t 示意图 认知无线电频谱感知功能的f p 6 a 实现 4 5 3 单级蝶形运算与乒乓存储器 现将图4 1 3 中两级蝶形单元和乒乓存储器作为一级流水线,一并讨论。其f p g a 实现构架如图4 1 4 所示。该模块主要包括蝶形运算引擎、控制单元、旋转因子r o m 、 乒乓存储器和3 个2 选l 多路选择单元( m ij ) ( ) 。蝶形运算引擎的设计和4 2 3 节中 3 2 点肼t 模块的蝶形运算单元相同,其复数乘法单元见图4 6 。 图4 1 4 单组蝶形运算模块 整个蝶形运算模块工作过程分为两个阶段: 第一阶段,多路选择器l ( m u x l ) 选择滑动窗缓冲单元的输出数据作为输入数 据,送入蝶形运算单元,计算结果依次存入双口r a m o ,实现了蝶形运算组中的 第一级蝶形运算。 第二阶段,m i l 选择来自融w o 的数据,即将第一级蝶形运算的结果送入 蝶形运算单元再次计算,计算结果存入双口r a m l ,从而完成一组运算中的第二 级蝶形运算。在完成向r a m l 写数据过程后,开始读r a m l 的数据,作为下一组 蝶形运算模块的输入数据。此时,r a m 0 处于第一阶段的写入过程,可见两个r a m 构成了“乒乓酬”,交替工作在读、写状态,从而可以不间断地处理数据。 由4 2 3 节有关蝶形单元比特增长的讨论可知,当采用定点运算时,必须用定 比例的方法防止溢出,即必须解决动态范围的问题。若采用浮点运算,则运算复 杂性增加且运算速度降低,所以此处采用块浮点( b l o c kf l o 缅g ) 方案。其基本原理 是对蝶形运算结果做相应的尺度调整,并记录调整位数,待计算结束后再进行相 反方向的位数移位。 在该设计中,每一级蝶形运算单元的输入数据和旋转因子的位宽均为1 6 位, 第四章硬件实现 3 7 那么其蝶形运算结果的实部和虚部的饱和位宽应为1 8 比特,但这种最坏情况发生 的可能性极小,实践证实1 7 位宽的输出结果已经足够,所以该设计中的块浮点算 法聚焦于如何从1 7 位宽的实部和虚部中选择1 6 位进入下一级的蝶形运算。蝶形 运算单元的输出端由“块浮点逻辑单元”检验输出数据的高2 位,以便判断每级 蝶算的结果是保留高1 6 位还是低1 6 位。因为数据结果的保留是对整条蝶形运算 级的所有结果的实部和虚部来说的,所以只有在完成一级蝶形运算的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 改造合同范本
- 门面物业转让合同范本
- 路演执行合同范本
- 承接遮阳工程合同范本
- 人员安全合同范本简易
- 2025至2030年中国手工直流电焊机行业发展研究报告
- 2025至2030年中国慢走丝电火花线切割机行业发展研究报告
- 2025至2030年中国恒压变频供水设备市场分析及竞争策略研究报告
- 2025至2030年中国往复式真空干燥机市场分析及竞争策略研究报告
- 2025至2030年中国弹力提花布市场分析及竞争策略研究报告001
- 2024年度糖尿病2024年指南版课件
- 2024年郑州黄河护理职业学院单招职业技能测试题库及答案解析文档版
- 非机动车交通管理及规划研究
- 劳务派遣及医院护工实施预案
- 华电行测题库及答案2024
- 产后病(中医妇科学)
- 苏州市2023-2024学年高一上学期期末考试数学试题(原卷版)
- 社区获得性肺炎教学演示课件
- 农村蓝莓树补偿标准
- 市级临床重点专科申报书(麻醉科)
- 1.3.1 三角函数的周期性课件
评论
0/150
提交评论