文档介绍:课程设计任务书
学生姓名: 何雪峰专业班级: 电信0803班
指导教师: 黄朝兵工作单位: 信息工程学院
题目:8点基于DIT的FFT的实现
初始条件:
具备Matlab编程能力;
熟悉基于DIT的FFT的实现原理;
提供编程所需要的计算机一台
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
编写一个8点的基于DIT的FFT函数,不能使用matlab自带的FFT实现函数,
并调用该函数实现16点的FFT运算,用matlab自带函数对运行结果结果进行验证
完成符合学校要求的设计说明书
时间安排:
一周,其中3天程序设计,2天程序调试
指导教师签名: 年月日
系主任(或责任教师)签名: 年月日
目录
摘要……………………………………………………………………………………I
1 Matlab软件介绍……………………………………………………………………1
Matlab概述……………………………………………………………………1
Matlab桌面……………………………………………………………………2
2 快速傅里叶变换(FFT)……………………………………………………………4
快速傅里叶变换(FFT)概述…………………………………………………4
快速傅里叶变换(FFT)原理…………………………………………………4
DIT-FFT原理…………………………………………………………………4
DIT-FFT思路…………………………………………………………4
蝶形运算………………………………………………………………5
DIT-FFT的运算规律及编程思想……………………………………………6
3 DIT-FFT函数编码设计……………………………………………………………8
4 程序设计心得……………………………………………………………………11
参考文献……………………………………………………………………………12
摘要
随着数字电子技术的发展,数字信号处理的理论和技术广泛的应用于通讯、语音处理、计算机和多媒体等领域。快速傅里叶变换(FFT)使离散傅里叶变换的时间缩短了几个数量级,在数字信号处理领域被广泛的应用。FFT已经成为现代化信号处理的重要手段之一。
本次课程设计首先概要介绍Matlab这一数学工具,然后介绍FFT的基本原理并与直接计算DFT经行比较。文章具体介绍了基2-FFT,通过比较运算说明FFT算法的实用性,文章还介绍了基2-FFT中的蝶形图和在程序中设计FFT运算的基本思想。最后,利用Matlab设计程序代码,实现8点和16点的DIT-FFT运算。
关键字:数字信号处理、快速傅里叶变换(FFT)、Matlab、蝶形图
1 Matlab软件介绍
Matlab概述
Matlab是MathWorks公司的产品,是一个为科学和工程计算而专门设计的高级交互式放的软件包。Matlab环境集成了图示与精确的数值计算,是一个可以完成各种计算和数据处理可视化的、强有力的、易于使用和理解的工具。Matlab已被证明是为解决数学、物理、化学、工程、医药、金融和其他涉及复杂数值计算的应用领域的一个十分灵活的、便于使用的工具,也是数学、数值分析和工程等课程教学的一个优秀的教育工具。这个程序被世界各地高等学院广泛使用,在工业应用中也很流行,Matlab使用于PC到超级计算机以及大多数诸如PC、Macintosb和UNIX等平台。
Matlab 中的命令式用于数学和工程中使用的十分接近的符号来表示描述的。例如:为解用矩阵/向量形式写作Ax=b的一组线性方程,首先生成系数矩阵A和右侧的b,然后简单的打入x=A\b即可。用相似的方法,可以使用简短的符号来求解诸如常微分方程的解、一个矩阵的特征值和一些给定数据的插值和曲线拟合。
Matlab中有大量的命令集和可用函数集,也通称为Matlab M文件,这是应用更加容易。因此,在Matlab中求解问题通常比传统编程快得多,由于是采用自然表示法,因而使代码清晰和自释。因为多数M文件是公开的,因此,易于修改这些函数。所使用的算法是健壮而著名的数值方法,编程是有数学软件领域的主要科学家完成的。为了获得高性能,Matlab软件采用优化的C语言编写的,其中一些重要的内循环代码是用汇编语言写的。
Matlab的二位和三维工具是面向对象的,值使得经行高质量的图形和图像创作成为一个强有力的环境。Matlab是一个环境,也是一个面向矩阵/向量的程序设计语言,容许用户创建和函数,已解决某种问题。图形箱包含了各种函数以创建带有按钮、菜单和其他附件的