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 ;-).
"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.
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.
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?
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.
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.
"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.
"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.
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
"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
Add a New Tag:
Separated by commas
Ex.: root locus, bode
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.
Public Submission Policy
NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for
all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content.
Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available
via MATLAB Central. Read the complete Disclaimer prior to use.