📜  DSP-DFT分段卷积

📅  最后修改于: 2020-11-25 05:38:06             🧑  作者: Mango


假设要用具有有限持续时间冲激响应的系统通过对两个序列进行卷积处理长持续时间的输入序列x(n)。由于通过DFT执行的线性滤波涉及对固定大小的数据块进行操作,因此在处理之前将输入序列分为不同的固定大小的数据块。

然后一次处理连续的块,并将结果合并以产生最终结果。

由于通过将长输入序列分为不同的固定大小部分来执行卷积,因此称为分段卷积。在FIR滤波器处理之前,将长输入序列分割为固定大小的块。

两种方法用于评估离散卷积-

  • 重叠保存方法

  • 叠加法

重叠保存方法

重叠保存是一种有效方法的传统名称,用于评估非常长的信号x(n)和有限冲激响应(FIR)滤波器h(n)之间的离散卷积。以下是重叠保存方法的步骤-

令输入数据块的长度= N = L + M-1。因此,DFT和IDFT的长度=N。每个数据块均承载前一个块的M-1个数据点,后接L个新数据点,以形成长度为N = L + M-1的数据序列。

  • 首先,为每个数据块计算N点DFT。

  • 通过附加(L-1)个零,FIR滤波器的脉冲响应的长度增加,并且计算并存储了N点DFT。

  • 两个N点的DFT H(k)和X M(k)的相乘:Y’M(K)= H(k)的.X(k),其中K = 0,1,2,… N-1

  • 然后,IDFT [Y’M((K)] = Y’(第(n)= [Y’M(0),Y’M(1),Y’M(2),…….ÿ ‘M(M-1),Y’M(M),……. Y’(N-1)]

    (这里,N-1 = L + M-2)

  • 前M-1个点由于混叠而损坏,因此由于数据记录的长度为N而被丢弃。

  • 最后的L点由于卷积而完全相同,因此

    Y’M(N)= Y M(n),其中N = M,M + 1,… .N-1

  • 为避免混叠,将保存每个数据记录的最后M-1个元素,这些点将结转到下一个记录,并成为第一个M-1个元素。

重叠保存方法

  • IDFT的结果避免了前M-1个点,从而消除了混叠,剩下的L个点构成了线性卷积的理想结果。

重叠加法

以下是使用重叠方法找出离散卷积的步骤-

假设输入数据块的大小为L。因此,DFT和IDFT的大小为:N = L + M-1

  • 每个数据块的末尾附加M-1个零。

  • 计算N点DFT。

重叠加法

  • 两个N点DFT相乘:Y m (k)= H(k).X m (k),其中k = 0,,1,2,…。,N-1

  • IDFT [Y m (k)]生成长度为N的块,该块不受混叠的影响,因为DFT的大小为N = L + M-1,并且通过将M-1零附加到N点来增加序列长度到N点块。

  • 每个块的最后M-1点必须重叠并添加到后续块的前M-1点。

    (原因:每个数据块以M-1零结尾)

    因此,该方法是已知的叠加法。因此,我们得到-

    y(n)= {y 1 (0),y 1 (1),y 1 (2),…..,y 1 (L-1),y 1 (L)+ y 2 (0), y 1 (L + 1)+ y 2 (1),…..,y 1 (N-1)+ y 2 (M-1),y 2 (M),….. 。… …}