Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
FFT around a specified frequency-band

Subject: FFT around a specified frequency-band

From: Paul

Date: 7 Jul, 2008 21:42:01

Message: 1 of 11

Is it somehow possible to use FFT (or an other function)
in order to determine (high, non-harmonic) frequencies
around a specified frequency-band?

for example:
Y = fft(y, 2560000), gives a result of 2560000 points,
symmetric after the first 1280000 points

Is there a possibility that I can specify that I am only
interested in the points 1200000:1280000 (highest
frequencies)? It would make my script a little faster ;-).

Thank you in advance.

Subject: FFT around a specified frequency-band

From: Dave Robinson

Date: 8 Jul, 2008 09:19:01

Message: 2 of 11

"Paul " <brinkman_paul@hotmail.com> wrote in message <g4u2j9
$pqv$1@fred.mathworks.com>...
> Is it somehow possible to use FFT (or an other function)
> in order to determine (high, non-harmonic) frequencies
> around a specified frequency-band?
>
> for example:
> Y = fft(y, 2560000), gives a result of 2560000 points,
> symmetric after the first 1280000 points
>
> Is there a possibility that I can specify that I am only
> interested in the points 1200000:1280000 (highest
> frequencies)? It would make my script a little faster ;-).
>
> Thank you in advance.

Probably at least 2 ways of doing this.

Multiply your signal by a sine wave whose frequency is at
the major point of your interest. This will generate images
of your spectrum at the sum and difference frequency
relative to your modulation. Low pass filter this to remove
the sum component, and providing you have done it right,
your centre frequency of interest will have moved into the
DC point, where you can sample the 80000 points you are
interested in.

Very similar method is to used constrained aliasing. Here
you bandpass the region you are interested in, then sample
it at a sub Nyquist rate, such that it will generate an
alias image of the stuff you are interesed in, but back at
baseband. The effect of the bandpass filter ensures that
the only information is the band you are interested in no
the aliased image is a true reflection of what you are
interested in.

Note that both these methods assume that the statistics of
your waveform is stationary.

Hope that makes sense

Regards

Dave Robinson

Subject: FFT around a specified frequency-band

From: Rune Allnor

Date: 8 Jul, 2008 12:30:02

Message: 3 of 11

On 7 Jul, 23:42, "Paul " <brinkman_p...@hotmail.com> wrote:
> Is it somehow possible to use FFT (or an other function)
> in order to determine (high, non-harmonic) frequencies
> around a specified frequency-band?
>
> for example:
> Y = fft(y, 2560000), gives a result of 2560000 points,
> symmetric after the first 1280000 points

What application is this? A problem which requires
a 2.5 Mpt FFT is almost certanly badly stated.

> Is there a possibility that I can specify that I am only
> interested in the points 1200000:1280000 (highest
> frequencies)? It would make my script a little faster ;-).

The best would be to decide what FFT size you need.
Even a 80,000 pt spectrum is far larger than what
obviously would be considered relevant.

Why don't you describe the problem and what you try
to achieve? Then you might recieve help to solve
the real problem.

Rune

Subject: FFT around a specified frequency-band

From: Greg Heath

Date: 8 Jul, 2008 13:41:41

Message: 4 of 11

On Jul 7, 5:42=A0pm, "Paul " <brinkman_p...@hotmail.com> wrote:
> Is it somehow possible to use FFT (or an other function)
> in order to determine (high, non-harmonic) frequencies
> around a specified frequency-band?
>
> for example:
> Y =3D fft(y, 2560000), gives a result of 2560000 points,
> symmetric after the first 1280000 points
>
> Is there a possibility that I can specify that I am only
> interested in the points 1200000:1280000 (highest
> frequencies)? It would make my script a little faster ;-).
>
> Thank you in advance.

What is your sampling frequency Fs?
What is the center frequency of the band F0?
What is the maximum frequency of interest Fmax?
What frequency resolution, df, do you need?

Hope this helps,

Greg

Subject: FFT around a specified frequency-band

From: jge455@gmail.com

Date: 8 Jul, 2008 13:41:44

Message: 5 of 11

You could heterodyne your data so that the sample 120000 is zero
frequency then decimate it to a sample rate that will give the Nyquist
bandwidth you're interested in. Might be somewhat faster.




On Jul 7, 5:42=A0pm, "Paul " <brinkman_p...@hotmail.com> wrote:
> Is it somehow possible to use FFT (or an other function)
> in order to determine (high, non-harmonic) frequencies
> around a specified frequency-band?
>
> for example:
> Y =3D fft(y, 2560000), gives a result of 2560000 points,
> symmetric after the first 1280000 points
>
> Is there a possibility that I can specify that I am only
> interested in the points 1200000:1280000 (highest
> frequencies)? It would make my script a little faster ;-).
>
> Thank you in advance.

Subject: FFT around a specified frequency-band

From: Paul

Date: 8 Jul, 2008 14:28:01

Message: 6 of 11

jge455@gmail.com wrote in message <172a326e-fb27-43a7-9e0f-
c84d3d723501@m36g2000hse.googlegroups.com>...
> You could heterodyne your data so that the sample 120000
is zero
> frequency then decimate it to a sample rate that will
give the Nyquist
> bandwidth you're interested in. Might be somewhat
faster.
>
>
>
>
> On Jul 7, 5:42=A0pm, "Paul " <brinkman_p...@hotmail.com>
wrote:
> > Is it somehow possible to use FFT (or an other
function)
> > in order to determine (high, non-harmonic) frequencies
> > around a specified frequency-band?
> >
> > for example:
> > Y =3D fft(y, 2560000), gives a result of 2560000
points,
> > symmetric after the first 1280000 points
> >
> > Is there a possibility that I can specify that I am
only
> > interested in the points 1200000:1280000 (highest
> > frequencies)? It would make my script a little
faster ;-).
> >
> > Thank you in advance.
>
Thank you for the advises so far.
description of my problem: I am trying to find a frequency
(around 10Mhz) in a signal acquired by an ossiloscope.
-sampling: 50MS/s
-frequencies of interest: Fmin 9,98Mhz - Fmax 10,02Mhz
-frequency resolution: 1Hz

So far my frequency resolution is 20Hz, but I hope to
improve it to 5Hz or better.

Subject: FFT around a specified frequency-band

From: Steve Amphlett

Date: 8 Jul, 2008 15:05:04

Message: 7 of 11

"Paul " <brinkman_paul@hotmail.com> wrote in message
<g4vthh$mb6$1@fred.mathworks.com>...
> jge455@gmail.com wrote in message <172a326e-fb27-43a7-
9e0f-
> c84d3d723501@m36g2000hse.googlegroups.com>...
> > You could heterodyne your data so that the sample
120000
> is zero
> > frequency then decimate it to a sample rate that will
> give the Nyquist
> > bandwidth you're interested in. Might be somewhat
> faster.
> >
> >
> >
> >
> > On Jul 7, 5:42=A0pm, "Paul "
<brinkman_p...@hotmail.com>
> wrote:
> > > Is it somehow possible to use FFT (or an other
> function)
> > > in order to determine (high, non-harmonic) frequencies
> > > around a specified frequency-band?
> > >
> > > for example:
> > > Y =3D fft(y, 2560000), gives a result of 2560000
> points,
> > > symmetric after the first 1280000 points
> > >
> > > Is there a possibility that I can specify that I am
> only
> > > interested in the points 1200000:1280000 (highest
> > > frequencies)? It would make my script a little
> faster ;-).
> > >
> > > Thank you in advance.
> >
> Thank you for the advises so far.
> description of my problem: I am trying to find a
frequency
> (around 10Mhz) in a signal acquired by an ossiloscope.
> -sampling: 50MS/s
> -frequencies of interest: Fmin 9,98Mhz - Fmax 10,02Mhz
> -frequency resolution: 1Hz
>
> So far my frequency resolution is 20Hz, but I hope to
> improve it to 5Hz or better.


Have you done seaches for "Zoom FFT"? I think there's one
or two functions posted to the FEX. The WWW has a lot of
description of the various methods, but sadly no free ML
codes.

Subject: FFT around a specified frequency-band

From: turtie

Date: 8 Jul, 2008 16:42:41

Message: 8 of 11

You can try using the freqz command.

Since your frequency of interest is 9.98 Mhz to 10.02 MHz, you can say:

X = 9.98*10^6:10.02*10^6;
Fs = 50*10^6; %where Fs is your sampling rate

Y = freqz(y,1,X,Fs);

Subject: FFT around a specified frequency-band

From: Andy Robb

Date: 8 Jul, 2008 20:36:01

Message: 9 of 11

"Paul " <brinkman_paul@hotmail.com> wrote in message
<g4u2j9$pqv$1@fred.mathworks.com>...
> Is it somehow possible to use FFT (or an other function)
> in order to determine (high, non-harmonic) frequencies
> around a specified frequency-band?
>
> for example:
> Y = fft(y, 2560000), gives a result of 2560000 points,
> symmetric after the first 1280000 points
>
> Is there a possibility that I can specify that I am only
> interested in the points 1200000:1280000 (highest
> frequencies)? It would make my script a little faster ;-).
>
> Thank you in advance.

There are two ways of zoom processing an FFT:
1. heterodyne at the centre frequency, low-pass filter,
decimate then FFT like our old HP5151C but this exhibited
problems at the centre frequency
2. decimate into multiple interleaved time windows, FFT all
windows then combine the resulting spectra like our old
Solartron FFT analysers

The 2nd method is more stable as it is essentially the same
as a single FFT of the entire data set but only calculates
the required frequency range. You can choose the centre
frequency of the result by arranging the phase adjustments
in the spectral combinations to cover the frequency range
and rotate the final spectrum so it starts at the lowest
frequency.

Subject: FFT around a specified frequency-band

From: Greg Heath

Date: 9 Jul, 2008 05:25:30

Message: 10 of 11

On Jul 7, 5:42=A0pm, "Paul " <brinkman_p...@hotmail.com> wrote:
> Is it somehow possible to use FFT (or an other function)
> in order to determine (high, non-harmonic) frequencies
> around a specified frequency-band?
>
> for example:
> Y =3D fft(y, 2560000), gives a result of 2560000 points,
> symmetric after the first 1280000 points
>
> Is there a possibility that I can specify that I am only
> interested in the points 1200000:1280000 (highest
> frequencies)? It would make my script a little faster ;-).
>

What are

1. The sampling frequency, Fs
2. The bandpass center frequency, F0
3. The bandpass bandwidth, BW
4. The desired frequency resolution, df

Greg

Subject: FFT around a specified frequency-band

From: Paul

Date: 9 Jul, 2008 14:05:21

Message: 11 of 11

"Andy Robb" <ajrobb@hotmail.com> wrote in message
<g50j3h$lcj$1@fred.mathworks.com>...
> "Paul " <brinkman_paul@hotmail.com> wrote in message
> <g4u2j9$pqv$1@fred.mathworks.com>...
> > Is it somehow possible to use FFT (or an other
function)
> > in order to determine (high, non-harmonic) frequencies
> > around a specified frequency-band?
> >
> > for example:
> > Y = fft(y, 2560000), gives a result of 2560000 points,
> > symmetric after the first 1280000 points
> >
> > Is there a possibility that I can specify that I am
only
> > interested in the points 1200000:1280000 (highest
> > frequencies)? It would make my script a little
faster ;-).
> >
> > Thank you in advance.
>
> There are two ways of zoom processing an FFT:
> 1. heterodyne at the centre frequency, low-pass filter,
> decimate then FFT like our old HP5151C but this exhibited
> problems at the centre frequency
> 2. decimate into multiple interleaved time windows, FFT
all
> windows then combine the resulting spectra like our old
> Solartron FFT analysers
>
> The 2nd method is more stable as it is essentially the
same
> as a single FFT of the entire data set but only
calculates
> the required frequency range. You can choose the centre
> frequency of the result by arranging the phase
adjustments
> in the spectral combinations to cover the frequency range
> and rotate the final spectrum so it starts at the lowest
> frequency.

1. The sampling frequency, Fs = 50MS/s
2. The bandpass center frequency, F0 = 10Mhz
3. The bandpass bandwidth, BW = 20Khz
4. The desired frequency resolution, df = 5Hz or better

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us