没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
DSP 课程设计报告
设计题目: 256
点
FFT
院 系: 计算机科学学院
专 业: 自动化
年 级: 2008
级
姓 名:
学 号:
指导教师:
2011 年 11 月 28 日
256 点 FFT 的实现
一、设计目的
1、 加深对 DFT 算法原理和基本性质的理解;
2、 熟悉 FFT 的算法原理和 FFT 子程序的算法流程和应用;
3、 学习用 FFT 对连续信号和时域信号进行频谱分析的方法;
4、 学习 DSP 中 FFT 的设计和编程思想;
5、 学习使用 CCS 的波形观察器观察波形和频谱情况;
二、设计内容
给定 256 采样点,求频谱,统计运行时间并在 PC 上显示。
三、设计原理
快速傅里叶变换(FFT)是一种高效实现离散傅里叶变换(DFT)的快速算法,是数
字信号处理中最为重要的工具之一,它在声学,语音,电信和信号处理等领域有着广泛的
应用。
快速傅里叶变换 FFT
旋转因子 WN 有如下的特性。
对称性: WNk+N/2=-WNk
周期性:WNn(N-k)=WNk(N-n)=WN-nk
利用这些特性,既可以使 DFT 中有些项合并,减少了乘法积项,又可以将长序列的
DFT 分解成几个短序列的 DFT。FFT 就是利用了旋转因子的对称性和周期性来减少运算量
的。
中南民族大学计算机科学学院 08 级自动化专业 宗子轩 08064056 第 1 页 共 22 页
FFT 的算法是将长序列的 DFT 分解成短序列的 DFT。例如:N 为偶数时,先将 N 点的
DFT 分解为两个 N/2 点的 DFT,使复数乘法减少一半:再将每个 N/2 点的 DFT 分解成
N/4 点的 DFT,使复数乘又减少一半,继续进行分解可以大大减少计算量。最小变换的点
数称为基数,对于基数为 2 的 FFT 算法,它的最小变换是 2 点 DFT。
一般而言,FFT 算法分为按时间抽取的 FFT(DIT FFT)和按频率抽取的FFT
(DIF FFT)两大类。D IF FFT 算法是在时域内将每一级输入序列依次按奇/偶分成2个
短序列进行计算。而 DIF FFT 算法是在频域内将每一级输入序列依次奇/偶分成2个短序
列进行计算。两者的区别是旋转因子出现的位置不同,得算法是一样的。在 DIF FFT 算法
中,旋转因子出现在输入端,而在 DIF FFT 算法中它出现在输入端。
假定序列 x(n)的点数 N 是 2 的幂,按照 DIF FFT 算法可将其分为偶序列和奇序列。
偶序列:x(2r)=x1(r)
奇序列:x(2r+1)=x2(r)
其中:r=0,1,2,…,N/2-1 则 x(n)的 DFT 表示为
式中,x1(k)和 x2(k)分别为 x1(r)和 x2(r)的 N/2 的 DFT。
由于对称性,
WNk+N/2=-WNk。因此,N 点 DFT 可分为两部分:
中南民族大学计算机科学学院 08 级自动化专业 宗子轩 08064056 第 2 页 共 22 页
1 1 1
0 0 0
N N N
nk nk nk
N N N
n n n
X k x n W x n W x n W
n为偶数
n为奇数
前半部分:x(k)=x1(k)+WkNx2(k) (4)
后半部分: x(N/2+k)=x1(k)-WkNx2(k) k=0,1,…,N/2-1 (5)
从式(4)和式(5)可以看出,只要求出 0~N/2-1 区间 x1(k)和 x2(k)的值,就可求
出 0~N-1 区间 x(k)的 N 点值。
以同样的方式进行抽取,可以求得 N/4 点的 DFT,重复抽取过程,就可以使 N 点的
DFT 用上组 2 点的 DFT 来计算,这样就可以大减少运算量。
基 2 DIF FFT 的蝶形运算如图(a)所示。设蝶形输入为 X1(K)和 X2((K),输出为 x(k)
和 x(N/2+K),则有
x(k)=x1(k)+WkNx2(k) (6)
x(N/2+k)=x1(k)-WkNx2(k) (7)
在基数为 2 的 FFT 中,设 N=2M,共有 M 级运算,每级有 N/2 个 2 点 FFT 蝶形运算,
因此,N 点 FFT 总共有 MN/2 个蝶形运算。
图(a) 基 2 DIF FFT 的蝶形运算
例如:基数为 2 的 FFT,当 N=8 时,共需要 3 级,12 个基 2 DIT FFT 的蝶形运算。
其信号流程如图(b)所示。
x(0) x(0)
W
N
0
x(4) x(1)
-1
W
N
0
x(2) x(2)
-1
W
N
0
W
N
2
x(6) x(3)
-1
-1
W
N
0
x(1) x(4)
-1
W
N
0
W
N
1
x(5) x(5)
-1 -1
W
N
0
W
N
2
x(3) x(6)
-1 -1
W
N
0
W
N
2
W
N
3
中南民族大学计算机科学学院 08 级自动化专业 宗子轩 08064056 第 3 页 共 22 页
x(7) x(7)
-1 -1 -1
图(b) 8 点基 2 DIF FFT 蝶形运算
从图(b)可以看出,输入是经过比特反转的倒位序列,称为位码倒置,其排列顺序为
x(0),x(4),x(2),x(6),x(1),x(5),x(3),x(7) , 输 出 是 按 自 然 顺 序 排 列 , 其 顺 序 为
x(0),x(1),x(2),x(3),x(4),x(5),x(6),x(7)。
四、设计步骤
1、启动 CSS。
2、加载工程项目。
中南民族大学计算机科学学院 08 级自动化专业 宗子轩 08064056 第 4 页 共 22 页
剩余25页未读,继续阅读
SKCQTGZX
- 粉丝: 91
- 资源: 4862
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240528_103010.jpg
- 基于Python的新能源承载力计算及界面设计源码 - HAINING-DG
- 基于Java的本科探索学习项目设计源码 - 本科探索
- 基于Javascript和Python的微商城项目设计源码 - MicroMall
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论6