Reply by John Hadstate●September 26, 20082008-09-26
On Sep 25, 4:02�pm, Kamil <KamilCz...@gmail.com> wrote:
> Hi there,
>
> I am working in the frequency domain and this must be done in the
> frequency domain. �I have a signal that I would like to decimate by a
> factor of 4. �Do I simply keep every 4th bin and keep it at that?
> Would I have to apply a lowpass filter in order to prevent aliasing?
> If so, how to do I determine the correct lowpass filter to use?
When you decide that you can decimate, you have implicitly decided
that there are no frequency components of significant magnitude above
the decimated Nyquist frequency. (You can verify this by examining
the spectrum of the pre-decimated signal.)
For the sake of an introductory argument, let's say that your complex
spectrum is the result of a complex DFT on *all* of your time-domain
samples (not just a convenient segment of them). Assuming that you
label the bins of your DFT from 0 to Fs, you can decimate by 4 in the
frequency domain by starting at the center of your DFT and eliminating
3/4 of your bins, 3/8 on either side of center. You are then left
with 1/4 of your original DFT bins which you then Inverse-DFT to yield
the decimated-by-4 time-domain samples. You don't care that you threw
away 3/4 of your original DFT because when you decided to decimate by
4, you implicitly decided that those coefficients that you discarded
were insignificant.
>
> After my complex decimation, I need to do a band shift. �I have not
> found any information on this. �This group has information about
> frequency band shifting via FFTs, but I am already in the frequency
> domain so i dont think this would help me.
>
This makes no sense to me at all. If you are already in the frequency
domain, you have the DFT (or FFT) coefficients. What is the problem?
Would you please try to re-phrase the question?
I would refer you to the latter chapters in Steven Smith's excellent
book, "Digital Signal Processing", but the online version seems to be
broken above Chapter 29 which is where the complex DFT is covered.
Nevertheless, you might find some of the following material to be
helpful:
http://www.dspguide.com/pdfbook.htm
Reply by Jerry Avins●September 26, 20082008-09-26
On Sep 26, 9:33�am, Kamil <KamilCz...@gmail.com> wrote:
> On Sep 25, 8:11�pm, John <sampson...@gmail.com> wrote:
>
>
>
> > On Sep 25, 4:02�pm, Kamil <KamilCz...@gmail.com> wrote:
>
> > > Hi there,
>
> > > I am working in the frequency domain and this must be done in the
> > > frequency domain. �I have a signal that I would like to decimate by a
> > > factor of 4. �Do I simply keep every 4th bin and keep it at that?
> > > Would I have to apply a lowpass filter in order to prevent aliasing?
> > > If so, how to do I determine the correct lowpass filter to use?
>
> > > After mycomplex decimation, I need to do a band shift. �I have not
> > > found any information on this. �This group has information about
> > > frequency band shifting via FFTs, but I am already in the frequency
> > > domain so i dont think this would help me.
>
> > > Thanks for your help
> > > --Kamil
>
> > No, you don't keep every fourth bin. You are confusing time domain
> > with frequency domain. This topic has been discussed in the past in
> > the group. A simple search will provide answers to both of your
> > questions.
>
> > John
>
> Thanks John,
>
> I have searched this group, yet I'm still having trouble
> comprehending... maybe I'm just asking the wrong question.
>
> ok, from What I understand, Complex Decimation would mean to take a
> moving average of N samples at a time and output that to my new
> signal. �The problem is working in the frequency domain confuses me.
> I don't understand how I could accomplish this in the frequency
> domain. �And I'm sorry, but I have not found any information on
> complex decimation in the frequency domain on this group.
Decimation (a.k.a. downsampling) is a fundamentally time-domain
operation, as is sampling itself. Frequency sampling exists; it's
basically a filter-design technique.
Jerry
Reply by John●September 26, 20082008-09-26
On Sep 26, 9:33�am, Kamil <KamilCz...@gmail.com> wrote:
> On Sep 25, 8:11�pm, John <sampson...@gmail.com> wrote:
>
>
>
> > On Sep 25, 4:02�pm, Kamil <KamilCz...@gmail.com> wrote:
>
> > > Hi there,
>
> > > I am working in the frequency domain and this must be done in the
> > > frequency domain. �I have a signal that I would like to decimate by a
> > > factor of 4. �Do I simply keep every 4th bin and keep it at that?
> > > Would I have to apply a lowpass filter in order to prevent aliasing?
> > > If so, how to do I determine the correct lowpass filter to use?
>
> > > After mycomplex decimation, I need to do a band shift. �I have not
> > > found any information on this. �This group has information about
> > > frequency band shifting via FFTs, but I am already in the frequency
> > > domain so i dont think this would help me.
>
> > > Thanks for your help
> > > --Kamil
>
> > No, you don't keep every fourth bin. You are confusing time domain
> > with frequency domain. This topic has been discussed in the past in
> > the group. A simple search will provide answers to both of your
> > questions.
>
> > John
>
> Thanks John,
>
> I have searched this group, yet I'm still having trouble
> comprehending... maybe I'm just asking the wrong question.
>
> ok, from What I understand, Complex Decimation would mean to take a
> moving average of N samples at a time and output that to my new
> signal. �
True, but in general it's a weighted average (FIR LPF).
> The problem is working in the frequency domain confuses me.
> I don't understand how I could accomplish this in the frequency
> domain. �And I'm sorry, but I have not found any information on
> complex decimation in the frequency domain on this group.
Multiply the FFT bins by the FIR LPF's frequency response. The dual of
decimation is aliasing. So you need to alias. This means you "stack
and add" blocks of Nfft/D bins together, where D is the decimation
factor. Take a Nfft/D size inverse FFT to get decimated time domain
data.
John
Reply by Kamil●September 26, 20082008-09-26
On Sep 25, 8:11�pm, John <sampson...@gmail.com> wrote:
> On Sep 25, 4:02�pm, Kamil <KamilCz...@gmail.com> wrote:
>
> > Hi there,
>
> > I am working in the frequency domain and this must be done in the
> > frequency domain. �I have a signal that I would like to decimate by a
> > factor of 4. �Do I simply keep every 4th bin and keep it at that?
> > Would I have to apply a lowpass filter in order to prevent aliasing?
> > If so, how to do I determine the correct lowpass filter to use?
>
> > After mycomplex decimation, I need to do a band shift. �I have not
> > found any information on this. �This group has information about
> > frequency band shifting via FFTs, but I am already in the frequency
> > domain so i dont think this would help me.
>
> > Thanks for your help
> > --Kamil
>
> No, you don't keep every fourth bin. You are confusing time domain
> with frequency domain. This topic has been discussed in the past in
> the group. A simple search will provide answers to both of your
> questions.
>
> John
Thanks John,
I have searched this group, yet I'm still having trouble
comprehending... maybe I'm just asking the wrong question.
ok, from What I understand, Complex Decimation would mean to take a
moving average of N samples at a time and output that to my new
signal. The problem is working in the frequency domain confuses me.
I don't understand how I could accomplish this in the frequency
domain. And I'm sorry, but I have not found any information on
complex decimation in the frequency domain on this group.
Help!
Kamil
Reply by John●September 25, 20082008-09-25
On Sep 25, 4:02�pm, Kamil <KamilCz...@gmail.com> wrote:
> Hi there,
>
> I am working in the frequency domain and this must be done in the
> frequency domain. �I have a signal that I would like to decimate by a
> factor of 4. �Do I simply keep every 4th bin and keep it at that?
> Would I have to apply a lowpass filter in order to prevent aliasing?
> If so, how to do I determine the correct lowpass filter to use?
>
> After my complex decimation, I need to do a band shift. �I have not
> found any information on this. �This group has information about
> frequency band shifting via FFTs, but I am already in the frequency
> domain so i dont think this would help me.
>
> Thanks for your help
> --Kamil
No, you don't keep every fourth bin. You are confusing time domain
with frequency domain. This topic has been discussed in the past in
the group. A simple search will provide answers to both of your
questions.
John
Reply by Kamil●September 25, 20082008-09-25
Hi there,
I am working in the frequency domain and this must be done in the
frequency domain. I have a signal that I would like to decimate by a
factor of 4. Do I simply keep every 4th bin and keep it at that?
Would I have to apply a lowpass filter in order to prevent aliasing?
If so, how to do I determine the correct lowpass filter to use?
After my complex decimation, I need to do a band shift. I have not
found any information on this. This group has information about
frequency band shifting via FFTs, but I am already in the frequency
domain so i dont think this would help me.
Thanks for your help
--Kamil