作者:桂。

时间:2017-01-18  23:07:50

链接:http://www.cnblogs.com/xingshansi/articles/6298391.html


前言

FFT是信号处理的常用手段,许多应用场景同时需要两个甚至多个傅里叶变换结果。例如:计算输入信号通过一个系统的输出结果,为了进行快速运算,通常需要利用补零操作使得二者长度相同,并借助FFT实现。许多场景中输入信号以及滤波器冲激响应都为实数,本文主要分析如何通过一个FFT运算同时得出两个实数DFT的结果。

 一、利用一组复数FFT实现两组实数FFT

  A.模型构造

图1 本文理论的应用场景示意图

应用需求如图1所示,定义新变量$z(n)$:

$z(n)= f(n) + jh(n)$

$z(n)$对应的频域变换为:

$Z(k)=X(k)+jH(k)$

  B.理论推导

对于信号$z(n)$以及其共轭信号,

$z(n)=f(n)+jh(n)$
$z^*(n)=f(n)-jh(n)$

对应的频域变换为:

$Z(k)=F(k)+jH(k)$
$Z^*(k)=F(k)-jH(k)$

又信号$z^*(n)$的频域变换存在如下性质,

$DFT(z^*(n))=\sum^{N-1}_{n=0}z^*(n)e^{-\frac{j2\pi kn}{N}}= Z^*(N-k)$

从而由一个FFT运算得到两个FFT结果:

$F(k)=\frac{Z(k)+Z^*(N-k)}{2}$
$H(k)=\frac{Z(k)-Z^*(N-k)}{2j}$

当然输出结果也可以直接得出

$Y(k)=F(k)H(k)=\frac{[Z(k)]^2-[Z^*(N-k)]^2}{4j}$

对于N点的FFT,对应复数乘法个数为:

  • 基2FFT:N/2*log2(N)
  • 基4FFT:N/2*log2(N)-N

二、复数乘法的变形

对于两个复数:x1 = a+jb;  x2 = c+jd:

进一步变形:

可以看出I、Q的第一项是相同的,这样便实现了:复数乘法由4个实数乘法器组成,简化为复数乘法由3个实数乘法器组成。

转载于:https://www.cnblogs.com/xingshansi/p/6298391.html

FFT节省资源的思路相关推荐

  1. 设置计算机屏幕保护程序可以使系统节省资源,[判断题] 设置计算机的屏幕保护程序可以使系统节省资源。...

    [判断题] 设置计算机的屏幕保护程序可以使系统节省资源. 更多相关问题 因外伤导致的颅内静脉窦破裂,可考虑结扎的部位是A.一侧横窦B.上矢状窦前1/3段 遗忘综合征是A.一种广泛性认知功能障碍B.一种 ...

  2. 在你的 Rails App 中开启 ETag 加速页面载入同时节省资源

    转自http://huacnlee.com/blog/use-etag-in-your-rails-app-to-speed-up-loading/ 什么是 ETag 网上关于 ETag 的解释有很多 ...

  3. Flink 流式计算在节省资源方面的简单分析

    本文由小米的王加胜同学分享,文章介绍了 Apache Flink 在小米的发展,从 Spark Streaming 迁移到 Flink ,在调度计算与调度数据.Mini batch 与 streami ...

  4. 把冰卖给爱斯基摩人_爱斯基摩人使用冰屋应用程序来节省资源

    把冰卖给爱斯基摩人 Web开发的面貌已经改变. 这个术语不再是在地下室疏通一个孤独的黑客的图像了,如今,从企业高管到学童的每个人都喜欢学习如何编码. 在某种程度上,这要归功于越来越易于​​使用的样板工 ...

  5. jenkins中使用脚本来节省资源空间和使用shell提取文件名或目录名的方法

    2019独角兽企业重金招聘Python工程师标准>>> 环境 Linux:5.5  jenkins:2.5 场景 由于公司的项目不断增多,导致jenkins拉取的项目也就越来越多,项 ...

  6. 数据中心该如何节省资源减少能源浪费

    根据全球电子可持续性倡议(GeSI)的研究,数据中心已经消耗了世界总电力的3%以上,产生了地球二氧化碳排放量的2%.就环境而言,这两项数据可以与整个全球航空业或一个小城市相当.目前,包括苹果公司在内的 ...

  7. linux 节省资源 版本,哪个版本的Linux占用资源少些

    丁一毛 于 2011-03-20 08:00:04发表: 现在的电脑都可以很流畅的. langduhua 于 2011-03-19 22:29:53发表: slitaz只要30M内存就可以运行,比小么 ...

  8. 亿级流量架构之服务器扩容思路及问题分析

    为什么要扩容 说人话就是, 无论如何优化性能,能达到的最大值是一定的,对于一个用户量大的应用,可以对服务器进行各种优化,诸如‍限流‍.资源隔离,但是上限还是在那里,这时候就应该改变我们的硬件,例如使用 ...

  9. 基于级联FFT的广义互相关算法在声源定位中的应用

    杨韬 余文辉 曹申 2020-09-30 Wednesday 00摘要   针对2020年第十五届全国大学生智能车竞赛信标组关于声音信标的识别,需要采集声音信号和FM信号,通过声音信号和FM信号互相关 ...

最新文章

  1. Java NIO原理 图文分析及代码实现
  2. 利用php打印出九行菱形,PHP新手上路(九)
  3. 进程间通信——自定义消息方式实现(SetWindowsHookEx)
  4. 菜鸟学习Javascript20170116
  5. NYOJ-523 亡命逃窜(三维立体的BFS)
  6. Web进程被kill掉后线程还在运行怎么办?
  7. CDNOW用户消费行为分析报告(python+ppt)
  8. 检验int值在list中是否存在_R语言统计与绘图:卡方检验
  9. python中pip的安装与使用
  10. char*,wchar_t*,CString和BSTR之间的转换
  11. cscd论坛_高压电器第九届电工技术前沿问题学术论坛“先进电磁技术”分论坛及专题征稿...
  12. 关于ModifyStyle
  13. java dto 生成_java – 从多个源DTO映射到一个目标
  14. 设置Chrome为兼容模式
  15. Ftp站点访问及FileZilla客户端使用
  16. 独家策划-----让“超女”和“好男”联姻
  17. mysql中avg函数如果有空值_对于 AVG 函数,如果列中所有行的值都是 null,那么 AVG 函数返回的值是( )...
  18. 实训1_获取产业数据并存储_预处理与简单分析
  19. DevOps团队绩效考核重点
  20. STM32实战总结:HAL之GUI

热门文章

  1. Ubuntu12.04 安装(无法将 grub-efi 软件包安装到/target/中,如果没有 GRUB 启动引导期,所安装的系统无法启动)...
  2. SQL基础实例(学生课程系统)
  3. 软件测试--selenium脚本编写注意点(二)
  4. shell脚本实现一个彩色进度条
  5. linux 查找文件 locate,linux文件查找(find,locate)
  6. 正在迷茫的你,为什么不考虑这份工作呢?
  7. 为什么学习前端的人越来越多?
  8. Javascript:一个屌丝的逆袭之路
  9. python中pcolor_python中pcolormesh-女性时尚流行美容健康娱乐mv-ida网
  10. java jndi tomcat_tomcat下jndi的三种配置方式