I wanna ask something about the FFT IP CORE on the vivado , i'm really confused ! Here i'm trying to implement a real time FFT core on my Artix 7 FPGA board , but the results are looks very strange . My design contains first an XADC with a 427 KSPS sampling rate for a cos wave signal at the input , after the XADC i'm storing the data in a FIFO memory with 1024 depth , after that i'm inserting the data to an FFT core but the results in the output don't look as a spectrum and there's alot of noise which i couldn't handle it , i attached the results in picture below , the parameters of my all design are :

- Cos wave with a 200 KHZ as an input for the XADC .

- XADC continuous sampling with single channel Vp - Vn , and with a sampling rate 427 KSPS .

- FIFO memory block with a 16 bit width of the input and the output data , and with a 1024 depth .

- FFT real time mode , 1024 points , Fixed point , Scaled , and truncation rounding .

- Target clock freq 100 MHZ and target data throughput 100 MSPS .

- The width for the FFT is 16 bit for each real and imaginary parts at the input and output .

- Phase factor with 16 bits width , and the architecture is Pipelined , streaming I/O .

The output of this core is as shown below in the pic , notice that i got this results with a 100mv cos amplitude , the 1 v amplitude or above gives a full noised signal such as the 2nd pic . I just exported the data with the ILA debugging core then simulated it on the MATLAB .

I'm wondering what's the error or the mistake in the design and how can i fix all of that to get a clear spectrum , if you can please help me as fast as possible .

## Question

## mohamed shffat

Hello everyone , my regrades .

I wanna ask something about the FFT IP CORE on the vivado , i'm really confused ! Here i'm trying to implement a real time FFT core on my Artix 7 FPGA board , but the results are looks very strange . My design contains first an XADC with a 427 KSPS sampling rate for a cos wave signal at the input , after the XADC i'm storing the data in a FIFO memory with 1024 depth , after that i'm inserting the data to an FFT core but the results in the output don't look as a spectrum and there's alot of noise which i couldn't handle it , i attached the results in picture below , the parameters of my all design are :

- Cos wave with a 200 KHZ as an input for the XADC .

- XADC continuous sampling with single channel Vp - Vn , and with a sampling rate 427 KSPS .

- FIFO memory block with a 16 bit width of the input and the output data , and with a 1024 depth .

- FFT real time mode , 1024 points , Fixed point , Scaled , and truncation rounding .

- Target clock freq 100 MHZ and target data throughput 100 MSPS .

- The width for the FFT is 16 bit for each real and imaginary parts at the input and output .

- Phase factor with 16 bits width , and the architecture is Pipelined , streaming I/O .

The output of this core is as shown below in the pic , notice that i got this results with a 100mv cos amplitude , the 1 v amplitude or above gives a full noised signal such as the 2nd pic . I just exported the data with the ILA debugging core then simulated it on the MATLAB .

I'm wondering what's the error or the mistake in the design and how can i fix all of that to get a clear spectrum , if you can please help me as fast as possible .

Sorry for this long message .

Thanks for evertything .

My greetings

## Link to comment

## Share on other sites

## 8 answers to this question

## Recommended Posts

## Archived

This topic is now archived and is closed to further replies.