Hi all,
I have a very low frequency signal and I want to find the
spectrum of a non-integer frequency component.I have taken 1000
samples of a 10Hz signal and I want to find the spectrum of the 10Hz
signal.I want to find the 6.56Hz component's amplitude.I can only get
integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz
etc also in the FFT spectrum.How can I gt those components?
non-integer frequency
Started by ●October 3, 2007
Reply by ●October 3, 20072007-10-03
On Oct 3, 6:37 am, "romeshkulasekh...@gmail.com" <romeshkulasekh...@gmail.com> wrote:> Hi all, > I have a very low frequency signal and I want to find the > spectrum of a non-integer frequency component.I have taken 1000 > samples of a 10Hz signal and I want to find the spectrum of the 10Hz > signal.I want to find the 6.56Hz component's amplitude.I can only get > integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz > etc also in the FFT spectrum.How can I gt those components?Take a look at the Goertzel Algorithm: http://en.wikipedia.org/wiki/Goertzel_algorithm John
Reply by ●October 3, 20072007-10-03
On 3 Okt, 12:37, "romeshkulasekh...@gmail.com" <romeshkulasekh...@gmail.com> wrote:> Hi all, > I have a very low frequency signal and I want to find the > spectrum of a non-integer frequency component.I have taken 1000 > samples of a 10Hz signal and I want to find the spectrum of the 10Hz > signal.I want to find the 6.56Hz component's amplitude.I can only get > integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz > etc also in the FFT spectrum.How can I gt those components?What is the sampling frequency? The Goertzel algorithm has already been mentioned - it may well be the best way to compute what you want. Just be aware that any mapping of the signal onto a sinsouidal (which is what the Goertzel does) has a lobe width Dw which is roughly Dw = 1/N*T where T is the sampling period and N is the number of samples. This means that whatever number comes out of the Goertzel is an average of the spectrum of bandwidth Dw centered at whatever frequency you look for. Rune
Reply by ●October 3, 20072007-10-03
"romeshkulasekh wrote:> Hi all, > I have a very low frequency signal and I want to find the > spectrum of a non-integer frequency component.I have taken 1000 > samples of a 10Hz signal and I want to find the spectrum of the 10Hz > signal.I want to find the 6.56Hz component's amplitude.I can only get > integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz > etc also in the FFT spectrum.How can I gt those components?Have a look here: http://home.comcast.net/~kootsoop/freqalgs.htm
Reply by ●October 3, 20072007-10-03
romeshkulasekhara@gmail.com wrote:> I have a very low frequency signal and I want to find the > spectrum of a non-integer frequency component.I have taken 1000 > samples of a 10Hz signal and I want to find the spectrum of the 10Hz > signal.I want to find the 6.56Hz component's amplitude.I can only get > integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz > etc also in the FFT spectrum.How can I gt those components?If you know that your signal has specific components and want to find their amplitude, use a least squares fit. In some cases you can use a zero padded input to FFT, but you have to know more about what components could possibly be in your signal. -- glen
Reply by ●October 3, 20072007-10-03
On Oct 3, 4:09 am, Andor <andor.bari...@gmail.com> wrote:> "romeshkulasekh wrote: > > Hi all, > > I have a very low frequency signal and I want to find the > > spectrum of a non-integer frequency component.I have taken 1000 > > samples of a 10Hz signal and I want to find the spectrum of the 10Hz > > signal.I want to find the 6.56Hz component's amplitude.I can only get > > integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz > > etc also in the FFT spectrum.How can I gt those components? > > Have a look here: > > http://home.comcast.net/~kootsoop/freqalgs.htmI put a bigger list, of simpler methods of frequency estimation which may or may not be of any value or accuracy, here: http://www.nicholson.com/rhn/dsp.html IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M
Reply by ●October 3, 20072007-10-03
On Oct 3, 3:37 am, "romeshkulasekh...@gmail.com" <romeshkulasekh...@gmail.com> wrote:> Hi all, > I have a very low frequency signal and I want to find the > spectrum of a non-integer frequency component.I have taken 1000 > samples of a 10Hz signal and I want to find the spectrum of the 10Hz > signal.I want to find the 6.56Hz component's amplitude.I can only get > integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz > etc also in the FFT spectrum.How can I gt those components?You can take more samples, maybe 200 seconds worth if you want to resolve to 0.01 Hz, or make sure your components of interest are sufficiently above the noise floor and any nearby interference to use an estimation method, such as interpolation or correlation. IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M
Reply by ●October 3, 20072007-10-03
romeshkulasekhara@gmail.com wrote:> Hi all, > I have a very low frequency signal and I want to find the > spectrum of a non-integer frequency component.I have taken 1000 > samples of a 10Hz signal and I want to find the spectrum of the 10Hz > signal.I want to find the 6.56Hz component's amplitude.I can only get > integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz > etc also in the FFT spectrum.How can I gt those components?Do I understand correctly that your signal's bandwidth is 10 Hz? Is that the band of interest, or are you sure that there is no energy above 10 Hz? Adopting the most optimistic assumption, you are taking about 25 samples per second. 1,000 samples then amounts to 40 seconds of data, which should provide a native resolution of .05 Hz. It should take only a little interpolation to get the resolution you want. On the other hand, of you sampled at 44.1 KHz, that's only .023 seconds worth of data, about 1/7th of a period of interest. You would be out of luck in that case. To get only integer results, you would need to have sampled for one second, implying a 1 KHz sample rate. That's still too fast for a simple calculation -- you're interested in a signal at the bottom 1/20th of the range, but you might make something work. Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Reply by ●October 3, 20072007-10-03
"romeshkulasekhara@gmail.com" <romeshkulasekhara@gmail.com> wrote in news:1191407829.165387.30610@o80g2000hse.googlegroups.com:> Hi all, > I have a very low frequency signal and I want to find the > spectrum of a non-integer frequency component.I have taken 1000 > samples of a 10Hz signal and I want to find the spectrum of the 10Hz > signal.I want to find the 6.56Hz component's amplitude.I can only get > integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz > etc also in the FFT spectrum.How can I gt those components? > >Could you do a cross-correlation with the sine and the cosine of the appropriate frequency to get the gain and phase? -- Scott Reverse name to reply
Reply by ●October 3, 20072007-10-03
On Oct 3, 1:06 pm, Scott Seidman <namdiestt...@mindspring.com> wrote:> "romeshkulasekh...@gmail.com" <romeshkulasekh...@gmail.com> wrote innews:1191407829.165387.30610@o80g2000hse.googlegroups.com: > > > Hi all, > > I have a very low frequency signal and I want to find the > > spectrum of a non-integer frequency component.I have taken 1000 > > samples of a 10Hz signal and I want to find the spectrum of the 10Hz > > signal.I want to find the 6.56Hz component's amplitude.I can only get > > integer frequencys like 1Hz , 2Hz , 3Hz etc but I want 1.1Hz, 2.34 Hz > > etc also in the FFT spectrum.How can I gt those components? > > Could you do a cross-correlation with the sine and the cosine of the > appropriate frequency to get the gain and phase?If there is more than one "frequency" present, and all these frequencies present are not orthogonal to one another in the correlation aperture or window, then the cross-correlation results could be "contaminated" by one another, and might not represent only the frequency components of interest. IMHO. YMMV. -- rhn A.T nicholson d.0.t C-o-M






