DSPRelated.com
Forums

A Series of Convolution of Infinite Sequences

Started by cjlam November 28, 2007
I have a set of $M$ infinite data sequences, and I hope to perform a series
of convolutions such that

SEQ_result = SEQ_1 * SEQ_2 * SEQ_3 * ... SEQ_M

I am only interested at the first few terms of SEQ_result.

Right now, I can only think of one method, which is to use fast
convolution (truncation all to finite sequences, FFT, pointwise multiply,
iFFT).  Is there other efficient way to implement such system?  

Thanks for input.

CJ


On Nov 28, 11:21 am, "cjlam" <jethro...@gmail.com> wrote:
> I have a set of $M$ infinite data sequences, and I hope to perform a series > of convolutions such that > > SEQ_result = SEQ_1 * SEQ_2 * SEQ_3 * ... SEQ_M > > I am only interested at the first few terms of SEQ_result. > > Right now, I can only think of one method, which is to use fast > convolution (truncation all to finite sequences, FFT, pointwise multiply, > iFFT). Is there other efficient way to implement such system?
these are linear convolutions? (not circular?) r b-j
It will really help if you can describe your application a little better. 
Say you truncate all of the signals to N points, and pad the ends with
many zeros so that circular convolution does not occur.  When you convolve
two of the signals, the result will be 2N-1 points long (excluding the
padded zeros); when you convolve three signals, the result will be 3N-2
points long, and so on.  The problem is, it seems that the very low
frequencies you are trying to find may be influenced by this process,
compared with the original idea of convolving infinitely long signals. 
Without knowing what you are trying to find, it is hard to predict if this
will give you what you want.  
Regards,
Steve      
  
>It will really help if you can describe your application a little better.
>Say you truncate all of the signals to N points, and pad the ends with >many zeros so that circular convolution does not occur. When you
convolve
>two of the signals, the result will be 2N-1 points long (excluding the >padded zeros); when you convolve three signals, the result will be 3N-2 >points long, and so on. The problem is, it seems that the very low >frequencies you are trying to find may be influenced by this process, >compared with the original idea of convolving infinitely long signals. >Without knowing what you are trying to find, it is hard to predict if
this
>will give you what you want. >Regards, >Steve >
I have an algebraically-complicated frequency response H(\theta) and I hope to find the first few terms of its inverse DTFT. Say, if the DTFT pair is h[n] <-> H(\theta) then I am interested at h_0,h_1,h_2,h_3 given H(\theta). Direct inverse DTFT of H(\theta) is difficult because the function H(\theta) is complicated to integrate. But I know that it has the form H(\theta) = A_1(\theta) A_2(\theta) ... A_10(theta) and I know the inverse DTFT of these A's are a_i[n] <-> A_i(\theta) So, by convolution theorem, I can find out h_n by a series of linear convolution. h[n] = (a_1 * a_2 * ... * a_10)[n] I am exploring, if the fast convolution is the only way to perform these convolutions efficiently... may be someone has encountered similar problems before in the area of cascade IIR filters? CJ
Hi CJ,
Can you tell me the nature of the a_i[n] signals?  Do you know their shape
as a set of numbers (such as measured data), or as an equation?   Do they
run from negative to positive infinity, or are they one-sided?
Steve