I wanna count the periods of a certain subwave in the signal and the resolution should be higher than 0.2 T( T is the period). The signal can be well-extracted using band-filtering based on DCT or FFT. But FFT or DCT are discrete, so their resolution in the frequency domain is always integer Hz. I tried to fit a curve to the frequency domain, and find the maximum point to a 'sub-integer' level, but that only archieves about 0.5 T accracy. What should I do now? Using continuous DCT or FFT transform? Is there any easier way to do that? I'll put the demo images on my blog today. http://smartnose.blogspot.com Hope you guys would help me. Thank you.
How to count the periods of a cetrain subwave with high resolution?
Started by ●January 10, 2007
Reply by ●January 10, 20072007-01-10
smart wrote:> ... FFT or DCT are discrete, so their resolution in the frequency > domain is always integer Hz. ...That's not true. What do you really mean? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●January 11, 20072007-01-11
"Jerry Avins" <jya@ieee.org> wrote in message news:ypmdnbPjQd3VNDjYnZ2dnUVZ_rPinZ2d@rcn.net...> smart wrote: > > > ... FFT or DCT are discrete, so their resolution in the frequency > > domain is always integer Hz. ... > > That's not true. What do you really mean? > >I think he means that digital is always an approximation ie it has a resolution fs/N Hz- analogue is more exact. F. -- Posted via a free Usenet account from http://www.teranews.com
Reply by ●January 11, 20072007-01-11
Fitlike Min wrote:> "Jerry Avins" <jya@ieee.org> wrote in message > news:ypmdnbPjQd3VNDjYnZ2dnUVZ_rPinZ2d@rcn.net... >> smart wrote: >> >>> ... FFT or DCT are discrete, so their resolution in the frequency >>> domain is always integer Hz. ... >> That's not true. What do you really mean? >> >> > I think he means that digital is always an approximation ie it has a > resolution fs/N Hz- analogue is more exact.Why don't we wait for him to say instead of guessing? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●January 11, 20072007-01-11
Hi, all. We got time difference, sorry. What I mean is if the length of this signal is N, then in the frequency domain, we got only N points. 1/N, 2/N,...k/N. and the corresponding period number is 1,2,3...N. For example (in matlab), x=3D[-3.14:0.1:3.14]; y=3Dcos(x); dc=3Ddct(y); plot(dc); the singnal y has one period, so the transformed dc has a peak exactly at dc(3); for x=3D[-3.14:0.1:3.14]; y=3Dcos(1.5*x); dc=3Ddct(y); plot(dc); y now has 1.5 periods, dc has positive and negtive peaks at dc(3) and dc(5), and other small peaks. So, if y has fractional(thank god, I finally rememberred this word, :-P) periods, DCT can only describe this fraction by noise data on other subwaves. How do I detect this fraction directly from the frequency domain? Thank you all. Jerry Avins wrote:> Fitlike Min wrote: > > "Jerry Avins" <jya@ieee.org> wrote in message > > news:ypmdnbPjQd3VNDjYnZ2dnUVZ_rPinZ2d@rcn.net... > >> smart wrote: > >> > >>> ... FFT or DCT are discrete, so their resolution in the frequency > >>> domain is always integer Hz. ... > >> That's not true. What do you really mean? > >> > >> > > I think he means that digital is always an approximation ie it has a > > resolution fs/N Hz- analogue is more exact. > > Why don't we wait for him to say instead of guessing? > > Jerry > -- > Engineering is the art of making what you want from things you can get. > =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF==AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF
Reply by ●January 11, 20072007-01-11
you see x=3D[-3.14:0.1:3.14]; y=3Dcos(1.5*x); dc1=3Ddct(y); figure; plot(dc1); y=3Dcos(1.2*x); dc2=3Ddct(y); figure; plot(dc2); The only difference of dc1 and dc2 is the amplitude at each point. I guess the cotinuous transform must have a peak somewhere at 3.5 or 2=2E8 etc. I'm a vision engineer, I never dealt with this before. smart wrote:> Hi, all. We got time difference, sorry. > > What I mean is if the length of this signal is N, then in the frequency > domain, we got only N points. 1/N, 2/N,...k/N. and the corresponding > period number is 1,2,3...N. > > For example (in matlab), > > x=3D[-3.14:0.1:3.14]; > y=3Dcos(x); > dc=3Ddct(y); > plot(dc); > > the singnal y has one period, so the transformed dc has a peak exactly > at dc(3); > > for > x=3D[-3.14:0.1:3.14]; > y=3Dcos(1.5*x); > dc=3Ddct(y); > plot(dc); > > y now has 1.5 periods, dc has positive and negtive peaks at dc(3) and > dc(5), and other small peaks. > > So, if y has fractional(thank god, I finally rememberred this word, > :-P) periods, DCT can only describe this fraction by noise data on > other subwaves. > > How do I detect this fraction directly from the frequency domain? > > Thank you all. > > Jerry Avins wrote: > > Fitlike Min wrote: > > > "Jerry Avins" <jya@ieee.org> wrote in message > > > news:ypmdnbPjQd3VNDjYnZ2dnUVZ_rPinZ2d@rcn.net... > > >> smart wrote: > > >> > > >>> ... FFT or DCT are discrete, so their resolution in the frequency > > >>> domain is always integer Hz. ... > > >> That's not true. What do you really mean? > > >> > > >> > > > I think he means that digital is always an approximation ie it has a > > > resolution fs/N Hz- analogue is more exact. > > > > Why don't we wait for him to say instead of guessing? > > > > Jerry > > -- > > Engineering is the art of making what you want from things you can get. > > =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF==AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF
Reply by ●January 12, 20072007-01-12
Did I make any fundamental mistake? On 1=D4=C212=C8=D5, =C9=CF=CE=E79=CA=B108=B7=D6, "smart" <smartn...@gmail.c= om> wrote:> you see > > x=3D[-3.14:0.1:3.14]; > y=3Dcos(1.5*x); > dc1=3Ddct(y); > figure; > plot(dc1); > y=3Dcos(1.2*x); > dc2=3Ddct(y); > figure; > plot(dc2); > > The only difference of dc1 and dc2 is the amplitude at each point. > > I guess the cotinuous transform must have a peak somewhere at 3.5 or > 2.8 etc. > > I'm a vision engineer, I never dealt with this before. > > > > smart wrote: > > Hi, all. We got time difference, sorry. > > > What I mean is if the length of this signal is N, then in the frequency > > domain, we got only N points. 1/N, 2/N,...k/N. and the corresponding > > period number is 1,2,3...N. > > > For example (in matlab), > > > x=3D[-3.14:0.1:3.14]; > > y=3Dcos(x); > > dc=3Ddct(y); > > plot(dc); > > > the singnal y has one period, so the transformed dc has a peak exactly > > at dc(3); > > > for > > x=3D[-3.14:0.1:3.14]; > > y=3Dcos(1.5*x); > > dc=3Ddct(y); > > plot(dc); > > > y now has 1.5 periods, dc has positive and negtive peaks at dc(3) and > > dc(5), and other small peaks. > > > So, if y has fractional(thank god, I finally rememberred this word, > > :-P) periods, DCT can only describe this fraction by noise data on > > other subwaves. > > > How do I detect this fraction directly from the frequency domain? > > > Thank you all. > > > Jerry Avins wrote: > > > Fitlike Min wrote: > > > > "Jerry Avins" <j...@ieee.org> wrote in message > > > >news:ypmdnbPjQd3VNDjYnZ2dnUVZ_rPinZ2d@rcn.net... > > > >> smart wrote: > > > > >>> ... FFT or DCT are discrete, so their resolution in the frequency > > > >>> domain is always integer Hz. ... > > > >> That's not true. What do you really mean? > > > > > I think he means that digital is always an approximation ie it has a > > > > resolution fs/N Hz- analogue is more exact. > > > > Why don't we wait for him to say instead of guessing? > > > > Jerry > > > -- > > > Engineering is the art of making what you want from things you can ge=t=2E> > > =A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1==A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5= =A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1= =A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5= =A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1= =A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5=A1=A5- =D2=FE=B2=D8=B1= =BB=D2=FD=D3=C3=CE=C4=D7=D6 -- =CF=D4=CA=BE=D2=FD=D3=C3=B5=C4=CE=C4=D7=D6 -
Reply by ●January 13, 20072007-01-13
smart wrote:> you see > > x=[-3.14:0.1:3.14]; > y=cos(1.5*x);If you have a model-based estimation problem, you can (and in this case should) estimate the parameter directly. Try to look up "single tone estimation" or "line spectra estimation". Some of the algorithms for these applications are said to have super- resolution, that is, its resolution is higher than suggested than the Fourier transform. Sounds like what you are looking for. Here's a little something that I wrote a long time ago: http://cnx.org/content/m10588/latest/ If you google "frequency esitmation" there are several useful links, too. Hope that helps, Julius
Reply by ●January 14, 20072007-01-14
Ya, great, you've got what I want. Thank you julius! julius wrote:> smart wrote: > > you see > > > > x=[-3.14:0.1:3.14]; > > y=cos(1.5*x); > > If you have a model-based estimation problem, you can (and in > this case should) estimate the parameter directly. Try to look up > "single tone estimation" or "line spectra estimation". Some of > the algorithms for these applications are said to have super- > resolution, that is, its resolution is higher than suggested than > the Fourier transform. > > Sounds like what you are looking for. > > Here's a little something that I wrote a long time ago: > > http://cnx.org/content/m10588/latest/ > > If you google "frequency esitmation" there are several useful > links, too. > > Hope that helps, > Julius
Reply by ●January 15, 20072007-01-15
On 13 Jan 2007 15:21:21 -0800, "julius" <juliusk@gmail.com> wrote:> > >smart wrote: >> you see >> >> x=[-3.14:0.1:3.14]; >> y=cos(1.5*x); > >If you have a model-based estimation problem, you can (and in >this case should) estimate the parameter directly. Try to look up >"single tone estimation" or "line spectra estimation". Some of >the algorithms for these applications are said to have super- >resolution, that is, its resolution is higher than suggested than >the Fourier transform. > >Sounds like what you are looking for. > >Here's a little something that I wrote a long time ago: > >http://cnx.org/content/m10588/latest/ > >If you google "frequency esitmation" there are several useful >links, too. > >Hope that helps, >JuliusHi Julius, (Hope all is well with you. I enjoyed reading your posts, to Rune Allnor, regarding Ph.D candidates.) Perhaps "smart" can find something useful at: http://home.comcast.net/~kootsoop/freqalgs.htm See Ya' Julius, [-Rick-]






