DFT for convolution like operation.

  • Context: MHB 
  • Thread starter Thread starter menahemkrief
  • Start date Start date
  • Tags Tags
    Convolution Dft
Click For Summary
SUMMARY

The discussion focuses on utilizing the Discrete Fourier Transform (DFT) for efficient convolution operations. Specifically, it outlines a method to compute the convolution of finite real-valued sequences x and y in O(N log N) time complexity using the Fast Fourier Transform (FFT). The process involves redefining the sequences, applying the FFT, performing point-wise multiplication, and then applying the inverse FFT. The challenge arises when attempting to directly apply the convolution theorem due to dependencies in the summation.

PREREQUISITES
  • Understanding of Discrete Fourier Transform (DFT)
  • Familiarity with Fast Fourier Transform (FFT) algorithms
  • Knowledge of convolution operations in signal processing
  • Basic concepts of algorithmic complexity, specifically O(N log N) and O(N^2)
NEXT STEPS
  • Study the properties of the convolution theorem in the context of DFT
  • Learn about the implementation of FFT algorithms in Python or MATLAB
  • Explore advanced techniques for sequence truncation in convolution
  • Investigate applications of FFT in real-time signal processing
USEFUL FOR

Mathematicians, signal processing engineers, and software developers working on algorithms that require efficient convolution operations.

menahemkrief
Messages
5
Reaction score
0
Let x,y be finite real valued sequences defined on 0...N-1 and let g be a non negative integer .

define
View attachment 2231
also on 0..N-1.

In addition, the DFT of y is known in closed form.
Is there a way to write z as some cyclic convolution, so that with the help of the convolution theorem z can be calculated in NLOG N istead of N^2?

Thank you
 

Attachments

  • Untitled.png
    Untitled.png
    1.7 KB · Views: 109
Mathematics news on Phys.org
It would seem you can do that. First note that the unusual upper limit of your sum, arbitrarily cut off at $g$, poses no issue for this algorithm. Simply re-define the $x$ and $y$ sequences to include only the terms that show up in the convolution sum. I'm not sure that knowing the FFT of $y$ in advance will help you, since you really need to truncate the sequence, at least in general.

1. Take the FFT's of the re-defined $x$ and $y$. Complexity is $\mathcal{O}(n \, \log(n))$.
2. Multiply the two transformed sequences point-wise. Complexity is $\mathcal{O}(n)$.
3. Take the inverse FFT of the result. Complexity is $\mathcal{O}(n \, \log(n))$.
 
Hi,

lets assume there is no g (g=inf).

notice the the sum end at the index n, not N.

I'm trying to see directly the convolution theorem but I get stuck:
View attachment 2233

The problem is that the second sum depends on k so the double sum doesn't factor to the product of DFTs.

what am I missing?

thank you
 

Attachments

  • Untitled.png
    Untitled.png
    5.5 KB · Views: 101

Similar threads

  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 0 ·
Replies
0
Views
504
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K