On Nov 5, 6:55�pm, Jerry Avins <j...@ieee.org> wrote:> Greg Heath wrote: > > On Oct 31, 3:42 am, "Ron N." <rhnlo...@yahoo.com> wrote: > >> On Oct 30, 5:22 am, "tzoom84" <tszumow...@gmail.com> wrote: > > >>> For simplicity, suppose we are interested in detecting presence of either a > >>> 500Hz, 1kHz, and a 1.5kHz sinusoid in a signal that is being sampled at > >>> 100kHz. But lets say we only have 100 samples, or 1ms of data. This is > >>> anywhere between 0.5 to 2 'cycles' of the sinusoids. So essentially, the > >>> signal is well oversampled, but is not sampled long enough in time to > >>> provide clean frequency resolution. > >>> Question is: Are there particular techniques to improve frequency > >>> resolution for oversampled, but time constrained, signals? > >> If it's an either-or question, you don't need resolution, you just > >> need > >> to reject the 2 less probable alternatives. �1 kHz is periodic in the > >> data aperture, so will show a clean peak in a DFT. �If the clear 1 kHz > >> peak isn't there, then you can try rejecting the 1.5 kHz choice if the > >> (maybe low passed) waveform doesn't show enough inflection points > >> and zero crossings spaced about the appropriate distances apart. > >> What's left if you don't see any of the above is 0.5 kHz. > > >> And if there's no noise, you can just randomly pick 3 points and > >> try to solve the equation for a sinusoid with 3 unknowns. �Repeat > >> if necessary. > > > Better to use all of the points and solve the linear set > > of 100 equations for the magnitudes of sine and cosine > > given one of the 3 candidate frequencies. The > > classification is made to the candidate with the > > maximum squared amplitude A^2 + B^2 > > > A*cos(2*pi*f*t) + B*sin(2*pi*f*t) = m(t) > > > Alternatively, you can solve for all 6 coefficients > > simultaneously. > > > Piece of cake? > > Sure. You must realize that you propose calculating three DFT bins and > ignoring the rest. How much quicker is than than calculating 100 bins > with FFT?No quicker. However the frequency resolution is only 1kHz. Zero-padding to interpolate the fft @500Hz yields confus = 5604 4250 146 40 9944 16 0 144 9856 elapsedtime = 10.7500 compared to the DFT result confus = 9922 78 0 68 9902 30 0 26 9974 elapsedtime = 10.0160 Therefore DFT is better. Hope this helps. Greg
Improving Frequency Resolution in Time Constrained Signals
Started by ●October 30, 2009
Reply by ●November 6, 20092009-11-06
Reply by ●November 6, 20092009-11-06
On Nov 6, 10:09�am, Greg Heath <he...@alumni.brown.edu> wrote:> On Nov 5, 6:55�pm, Jerry Avins <j...@ieee.org> wrote: > > > > > > > Greg Heath wrote: > > > On Oct 31, 3:42 am, "Ron N." <rhnlo...@yahoo.com> wrote: > > >> On Oct 30, 5:22 am, "tzoom84" <tszumow...@gmail.com> wrote: > > > >>> For simplicity, suppose we are interested in detecting presence of either a > > >>> 500Hz, 1kHz, and a 1.5kHz sinusoid in a signal that is being sampled at > > >>> 100kHz. But lets say we only have 100 samples, or 1ms of data. This is > > >>> anywhere between 0.5 to 2 'cycles' of the sinusoids. So essentially, the > > >>> signal is well oversampled, but is not sampled long enough in time to > > >>> provide clean frequency resolution. > > >>> Question is: Are there particular techniques to improve frequency > > >>> resolution for oversampled, but time constrained, signals? > > >> If it's an either-or question, you don't need resolution, you just > > >> need > > >> to reject the 2 less probable alternatives. �1 kHz is periodic in the > > >> data aperture, so will show a clean peak in a DFT. �If the clear 1 kHz > > >> peak isn't there, then you can try rejecting the 1.5 kHz choice if the > > >> (maybe low passed) waveform doesn't show enough inflection points > > >> and zero crossings spaced about the appropriate distances apart. > > >> What's left if you don't see any of the above is 0.5 kHz. > > > >> And if there's no noise, you can just randomly pick 3 points and > > >> try to solve the equation for a sinusoid with 3 unknowns. �Repeat > > >> if necessary. > > > > Better to use all of the points and solve the linear set > > > of 100 equations for the magnitudes of sine and cosine > > > given one of the 3 candidate frequencies. The > > > classification is made to the candidate with the > > > maximum squared amplitude A^2 + B^2 > > > > A*cos(2*pi*f*t) + B*sin(2*pi*f*t) = m(t) > > > > Alternatively, you can solve for all 6 coefficients > > > simultaneously. > > > > Piece of cake? > > > Sure. You must realize that you propose calculating three DFT bins and > > ignoring the rest. How much quicker is than than calculating 100 bins > > with FFT? > > No quicker. However the frequency resolution is only 1kHz. > Zero-padding to interpolate the fft @500Hz yields2 ms zero-padded FFT confus = � � � �5604 � � � �4250 � � � �146 % Detection of 500Hz poor � � � � � 40 � � � �9944 � � � � �16 � � � � � �0 � � � � 144 � � � �9856 elapsedtime = � 10.7500 ------------------------------------------- 4 ms Zero padded FFT confus = 8454 1451 95 % Detection of 500Hz improved 4770 5230 0 % Detection of 1kHz significantly degraded 0 4738 5262 % Detection of 1.5kHz significantly degraded elapsedtime = 13.0470 ------------------------------------------- compared to the 1 ms DFT result> confus = > > � � � � �9922 � � � � �78 � � � � � 0 > � � � � � �68 � � � �9902 � � � � �30 > � � � � � � 0 � � � � �26 � � � �9974 > > elapsedtime = � �10.0160Therefore the 3 frequency DFT is significantly better. Hope this helps. Greg






