cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
pal_64
Newbie
Newbie
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,

  

0 Kudos
4 Replies
rogerrb1
Visitor
Visitor
7,419 Views
Registered: ‎06-23-2010

Hello,

 

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

 

Thanks.

 

0 Kudos
ywu
Xilinx Employee
Xilinx Employee
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
dmentor
Newbie
Newbie
6,561 Views
Registered: ‎07-06-2011

Hi, 
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
Tags (3)
0 Kudos
ywu
Xilinx Employee
Xilinx Employee
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:

Hi, 
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:

Hi, 
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
0 Kudos