资源简介
东南大学数字信号处理期末复习 东南大学 数字信号 9系 计算机系
代码片段和文件信息
#include
#include
#include
const int N = 1024;
const float PI = 3.1416;
inline void swap (float &a float &b)
{
float t;
t = a;
a = b;
b = t;
}
void bitrp (float xreal [] float ximag [] int n)
{
// 位反转置换 Bit-reversal Permutation
int i j a b p;
for (i = 1 p = 0; i < n; i *= 2)
{
p ++;
}
for (i = 0; i < n; i ++)
{
a = i;
b = 0;
for (j = 0; j < p; j ++)
{
b = (b << 1) + (a & 1); // b = b * 2 + a % 2;
a >>= 1; // a = a / 2;
}
if ( b > i)
{
swap (xreal [i] xreal [b]);
swap (ximag [i] ximag [b]);
}
}
}
void FFT(float xreal [] float ximag [] int n)
{
// 快速傅立叶变换,将复数 x 变换后仍保存在 x 中,xreal ximag 分别是 x 的实部和虚部
float wreal [N / 2] wimag [N / 2] treal timag ureal uimag arg;
int m k j t index1 index2;
bitrp (xreal ximag n);
// 计算 1 的前 n / 2 个 n 次方根的共轭复数 W‘j = wreal [j] + i * wimag [j] j = 0 1 ... n / 2 - 1
arg = - 2 * PI / n;
treal = cos (arg);
timag = sin (arg);
wreal [0] = 1.0;
wimag [0] = 0.0;
for (j = 1; j < n / 2; j ++)
{
wreal [j] = wreal [j - 1] * treal - wimag [j - 1] * timag;
wimag [j] = wreal [j - 1] * timag + wimag [j - 1] * treal;
}
for (m = 2; m <= n; m *= 2)
{
for (k = 0; k < n; k += m)
{
for (j = 0; j < m / 2; j ++)
{
index1 = k + j;
index2 = index1 + m / 2;
t = n * j / m; // 旋转因子 w 的实部在 wreal [] 中的下标为 t
treal = wreal [t] * xreal [index2] - wimag [t] * ximag [index2];
timag = wreal [t] * ximag [index2] + wimag [t] * xreal [index2];
ureal = xreal [index1];
uimag = ximag [index1];
xreal [index1] = ureal + treal;
ximag [index1] = uimag + timag;
xreal [index2] = ureal - treal;
ximag [index2] = uimag - timag;
}
}
}
}
void IFFT (float xreal [] float ximag [] int n)
{
// 快速傅立叶逆变换
float wreal [N / 2] wimag [N / 2] treal timag ureal uimag arg;
int m k j t index1 index2;
bitrp (xreal ximag n);
// 计算 1 的前 n / 2 个 n 次方根 Wj = wreal [j] + i * wimag [j] j = 0 1 ... n / 2 - 1
arg = 2 * PI / n;
treal = cos (arg);
timag = sin (arg);
wreal [0] = 1.0;
wimag [0] = 0.0;
for (j = 1; j < n / 2; j ++)
{
wreal [j] = wreal [j - 1] * treal - wimag [j - 1] * timag;
wimag [j] = wreal [j - 1] * timag + wimag [j - 1] * treal;
}
for (m = 2; m <= n; m *= 2)
{
for (k = 0; k < n; k += m)
{
for (j = 0; j < m / 2; j ++)
{
index1 = k + j;
index2 = index1 + m / 2;
t = n * j / m; // 旋转因子 w 的实部在 wreal [] 中的下标为 t
treal = wreal [t] * xreal [index2] - wimag [t] * ximag [index2];
timag = wreal [t] * ximag [index2] + wimag [t] * xreal [index2];
ureal = xreal [index1];
uimag = ximag [index1];
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-12 20:34 数字信号处理课件(1)\
文件 1934336 2018-01-08 19:26 数字信号处理课件(1)\05-第五章-快速傅里叶变换(蝶形运算).ppt
目录 0 2018-01-08 10:32 数字信号处理课件(1)\09015227郭保申数字信号处理实验\
文件 183692 2018-01-07 17:19 数字信号处理课件(1)\09015227郭保申数字信号处理实验\09015227郭保申数字信号处理实验报告.docx
文件 39077 2018-01-07 18:29 数字信号处理课件(1)\09015227郭保申数字信号处理实验\7bf0c30f4a66cfe62ef52&.jpg
目录 0 2018-01-07 18:35 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\
目录 0 2018-01-07 18:35 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\Debug\
文件 33792 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\Debug\FFT.exe
文件 325992 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\Debug\FFT.ilk
文件 371712 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\Debug\FFT.pdb
目录 0 2018-01-07 18:35 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\
目录 0 2018-01-07 18:35 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\
文件 1178 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\CL.read.1.tlog
文件 254 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\CL.write.1.tlog
文件 406 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\FFT.exe.em
文件 472 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\FFT.exe.em
文件 381 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\FFT.exe.intermediate.manifest
文件 81 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\FFT.lastbuildstate
文件 4310 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\FFT.log
文件 21433 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\FFT.obj
文件 713 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\FFT.vcxprojResolveAssemblyReference.cache
文件 0 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\FFT.write.1.tlog
文件 196 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\FFT_manifest.rc
文件 594 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\cl.command.1.tlog
文件 2 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\li
文件 2 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\li
文件 2 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\li
文件 2 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\li
文件 2 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\li
文件 2 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\li
文件 1316 2018-01-07 16:57 数字信号处理课件(1)\09015227郭保申数字信号处理实验\FFT\FFT\Debug\li
............此处省略58个文件信息
- 上一篇:矩阵不等式 - 王松桂
- 下一篇:ARM7嵌入式系统设计与仿真
相关资源
- 安富莱_STM32-V5开发板_数字信号处理教
- [奥本海姆]数字信号处理(第二版)
- 数字信号处理丁玉美高西全
- 数字信号处理-时域离散随机信号处理
- 舒曼谐振信号的分析与提取
- 数字信号处理 答案 陈玉东 第2-9章P
- 移动通信与无线网络安全讲义和期末
- 《数字信号处理》普埃克等著,方艳
- VLSI数字信号处理系统
- [信管网]2009-2019系统集成项目管理工程
- 东南大学920高分笔记高清电子版
- 东南大学Robocup机器人比赛培训资料包
- 数字信号源FPGA
- 数字信号处理时域离散随机信号处理
- 胡广书 数字信号处理理论算法与实现
- 计算机网络体系结构ppt
- 数字信号处理--时域离散随机信号处理
- 吴镇杨数字信号处理课件
- 数字信号处理4版(中文版)
- 电力系统分析上、下册电子版东南大
- 信号处理 模拟与数字信号、系统及滤
- 数字信号处理-基于计算机的方法(第
- 数字信号处理理论、算法与实现_胡广
- 东南大学微机接口试卷
- 东南大学微机课程设计7-电梯控制
- 数字信号处理 理论、算法与实现胡广
- 数字信号处理基础(加 Joyce Van de Ve
- 数字信号处理--时域离散随机信号处理
- 数字信号处理第4版中文版.pdf
- 数字信号处理第二版课后答案-胡广书
评论
共有 条评论