FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > DSP

DSP comp.dsp newsgroup, mailing list

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 11-03-2005, 06:49 AM
lord trousers
Guest
 
Posts: n/a
Default FFT of a known periodic signal of arbitrary length with a radix-2 algorithm

I've browsed a bit, so hopefully I've got all my information in order.
I haven't been able to find an answer for this specific problem.

It's for image processing. I'm simplifying 2D regions by applying
low-pass filters to their contours. Specifically, I take an 8-connected
clockwise contour of (arbitrary) n points, and make two new functions,
x(i) and y(i), out of the points' coordinates. Then I do a DFT on each,
apply a Gaussian or low-pass cutoff filter, inverse DFT, and replot. It
works like a charm if I use a naive O(n^2) DFT implementation - but of
course, it's very slow.

The problem is that I'm stuck with a radix-2 FFT, for reasons best kept
to myself. Here are the features of my problem:

1. The functions are KNOWN to be periodic.
2. I need an exact spectrum, or I can't reconstruct the exact contour.
3. I can't downsample or upsample, or I can't reconstruct the exact
contour.

I've tried zero padding, padding with the average value, and padding
with a truncated copy of the function, and none of them worked.
(Obviously, windowing isn't going to help, because I need to be able to
reconstruct the exact contour. I'm picky that way.)

Is there a way I can use a radix-2 FFT on a known periodic signal of
arbitrary length?

Reply With Quote
  #2 (permalink)  
Old 11-03-2005, 07:46 AM
James Van Buskirk
Guest
 
Posts: n/a
Default Re: FFT of a known periodic signal of arbitrary length with a radix-2 algorithm

"lord trousers" <[email protected]> wrote in message
news:[email protected] oups.com...

> Is there a way I can use a radix-2 FFT on a known periodic signal of
> arbitrary length?


From the nature of your post I think the most trouble-free
approach for you would be to use the chirp-Z algorithm, q.v.

--
write(*,*) transfer((/17.392111325966148d0,6.5794487871554595D-85, &
6.0134700243160014d-154/),(/'x'/)); end


Reply With Quote
  #3 (permalink)  
Old 11-03-2005, 02:08 PM
Gordon Sande
Guest
 
Posts: n/a
Default Re: FFT of a known periodic signal of arbitrary length with a radix-2 algorithm

On 2005-11-03 01:49:18 -0400, "lord trousers" <[email protected]> said:

> I've browsed a bit, so hopefully I've got all my information in order.
> I haven't been able to find an answer for this specific problem.
>
> It's for image processing. I'm simplifying 2D regions by applying
> low-pass filters to their contours. Specifically, I take an 8-connected
> clockwise contour of (arbitrary) n points, and make two new functions,
> x(i) and y(i), out of the points' coordinates. Then I do a DFT on each,
> apply a Gaussian or low-pass cutoff filter, inverse DFT, and replot. It
> works like a charm if I use a naive O(n^2) DFT implementation - but of
> course, it's very slow.
>
> The problem is that I'm stuck with a radix-2 FFT, for reasons best kept
> to myself. Here are the features of my problem:
>
> 1. The functions are KNOWN to be periodic.
> 2. I need an exact spectrum, or I can't reconstruct the exact contour.
> 3. I can't downsample or upsample, or I can't reconstruct the exact
> contour.
>
> I've tried zero padding, padding with the average value, and padding
> with a truncated copy of the function, and none of them worked.
> (Obviously, windowing isn't going to help, because I need to be able to
> reconstruct the exact contour. I'm picky that way.)
>
> Is there a way I can use a radix-2 FFT on a known periodic signal of
> arbitrary length?


The chirp-z transform is a representation of a Fourier transform as
a convolution. Then just use your 2^k FFT to do the convolution. This
set of tricks is usually only brought out for folks who want to do FTs
of large primes but still want N log ( N ) performance. The coefficient
becomes more noticable. This representation of an FT as a convolution is
very flexible but does take more space.

There is another highly number theoretic representation of an FT as a
convolution but you only get its tighter use of space if you can match
its number theory requirements.

Now that you know what to look for try the usual places.


Reply With Quote
  #4 (permalink)  
Old 11-04-2005, 11:54 PM
lord trousers
Guest
 
Posts: n/a
Default Re: FFT of a known periodic signal of arbitrary length with a radix-2 algorithm

Gordon Sande wrote:
> On 2005-11-03 01:49:18 -0400, "lord trousers" <[email protected]> said:
>
> > I've browsed a bit, so hopefully I've got all my information in order.
> > I haven't been able to find an answer for this specific problem.
> >
> > It's for image processing. I'm simplifying 2D regions by applying
> > low-pass filters to their contours. Specifically, I take an 8-connected
> > clockwise contour of (arbitrary) n points, and make two new functions,
> > x(i) and y(i), out of the points' coordinates. Then I do a DFT on each,
> > apply a Gaussian or low-pass cutoff filter, inverse DFT, and replot. It
> > works like a charm if I use a naive O(n^2) DFT implementation - but of
> > course, it's very slow.
> >
> > The problem is that I'm stuck with a radix-2 FFT, for reasons best kept
> > to myself. Here are the features of my problem:
> >
> > 1. The functions are KNOWN to be periodic.
> > 2. I need an exact spectrum, or I can't reconstruct the exact contour.
> > 3. I can't downsample or upsample, or I can't reconstruct the exact
> > contour.
> >
> > I've tried zero padding, padding with the average value, and padding
> > with a truncated copy of the function, and none of them worked.
> > (Obviously, windowing isn't going to help, because I need to be able to
> > reconstruct the exact contour. I'm picky that way.)
> >
> > Is there a way I can use a radix-2 FFT on a known periodic signal of
> > arbitrary length?

>
> The chirp-z transform is a representation of a Fourier transform as
> a convolution. Then just use your 2^k FFT to do the convolution. This
> set of tricks is usually only brought out for folks who want to do FTs
> of large primes but still want N log ( N ) performance. The coefficient
> becomes more noticable. This representation of an FT as a convolution is
> very flexible but does take more space.
>
> There is another highly number theoretic representation of an FT as a
> convolution but you only get its tighter use of space if you can match
> its number theory requirements.
>
> Now that you know what to look for try the usual places.


Thanks! I'll go look for that.

Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I optimize filter coefficient bit length and signal bit length? From Sweden FPGA 1 05-20-2008 09:55 PM
FFT Radix 2 Signal-Flow Graph for 32 pulses Niklas DSP 0 03-16-2005 09:53 AM
How to handle varied length of output signal systolic VHDL 3 10-21-2004 11:03 PM
help need in the Radix 4 algorithm of 64 point. senthil VHDL 2 02-21-2004 11:36 AM
needed help in radix 4 algorithm senthil DSP 1 02-14-2004 05:05 PM


All times are GMT +1. The time now is 03:56 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved