IFFT算法用C语言实现,基于ARM平臺下对IFFT算法实现.docx

基于ARM平臺下对IFFT算法实现

PAGE \* MERGEFORMAT 2

DSP课程作业:

基于ARM平台下的IFFT算法的实现

TOC \o "1-3" \h \z \u 目录

HYPERLINK \l "_Toc358815398" 一、FFT(快速傅立叶变化)算法 PAGEREF _Toc358815398 \h 3

HYPERLINK \l "_Toc358815399" 1.提出背景 PAGEREF _Toc358815399 \h 3

HYPERLINK \l "_Toc358815400" 2.按时间抽取的基-2 FFT算法(DIT-FFT) PAGEREF _Toc358815400 \h 3

HYPERLINK \l "_Toc358815401" ① DIT-FFT算法的基本原理 PAGEREF _Toc358815401 \h 3

HYPERLINK \l "_Toc358815402" ② DIT-FFT算法的运算规律及编程思想 PAGEREF _Toc358815402 \h 4

HYPERLINK \l "_Toc358815403" 3.运算量的比较 PAGEREF _Toc358815403 \h 6

HYPERLINK \l "_Toc358815404" 二、将FFT算法改进为IFFT算法 PAGEREF _Toc358815404 \h 7

HYPERLINK \l "_Toc358815405" 1.IFFT与FFT的比较 PAGEREF _Toc358815405 \h 7

HYPERLINK \l "_Toc358815406" 2.IFFT的FFT改进实现 PAGEREF _Toc358815406 \h 7

HYPERLINK \l "_Toc358815407" 三、在ARM平台下,用正弦序列验证IFFT算法 PAGEREF _Toc358815407 \h 9

HYPERLINK \l "_Toc358815408" 1.实验平台 PAGEREF _Toc358815408 \h 9

HYPERLINK \l "_Toc358815409" 2.实验步骤 PAGEREF _Toc358815409 \h 9

HYPERLINK \l "_Toc358815410" ①将源程序IFFT.c在arm-linux-gcc交叉编译环境下编译成可执行文件IFFT PAGEREF _Toc358815410 \h 9

HYPERLINK \l "_Toc358815411" ②利用超级终端将编译后的可执行文件IFFT传输到嵌入式Linux操作系统下 PAGEREF _Toc358815411 \h 10

HYPERLINK \l "_Toc358815412" ③在嵌入式Linux操作系统下运行可执行文件IFFT,并得到结果 PAGEREF _Toc358815412 \h 12

HYPERLINK \l "_Toc358815413" 3.实验结果 PAGEREF _Toc358815413 \h 12

HYPERLINK \l "_Toc358815414" 四、源程序 PAGEREF _Toc358815414 \h 13

一、FFT(快速傅立叶变化)算法

1.提出背景

在信号分析与处理中,DFT是一种十分重要的变换。但是直接集散DFT的计算量与变换区间长度的平方成正比,当N较大时,计算量太大,所以快速傅立叶变换(简称FFT)出现了。以前,直接用DFT算法进行谱分析的实时处理是不切实际的。直到有了FFT后,情况才发生了根本的变化。

设x(n)为N点有限长序列,其DFT为:

X(k)=n=0N-1xn

二者的差别只在于WN的指数符号不同,以及差一个常数乘因子1/N,所以IDFT与DFT具有胸膛那个的运算工作量。整个DFT运算总共需要4N2次实数乘法和2N(2N-1)次实数加法。直接计算DFT,乘法次数和加法次数都是和N2成正比的当N

2.按时间抽取的基-2 FFT算法(DIT-FFT)

= 1 \* GB3 ① DIT-FFT算法的基本原理

有限长序列x(n)的N点DFT定义为:,式中,其整数次幂简称为旋转因子。直接进行DFT运算大约需要次三角函数计算、次实数乘法计算和次实数加法计算,且需许多索引和寻址操作。基2FFT算法的基本思想是把原始的N点序列依次分解成一系列短序列,充分利用旋转因子的周期性和对称性,分别求出这些短序列对应的DFT,再进行适当的组合,得到原N点序列的DFT,最终达到减少运算次数,提高运算速度的目的。按时间抽取的基2FFT算法,先是将N点输入序列x(n)在时域按奇偶次序分解成2个N/2点序列x1(n)和x2(n),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值