当前位置: 首页 > news >正文

数字信号处理大实验2.1(基础) 快速傅里叶变换与FFT的时域频域对称性质

目录

一、快速傅里叶变换(FFT)的实现

1.1        实验目的

​​​​​​​1.2        实验原理

​​​​​​​​​​​​​​1.3        实验内容

1.4         实验代码

1.5        实验结果

1.5.1         DFT幅频/相频曲线(N=64)、频谱泄露

1.5.2         逆(快速)离散傅里叶变换

二、时域-频域的圆周(时反)共轭与圆周共轭(反)对称关系

2.1         实验目的

2.2         实验原理

2.3        实验内容

2.4        实验代码

2.5        实验结果

进阶阅读


一、快速傅里叶变换(FFT)的实现

​​​​​​​1.1        实验目的

  1. 加深对FFT逐层基本机制的理解;
  2. 掌握频谱泄露的原因,并为应用实验的频率计算寻找方法建立基础。

​​​​​​​1.2        实验原理

       FFT的每一层都可以理解成a个最小(交叉元个数为基数M)蝶式交叉计算的组合,而后通过迭代的方式实现FFT——根据时域基数间隔插值和频域基数间隔插值的不同,分为“蝴蝶增长式”和“蝴蝶衰减式”;

       本实验仅完成单层/单个蝴蝶增长式单元的FFT,也就是时域插值法。

Figure 1   蝴蝶增长式FFT(华南理工大学电信学院宁更新老师课件 Chapter5-V3 P63)

Figure 2   蝴蝶衰减式FFT,相当于蝴蝶增长式FFT的转置逆网络,笔者认为层级迭代计算需要进行到底,第一层和中间层的变换都是DFT的逆过程没有实际含义(华南理工大学电信学院宁更新老师课件 Chapter5-V3 P71)

蝴蝶增长式FFT:在每一个最小蝶式计算中,通过分解原实数(复数)序列为基数M(2M)个实数序列-进行M次(N/M)点的DFT运算-通过k(i-1)阶旋转向量Θk(i-1)= WNk(i-1)和t(i-1)阶平移向量Ψt(i-1)=(e-j2π/M)**t(i-1)实现DFT的快速计算。理论推导见下图。

Figure 3   基数为M的N点FFT最小单元计算

Figure 4   基数为M的N点FFT最小单元(结论)

一般情况下,基数M=2;MATLAB内置的FFT和IFFT的基数应该都只能是2,笔者的代码也是以2作为基数。

​​​​​​​​​​​​​​1.3        实验内容

1.4         实验代码

function [X_k]=f_dft_2_fft(x,draw)(单个单元FFT(数组级操作))

function [X_k]=s_dft_2_fft(x) (单个单元FFT(元素级操作))

IDFT/DFT(手动编程,MATLAB内置函数为fft/ifft)

主函数

1.5        实验结果

1.5.1         DFT幅频/相频曲线(N=64)、频谱泄露

Figure 5   截断长度L=64,1倍周期截取,相位规范化

Figure 6   截断长度L=192, 1倍周期截取,后128位补0,相位规范化(频域与采样函数卷积积分再离散化),可以用大点数DFT逼近DTFT

Figure 7   截断长度L=192,3倍周期N截取,相位规范化,可以求得3倍精度的谱线

Figure 8   截断长度L=96,1.5倍周期N截取,相位规范化(频谱泄露,没有作用,需要杜绝)

在Figure 8中,由于截断或者采样序列长度和实际基本周期的非整数倍关系,造成了频谱泄露现象,这就引出了频偏的概念:频偏——信号真实频率和采样序列幅度频谱【小频率范围内】谱峰频率的频率偏差,和通信工程里“信号频率相对于预定频率的偏移”的定义不同,实际上第二种定义里的信号频率也需要通过硬件采样测算,所以其实频偏有两种理解,测算偏移(较小误差)和传输偏移(传输干扰)。

信号频率估计是工程应用中非常常见的话题,学术大牛和算法工程师们研究出一系列方法在有白噪声干扰、存在频谱泄露的情况下,通过插值、插值平均、求和平均等策略估算频偏,以较精准稳定地测算出被采样信号的真实频率。笔者也进行了仿真实验的代码模拟和初步原理解读,跳转链接在文末(大实验2.2)。

Figure 9   多层对数级FFT(MATLAB内置)-单个单元FFT(数组级操作)-单个单元FFT(元素级操作)-DFT 算法的运行时间对比,1000次64点DFT运算,时域信号和第一个小题中相同,如前所示(单位:秒)

1.5.2         逆(快速)离散傅里叶变换

                 注意IFFT和IDFT的区别,IFFT通过FFT和两次共轭操作实现性能优化。

Figure 10        利用共轭性质和FFT算法实现IFFT(华南理工大学电信学院宁更新老师课件Chapter5-V3 P76)

Figure 11 实验结果1.5.2       64点IFFT

二、时域-频域的圆周(时反)共轭与圆周共轭(反)对称关系

2.1         实验目的

 1、加深对时域-频域的圆周(时反)共轭与圆周共轭(反)对称关系的理解。

2.2         实验原理

Figure 12 时域-频域的圆周(时反)共轭与圆周共轭(反)对称-6对关系

        总共6对关系:时域信号的(圆周)共轭、圆周时反共轭、圆周共轭对称、圆周共轭反对称、实部、j*虚部与频域谱线的圆周时反共轭、(圆周)共轭、实部、j*虚部、共轭、圆周共轭对称、圆周共轭反对称。

2.3        实验内容

1.自己设计一个N点复序列,编程验证表5.1中的对称性质。

2.4        实验代码

function []=symmetry(cx)

主函数

2.5        实验结果

本实验没有使用IFFT,仅在时域操作结合FFT或者在频域操作。

蓝色或青色代表时域操作+FFT,红色或品红色代表频域的操作(没有经过FFT变换)。

Figure 13        -π和﹢π的相位是等效的

进阶阅读

1、数字信号处理大实验2.2(工程应用模拟) 利用FFT估计信号的频率-CSDN博客

相关文章:

  • 微软Build 2025五大AI发布
  • Spring Cloud项目登录认证从JWT切换到Redis + UUID Token方案
  • 前置过滤器和净水机安哪个?
  • git checkout 通配符
  • Kafka Consumer工作流程
  • JVM 的类加载机制
  • 贪心算法应用:贝尔曼-福特松弛问题详解
  • 贪心算法应用:Ford-Fulkerson最大流问题详解
  • 自训练NL-SQL模型
  • webpack优化方法
  • Linux系统之----磁盘硬件
  • 【C++进阶篇】红黑树的封装(赋源码)
  • 线程池实战——数据库连接池
  • Python中字典(dict)知识详解应用
  • Vue.extend
  • CentOS7更新 GLIBC 2.25
  • 区块链可投会议CCF C--APSEC 2025 截止7.13 附录用率
  • ISO 26262-5 区分失效模式
  • 阿里千问系列:Qwen3技术报告解读(下)
  • 英语科研词汇现象及语言演变探讨
  • 深圳php网站建设/系统优化大师官方下载
  • 在域名做网站/视频剪辑培训
  • 进下加强新闻宣传网站建设/百度竞价排名又叫什么
  • 网站里的搜索怎么做/广州网络推广外包平台
  • 建广告网站需要多少钱/网站查询工具seo
  • 北京建设工程网站/网站制作公司哪家好