Forums

help with complex decimation and band shifting

Started by Kamil September 25, 2008
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
On Sep 25, 4:02&#2013266080;pm, Kamil <KamilCz...@gmail.com> wrote:
> Hi there, > > I am working in the frequency domain and this must be done in the > frequency domain. &#2013266080;I have a signal that I would like to decimate by a > factor of 4. &#2013266080;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. &#2013266080;I have not > found any information on this. &#2013266080;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
On Sep 25, 8:11&#2013266080;pm, John <sampson...@gmail.com> wrote:
> On Sep 25, 4:02&#2013266080;pm, Kamil <KamilCz...@gmail.com> wrote: > > > Hi there, > > > I am working in the frequency domain and this must be done in the > > frequency domain. &#2013266080;I have a signal that I would like to decimate by a > > factor of 4. &#2013266080;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. &#2013266080;I have not > > found any information on this. &#2013266080;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
On Sep 26, 9:33&#2013266080;am, Kamil <KamilCz...@gmail.com> wrote:
> On Sep 25, 8:11&#2013266080;pm, John <sampson...@gmail.com> wrote: > > > > > On Sep 25, 4:02&#2013266080;pm, Kamil <KamilCz...@gmail.com> wrote: > > > > Hi there, > > > > I am working in the frequency domain and this must be done in the > > > frequency domain. &#2013266080;I have a signal that I would like to decimate by a > > > factor of 4. &#2013266080;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. &#2013266080;I have not > > > found any information on this. &#2013266080;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. &#2013266080;
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. &#2013266080;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
On Sep 26, 9:33&#2013266080;am, Kamil <KamilCz...@gmail.com> wrote:
> On Sep 25, 8:11&#2013266080;pm, John <sampson...@gmail.com> wrote: > > > > > On Sep 25, 4:02&#2013266080;pm, Kamil <KamilCz...@gmail.com> wrote: > > > > Hi there, > > > > I am working in the frequency domain and this must be done in the > > > frequency domain. &#2013266080;I have a signal that I would like to decimate by a > > > factor of 4. &#2013266080;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. &#2013266080;I have not > > > found any information on this. &#2013266080;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. &#2013266080;The problem is working in the frequency domain confuses me. > I don't understand how I could accomplish this in the frequency > domain. &#2013266080;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
On Sep 25, 4:02&#2013266080;pm, Kamil <KamilCz...@gmail.com> wrote:
> Hi there, > > I am working in the frequency domain and this must be done in the > frequency domain. &#2013266080;I have a signal that I would like to decimate by a > factor of 4. &#2013266080;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. &#2013266080;I have not > found any information on this. &#2013266080;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