安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

怎样用FPGA实现FFT算法?

更新时间:2022-10-28 15:46:32


本文简介:FFT算法除了必需的数据存储器ram和旋转因子rom外,仍需较复杂的运算和控制电路单元,即使现在实现长点数的FFT仍然是很困难。本文提出的FFT实现算法是基于FPGA之上的,算法完成对一个序列的FFT计算,完全由脉冲触发,外部只输入一脉冲头和输入数据,便可以得到该脉冲头作为起始标志的N点FFT输出结果。这个算法实现的可以是基2/4混合基FFT,也可以是纯基4FFT和纯基2FFT运算。傅立叶变换和逆

怎样用FPGA实现FFT算法?

FFT算法除了必需的数据存储器ram和旋转因子rom外,仍需较复杂的运算和控制电路单元,即使现在实现长点数的FFT仍然是很困难。本文提出的FFT实现算法是基于FPGA之上的,算法完成对一个序列的FFT计算,完全由脉冲触发,外部只输入一脉冲头和输入数据,便可以得到该脉冲头作为起始标志的N点FFT输出结果。这个算法实现的可以是基2/4混合基FFT,也可以是纯基4FFT和纯基2FFT运算。

傅立叶变换和逆变换

对于变换长度为N的序列x(n)其傅立叶变换可以表示如下:

怎样用FPGA实现FFT算法?

其中,W=exp(-2π/N)。当点数N较大时,必须进行分解,以短点数实现长点数的变换。而IDFT的实现在DFT的基础上就显得较为简单了:

怎样用FPGA实现FFT算法?

由第二个可以看出,在FFT运算模块的基础上,只需将输入序列进行取共轭后再进行FFT运算,输出结果再取一次共轭便实现了对输入序列的IDFT运算,因子1/N对于不同的数据表示格式具体实现时的处理方式是不一样的。IDFT在FFT的基础上输入和输出均有一次共轭操作,但它们共用一个内核,仍然是十分方便的。

基4和基2 

基4和基2运算流图及信号之间的运算关系如图1所示:、

怎样用FPGA实现FFT算法?

以基4为例,令A=r0+j×i0;B=r1+j×i1;C=r2+j×i2;D=r3+j×i3;

Wk0=c0+j×s0:Wk1=c1+j×s1;Wk2=c2+j×s2;Wk3=c3+j×s3。分别代入图1中的基4运算的四个等式中有:

A'=[r0+(r1×c1-i1×s1)+(r2×c2-i2×s2)+(r3×c3-i3×s3)]+j[i0+(i1×c1+r1×s1)+(i2×c2+r2×s2)+(i3×c3+r3×s3)] 式(3)

B'=[r0+(i1×c1+r1×s1)-(r2×c2-i2×s2)-(i3×c3+r3×s3)]+j[i0-(r1×c1-i1×s1)-(i2×c2+r2×s2)+(r3×c3-i3×s3)] 式(4)

C'=[r0-(r1×c1-i1×s1)+(r2×c2-i2×s2)-(r3×c3-i3×s3)]+j[i0-(i1×c1+r1×s1)+(i2×c2+r2×s2)-(i3×c3+r3×s3)] 式(5)

D'=[r0-(i1×c1+r1×s1)-(r2×c2-i2×s2)+(i3×c3+r3×s3)]+j[i0+(r1×c1-i1×s1)-(i2×c2+r2×s2)-(r3×c3-i3×s3)] 式(6)

可以看出有多个公共项和类似项,这一点得到充分利用之后可以大大缩减基4和基2运算模块中的乘法器的个数,如上面A'至D'的四个等式中的这三对类似项:(r1×c1-i1×s1)与(i1×c1+r1×s1)、(r2×c2-i2×s2)与(i2×c2+r2×s2)、(r3×c3-i3×s3)与(i3×c3+r3×s3)以高于输入数据率的时钟进行时分复用,最终可以做到只需要3个甚至1个复数乘法器便可以实现。

基2运算之所以采用图1-(b)中的形式进行基2运算,是为了将基本模块做成基4/2复用模块,它对于N有着更大的适用性和可借鉴性。在基4、基2和基4/2模块的基础上,构建基16、基8和基16/8模块有着非常大的意义。

算法实现 

傅立叶变换实现时首先进行基2、基4分解,一般来说,如果算法使用基4实现,虽然使用的资源多了一些,但速度上的好处足以弥补。如果资源充足,使用基16、基8或基16/8复用模块,速度可以大大提高。一般FFT实现简单框图如图2所示。

怎样用FPGA实现FFT算法?

在图2中,运算模块即为基2/4/8/16模块或它们的复用模块,Rom表中存储的是N点旋转因子表。控制模块产生所有的控制信号,存储器1和2的读写地址、写使能、运算模块的启动信号及因子表的读地址等信号。当然对于运算模块为基16/8复用模块时,控制模块就需要产生模式选择信号,如对于运算模块是基4/2模块时,该信号就决定了内部运算模块是进行基4运算还是基2运算。

存储器1作为当前输入标志对应输入N点数据的缓冲器,存储器2作为中间结果存储器,用于存储运算模块计算出的各Pass的结果。在图中的各种地址、使能和数据的紧密配合下,经过一定延时后输出计算结果及其对应指示标志。

图2只是一定点或浮点的FFT实现模块,如果是块浮点运算,则必须加入一个数据因子控制器,控制每遍运算过程中的数据大小,并根据各个Pass的乘性因子之和的大小,对最终输出进行大小控制,以保证每段FFT运算输出增益一致。

立即下载试用

企业如何发挥上网行为管理的作用

员工不恰当的上网行为是让许多公司管理者头疼的问题,多次的口头提醒、约谈等手段都使用过后,仍然无法让那些不自觉的员工遵守规章制度,在工作时间聊天、追剧,甚至有着把重要文件发送给别人的风险危机,让管理者无可奈何,所以上网行为管理软件作为企业对员工日常工作电脑操作管理的工具,可以记录、审计员工在终端上的所有上网行为操作,对一切违反公司规定以及不良浏览的上网操作进行警告和阻止。

 


 

      安企神上网行为管理软件凭借良好的口碑和实力,成为了万千用户的选择,是企事业单位专用于防止非法信息恶意传播,可避免国家机密、商业信息、科研成果泄漏,能实时监控、管理网络资源使用情况,提高整体工作效率。上网行为管理系统系列产品适用于需实施内容审计与上网行为监控、上网行为管理的网络环境,尤其是按等级进行计算机信息系统安全保护的相关单位或部门。

 

       使用上网行为管理功能,能够进行对终端行为审计,提供包括实时日志、窗口标题日志、文件操作日志、USB外发日志、打印记录、程序使用日志、屏幕追踪录像等等终端行为的审计,来分析用户的工作状态,防范不良行为隐患。上网行为管理软件也拥有网络行为审计功能,能够提供进行网页浏览记录、论坛发帖记录、邮件记录、网页文件上传记录、报警日志、流量观察、Ftp监控日志等终端上网行为的追踪审计,及时发现可能潜在的上网风险。

 

       同时,系统支持综合报表功能,实时追踪终端电脑的操作行为,监控网络资源的使用和敏感信息的传播,准确掌握终端系统的安全状态,并生成各项统计报表,对泄密事件的事后溯源提供了更直观的支持。


本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16482.html