From: Jerry Avins on 2 Apr 2010 11:55 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 2 Apr 2010 12:09 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 3 Apr 2010 02:10 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 3 Apr 2010 09:17 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 3 Apr 2010 15:49 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 ?????
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: COMP.DSP 2010 Update Next: How do I compress an array of floating numbers in Matlab? |