Dear All, I would like to convolve two complex sequences. Could anybody help me how to define the convolution of two complex sequences please? Thanks in advanced. Regard, estdev

# complex convolution

Started by ●May 11, 2005

Reply by ●May 11, 20052005-05-11

estdev wrote:> Dear All, > > > I would like to convolve two complex sequences. Could anybody help me > how to define the convolution of two complex sequences please? > > Thanks in advanced. > > Regard, > estdev >Convolution with complex numbers is the same as convolution with real numbers, except that (I am 99.44% sure) you have to take the conjugate of one of the series. ------------------------------------------- Tim Wescott Wescott Design Services http://www.wescottdesign.com

Reply by ●May 11, 20052005-05-11

"Tim Wescott" <tim@seemywebsite.com> wrote in message news:11852b9qq14452d@corp.supernews.com...> estdev wrote: > >> Dear All, >> >> >> I would like to convolve two complex sequences. Could anybody help me >> how to define the convolution of two complex sequences please? >> >> Thanks in advanced. >> >> Regard, >> estdev >> > Convolution with complex numbers is the same as convolution with real > numbers, except that (I am 99.44% sure) you have to take the conjugate of > one of the series. > > ------------------------------------------- > Tim Wescott > Wescott Design Services > http://www.wescottdesign.comTim, I think convolution is the simplest form with no conjugates. Correlation uses the conjugate of one of the arguments. Fred

Reply by ●May 11, 20052005-05-11

Tim Wescott <tim@seemywebsite.com> writes:> estdev wrote: > >> Dear All, >> I would like to convolve two complex sequences. Could anybody help me >> how to define the convolution of two complex sequences please? >> Thanks in advanced. >> Regard, >> estdev >> > Convolution with complex numbers is the same as convolution with real > numbers, except that (I am 99.44% sure) you have to take the conjugate > of one of the series.It's the same in both cases, but the conjugate of a real number doesn't change the number. (g*h)(t) = \int_{-\infty}^{+\infty} g(\tau) h*(t-\tau) d\tau. -- % Randy Yates % "Watching all the days go by... %% Fuquay-Varina, NC % Who are you and who am I?" %%% 919-577-9882 % 'Mission (A World Record)', %%%% <yates@ieee.org> % *A New World Record*, ELO http://home.earthlink.net/~yatescr

Reply by ●May 11, 20052005-05-11

in article 9qKdnap81OQ9Ox_fRVn-oQ@centurytel.net, Fred Marshall at fmarshallx@remove_the_x.acm.org wrote on 05/11/2005 20:41:> > "Tim Wescott" <tim@seemywebsite.com> wrote in message > news:11852b9qq14452d@corp.supernews.com... >> estdev wrote: >> >>> I would like to convolve two complex sequences. Could anybody help me >>> how to define the convolution of two complex sequences please? >>> >> Convolution with complex numbers is the same as convolution with real >> numbers, except that (I am 99.44% sure) you have to take the conjugate of >> one of the series. > > I think convolution is the simplest form with no conjugates. > Correlation uses the conjugate of one of the arguments.and if flips the time axis around of one of the arguments (i think the same one as what get conjugated). -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."

Reply by ●May 11, 20052005-05-11

"Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message news:9qKdnap81OQ9Ox_fRVn-oQ@centurytel.net...> Tim, > > I think convolution is the simplest form with no conjugates. > Correlation uses the conjugate of one of the arguments.Yes, but now the OP needs an authoritative reference: http://mathworld.wolfram.com/Cross-Correlation.html -- Matt

Reply by ●May 11, 20052005-05-11

Perhaps it will be helpful to define complex convolution in terms of real convolutions such that you can put a wrapper around an existing library function for real convolution. Let's say we want to convolve f[n] and g[n] where both f and g are sequences of complex numbers. Say f[n] = f_r[n] + jf_i[n] and g[n] = g_r[n] + jg_i[n]. Hence we get: f[n] * g[n] = (f_r[n] + jf_i[n]) * (g_r[n] + jg_i[n]) = f_r[n]*g_r[n] + j f_r[n]*g_i[n] + j f_i[n]*g_r[n] - f_i[n]*g_i[n] = (f_r[n]*g_r[n] - f_i[n]*g_i[n]) + j(f_r[n]*g_i[n] + f_i[n]*g_r[n])) Now if you have access to a real convolution function you could just put a wrapper around it to get out your complex convolution. You may need to modify the original convolution algorithm to have some stride between elements or else you'll need to separate the real and imaginary parts into their own arrays. Brad "estdev" <nmaedewi@yahoo.com> wrote in message news:1115840912.570067.275400@g47g2000cwa.googlegroups.com...> Dear All, > > > I would like to convolve two complex sequences. Could anybody help me > how to define the convolution of two complex sequences please? > > Thanks in advanced. > > Regard, > estdev >

Reply by ●May 12, 20052005-05-12

"Matt Timmermans" <mt0000@sympatico.nospam-remove.ca> writes:> "Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message > news:9qKdnap81OQ9Ox_fRVn-oQ@centurytel.net... > > Tim, > > > > I think convolution is the simplest form with no conjugates. > > Correlation uses the conjugate of one of the arguments. > > Yes, but now the OP needs an authoritative reference: > > http://mathworld.wolfram.com/Cross-Correlation.htmlA good, authoritative hardcopy reference on the subject is @BOOK{bracewell, title = "{The Fourier Transform and Its Applications}", author = "{Ronald~N.~Bracewell}", publisher = "McGraw-Hill", edition = "second, revised", year = "1986"} -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124

Reply by ●May 12, 20052005-05-12

estdev wrote:> Dear All, > > > I would like to convolve two complex sequences. Could anybody help me > how to define the convolution of two complex sequences please?The convolution between of two complex-valued sequences is written as the real-valued convolution integral, with no conjugates. While I suspect the conjugate/no conjugate issue could be a matter of convention, an appealing argument in favour of no conjugates is that the frequency-domain expression becomes Y(w) = X(w)H(w) where Y(w), X(w) and H(w) are Fourier transforms of complex- valued y(t), x(t) and h(t), respectively. Rune

Reply by ●May 12, 20052005-05-12

Randy Yates <yates@ieee.org> writes:> [...] > It's the same in both cases, but the conjugate of a real number doesn't change the > number. > > (g*h)(t) = \int_{-\infty}^{+\infty} g(\tau) h*(t-\tau) d\tau.The above is WRONG. There is no complex conjugate in convolution, according to Bracewell [1]. A complex conjugate exists in correlation when the functions are complex, (g*h)(t) = \int_{-\infty}^{+\infty} g*(\tau) h*(\tau+t) d\tau. [1] @BOOK{bracewell, title = "{The Fourier Transform and Its Applications}", author = "{Ronald~N.~Bracewell}", publisher = "McGraw-Hill", edition = "second, revised", year = "1986"} -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124