利用fft计算时域卷积重叠法保留_数字信号处理(五)---DFT的应用(一)快速运算线性卷积...

引言:在前面的文章中,我们理解了DTFT与DFT的关系,接下来就是要研究DFT的应用。在DFT的应用中,利用DFT的循环卷积定理进行线性卷积的快速运算这一应用是极其重要的,理解这一重要应用,才能更加清晰理解DFT的快速运算---FFT的作用。本文将从原理入手,给出实际例子,为你细致讲解用DFT实现线性卷积快速运算的过程!

首先交代背景,我们知道,在实际的应用中,计算一个离散时间系统的输出为:输入离散时间序列和系统单位脉冲响应的线性卷积。然而,线性卷积的计算量是很大的,这牵制了计算机的运算速度,因此我们希望运用循环卷积定理,借助DFT的快速算法FFT,从循环卷积和线性卷积的关系入手,解决这一问题,快速得到系统的输出。

一.循环卷积定理

循环卷积定理指的是:两个有限长序列循环卷积的结果得DFT,等于这两个序列单独做DFT后的乘积,具体公式为下图:

b6e8014188496cc5847ec88623b6d45f.png

之所以引入这一定理,是因为DFT存在一种快速运算---FFT(后面文章会讲到),FFT可以把计算时间大大缩短。因此只要计算出两个序列的DFT,将他们相乘,再把结果作IDFT,就可以得到两个有限长序列的循环卷积。

注意!我们的目标是求两个序列的线性卷积,因此接下来的任务是找到循环卷积的关系!

二.循环卷积和线性卷积的关系

线性卷积和循环卷积的关系要由周期卷积做过度,周期卷积为,假设

长度为N,
长度为M,则选取
max(N,M),以L为周期将两序列线性卷积的结果周期延拓,然后重叠部分相加,留下对应的L个点,所得即为周期卷积结果。可见当
N+M-1(线性卷积长度)时,周期卷积结果等于线性卷积结果。

而两个序列循环卷积的结果长度为周期卷积后取主值(取值的点数为循环卷积的点数)。

因此,当给两个序列末尾补零,使得两个序列长度都为N+M-1,此时,做循环卷积的结果就等于线性卷积的结果。

be589c67c91a0ad9476b34a381883993.png
注意笔记中波浪线的部分,可借助具体例子理解

三.有限长序列与有限长序列的线性卷积计算

实际系统中,我们的系统的系统单位冲脉冲响应是确定的,假设它是有限长的

,当输入
也为有限长时,可用如下方法计算:

d818aaf701c31a41a6904f6ce706870c.png
也就是,等待输入都输入完成,对两序列补零,利用循环卷积和线性卷积关系做运算,最后做IDFT得到结果

四.无限长与有限长序列的线性卷积计算

如果输入是一个很长很长的序列,我们不可能等所有的点都输入进来之后,再对序列补零计算,这样等待输入的时间是很长的,对于这样的情况,我们有重叠相加法和重叠保留法,这两种方法只是对输入的切割方式不同,总体思想都是分割输入,转换为一段一段的有限长序列来计算,带来的结果是一样的,下面笔记中给出的实际例子说明了这一点!

df524d57b641be03f2199af4b80dcdad.png
可见两种方法得到的结果是一样的

至此,我们已经知道了如何借助循环卷积和线性卷积的关系,通过循环卷积定理,利用FFT快速计算系统的输出了(无论是有限长的输入还是无限长的输入),在后面的文章中,将学习FFT的具体操作方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值