首页/文章/ 详情

数字信号处理v3 第四章 快速傅里叶变换(1)

1月前浏览1366
2022年6月,正式发布v2版。快速傅立叶变换的用途太广了,从我学习数字信号处理开始,我就开始接触FFT,一直在使用。前段时间跟一个企业合作开发心率检测的算法,用的最多的就是快速傅里叶变换,在实际的工程实践中,快速傅里叶变换几乎每时每刻都陪伴在算法工程师的身边!数字信号处理的算法根本离不开它,所以我也希望这一章能够引起大家足够的重视。最开始在学校学习的时候,你也许只会傅里叶变换的计算过程。请先埋下这个“种子”,以后必定生根发芽。3月南京,疫情再次扑来。生存不易。学软件的人相对会好点,毕竟远程办公不会影响写代码的进度。庆幸自己曾经是个码农,如果当年搞的是硬件,那么在家闭关期间只能干瞪眼,什么都做不了。做硬件的离不开测试仪器,那玩意的价格可不是家庭能承担的!
2021年9月,再次更新本课程,先看看之前写文章时留下的记录。有总结才会有进步!老师上课要有总结,学生学习更要有总结!
2017年3月记录:
感谢快速傅里叶变换的出现,使得我们算法人员能够提高信号处理的效率。虽然芯片的运算速度一直在提升,但是一些新的理论的发现会加速相关技术的发展。
2018年3月记录:
再次上本门课程,讲解的内容又有所变化,更加注重实用性!
2024年9月记录:
v3版更新到第四章,本章节会增加大量的基础仿真内容!开始网上直播讲课《数字信号处理》和《通信原理》。下面是仿真系列文章,和数字信号处理课程文章互为补充。

跟着文章里的程序走一遍,肯定受益匪浅!
正式开讲!
开始讲解第四章—FFT。预先提问:如何体现“快速”?如果想成为DSP方面的高手,本章开始及以后的内容必须能刻在脑子里,因为在工程实践中会不时的用到。作为一名算法工程师,深知FFT在信号处理中的强大作用!!!2021年10月,和一家公司正式合作研制智能手表涉及的相关算法,本人负责研发手表里面涉及的信号处理算法,算法涉及到FFT吗?暂时保密!后续会在公众 号里面给出算法程序!敬请期待!2024年9月,当年写的算法已经整理成文章,内容对算法同行们肯定有很大的帮助!

题目的重点是快速!这意味着减少了计算量!在算力贫乏的年代,这个特性非常重要!
通过观察频谱,可以清楚地看到信号中包含哪些频率分量以及它们的相对强度。对于搞通信算法的人而言,这是一种常用的信号观察手段!
实际信号的长度不是2的整数幂该怎么办?同学们想想有什么招数?在工程上,信号的长度肯定是任意值。怎么办?补零!
能不能通过补零来实现长度是2的整数幂呢?补0后,再截断能不能保证计算结果不变?那么对信号补零,又会产生什么效果呢?之前提及了这个问题,想要看效果的直观方式就是仿真!编写个仿真程序,效果就会直观的体现!
必须要了解运算的特点,记住各有多少计算量!!!不然就不清楚FFT的优势了。这也是实际中用FFT,而不用DFT的原因!运算速度快了,实时处理的可能性就大了!
给出仿真程序!通过AI来完成的!两次修改后能够得到正确结果!

函数内容如下!
function X = FFT_DIT(x)
    % 输入信号长度
    N = length(x);    
    % 检查N是否是2的幂
    if mod(N, 2) ~= 0
        error('输入信号长度必须为2的幂');
    end
    % 位反转置换
    x = bitrevorder(x);    
    % 初始化
    X = x;    
    % FFT计算


来源:通信工程师专辑
芯片通信理论
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-11
最近编辑:1月前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 395粉丝 2576文章 320课程 40
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈