武汉理工大学8点基于DIFFFT
八点DFT变换课程设计
八点DFT变换课程设计一、课程目标知识目标:1. 理解DFT(离散傅里叶变换)的基本概念和数学原理;2. 掌握八点DFT变换的算法步骤和计算方法;3. 了解DFT在信号处理和数字通信中的应用。
技能目标:1. 能够运用DFT对信号进行频谱分析;2. 能够编程实现八点DFT变换;3. 能够解释DFT变换结果,并分析其意义。
情感态度价值观目标:1. 培养学生对信号处理领域的兴趣,激发其探索精神;2. 培养学生具备良好的团队协作意识和沟通能力;3. 培养学生严谨的科学态度,认识到数学工具在工程应用中的价值。
分析课程性质、学生特点和教学要求,本课程旨在使学生掌握DFT的基本原理和实际应用,具备以下具体学习成果:1. 能够准确描述DFT的基本概念和数学表达;2. 能够独立完成八点DFT变换的计算;3. 能够运用所学知识分析实际问题,并给出合理的解释;4. 培养学生的动手实践能力和团队协作精神,提高其综合素质。
二、教学内容本课程教学内容依据课程目标,紧密结合教材,确保科学性和系统性。
以下是详细的教学大纲及内容安排:1. 引言:介绍傅里叶变换的基本概念,引导学生了解其在信号处理领域的重要性。
- 教材章节:第一章 傅里叶变换基础2. 离散傅里叶变换(DFT)基本原理:- 教材章节:第二章 离散傅里叶变换- 内容:DFT的定义、数学表达式、性质和特点3. 八点DFT变换算法:- 教材章节:第三章 快速傅里叶变换- 内容:DFT的蝶形算法、编程实现和优化4. DFT在信号处理中的应用:- 教材章节:第四章 DFT的应用- 内容:频谱分析、数字滤波器设计、通信系统中的应用5. 实践环节:- 设计实验:运用DFT对实际信号进行频谱分析- 编程实践:编程实现八点DFT变换,观察和分析结果6. 教学进度安排:- 引言和DFT基本原理:2课时- 八点DFT变换算法:2课时- DFT应用:2课时- 实践环节:2课时三、教学方法本课程采用多样化的教学方法,旨在激发学生的学习兴趣,提高其主动性和实践能力。
8点DIF-FFT课程设计
最后完整的分解流图为下图:
图2.4
这种算法是对X(K)进行奇偶抽取分解的结果,所以称之为频域抽取法FFT。
DIF-FFT算法与DIT-FFT算法类似,不同的是DIF-FFT算法输入序列为自然顺序,而输出为倒序排列。另外,蝶形运算略有不同,DIT-FFT蝶形先乘后加,而DIF-FFT蝶形先加后乘。
2.旋转因子的变化规律
以8点的FFT为例,第一级蝶形,r=0,1,2;第二级蝶形,r=0,1;第三级的蝶形,r=0。依次类推,对于M级蝶形,旋转因子的指数为
,J=0,1,2,3,……,
这样就可以算出每一级的旋转因子。对于M级的任一蝶形运算所对应的旋转因子的指数,可以如下方法得到:1将待求的蝶形输入节点中上面节点的行标号值k写成L位二进制数;2将此二进制数乘以2的M-1次方,即将L位二进制数左移M-1位,右边的空位补零,然后从低位到高位截取L位,即所得指数r所对应的二进制数。
Columns 5 through 8
-4.0000 -4.0000 - 1.6569i -4.0000 - 4.0000i -4.0000 - 9.6569i
并得到如下仿真图:
图4.1调用自编程序的8点FFT
图4.2调用库函数的8点FFT
4.216点的FFT运算
跟8点的相同,在主函数中输入一个16点序列分别调用自己编写的FFT函数,和MATLAB本身系统的FFT函数并比较两个结果是否相等,以判断自己编写的FFT程序是否正确。
关键词:快速傅里叶变换FFT、MATLAB、DIF
1FFT算法简介及原理特点
1.1FFT算法简介
快速傅立叶变换(FFT)并不是一种新的变换,而是离散傅立叶变换(DFT)的一种快速算法。
DFT的计算在数字信号处理中非常有用。例如在FIR滤波器设计中会遇到从h(n)求H(k)或由H(k)计算h(n),这就要计算DFT;信号的谱分析对通信、图像传输、雷达等都是很重要的,也要计算DFT。因直接计算DFT的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大。
2k-8k FFT处理器ROM面积的优化
-1
X[4r+2]
x[n+N/2]
-1
x’[4r+1] WN1 x’[4r+3] WN3
X[4r+1]
x[n+3N/4]
-1
-j
-1
X[4r+3]
图 2 Signal flow in the DIF Radix-4 butterfly
2. FFT 结构
FFT 硬件设计采用 pipeline 流水线结构,有利于减小面积、最大化 throughput。radix-2 和 radix-4 处理采用 SDF butterfly unit,有利于节省功耗、方便 Place and route;采用 SRAM 存储中间数据,SRAM 比 DRAM 节省功耗及面积[2]。
Din Stage 1 Radix-4 ROM Stage 2 Radix-4 ROM Stage 7 Dout Radix-2
…
图3
Pipeline 结构示意图
本设计最大符号速率是 8MHz,系统时钟为 16MHz,因此采用单口 SRAM。图 3 为 Pipeline 结构示意图。
x[0]
x[0] x[1024] x[512] x[1536] x[256] x[1280] x[768]
W8192 、W8192 、W8192 、W8192 、W8192 、W8192 、W8192 、W8192 、 FFT, 其旋转因子依次为 W8192 、
9 10 11 12 0 1 W8192 、W8192 、W8192 、W8192 …;第二级为 2048 点 FFT,其旋转因子依次为 W2048 、W2048 、
可由第一级旋转因子中得到。第 3~6 级的旋转因子也可以根据同样道理得到。 采用 pipeline 结构, 所有旋转因子的值虽然都可以由第一级 ROM 得到, 但不能将第 2~ 6 级的 ROM 去掉。而是第一级与第二级共用 ROM,第三级与第四级共用 ROM。为保持 功率平衡第六级旋转因子的值都是除以 2 后的结果,因此第五、六级分别采用各自的 ROM。
8点基于DIT的FFT的实现
8点基于DIT的FFT的实现离散傅里叶变换(Discrete Fourier Transform,DFT)是一种将时域信号转换为频域信号的方法。
它是信号处理领域中最重要的数学工具之一,广泛应用于图像处理、音频处理、通信系统等领域。
离散傅里叶变换的计算方法之一是快速傅里叶变换(Fast Fourier Transform,FFT),它是一种高效的计算离散傅里叶变换的算法。
DIT-FFT(Decimation in Time Fast Fourier Transform)是一种基于分治思想的FFT实现方法,该方法将输入序列划分成两个子序列,分别进行FFT计算,并通过旋转因子进行连接。
在DIT-FFT算法中,输入序列的长度必须是2的整数次幂。
下面将详细介绍8点DIT-FFT的实现步骤:步骤1:读取输入序列首先,我们需要读取一个长度为8的输入序列,记为x[0]到x[7]。
步骤2:重新排列输入序列按照DIT-FFT算法的要求,需要对输入序列x进行重新排列。
对于长度为8的序列,重新排列的顺序如下所示:x[0],x[4],x[2],x[6],x[1],x[5],x[3],x[7]排列后的序列依次为x'[0]到x'[7]。
步骤3:递归计算FFT使用递归的方式计算子序列的FFT。
对于输入序列x'[0]到x'[3],以及x'[4]到x'[7],分别进行FFT计算。
其中,x'[0]到x'[3]可以视为长度为4的子序列,x'[4]到x'[7]可以视为长度为4的子序列。
步骤4:计算旋转因子根据FFT的定义,我们需要计算旋转因子 W = exp(-j*2*pi/N),其中,N 为输入序列的长度。
步骤5:连接子序列将计算得到的长度为4的子序列进行连接。
对于x'=[x'[0],x'[1],x'[2],x'[3]]和y'=[x'[4],x'[5],x'[6],x'[7]],连接操作可以表示为:x'[k]=x[k]+W^k*y[k]y'[k]=x[k]-W^k*y[k]其中,k为子序列的索引。
8点DIF-FFT程序编写课程设计(1)
目录摘要 (I)1数字信号处理和MATLAB简介 (1)1.1 MATLAB简介 (1)1.2数字信号处理简介 (1)1.3 信号分析与处理的特点及实现方法 (2)2 FFT算法 (3)2.1 DFT的定义 (3)2.2 DFT与FFT的比较 (3)2.3基2按频率抽取(DIF)的FFT算法 (3)3 按频率抽取的FFT的特点 (7)3.1 原位运算 (7)3.2 蝶形运算两节点之间的“距离” (7)3.3 旋转因子的变化规律 (7)3.4 程序流程图 (7)4 DIF程序编写 (8)4.1 变址 (8)4.2 L级递推计算 (8)4.3 编写主函数 (10)4.4 程序运行结果图 (12)5体会 (13)参考文献 (14)摘要数字信号与模拟信号处理相比,数字信号处理具有高精度、高稳定性、灵活性好、易于大规模集成等显著的优点,运用八点的DIF-FFT运算,能从理论上大大节省运算的次数和时间。
关键字:数字信号、DIF、MATLAB1数字信号处理和MATLAB简介1.1 MATLAB简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
Matlab和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面,连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
数字图像处理_武汉理工大学中国大学mooc课后章节答案期末考试题库2023年
数字图像处理_武汉理工大学中国大学mooc课后章节答案期末考试题库2023年1.已知噪声频谱的频率范围区间,应该选用下列哪种滤波器消除噪声参考答案:带阻滤波器2.已知图像块【图片】则用3*3中值滤波模板对图像进行滤波时,得到f(2,1)的灰度值是参考答案:53.关于算术编码,下列说法正确的是参考答案:把整个信息源表示为实数线上0到1之间的一个区间4.关于变长编码,下列说法错误的是参考答案:对出现概率不等的符号用变长编码的平均码长一般与等长编码的平均码长相当5.在RGB空间中,若某个像素点的值是(0,255,0),则表示该颜色为蓝色。
参考答案:错误6.阈值分割法分割图像是基于图像灰度的相似性性质参考答案:正确7.开运算是用结构元素对二值图像先膨胀再腐蚀参考答案:错误8.设一幅图像有5个灰度级{0,1,2,3,4},经过统计这5个灰度级出现的概率分别为{1/8,1/8,1/8,1/2,1/8},则该图像的熵为(bit/灰度级)(取整数)参考答案:29.形态学处理中最基本的运算是腐蚀与膨胀。
其中,腐蚀通常用以填补目标物中存在的某些空洞参考答案:错误10.形态学处理中最基本的运算是腐蚀与膨胀。
其中,膨胀通常在去除小颗粒以及消除目标物之间的粘连是非常有效的参考答案:错误11.均值滤波器会使图像变模糊参考答案:正确12.由彩色向量梯度计算得到的图像边缘一般比由3个分量图像计算得到边缘合成的效果要好。
参考答案:正确13.根据需要设计一个颜色表,进而将灰度值作为颜色表的索引值完成从灰度到彩色的映射。
这种伪方法称为基于灰度颜色表的伪彩色方法。
参考答案:正确14.图像占用的带宽与语音占用的带宽大小相当,属于相同数量级参考答案:错误15.本课程研究的图像是二维的,是三维景物在二维平面上的投影参考答案:正确16.以下方面属于数字图像处理的应用有:参考答案:无人船_人脸识别_视频监控_智能机器人17.数字图像处理的特点有:参考答案:处理信息量大_占用频带较宽_像素相关性大_处理的效果评价受人的主观影响较大18.数字图像处理相对于模拟图像处理的优点有:参考答案:精度高_再现性好_通用性好19.已知图像上的2个像素p,q的坐标分别为(26,15)和(20,23),则p和q之间欧式距离为:参考答案:1020.已知图像上的2个像素p,q的坐标分别为(26,15)和(20,23),则p和q之间棋盘距离为:参考答案:821.灰度对数变换可以参考答案:拉伸低灰度区,压缩高灰度区22.对二值图像进行标记处理是对二值图像的每个不同的连通域进行不同的编号,来区分不同的连通域参考答案:正确23.一帧视频图像由640*400个像素组成,其灰度级如果用8bit的二进制数表示,那么一帧视频的数据量为多少?参考答案:2048000bit24.有损预测编码引起的信息失真是由下列哪个部分产生的参考答案:量化器25.在使用区域合并分裂方法进行图像分割时,不需要用到每个子块的属性参考答案:错误26.区域生长方法中选取的种子点只能是单个像素参考答案:错误27.边缘检测与连接法分割图像是利用图像灰度的不连续性性质参考答案:正确28.RGB彩色图像的锐化可以对彩色图像的三个分量图像分别进行锐化处理得到。
武汉理工大学专业综合课设《图像频率域处理程序设计》
专业综合课程设计任务书学生姓名:专业班级:电信1005班指导教师:李达工作单位: 信息工程学院题目:图像频率域处理程序设计初始条件:(1)提供实验室机房及其matlab软件;(2)数字图像处理的基本理论学习。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):(1)掌握频率域处理的基本原理,利用matlab设计程序完成以下功能;(2)选择二幅大小不一的256级的灰度图像;(3)用频域方法计算它们的空间域的运算结果;(4)频域中需要利用周期延拓的方法计算空域中的相关结果,分析周期延拓的必要性;(5)对结果进行分析;(6)要求阅读相关参考文献不少于5篇;(7)根据课程设计有关规范,按时、独立完成课程设计说明书。
时间安排:(1) 布置课程设计任务,查阅资料,确定方案四天;(2) 进行编程设计一周;(3) 完成课程设计报告书三天;指导教师签名: 年月日系主任(或责任教师)签名: 年月日武汉理工大学《专业综合》课程设计目录1 MATLAB简介 (1)1.1MATLAB的简介 (1)1.2应用 (2)1.3Matlab的特点 (2)1.4 MATLAB的优势 (3)2 图像频域处理的概述 (6)3 二维傅里叶变换 (7)3.1 二维连续傅里叶变换 (7)3.2 二维离散傅里叶变换 (8)3.3 二维离散傅里叶变换的性质 (8)3.4 周期延拓在卷积中的作用 (9)4 程序设计的基本步骤 (14)4.1 检查图片格式 (14)4.2 用MATLAB转换成灰度图像 (16)4.3 程序设计 (17)5 运行结果及结果分析 (20)6 心得体会 (23)参考文献 (24)摘要图像的频域处理是指根据一定的图像模型,对图像频谱进行不同程度修改的技术。
二维正交变换是图像处理中常用的变换,其特点是变换结果的能量分布向低频成份方向集中,图像的边缘、线条在高频成份上得到反映,因此正交变换在图像处理中得到广泛运用。
8点基于DIF-FFT课程设计
1数字信号处理简介1.1 数字信号处理概念相对于模拟信号,数字信号是时间、幅值都离散的信号,数字信号处理就是通过计算机或专用处理设备,用数值计算等数字方式对数字信号进行各种处理,将数字信号变换成符合要求的某种形式。
数字信号处理主要包括数字滤波和数字频谱分析两大部分。
例如,对数字信号进行滤波,限制其频带或滤除噪声和干扰,以提取和增强信号的有用分量;对信号进行频谱分析或功率分析,了解信号的频谱组成,以对信号进行识别。
当然,凡是用数字方式对信号进行滤波,变换,增强,压缩,估计和识别等都是数字信号处理的研究范畴。
数字信号处理在理论上所涉及的范围极其广泛。
数字领域中的微积分,概率统计,随机过程,高等代数,数值分析,复变函数和各种变换(如傅里叶变换,Z变换,离散傅里叶变换,小波变换等)都是它的基本工具,网络理论,信号与系统等则是它的理论基础。
在科学发展上,数字信号处理又和最优控制,通信理论等紧密相连,目前已成为人工智能,模式识别,神经网络等新兴学科的重要理论基础,其实现技术又和计算机科学和微电子技术密不可分。
因此,数字信号处理是把经典的理论基础体系作为自身的理论基础,同时又使自己成为一系列新兴学科的理论基础。
1.2数字信号处理的特点及实现方法与模拟信号处理相比,数字信号处理具有高精度、高稳定性、灵活性好、易于大规模集成等显着的优点。
数字信号处理的主要研究对象是数字信号,且采用数值运算的方法达到处理的目的。
数字信号处理的实现方法基本上可以分为软件实现方法、硬件实现方法和软硬件相结合的实现方法。
数字信号处理的理论、算法和实现方法三者是密不可分的。
2 FFT 算法介绍2.1 DFT 的定义对于有限长离散数字信号{x[n]},0 ≤ n ≤ N-1,其离散谱{X[k]}可以由离散傅氏变换(DFT )求得。
DFT 的定义为:21[][]N jnk Nn X k x n eπ--==∑,k=0,1,…N -1通常令2jNN eW π-=,称为旋转因子。
8点基于DIT的FFT的实现
目录摘要 (I)1 FFT原理与实现 (1)1.1引言 (1)1.2 DFT计算公式 (1)1.3旋转因子WN的特性 (1)1.4调用8点计算16点 (5)2 程序设计 (5)2.1 计算8点FFT代码 (6)2.2计算16点FFT代码 (7)3调试过程 (8)3.1编写8点FFT函数 (8)3.2 8点FFT函数运行结果 (8)3.3调用系统函数验证 (9)3.4 编写16点FFT函数与运行结果 (9)3.6调用系统函数验证 (10)4 心得体会 (10)参考文献 (12)摘要FFT,即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
本文详细介绍了快速傅里叶算法的原理及推详细推导过程,并给出了8点fft的蝶形图及matlab程序代码,并通过调用该函数就算16点的fft。
关键词:matlab;fft;函数1 FFT 原理与实现1.1引言傅利叶变换是一种将信号从时域变换到频域的变换形式,是声学、语音、电信和信号处理等领域中一种重要的分析工具。
离散傅利叶变换(DFT)是连续傅利叶变换在离散系统中的表示形式,由于 DFT 的计算量很大,因此在很长一段时间内其应用受到很大的限制。
20 世纪 60 年代由 Cooley 和 Tukey 提出了快速傅利叶变换(FFT)算法,它是快速计算 DFT 的一种高效方法,可以明显地降低运算量,大大地提高DFT 的运算速度,运算时间缩短一至两个数量级,从而使 DFT 在实际应用中得到了广泛的应用。
1()N nk Nn x n W-=∑ (k=0,1,..N-1 *2*/nk j NNe W π-= ) (1) 1.2 DFT 计算公式其中x(n)表示输入的离散数字信号序列,WN 为旋转因子,X(k)一组N 点组成的频率成分的相对幅度。
一般情况下,假设x(n)来自于低通采样,采样频率为fs ,那么X(k)表示了从-fs/2率开始,频率间隔为fs/N,到fs/2-fs/N 截至的N 个频率点的相对幅度。
DSP课程设计-8点基于DIF的FFT的实现(精)
课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:8点基于DIF的FFT的实现初始条件:具备数字信号处理的理论知识;具备Matlab编程能力;熟悉基于DIF的FFT的实现原理;提供编程所需要的计算机一台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、独立编写一个8点的基于DIF的FFT实现程序,不能使用matlab自带的FFT 实现函数2、程序运行结果与matlab自带函数结果进行对比3、完成符合学校要求的设计说明书时间安排:一周,其中3天程序设计,2天程序调试指导教师签名:年月日系主任(或责任教师)签名:年月日XX大学《数字信号处理》课程设计说明书目录摘要································································································································ I 1 Matlab软件简介 (1)1.1 Matlab语言的历史 (1)1.2 Matlab软件概况 (1)1.3 Matlab的特点 (1)2 快速傅里叶变换算法分析 (3)2.1 FFT简介 (3)2.2 按频率抽选的FFT算法 ................................................................................. 3 3 程序设计.. (6)3.1 程序设计思路 (6)3.2 要使用的Matlab函数 .................................................................................... 6 4 程序流程图................................................................................................................ 8 5 源程序 (9)5.1 直接调用FFT函数源程序 (9)5.2 FFT计算源程序 ............................................................................................... 9 6 程序运行结果分析.. (11)6.1 程序运行结果 (11)6.2 结果分析........................................................................................................ 12 7 课程设计心得体会.. (13)参考文献...................................................................................................................... 14 致谢 (15)XX大学《数字信号处理》课程设计说明书摘要快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的快速算法,FFT算法通过利用旋转因子的性质,将一个大点数DFT化成几个小点数DFT,就可以大大减少运算量。
8点基于DIT的FFT的实现
课程设计任务书学生姓名:专业班级:电信0803班指导教师:工作单位:信息工程学院题目:8点基于DIT的FFT的实现初始条件:具备Matlab编程能力;熟悉基于DIT的FFT的实现原理;提供编程所需要的计算机一台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、编写一个8点的基于DIT的FFT函数,不能使用matlab 自带的FFT实现函数,2、并调用该函数实现16点的FFT运算,用matlab自带函数对运行结果结果进行验证3、完成符合学校要求的设计说明书时间安排:一周,其中3天程序设计,2天程序调试指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)1 Matlab软件介绍 (1)1.1 Matlab概述 (1)1.2 Matlab桌面 (2)2 快速傅里叶变换(FFT)……………………………………………………………42.1 快速傅里叶变换(FFT)概述…………………………………………………42.2 快速傅里叶变换(FFT)原理 (4)2.3 DIT-FFT原理 (4)2.3.1 DIT-FFT思路 (4)2.3.2 蝶形运算 (5)2.4 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 运算。
华工信号与系统实验-实验三 基于Matlab的FFT应用
实验三 基于Matlab 的FFT 应用一.实验内容1. 确定该稳定LTI 系统的频率响应的幅度和相位2. 求下面离散系统在区间的频率响应 3. 计算 的DTFT4. 受噪声干扰的正弦信号的频谱二.实验仪器PC 计算机三.实验步骤(1)确定该稳定LTI 系统的频率响应的幅度和相位对于连续时间系统的频率响应(freqs )其单位冲击响应可以表示为:代码如下:function Lianxupinpu()a = [3,4,1]; %输出信号系数b = [1,0,5]; %输入信号系数 H = freqs(b,a); %计算频率响应subplot(2,1,1); stem(abs(H)); %绘制幅值曲线 subplot(2,1,2); stem(angle(H)); %绘制相位曲线],[π0][][][10--=n u n u n x 00()()k k N Nk kk k k k d y t d x t a b dt dt ===∑∑0()()()Nk k k N kk k b j H j a j ωωω==∴=∑∑)()()()()(t x dt t x d t y dt t dy dt t y d 5432222+=++实验结果:结果分析:利用H =freqs (b,a)计算连续时间系统的频率响应H(jw) 再利用abs()和angle()画出H(jw)的幅度和相位(2)求下面离散系统在区间的频率响应离散时间系统的频率响应(freqz )其单位冲击响应可以表示为:代码如下:function Lisanpinpu(N)a = [0,-0.8,1]; %输出信号系数b = [-1,0,2]; %输入信号系数],[π0][][][.][22180--=--n x n x n y n y ∑∑=-=-==Nk jk k Nk jk k j j j e a e b e X e Y e H 00)()()(ωωωωω[H] = freqz(b,a,N,'whole'); %计算频率响应subplot(2,1,1); plot(abs(H)); %绘制幅值曲线subplot(2,1,2); plot(angle(H)*180); %绘制相位曲线实验结果:结果分析:利用H =freqz (b,a ,N ,'whole')计算连续时间系统的频率响应)(ωj e H 再利用abs()和angle()画出)(ωj e H 的幅度和相位(3)计算 的DTFT注:fft 点数N 建议取128、或256、或512 DTFT 的定义:代码如下:function DTFT(N)n = 0:N;x = [n>=0] - [(n-10)>=0];%产生x 信号][][][10--=n u n u n x ()[]j j nn X e x n e ωω∞-=-∞=∑xc = fft(x); %对x求FFTxw = fftshift(xc); %使图像对称plot(-N/2:N/2,abs(xw));实验结果:N=128结果分析:X 信号为门信号,其频谱应为Sa 函数如图与实际相符。
FFT算法分析
FFT算法分析FFT 算法分析FFT 算法的基本原理是把长序列的DFT 逐次分解为较短序列的DFT 。
按照抽取方式的不同可分为DIT-FFT (按时间抽取)和DIF-FFT (按频率抽取)算法。
按照蝶形运算的构成不同可分为基2、基4、基8以及任意因子(2n,n 为大于1的整数),基2、基4算法较为常用。
基2、DIT-FFT (按时间抽取):-10/21/212(21)/21/21/2/2()() ()()(2)(21)(2)(21)N knNn knknN Nn n N N k r k r NNr n N N kr k kr N NN r n X k x n W x n W x n W x r Wx r Wx r WWx r W ===--+==--====+=++=++∑∑∑∑∑∑∑偶数奇数000令/211/2(2)()N kr N r x r WX k -==∑0,/212/2(21)()N kr N r x r WX k -=+=∑0,则有:1212()()()(/2)()()kN kNX k X k W X k X k N X k W X k =++=-蝶形运算单元如下所示:基2、DIF-FFT (按频率抽取):-10/211/2/21/21(/2)/21/2/21/2()() ()()()(/2)[()(/2)](2)[()(/2)](21)[()(N knN n N N kn knNN n n N N N knk n N NNn n N kN kn NNn N rn N n X k x n W x n W x n W x n W x n N W x n Wx n N WX r x n x n N WX r x n x n N =--==--+==-=-===+=++=++=+++=-+∑∑∑∑∑∑∑000/21/2/2)]N n rn NN n W W-=∑0则有:12()()(/2)()[()(/2)]n Nx n x n x n N x n x n x n N W=++=-+蝶形运算单元如下所示:由前面的分析可知,DIT (按时间抽取)算法与DIF (按频率抽取)算法没有本质上的区别,只是复数加减法与旋转因子乘法的次序有区别,两种方法的运算量是一样的。
8点基于DIT的FFT的实现
课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:8点基于DIT的FFT的实现初始条件:具备Matlab编程能力;熟悉基于DIT的FFT的实现原理;提供编程所需要的计算机一台。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、编写一个8点的基于DIT的FFT函数,不能使用matlab 自带的FFT实现函数;2、并调用该函数实现16点的FFT运算,用matlab自带函数对运行结果进行验证;3、完成符合学校要求的设计说明书。
时间安排:一周,其中3天程序设计,2天程序调试指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)Abstract (II)1 概述 (1)1.1 快速傅立叶变换(FFT)简介 (1)1.2 MATLAB简介 (2)2 直接计算DFT的问题及改进 (4)2.1直接计算DFT的运算量 (4)2.2 改进措施 (5)3 按时间抽选的基-2FFT算法(DIT-FFT) (6)3.1 DIT-FFT算法原理 (6)3.2 DIT-FFT的运算量 (13)3.3 DIT-FFT算法的特点 (14)3.4 N=16时的DIT-FFT算法 (16)4 MATLAB程序代码 (18)4.1 N=8点DIT-FFT代码 (18)4.2 N=16点DIT-FFT代码 (19)5 MATLAB仿真结果及验证 (20)5.1 DIT-FFT函数调试 (20)5.2 DIT-FFT函数运行结果 (21)5.3调用系统函数验证 (22)6 心得体会 (24)7 参考文献 (25)摘要此次课程设计的目的是利用MATLAB实现8点基于DIT的FFT的仿真,不使用MATLAB自带的FFT实现函数。
本文先就直接计算傅立叶变换(DFT)存在的问题进行讨论,之后详细介绍了快速傅立叶变换(FFT)的原理以及推导过程,给出了8点FFT的蝶形流图以及MATLAB仿真的程序代码,并通过调用该函数代码计算16点的FFT。
基-8FFT算法的研究及硬件设计--硕士论文
北京理工大学硕士论文
Abstract
In Signal Processing, Discrete Fourier Transform(DFT) is the important basic algorithm of time domain to transform domain. Fast Fourier Transform (FFT)as the fast algorithm of DFT has been applied widely in digital signal processing. With the development of Microelectronics ,VLSI and Signal Processing, FFT has been more widely applied in graphics, sound and image which base on digital spectrum analysis. Recently special FFT processing are required in many areas of digital signal processing which need real time, high speed operation. Through research of FFT algorithm, especially the radix-8 FFT algorithm, and improve the radix-8 FFT algorithm focusing on hardware achievement, and the structure, high-speed multiplier, the radix-8 float pointing FFT special processor design is achieved. With Top-down design method and VHDL。the chief butterfly modules have been simulated. The main content is summarized as follow:
快速傅里叶变换 武汉理工大学 数字信号处理讲解
X (k) x(n)WNkn , N 2时 n0
X (0) x(0) x(1) X (1) x(0) x(1)
三、蝶形结
即蝶式计算结构也即为蝶式信号流图
上面频域中前/后半部分表示式可以用蝶形信号
流图表示。
作图要素:
X1(k)
X1(k) WNk X 2 (k) (1)左边两路为输入
( N )2 + ( N )2 +
4
4
X (k) N X (k) N
(
N
4
)2
4
+
(
N 4
)
4 2
=
N 4
2
这样一直分下去,剩下两点的变换。
2、将长序列DFT利用对称性和 周期性分解为短序列DFT--结论
• 快速付里时变换(FFT)就是在此特性基础上 发展起来的,并产生了多种FFT算法,其基 本上可分成两大类:
)
e
j
2k
1
k 0,1,N 1
(WNNn )
j 2
(e N
Nn
)
e j2n
1
n 0,1,N 1
由此可得出: (WNn(N (WNN /2 )
k )
e
) WN(N
j
2 N
N
2
n)k
cos
W nk N
j sin
kN
(WN 2
1
)
WNk
例子
• 例: W49 W4(45) W45 W41 W825 W817 W89 W81
k 0,, N / 2 1
4.结论
• 一个N点的DFT被分解为两个N/2点DFT。 X1(k),X2(k)这两个N/2点的DFT按照:
武汉理工大学8点基于DIFFFT
课程设计任务书学生姓名:李嘉辛专业班级:电信1206指导教师:黄朝兵工作单位:信息工程学院题目:8点基于DIF的FFT的实现初始条件:具备Matlab编程能力;熟悉基于DIF的FFT的实现原理;提供编程所需要的计算机一台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、独立编写一个8点的基于DIF的FFT实现程序,不能使用matlab自带的FFT实现函数2、并调用该函数实现16点的FFT运算,用matlab自带函数对运行结果结果进行验证3、完成符合学校要求的设计说明书时间安排:一周,其中3天程序设计,2天程序调试指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (1)1概述 (1)1.1数字信号处理定义 (1)1.2数字信号处理的特点及实现方法 (2)2 理论分析 (2)2.1 DFT的定义 (2)2.2 直接计算DFT的问题及FFT思想 (2)2.3基2按时间抽取(DIT)的FFT算法 (3)2.4基2按频率抽取(DIF)的FFT算法 (4)2.5 按频率抽取的FFT的特点 (7)2.5.1 原位运算 (7)2.5.2 蝶形运算两节点之间的“距离” (7)2.5.3 旋转因子的变化规律 (7)3 程序设计 (8)3.1变址 (8)3.2 L级递推计算 (8)4结果及分析 (10)5心得体会 (13)参考文献 (14)摘要快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的快速算法,FFT 算法通过利用旋转因子的性质,将一个大点数DFT化成几个小点数DFT,就可以大大减少运算量。
DIF-FFT是利用频率抽选的FFT算法,在Matlab 中可以通过三重循环语句实现。
关键词:FFT,蝶形运算,倒序排列1概述1.1数字信号处理定义数字信号是用数字序列表示的信号,数字信号处理就是通过计算机或专用处理设备,用数值计算等数字方式对数字序列进行各种处理,将数字信号变换成符合要求的某种形式。
基-8FFT算法的研究及硬件设计--硕士论文
最后总结了本论文的研究结果,提出进一步研究方向。
关键词:数字信号处理,快速傅里叶变换(FFT),基-8 算法,浮点运算: 日期:
2
北京理工大学硕士论文
摘要
离散傅里叶变换(DFT)是数字信号处理当中作为时域到频域变换的重要 基本运算。快速傅里叶变换(FFT)作为离散傅里叶变换(DFT)的快速算法, 在数字信号处理当中得到广泛应用。特别随着微电子学中超大规模集成电路设 计和数字信号处理的发展,更是广泛应用是以数字谱分析为必要前提的图形、 语音及图像等领域。当今,在许多基于数字信号处理的应用中都需要专用的 FFT 处理器进行实时快速的运算。本文对 FFT 算法,特别是对基-8FFT 算法进行了 研究,并针对硬件实现,做出了改进。根据改进的算法,对 FFT 多种实现结构 以及内部高速乘法器,加法器和多个模块的研究,设计了基-8FFT 专用处理器 的结构,并采用 Top-Down 的设计方法,用 VHDL 硬件描述语言对主要模块进行 了描述和仿真。具体内容如下:
Firstly, give a brief introduction of the meaning of this work as well as the development on FFT, and the content of this paper. Introduce the elements of FFT, some kinds of FFT algorithm, and IEEE754 standard expression of floating-point.
数字信号处理 基于8点的dif-fft变换
数字信号处理1、设计目的及意义(1)、掌握实现基2-DIF-FFT算法的方法(2)、掌握Maltlab的基本使用方法,初步具有使用Maltlab编程的能力2、设计原理2.1 FFT简介离散傅里叶变换(DFT)正变换: n=0,1,2…,N-1逆变换: n=0,1,2…,N-12.2 按频率抽选的FFT算法FFT算法主要有两种,按时间抽选的FFT的算法(DIT-FFT)和按频率抽选的FFT算法(DIF-FFT)。
这里主要介绍DIF-FFT。
DIF-FFT算法是将输入序列x(k)分成前后两个部分。
由于,则k为偶数k为奇数所以把k按奇数和偶数分, r=0,1,…N/2-1K为偶数 k为奇数将X(k)分为两部分:令,,可得,r=0,1,2,…,N/2-1由此可得频率抽选法蝶形运算单元,如图2.1所示图2.1频率抽选法蝶形运算单元这样可以把一个N点DFT分解为两个N/2点DFT的组合,两个N/2点DFT还可以继续分解,设N=2M,则经过M-1次分解,最后可以分解成为N/2个两点DFT,可以由一个蝶形运算来求解。
例如8点DIF-FFT蝶形运算图如图2.2图2.2 8点DIF-FFT运算流图。
输出序列的排列规律不是从小到大按顺序的,而是按照倒叙规则排序的,即先将0-7转换为二进制数,然后将二进制数左右倒序,再转为十进制就可以得到新的数列,即:0,4,2,6,1,5,3,7。
2.3 程序流程图开始设定输入序列求出蝶形运算级数m=3循环mm=1到3级蝶形运算求该级旋转因子下标Nm循环该级1到2mm-1组蝶形运算循环该组1到23-mm个蝶形运算计算一个蝶形运算单元序列倒序后绘图结束YY Y N N N图2.3 程序流程图3、程序及结果3.1 直接调用FFT函数源程序以下是直接调用Matlab自带的FFT函数计算的源程序,其输入序列为x=[0 2 4 6 0 2 4 6],求出FFT结果y=X(k)后对其幅值和原序列进行绘图。
数字信号处理_武汉理工大学中国大学mooc课后章节答案期末考试题库2023年
数字信号处理_武汉理工大学中国大学mooc课后章节答案期末考试题库2023年1.不考虑某些旋转因子的特殊性,一般一个基2 FFT算法的蝶形运算所需的复数乘法及复数加法次数分别为( )。
参考答案:1和22.若数字滤波器的单位脉冲响应h(n)是对称的,长度为N,则它的对称中心是()参考答案:(N-1)/23.下列序列中属周期序列的为( )。
参考答案:x(n)=14.一个线性移不变系统稳定的充分必要条件是其系统函数的收敛域包括( )参考答案:单位圆5.已知序列Z变换的收敛域为|z|<1,则该序列为( )。
参考答案:左边序列6.x(n)=u(n)偶对称部分为( )参考答案:1/2+1/2δ(n)7.下列滤波器中,阶数越高越接近矩形特性的为( )参考答案:以上均是8.若正弦序列x(n)=sin(30nπ/120)是周期的,则周期是N= ( )参考答案:89.快速傅里叶变换的特点是()参考答案:以上均是10.设系统的单位抽样响应为h(n),则系统因果的充要条件为()参考答案:当n<0时,h(n)=011.在N=32的基2时间抽取法FFT运算流图中,从x(n)到X(k)需 ( ) 级蝶形运算过程。
参考答案:512.数字信号处理的实现方法为()参考答案:以上均是13.DIF-FFT输入x(n)是(),输出X(K)是()参考答案:自然顺序,倒序14.DIT-FFT输入x(n)是(),输出X(K)是()参考答案:倒序,自然顺序15.DIF-FFT蝶形运算()乘以旋转因子,()进行加减运算;DIT-FFT蝶形运算()乘以旋转因子,()进行加减运算。
参考答案:后,先;先,后16.一线性时不变因果系统由差分方程y(n) = x(n) + x(n-1)+0.8y(n-1)描述,则系统的频率响应呈()。
参考答案:低通特性17.若一模拟信号为带限,且对其抽样满足奈奎斯特采样定理,则只要将抽样信号通过()即可完全不失真恢复原信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书学生姓名:李嘉辛专业班级:电信1206指导教师:黄朝兵工作单位:信息工程学院题目:8点基于DIF的FFT的实现初始条件:具备Matlab编程能力;熟悉基于DIF的FFT的实现原理;提供编程所需要的计算机一台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、独立编写一个8点的基于DIF的FFT实现程序,不能使用matlab自带的FFT实现函数2、并调用该函数实现16点的FFT运算,用matlab自带函数对运行结果结果进行验证3、完成符合学校要求的设计说明书时间安排:一周,其中3天程序设计,2天程序调试指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (1)1概述 (1)1.1数字信号处理定义 (1)1.2数字信号处理的特点及实现方法 (2)2 理论分析 (2)2.1 DFT的定义 (2)2.2 直接计算DFT的问题及FFT思想 (2)2.3基2按时间抽取(DIT)的FFT算法 (3)2.4基2按频率抽取(DIF)的FFT算法 (4)2.5 按频率抽取的FFT的特点 (6)2.5.1 原位运算 (6)2.5.2 蝶形运算两节点之间的“距离” (7)2.5.3 旋转因子的变化规律 (7)3 程序设计 (7)3.1变址 (8)3.2 L级递推计算 (8)4结果及分析 (10)5心得体会 (13)参考文献 (14)摘要快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的快速算法,FFT 算法通过利用旋转因子的性质,将一个大点数DFT化成几个小点数DFT,就可以大大减少运算量。
DIF-FFT是利用频率抽选的FFT算法,在Matlab 中可以通过三重循环语句实现。
关键词:FFT,蝶形运算,倒序排列1概述1.1数字信号处理定义数字信号是用数字序列表示的信号,数字信号处理就是通过计算机或专用处理设备,用数值计算等数字方式对数字序列进行各种处理,将数字信号变换成符合要求的某种形式。
数字信号处理主要包括数字滤波和数字频谱分析两大部分。
例如,对数字信号进行滤波,限制其频带或滤除噪声和干扰,以提取和增强信号的有用分量;对信号进行频谱分析或功率分析,了解信号的频谱组成,以对信号进行识别。
当然,凡是用数字方式对信号进行滤波,变换,增强,压缩,估计和识别等都是数字信号处理的研究范畴。
数字信号处理在理论上所涉及的范围及其广泛。
数字领域中的微积分,概率统计,随机过程,高等代数,数值分析,复变函数和各种变换(如傅里叶变换,Z变换,离散傅里叶变换,小波变换等)都是它的基本工具,网络理论,信号及系统等则是它的理论基础。
在科学发展上,数字信号处理又和最优控制,通信理论等紧密相连,目前已成为人工智能,模式识别,神经网络等新兴学科的重要理论基础,其实现技术又和计算机科学和微电子技术密不可分。
因此,数字信号处理是把经典的理论基础体系作为自身的理论基础,同时又使自己成为一系列新兴学科的理论基础。
1.2数字信号处理的特点及实现方法及模拟信号处理相比,数字信号处理具有高精度、高稳定性、灵活性好、易于大规模集成等显著的优点。
数字信号处理的主要研究对象是数字信号,且采用数值运算的方法达到处理的目的。
数字信号处理的实现方法基本上可以分为软件实现方法、硬件实现方法和软硬件想结合的实现方法。
数字信号处理的理论、算法和实现方法三者是密不可分的。
2理论分析2.1DFT 的定义对于有限长离散数字信号{x[n]},0 n N-1,其离散谱{X[k]}可以由离散付氏变换(DFT )求得。
DFT 的定义为:,k=0,1,…N-1 (2.1) 通常令2j N N e W π-=,称为旋转因子。
2.2直接计算DFT 的问题及FFT 思想由DFT 的定义可以看出,在x[n]为复数序列的情况下,完全直接运算N 点DFT 需要N-1的2次方复数乘法和N (N-1)次加法。
因此,对于一些相当大的N 值(如1024)来说,直接计算它的DFT 所作的计算量是很大的。
FFT 的基本思想在于,将原有的N 点序列分成两个较短的序列,这些序列的DFT 可以很简单的组合起来得到原序列的DFT 。
例如,若N 为偶数,将原有的N 点序列分成两个(N/2)点序列,那么计算N 点DFT 将只需要约[(N/2)2∙2]=N 2/2次复数乘法。
即比直接计算少做一半乘法。
因子(N/2)2表示直接计算(N/2)点DFT 所需要的乘法次数,而乘数2代表必须完成两个DFT 。
上述处理方法可以反复使用,即(N/2)点的DFT 计算也可以化成两个(N/4)点的DFT (假定N/2为偶数),从而又少做一半的乘法。
这样每一级的划分下去一直到最后就划分成两点的FFT 运算的情况。
2.3基2按时间抽取(DIT )的FFT 算法设序列长度为2L N =,L 为整数(如果序列长度不满足此条件,通过在后面补零使其满足)。
将长度为2L N =的序列[](0,1,...,1)x n n N =-,先按n 的奇偶分成两组:(r=0,1,…,N/2-1) (2.2)DFT 化为:1/21/212(21)000/21/21221200/21/211/22/200[]{[]}[][2][21][][][][]N N N nk rk r k N N Nn r r N N rk k rk N N N r r N N rk k rk N N N r r X k DFT x n x n Wx r W x r W x r W W x r W x r W W x r W ---+===--==--=====++=+=+∑∑∑∑∑∑∑ (2.3)上式中利用了旋转因子的可约性,即:2/2rk rk N N W W =。
又令/21/2111/222/200[][],[][]N N rk rk N N r r X k x r W X k x r W --====∑∑,则上式可以写成:12[][][]k N X k X k W X k =+ (k=0,1,…,N/2-1) (2.4)可以看出,12[],[]X k X k 分别为从[]X k 中取出的N/2点偶数点和奇数点序列的N/2点DFT 值,所以,一个N 点序列的DFT 可以用两个N/2点序列的DFT 组合而成。
但是,从上式可以看出,这样的组合仅表示出了[]X k 前N/2点的DFT 值,还需要继续利用12[],[]X k X k 表示[]X k 的后半段本算法推导才完整。
利用旋转因子的周期性,有:(/2)/2/2rk r k N N N W W +=,则后半段的DFT值表达式:/21/21()211/21/2100[][][][]2N N N r k rk N N r r N X k x r W x r W X k --+==+===∑∑(2.5)(k=0,1,…,N/2-1)(2.6)所以后半段(k=N/2,…,N-1)的DFT 值可以用前半段k 值表达式获得,中间还利用到()22N N k k k N N W W W W +==-,得到后半段的[]X k 值表达式为:12[][][]k N X k X k W X k =-(k=0,1,…,N/2-1)。
这样,通过计算两个N/2点序列12[],[]x n x n 的N/2点DFT 12[],[]X k X k ,可以组合得到N 点序列的DFT 值[]X k ,其组合过程如下图所示: 1[]X k 12[][]k N X k W X k +2[]X k nk N W -1 12[][]k N X k W X k -图2.1 FFT 形成过程2.4基2按频率抽取(DIF )的FFT 算法设序列长度为2L N =,L 为整数(如果序列长度不满足此条件,通过在后面补零使其满足)。
在把[]X k 按k 的奇偶分组之前,把输入按n 的顺序分成前后两半:(2.7)因为21NN W =-,则有2(1)N k k N W =-,所以:X[k]=∑[x [n ]+(−1)k x[n +N 2]]N/2−1n=0W N nk ,k =0,1,…,N −1(2.8)按k 的奇偶来讨论,k 为偶数时:X[2r]=∑[x [n ]+x[n +N 2]]N/2−1n=0W N 2rn ,k =0,1,…,N −1(2.9) k 为奇数时:X[2r+1]=∑[x [n ]−x[n +N 2]]N/2−1n=0W N (2r+1)n ,k =0,1,…,N −1 (2.10) 前面已经推导过2/2rk rk N N W W =,所以上面的两个等式可以写为:X[2r]=∑[x [n ]+x[n +N 2]]N/2−1n=0W N/2rn ,k =0,1,…,N/2−1 (2.11)X[2r+1]=W N/2rn ∑[x [n ]−x[n +N 2]]N/2−1n=0W N rn ,k =0,1,…,N/2−1(2.12) 通过上面的推导,X[k]的偶数点值X[2r]和奇数点值X[2r+1]分别可以由组合而成的N/2点的序列来求得,其中偶数点值X[2r]为输入x[n]的前半段和后半段之和序列的N/2点DFT 值,奇数点值X[2r+1]为输入x[n]的前半段和后半段之差再及W N nk 相乘序列的N/2点DFT 值。
令, (2.13)(2.14)则有:(2.15)这样,也可以用两个N/2点DFT 来组合成一个N 点DFT ,组合过程如下图所示:[]x n-1 n N W图2.2 DIF-FFT 算法这样可以把一个N 点DFT 分解为两个N/2点DFT 的组合,两个N/2点DFT 还可以继续分解,设N=2M,则经过M-1次分解,最后可以分解成为N/2个两点DFT ,可以由一个蝶形运算来求解。
例如8点DIF-FFT 蝶形运算图如图2.2图2.3 8点DIF-FFT 蝶形图输出序列的排列规律不是从小到大按顺序的,而是按照倒叙规则排序的,即先将0-7转换为二进制数,然后将二进制数左右倒序,再转为十进制就可以得到新的数列,即:0,4,2,6,1,5,3,7。
2.5 按频率抽取的FFT 的特点2.5.1 原位运算在DIF-FFT 蝶形图中,取第m 级且两输入节点分别在第k ,j 行的蝶形为例,讨论DIF-FFT 的原位运算规律。
由图可得蝶形运算的关系式可表示为()m X k =11()()m m X k X j ---,()m X j =[11()()m m X k X j ---]r N W 。
有上式可得的m-1级的第k 行及第j 行的输出1()m X k -,1()m X j -在运算流图中的作用是,用来计算第m 级的第k 行和第j 行的输出()m X k ,()m X j ,这样当计算完()m X k ,()m X j 后,1()m X k -,1()m X j -在运算流图中就不在起作用,因此可以采用原位运算,把()m X k ,()m X j 直接存入原来存放1()m X k -,1()m X j -的存储单元。