Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

- Community Forums
- :
- Forums
- :
- Hardware Development
- :
- AI Engine, DSP IP and Tools
- :
- Re: Zero-Padding and FFT with Simulink

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

pal_64

Newbie

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-24-2009 01:27 AM

8,279 Views

Registered:
06-19-2009

Zero-Padding and FFT with Simulink

Hi,

I'm trying to implement pipelined 2048 points FFT with Simulink using Fast Fourier Transform 6.0 and I wonder how to implement zero-padding.

I'd like to use 1024 signal points followed by 1024 zeros.

Is this possible using this component and the constinuous streaming mode ?

Thanks for your your help,

4 Replies

rogerrb1

Visitor

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-23-2010 06:20 AM

7,419 Views

Registered:
06-23-2010

Hello,

I am also interested in zero-padding the fft input. Does anyone have any suggestions?

Thanks.

ywu

Xilinx Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

06-29-2010 08:17 PM

7,381 Views

Registered:
11-28-2007

I assume the input data rate is half the clock frequency of the FFT. You can use a dual port RAM (DPRAM) with 2048 words. You write the input samples to the port A of the DPRAM. You start reading data out from port B once you've collected 1024 words in the DPRAM. After you read 1024 words, stop reading data and send 0's to FFT input.

@pal_64 wrote:

Hi,

I'm trying to implement pipelined 2048 points FFT with Simulink using Fast Fourier Transform 6.0 and I wonder how to implement zero-padding.

I'd like to use 1024 signal points followed by 1024 zeros.Is this possible using this component and the constinuous streaming mode ?

Thanks for your your help,

Cheers,

Jim

Jim

dmentor

Newbie

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

07-06-2011 12:06 AM

6,561 Views

Registered:
07-06-2011

I really need some help. I'm doing a research on 1024 floating-point radix-2

FFT using SIMULINK. After simulating the 2-point, 4-point and 8-point radix-2

FFTs, i decided to jump all the way to the 64-point. However, the indexing

between stages became confusing so i decided to simulate the 16-point radix-2.

Using thesame method for the 8-point, i seperated them into odd and even

pairs, and the 1st stage had its indices adjacent to each other, the second

seperated by 2, the third seperated by 4 and the fourth seperated by 8. i

realised my results didnt match the ones obtained using the Signal Processing

Blockset (fft command). i then tried so many different combinations by trial

and error, all to no avail. i need help getting an algorithm that would help

me solve this problem for both the 16-point radix-2 and any other N-point

radix-2 FFT. Please any help here will be really appreciated and held in high

regard.

thanks, Jim

ywu

Xilinx Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

07-06-2011 04:25 AM

6,557 Views

Registered:
11-28-2007

First of all, you should start a new thread for an unrelated question to the original post.

The default FFT output order is "Bit Reverse". If you want the output order to match Matlab fft output, you need to set it to "Natural" order. Please check the FFT core datasheet for more details (By the way, bvew all Xilinx documents in Document Navigator)

@dmentor wrote:

I really need some help. I'm doing a research on 1024 floating-point radix-2

FFT using SIMULINK. After simulating the 2-point, 4-point and 8-point radix-2

FFTs, i decided to jump all the way to the 64-point. However, the indexing

between stages became confusing so i decided to simulate the 16-point radix-2.

Using thesame method for the 8-point, i seperated them into odd and even

pairs, and the 1st stage had its indices adjacent to each other, the second

seperated by 2, the third seperated by 4 and the fourth seperated by 8. i

realised my results didnt match the ones obtained using the Signal Processing

Blockset (fft command). i then tried so many different combinations by trial

and error, all to no avail. i need help getting an algorithm that would help

me solve this problem for both the 16-point radix-2 and any other N-point

radix-2 FFT. Please any help here will be really appreciated and held in high

regard.

thanks, Jim

@dmentor wrote:

I really need some help. I'm doing a research on 1024 floating-point radix-2

FFT using SIMULINK. After simulating the 2-point, 4-point and 8-point radix-2

FFTs, i decided to jump all the way to the 64-point. However, the indexing

between stages became confusing so i decided to simulate the 16-point radix-2.

Using thesame method for the 8-point, i seperated them into odd and even

pairs, and the 1st stage had its indices adjacent to each other, the second

seperated by 2, the third seperated by 4 and the fourth seperated by 8. i

realised my results didnt match the ones obtained using the Signal Processing

Blockset (fft command). i then tried so many different combinations by trial

and error, all to no avail. i need help getting an algorithm that would help

me solve this problem for both the 16-point radix-2 and any other N-point

radix-2 FFT. Please any help here will be really appreciated and held in high

regard.

thanks, Jim

Cheers,

Jim

Jim