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.