From: Jerry Avins on
On 4/2/2010 11:05 AM, Kamran Iranpour wrote:
> On Apr 2, 4:42 pm, Jerry Avins<j...(a)ieee.org> wrote:
>> On 4/2/2010 10:16 AM, Kamran Iranpour wrote:
>>
>>
>>
>>> On Apr 2, 4:08 pm, John<sampson...(a)gmail.com> wrote:
>>>> On Apr 2, 9:40 am, Kamran Iranpour<kamran.iranp...(a)gmail.com> wrote:
>>
>>>>> Hi,
>>>>> I have two signals, one sampled at 1ms (ricker), the other anything
>>>>> greater, 4 or 5 or 10ms. I need to do a convolution, that is a
>>>>> multiplication in freq. domain. My question is, given that the second
>>>>> signal is a series of spikes, do I need to use some sort of
>>>>> interpolation (e.g. sinc) or is it enough to add samples (zeros)
>>>>> between the spikes, depending on the ratio of the signals sampling
>>>>> rate? When I test with matlab, the difference is not much, make me
>>>>> want to drop the whole interpolation and just add samples (I have to
>>>>> do that for thousands of traces).
>>>>> I thought of cutting off the the frequency contents of the first
>>>>> signal (ricker) to the nyquist of the second one, but that won't do,
>>>>> it completely distorts my ricker (no surprise there).
>>
>>>> Am I the only one who has no idea what a 'ricker' is?
>>
>>>> John
>>
>>> a mexican hat, in Geophysics it is called a ricker.
>>
>> I'm always glad to learn new words.
>>
>> The Mexican hat that I know is a 3-D plot of a radially symmetric sinc,
>> and is easily generated by formula once the amplitude of the central
>> peak and the spacing of the nulls are known. Why not simply calculate as
>> many points as you need? There is evidently more to this than I've
>> assumed above.
>
> Sorry if I was not clear. My mexican hat is sampled at 1000Hz, my
> other signal(spiky signal) is sampled at for example, 200Hz.
> Obviously, if I am to convolve the two (by freq. multiplication), I
> have to cut (zeroed) all the frequency components of the mexican hat
> above 100Hz, to make sure I am multiplying the correct frequency
> components of the two (downsample the mexican hat in time). I don't
> want to do that. Firstly, because my mexican hat is not much of a
> mexican hat any longer and secondly, because I have been told
> (ordered) to avoid that.
> What I thought instead, is that I upsample my second signal (the spiky
> one) to 1000 Hz. The question is, is it enough just to put 5 zeros in
> between two existing samples in the spiky signal or do I have to put 5
> zeros in between and then interpolate (with some proper filter, the
> way matlab's 'resample' does)?

Just putting in the zeros won't reduce the spikiness. You'll be
convolving those zeros with the hat, and that's pretty much the same as
throwing hat samples away. Think about what the bandwidth would have to
be for the zero-stuffed signal to be an accurate representation of some
waveform. In reality, you know that's fictitious. You need to
interpolate it to have confidence in the results. The easy way is to
low-pass filter it to attenuate frequencies higher than half its
original sample rate.

That may not be the best way, but it works without your violating your
orders.

Jerry
--
"It does me no injury for my neighbor to say there are 20 gods, or no
God. It neither picks my pocket nor breaks my leg."
Thomas Jefferson to the Virginia House of Delegates in 1776.
���������������������������������������������������������������������
From: Kamran Iranpour on
On Apr 2, 5:55 pm, Jerry Avins <j...(a)ieee.org> wrote:
> On 4/2/2010 11:05 AM, Kamran Iranpour wrote:
>
>
>
> > On Apr 2, 4:42 pm, Jerry Avins<j...(a)ieee.org>  wrote:
> >> On 4/2/2010 10:16 AM, Kamran Iranpour wrote:
>
> >>> On Apr 2, 4:08 pm, John<sampson...(a)gmail.com>    wrote:
> >>>> On Apr 2, 9:40 am, Kamran Iranpour<kamran.iranp...(a)gmail.com>    wrote:
>
> >>>>> Hi,
> >>>>> I have two signals, one sampled at 1ms (ricker), the other anything
> >>>>> greater, 4 or 5 or 10ms. I need to do a convolution, that is a
> >>>>> multiplication in freq. domain. My question is, given that the second
> >>>>> signal is a series of spikes, do I need to use some sort of
> >>>>> interpolation (e.g. sinc) or is it enough to add samples (zeros)
> >>>>> between the spikes, depending on the ratio of the signals sampling
> >>>>> rate? When I test with matlab, the difference is not much, make me
> >>>>> want to drop the whole interpolation and just add samples (I have to
> >>>>> do that for thousands of traces).
> >>>>> I thought of cutting off the the frequency contents of the first
> >>>>> signal (ricker) to the nyquist of the second one, but that won't do,
> >>>>> it completely distorts my ricker (no surprise there).
>
> >>>> Am I the only one who has no idea what a 'ricker' is?
>
> >>>> John
>
> >>> a mexican hat, in Geophysics it is called a ricker.
>
> >> I'm always glad to learn new words.
>
> >> The Mexican hat that I know is a 3-D plot of a radially symmetric sinc,
> >> and is easily generated by formula once the amplitude of the central
> >> peak and the spacing of the nulls are known. Why not simply calculate as
> >> many points as you need? There is evidently more to this than I've
> >> assumed above.
>
> > Sorry if I was not clear. My mexican hat is sampled at 1000Hz, my
> > other signal(spiky signal) is sampled at for example, 200Hz.
> > Obviously, if I am to convolve the two (by freq. multiplication), I
> > have  to cut (zeroed) all the frequency components of the mexican hat
> > above 100Hz, to make sure I am multiplying the correct frequency
> > components of the two (downsample the mexican hat in time). I don't
> > want to do that. Firstly, because my mexican hat is not much of a
> > mexican hat any longer and secondly, because I have been told
> > (ordered) to avoid that.
> > What I thought instead, is that I upsample my second signal (the spiky
> > one) to 1000 Hz. The question is, is it enough just to put 5 zeros in
> > between two existing samples in the spiky signal or do I have to put 5
> > zeros in between and then interpolate (with some proper filter, the
> > way matlab's 'resample' does)?
>
> Just putting in the zeros won't reduce the spikiness. You'll be
> convolving those zeros with the hat, and that's pretty much the same as
> throwing hat samples away. Think about what the bandwidth would have to
> be for the zero-stuffed signal to be an accurate representation of some
> waveform. In reality, you know that's fictitious. You need to
> interpolate it to have confidence in the results. The easy way is to
> low-pass filter it to attenuate frequencies higher than half its
> original sample rate.
>
> That may not be the best way, but it works without your violating your
> orders.
>
> Jerry
> --
> "It does me no injury for my neighbor to say there are 20 gods, or no
> God. It neither picks my pocket nor breaks my leg."
>           Thomas Jefferson to the Virginia House of Delegates in 1776.
> ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Thanks Jerry, been real helpful.

Kamran
From: Avier on
i thik the zero stuffed upsample can do good work but not better than the
intepolation but then interpolation becomes more complex ... you can check
them both in matlab /simulink (you' ll find the difference)

@ jerry if you perform convolution in frequency domain than how can the
zero inserted matter ,,,,only the frequency should matter ,,,,i am sorry if
i am wrong !!!!!
From: Jerry Avins on
On 4/3/2010 2:10 AM, Avier wrote:
> i thik the zero stuffed upsample can do good work but not better than the
> intepolation but then interpolation becomes more complex ... you can check
> them both in matlab /simulink (you' ll find the difference)
>
> @ jerry if you perform convolution in frequency domain than how can the
> zero inserted matter ,,,,only the frequency should matter ,,,,i am sorry if
> i am wrong !!!!!

Avier,

The signal with interpolated zeroes has a lot of high-frequency content
not present in the original. Any frequency component not less than half
the original sample rate is an artifact of the processing method; to be
avoided.

Let us sample the height of a road surface. We will take a measurement
every four inches, allowing us to see modest potholes but not small ones
very reliably. Still, the samples are a reasonable representation of the
road from which we can deduce useful information.

Suppose now we need to process that information with some other data
that were acquired every sixteenth of an inch. To do that, we
interpolate 63 zeroes between every pair of original samples. Do we need
to smooth the result in order not to be misled? If we smooth it, we will
still not resolve the very small potholes that we missed before. We will
in fact not have ant more information than before the zeroes were added.
No new information is good because whatever is added by the process
could be misleading. Suppose we don't smooth (filter) the result. If you
claimed that the unsmoothed data represented the road, I wouldn't drive
there. All those nails sticking up would ruin my tires.

As to your question about convolving in frequency, you should know that
the time and frequency responses are related. Convolving in frequency is
the same as multiplying in time.

Jerry
--
"It does me no injury for my neighbor to say there are 20 gods, or no
God. It neither picks my pocket nor breaks my leg."
Thomas Jefferson to the Virginia House of Delegates in 1776.
���������������������������������������������������������������������
From: Avier on
the thing i wanted to stay was that when doing multiplication in frequency
(convolution in time ----- i said it wrong) the zero inserted upsampled
signal can give good results(zeros inserted will not be there in frequency
domain) ,,,,you are right that we will need a filter above fs/2

if the zero insertion method is not worthy of use then why was it
developed???? was it only the ease of implementation or something else
?????