DSPRelated.com
Forums

Analog and Digital Convolution

Started by Acomp26 March 12, 2015
Hello,

I have two digital signals that have to be convolved. Lets say we do that
and get an output. If  we then pass both these signals through  Digital to
Analog converters (DAC) and convert both signals to analog and then perform
convolution in continuous time will the output be the same?

In other words what is the relation between a discrete time and continuous
time convolution of two signals?

Could someone please explain this? Thanks in advance. 

	 

_____________________________		
Posted through www.DSPRelated.com
On 3/12/15 12:48 PM, Acomp26 wrote:
> > I have two digital signals that have to be convolved. Lets say we do that > and get an output. If we then pass both these signals through Digital to > Analog converters (DAC) and convert both signals to analog and then perform > convolution in continuous time will the output be the same? > > In other words what is the relation between a discrete time and continuous > time convolution of two signals?
how do you *do* the convolution in the continuous-time domain? you likely will not just directly implement the convolution integral. okay, if the signals are valid in both domains (which is, in the continuous-time domain, both analog signals are bandlimited to less than 1/2 of the sampling frequency used to sample the two signals into the discrete-time domain), then the convolution can, conceivably, come out the same. this is because the continuous-time convolution integral with arguments that are validly represented as samples, that integral can be made into a summation that is equivalent to the summation of the discrete-time convolution. but many practical issues remain. the DACs do not output ideal sinc() functions in the continuous-time domain. they usually output piecewise constant functions and the continuous-time convolution using that will come out different than the convolution alluded to above.
> Could someone please explain this? Thanks in advance.
FWIW. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
>On 3/12/15 12:48 PM, Acomp26 wrote: >> >> I have two digital signals that have to be convolved. Lets say we do
that
>> and get an output. If we then pass both these signals through Digital
to
>> Analog converters (DAC) and convert both signals to analog and then
perform
>> convolution in continuous time will the output be the same? >> >> In other words what is the relation between a discrete time and
continuous
>> time convolution of two signals? > >how do you *do* the convolution in the continuous-time domain? you >likely will not just directly implement the convolution integral.
I was thinking about directly implementing the convolution integral.
> >okay, if the signals are valid in both domains (which is, in the >continuous-time domain, both analog signals are bandlimited to less than >1/2 of the sampling frequency used to sample the two signals into the >discrete-time domain), then the convolution can, conceivably, come out >the same. this is because the continuous-time convolution integral with >arguments that are validly represented as samples, that integral can be >made into a summation that is equivalent to the summation of the >discrete-time convolution. > >but many practical issues remain. the DACs do not output ideal sinc() >functions in the continuous-time domain. they usually output piecewise >constant functions and the continuous-time convolution using that will >come out different than the convolution alluded to above. > > >> Could someone please explain this? Thanks in advance. > >FWIW. > > >-- > >r b-j rbj@audioimagination.com > >"Imagination is more important than knowledge." > > >I understand that DACs do not output an ideal sinc() function and as a
result the analog and digital convolution results may be different. Is there any way to quantify the difference and can it be corrected for? _____________________________ Posted through www.DSPRelated.com
robert bristow-johnson wrote:
> On 3/12/15 12:48 PM, Acomp26 wrote: >> >> I have two digital signals that have to be convolved. Lets say >> we do that >> and get an output. If we then pass both these signals through >> Digital to >> Analog converters (DAC) and convert both signals to analog and >> then perform >> convolution in continuous time will the output be the same? >> >> In other words what is the relation between a discrete time and >> continuous >> time convolution of two signals? > > how do you *do* the convolution in the continuous-time domain? > you likely will not just directly implement the convolution > integral. > [massive snip]
More basic question. In the physically realizable world, does the convolution of two real time dependent "values" have any physical meaning?
>robert bristow-johnson wrote: >> On 3/12/15 12:48 PM, Acomp26 wrote: >>> >>> I have two digital signals that have to be convolved. Lets say >>> we do that >>> and get an output. If we then pass both these signals through >>> Digital to >>> Analog converters (DAC) and convert both signals to analog and >>> then perform >>> convolution in continuous time will the output be the same? >>> >>> In other words what is the relation between a discrete time and >>> continuous >>> time convolution of two signals? >> >> how do you *do* the convolution in the continuous-time domain? >> you likely will not just directly implement the convolution >> integral. >> [massive snip] > >More basic question. In the physically realizable world, does the >convolution of two real time dependent "values" have any physical >meaning? > >
A filtering operation can be an example. _____________________________ Posted through www.DSPRelated.com
On Thu, 12 Mar 2015 14:23:18 -0500, "Acomp26" <104113@dsprelated>
wrote:

>>On 3/12/15 12:48 PM, Acomp26 wrote: >>> >>> I have two digital signals that have to be convolved. Lets say we do >that >>> and get an output. If we then pass both these signals through Digital >to >>> Analog converters (DAC) and convert both signals to analog and then >perform >>> convolution in continuous time will the output be the same? >>> >>> In other words what is the relation between a discrete time and >continuous >>> time convolution of two signals? >> >>how do you *do* the convolution in the continuous-time domain? you >>likely will not just directly implement the convolution integral. > >I was thinking about directly implementing the convolution integral.
Are you going to only compute one sample of the integral or have an infinite number of integrators or...? I know of a couple methods for performing convolution with analog signals, but they make some very restrictive assumptions about the signal, (e.g., a dispersive filter can convolve a chirp matched to the dispersion).
>> >>okay, if the signals are valid in both domains (which is, in the >>continuous-time domain, both analog signals are bandlimited to less than >>1/2 of the sampling frequency used to sample the two signals into the >>discrete-time domain), then the convolution can, conceivably, come out >>the same. this is because the continuous-time convolution integral with >>arguments that are validly represented as samples, that integral can be >>made into a summation that is equivalent to the summation of the >>discrete-time convolution. >> >>but many practical issues remain. the DACs do not output ideal sinc() >>functions in the continuous-time domain. they usually output piecewise >>constant functions and the continuous-time convolution using that will >>come out different than the convolution alluded to above. >> >> >>> Could someone please explain this? Thanks in advance. >> >>FWIW. >> >> >>-- >> >>r b-j rbj@audioimagination.com >> >>"Imagination is more important than knowledge." >> >> >>I understand that DACs do not output an ideal sinc() function and as a >result the analog and digital convolution results may be different. Is >there any way to quantify the difference and can it be corrected for? > >_____________________________ >Posted through www.DSPRelated.com
Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Richard Owlett <rowlett@cloud85.net> wrote:
> robert bristow-johnson wrote:
(snip)
>> how do you *do* the convolution in the continuous-time domain? >> you likely will not just directly implement the convolution >> integral. >> [massive snip]
> More basic question. In the physically realizable world, does the > convolution of two real time dependent "values" have any physical > meaning?
It does in the space dimension. For time dimension, you can convolve the impulse response of a (linear) filter with its input to find its output. That should work just as well in continuous (analog) as discrete domains. -- glen
On Thu, 12 Mar 2015 11:48:57 -0500, Acomp26 wrote:

> Hello, > > I have two digital signals that have to be convolved. Lets say we do > that and get an output. If we then pass both these signals through > Digital to Analog converters (DAC) and convert both signals to analog > and then perform convolution in continuous time will the output be the > same? > > In other words what is the relation between a discrete time and > continuous time convolution of two signals? > > Could someone please explain this? Thanks in advance.
So, this question is interesting to me on three levels. The first, and obvious, is the straight answer to the question as given. The second level is the implication that the author is treating both signals as -- well -- ordinary signals, i.e., the left and right channel of a sound file or something. The third level is the absolute bogglement that is induced in my mind of trying to build an analog circuit that can take a pair of arbitrary time-domain signals as an input, and somehow spit out a convolution of them. So, in order: Zeroth: After you've read all of this, you probably won't find it useful. So tell us what you're _really_ trying to do, in real-world terms (image kittens, achieve better radio communications with Mars, predict the stock market, whatever), and we'll help point you in a fruitful real-world direction. First: If we dispense with any concerns about utility and practicality, you can use the sampling theorem and the Fourier transform to figure out the similarities and differences between your "digitally convolution" and "continuous-time convolution". Convolution in the time domain results in multiplication in the frequency domain*. If both digital signals have spectra that are limited enough that they can be reconstructed reasonably well**, and if these spectra overlap, then their convolution should share this property. Then, if you D/A convert these two signals _and run them through adequate reconstruction filters_, the output of your magic analog-domain convolver should be the same as the reconstructed version of your digitally convolved signal. If you don't want to use reconstruction filters, then just restrict the spectra of both signals enough that the "reconstruction" caused by the DACs inherent zero-order hold is adequate. Second: Convolution is not a useful operation to undertake for "live" signals. Convolution is a way to take a linear system and analyze (or synthesize) it using mathematics that was developed to manipulate signals. So in a normal, sane world, convolution is carried out between a predefined*** "system impulse response" and some signal that is derived from the real world. If you find yourself doing some sort of multiply-and-integrate on two real-world signals, you are doing cross-correlation. Cross- correlation is a lot like convolution, but**** the time axis of the "prototype" signal is reversed -- if it's not, then the operation is not physically realizable on-line with causal systems. Third: There are analog systems that convolve some signal with a prototype. Most don't actually do that explicitly -- most run the input signal through some lumped-constant filter, and get an answer. There are some (rather esoteric) radar systems that actually run an input signal through a delay line, tap the delay line with taps of varying gains, and add up the result. This gives you a filter that can do a more-or-less arbitrary convolution, but only by a signal that is a collection of discrete impulses -- as far as I know, you can't just draw some arbitrary, continuous-time signal on a white board and then build a filter for it. Again, as far as I know, you _really_ can't build a system that somehow lets you pump in an arbitrary impulse response, capture it, and then convolve by that impulse response. * This is a property of the Fourier transform and convolution which you can prove for both discrete- and continuous-time in about an hour if you know your Fourier transforms well enough -- if you can't, brush up on your math. ** By which I mean that a reconstruction filter is reasonably easy to physically realize. *** But not necessarily time-invariant. **** Unless I'm getting this detail horribly wrong -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
>On Thu, 12 Mar 2015 14:23:18 -0500, "Acomp26" <104113@dsprelated> >wrote: > >>>On 3/12/15 12:48 PM, Acomp26 wrote: >>>> >>>> I have two digital signals that have to be convolved. Lets say we do >>that >>>> and get an output. If we then pass both these signals through
Digital
>>to >>>> Analog converters (DAC) and convert both signals to analog and then >>perform >>>> convolution in continuous time will the output be the same? >>>> >>>> In other words what is the relation between a discrete time and >>continuous >>>> time convolution of two signals? >>> >>>how do you *do* the convolution in the continuous-time domain? you >>>likely will not just directly implement the convolution integral. >> >>I was thinking about directly implementing the convolution integral. > >Are you going to only compute one sample of the integral or have an >infinite number of integrators or...? > >I know of a couple methods for performing convolution with analog >signals, but they make some very restrictive assumptions about the >signal, (e.g., a dispersive filter can convolve a chirp matched to the >dispersion). > >
I was thinking of using an integrator and repeatedly sampling the outputs at the required rate.
>>> >>>okay, if the signals are valid in both domains (which is, in the >>>continuous-time domain, both analog signals are bandlimited to less than
>>>1/2 of the sampling frequency used to sample the two signals into the >>>discrete-time domain), then the convolution can, conceivably, come out >>>the same. this is because the continuous-time convolution integral with
>>>arguments that are validly represented as samples, that integral can be
>>>made into a summation that is equivalent to the summation of the >>>discrete-time convolution. >>> >>>but many practical issues remain. the DACs do not output ideal sinc() >>>functions in the continuous-time domain. they usually output piecewise
>>>constant functions and the continuous-time convolution using that will >>>come out different than the convolution alluded to above. >>> >>> >>>> Could someone please explain this? Thanks in advance. >>> >>>FWIW. >>> >>> >>>-- >>> >>>r b-j rbj@audioimagination.com >>> >>>"Imagination is more important than knowledge." >>> >>> >>>I understand that DACs do not output an ideal sinc() function and as a >>result the analog and digital convolution results may be different. Is >>there any way to quantify the difference and can it be corrected for? >> >>_____________________________ >>Posted through www.DSPRelated.com > >Eric Jacobsen >Anchor Hill Communications >http://www.anchorhill.com >
_____________________________ Posted through www.DSPRelated.com
On Thu, 12 Mar 2015 15:17:51 -0500, "Acomp26" <104113@dsprelated>
wrote:

>>On Thu, 12 Mar 2015 14:23:18 -0500, "Acomp26" <104113@dsprelated> >>wrote: >> >>>>On 3/12/15 12:48 PM, Acomp26 wrote: >>>>> >>>>> I have two digital signals that have to be convolved. Lets say we do >>>that >>>>> and get an output. If we then pass both these signals through >Digital >>>to >>>>> Analog converters (DAC) and convert both signals to analog and then >>>perform >>>>> convolution in continuous time will the output be the same? >>>>> >>>>> In other words what is the relation between a discrete time and >>>continuous >>>>> time convolution of two signals? >>>> >>>>how do you *do* the convolution in the continuous-time domain? you >>>>likely will not just directly implement the convolution integral. >>> >>>I was thinking about directly implementing the convolution integral. >> >>Are you going to only compute one sample of the integral or have an >>infinite number of integrators or...? >> >>I know of a couple methods for performing convolution with analog >>signals, but they make some very restrictive assumptions about the >>signal, (e.g., a dispersive filter can convolve a chirp matched to the >>dispersion). >> >> >I was thinking of using an integrator and repeatedly sampling the outputs >at the required rate.
Just one integrator? Do you reset it after each output sample? That would mean that the output sample rate is as long or longer than the function that you're convolving against the other signal, which would suggest either it's a very uninteresting convolution or the output will be severely undersampled. If you don't reset it after every output sample, it's not really a convolution. It's not at all clear what you're trying to do.
>>>>okay, if the signals are valid in both domains (which is, in the >>>>continuous-time domain, both analog signals are bandlimited to less than > >>>>1/2 of the sampling frequency used to sample the two signals into the >>>>discrete-time domain), then the convolution can, conceivably, come out >>>>the same. this is because the continuous-time convolution integral with > >>>>arguments that are validly represented as samples, that integral can be > >>>>made into a summation that is equivalent to the summation of the >>>>discrete-time convolution. >>>> >>>>but many practical issues remain. the DACs do not output ideal sinc() >>>>functions in the continuous-time domain. they usually output piecewise > >>>>constant functions and the continuous-time convolution using that will >>>>come out different than the convolution alluded to above. >>>> >>>> >>>>> Could someone please explain this? Thanks in advance. >>>> >>>>FWIW. >>>> >>>> >>>>-- >>>> >>>>r b-j rbj@audioimagination.com >>>> >>>>"Imagination is more important than knowledge." >>>> >>>> >>>>I understand that DACs do not output an ideal sinc() function and as a >>>result the analog and digital convolution results may be different. Is >>>there any way to quantify the difference and can it be corrected for? >>> >>>_____________________________ >>>Posted through www.DSPRelated.com >> >>Eric Jacobsen >>Anchor Hill Communications >>http://www.anchorhill.com >> > >_____________________________ >Posted through www.DSPRelated.com
Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com