光信息科学与技术毕业论文:基于FPGA的FFT窗函数计算.doc

上传人:文初 文档编号:1125563 上传时间:2018-12-10 格式:DOC 页数:59 大小:5.32MB
下载 相关 举报
光信息科学与技术毕业论文:基于FPGA的FFT窗函数计算.doc_第1页
第1页 / 共59页
光信息科学与技术毕业论文:基于FPGA的FFT窗函数计算.doc_第2页
第2页 / 共59页
光信息科学与技术毕业论文:基于FPGA的FFT窗函数计算.doc_第3页
第3页 / 共59页
光信息科学与技术毕业论文:基于FPGA的FFT窗函数计算.doc_第4页
第4页 / 共59页
光信息科学与技术毕业论文:基于FPGA的FFT窗函数计算.doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

1、本科毕业论文(20 届)基于 FPGA 的 FFT 窗函数计算所在学院 专业班级 光信息科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 I摘 要在实际工程设计中常常需要对数字信号进行傅里叶变换,而傅里叶变换的定义是对无限长的连续时域信号所进行的频域分析。由于计算机无法对无限长的时间信号进行处理和计算,因而需要对输入系统的信号进行截短。但是,信号的截短操作会导致频谱能量的泄露,从而造成信号的不完整性分析。虽然理论上频谱能量泄露是不能完全消除的,但通过本课题提出的窗函数法可以对它们的影响进行抑制。本课题运用高性能 FPGA 硬件加速,结合 MATLAB 辅助分析,对海明窗、矩形窗、汉

2、宁窗和布莱克曼窗的特性进行剖析以及研究它们对设计的影响。在用 FPGA 设计窗函数的过程中运用合理的方案来减少设计的资源以及提高设计的速度。测试结果表明,采用窗函数法可以很好地减少频谱能量的泄露。最后运用 AXI4 协议将设计接口封装为 AXI4-Lite 接口和 AXI4-Stream 接口,并用主控器 MicroBlase 进行控制。关键词:频谱能量泄露,窗函数,现场可编程门阵列,矩阵实验室,AXI4 协议IIAbstractIn actual engineering design often need to the Fourier transform of digital signal,

3、 and the Fourier transform is defined as the infinite long continuous time domain to frequency domain signal analysis. As the computer cant infinitely long time signal processing and calculation, so it is necessary to the system input signal was truncated. However, shortened operation will lead to f

4、requency spectrum of signal energy leak, causing the signal integrity analysis. Although spectrum energy leakage cannot be totally eliminated, but through this topic proposed window function method can affects their suppression. This topic using high-performance FPGA hardware acceleration, auxiliary

5、 analysis combined with MATLAB, the hamming window, rectangular window and hanning window and analyzes the characteristics of blackman window and study their impact on design. In the process of using FPGA to design a window function using rational scheme to reduce the design resources, and improve t

6、he speed of the design. Test results show that the window function method is a good way to reduce the frequency spectrum energy leakage. Finally using the AXI4 protocol will design interface encapsulation for AXI4 - Lite interface and AXI4 - Stream interface, and the host controller MicroBlase contr

7、ol.Key words: Spectrum Energy Leakage, Window Function, FPGA, MATLAB, AXI4 ProtocalI目 录1 绪论 .11.1 课题背景及目的 .11.2 课题研究内容 .12 基础知识 .22.1 Verilog HDL .22.2 FPGA .22.3 MATLAB.32.4 AXI4 协议 .33 窗函数 .83.1 基本概念 .83.2 窗函数幅频特性分析 .93.2.1 矩形窗函数 .93.2.2 汉宁窗函数 .103.2.3 海明窗函数 .113.2.4 布莱克曼窗函数 .113.3 窗函数选择 .124 CORD

8、IC 算法 .134.1 圆周旋转模式 .135 系统设计 .165.1 系统概述 .165.2 角度生成模块 .195.2.1 设计精度分析 .195.2.2 设计实现 .205.3 CORDIC 算法模块 .225.3.1 设计精度分析 .225.3.2 设计实现 .235.4 余弦值输出模块 .275.5 窗函数系数生成模块 .295.6 窗函数结果计算模块 .305.7 数据与窗函数相乘模块 .315.8 系统的性能分析 .335.9 AXI4 接口封装 .346 系统优化 .356.1 资源优化 .356.1.1 资源共享 .356.1.2 位宽选择 .386.1.3 迭代次数选择

9、.386.2 速度优化 .38总结 .40参考文献 .41致谢 .42II附录 A CORDIC 算法模块的设计实现 .43缩略语对照表 .4811 绪论1.1 课题背景及目的在现实生活中,我们经常需要用示波器、频谱分析仪等对信号进行频谱分析,然后根据其频谱特性设计一个系统从信号中提取我们感兴趣的信号或去除没用的信号。随着傅里叶变换算法的提出,使得我们对信号的频谱分析变得更加简单。傅里叶变换的定义是对连续信号进行的,在理论上具有无限的完美性。但在实际工程中 FFT(快速傅里叶变换)只能对有限个点的离散信号进行计算,就是说,我们要从连续信号中截取一段有效的信号来进行处理。信号的截短操作会导致频谱

10、能量的泄露,从而造成对信号的频谱分析不正确 1-4。频谱能量泄露的表现形式就是测量频谱在真实频谱的两侧频带上扩展开来的现象,即有一些幅值较小的假谱出现在真实频谱的两侧。造成频谱能量泄露的一个很重要原因是截取的时域周期信号不是周期的整数倍 5。理论上,频谱能量泄露是不能完全消除的,但我们通过本课题提出的窗函数法可以抑制它们对设计的影响。窗函数的类型很多,对信号加不同的窗函数处理后,信号频谱能量的泄露可以大大减少,但减少的程度是不一样的。因此本课题将针对频谱能量泄露的改善进行窗函数的分析、选择和设计。1.2 课题研究内容本课题主要利用 MATLAB 工具研究不同窗函数的特性以及它们对频谱能量泄露的

11、抑制效果,然后根据输入信号的性质和特征来选择合适的窗函数。接着运用高性能FPGA 硬件加速,采用 Verilog HDL 硬件描述语言在 Xilinx ISE 软件平台上对矩形窗、海明窗、汉宁窗和布莱克曼窗四个窗函数进行设计并利用 modelsim 仿真工具对其进行仿真验证。最后,使用 AXI4 协议将设计接口封装为 AXI4-Lite 接口和 AXI4-Stream 接口,并由主控器 MicroBlase 进行控制。22 基础知识本章将对这次课题所涉及到的一些基本概念进行介绍,其中包括 Verilog HDL、 FPGA、MATLAB 以及 AXI4 协议。2.1 Verilog HDLVe

12、rilog HDL(简称 Verilog)是一种以文本的方式描述数字电路结构和行为的硬件描述语言 6-7。自从有了 Verilog,对数字系统的设计就简单容易多了,对数字电路的描述可以从算法级、寄存器传输级、门级和开关级四个抽象层次上进行。下面是四个抽象层次的特点:(1) 算法级:只需关注设计实现的算法,而硬件实现方面可不必关心。(2) 寄存器传输级:只需关心数据在寄存器间的流动以及处理数据的方式。(3) 门级:利用逻辑门电路对功能模块进行设计。(4) 开关级:利用开关、存储节点对功能模块进行设计。Verilog 还具有以下的优点:(1) Verilog 的语法很像 C 语言,只要有 C 语言

13、基础就可以容易入门。(2) 使用 Verilog 对数字电路进行设计与电路工艺无关。(3) 使用 Verilog 对设计进行功能验证,可在设计前期发现各种漏洞并进行修复,从而缩短了设计周期。(4) Verilog 的使用令电路的升级更加容易。此外,Verilog 还具有一个特点就是对数字电路的设计同时支持自底向上和自顶向下两种设计方法。2.2 FPGAFPGA(即现场可编程门阵列)是在 PAL、GAL 、CPLD 等基础上发展起来的,作为 ASIC 领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点 8-9。FPGA 内部有丰富的逻辑资源,包括 CLB 块

14、、块RAM、DCM、乘法器硬核、可编程 I/O 块等。利用 FPGA 进行数字电路的设计具有以下优点:(1) 大多数 FPGA 基于 SRAM 工艺,理论上可以对其进行无次数擦除并重新设计。3(2) 由于 FPGA 丰富的逻辑资源,因此可以设计非常复杂的组合或时序逻辑电路。(3) 利用 FPGA 进行设计可以大大缩短设计周期。随着技术的不断进步,FPGA 的优势越来越突出,也越来越多的工程师对它的青睐度不断增加。同时,FPGA 技术也正在快速发展着,总体来说具有以下几个趋势:(1) 随着器件工艺越来越小,FPGA 正向着大容量、低功耗的方向发展。(2) FPGA 向着 SoC 方向发展。(3)

15、 FPGA 内部集成 ASIC,从而克服体积大、功耗大、能力有限的缺点。(4) FPGA 可动态重构。2.3 MATLABMATLAB 是一款集数值计算、建模仿真、数据可视化等于一身的超强软件 10。由于它的强大功能,MATLAB 被运用于广泛的领域中,包括工业设计、通讯、图像处理、工程计算等等。MATLAB 具有以下几个优点:(1) MATLAB 友好的界面使用户更加容易掌握软件的使用方法。(2) MATLAB 是一门简单易用的语言,可以很快入门 MATLAB 并进行程序设计。(3) MATLAB 拥有强大的数据处理能力以及出色的图形处理能力。(4) MATLAB 中集成了各种工具箱,使用户

16、开发更加简单。善于运用 MATLAB 将对我们的设计和分析有非常大的帮助。2.4 AXI4 协议AXI4 协议是 Xilinx 公司和 ARM 公司共同为下一代 FPGA 定制 IP 的一种总线协议11。 AXI4 协议中具有五个独立的通道,并且都是单向通道结构。此外,AXI4 协议还支持猝发操作,提高了数据吞吐量。 图 2.1 和 图 2.2 分别为读通道和写通道的结构示意图,其中包含地址、数据和写响应五个通道。地址通道用来传输地址和控制信号;数据通道用来传输数据;写响应通道用来指示写数据完成。五个通道信号的传输需要依赖于握手信号 VALID 和 READY。通过 VALID 信号来指示信息

17、发送源的数据和控制信号何时有效;通过 READY 信号来指示信息接收源何时可以接收数据。此外,还有 LAST 信号用来指示最后一个数据的传输。4图 2.1 读通道结构图 2.2 写通道结构AXI4 协议中有三种突发读写时序,下面将一一介绍。首先是突发式读,如 图 2.3所示。当地址通道上出现有效地址后,读数据通道上将出现准备传输的数据。当RVALID 信号和 RREADY 信号为高电平时,每个时钟读取一次数据。另外,当RLAST 信号为高电平时,表示传输最后一个数据,即代表一次突发式读即将完成。图 2.3 突发式读波形图5其次是重叠突发式读,如 图 2.4 所示。当完成一次突发式读时,才能接着处理再一次的突发式读。波形图中主机为从机传输了两个地址,只有完成第一次突发式读后才能处理第二次突发式读。图 2.4 重叠突发式读波形图最后是突发式写,如 图 2.5 所示。如果地址通道上出现有效地址,那么当WVALID 信号和 WREADY 信号同时为高电平时,每个时钟写一次数据。另外,当WLAST 信号为高电平时,表示传输最后一个数据。当一次突发式写完成时,写响应信号 BVALID 将拉高。图 2.5 突发式写波形图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。