UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Reply

Using xFFT IP to get real valued output by applying Hermitian Symmetry on Input

Highlighted
Visitor
Posts: 6
Registered: ‎09-28-2016

Using xFFT IP to get real valued output by applying Hermitian Symmetry on Input

[ Edited ]

Does anyone know why even if I applied hermitian symmetry configuration on data input of xFFT IP, the output is still in complex numbers?

The xFFT is configured as IFFT with 64 point transformation, with zero DC component in the first data input, 28 real valued data input on the next 28 input samples, 7 zeros as middle padding on the next input samples and then 28 mirrored conjugate data input on the last. As you can see on the attachment picture.


The same set of data input has been tested on MATLAB and I got real valued data on all of the output. 


And I know on the Product Guide of the xFFT IP, it says:

 

"Due to the finite wordlength effects described previously, noise is introduced during the transform, resulting in the output data not being perfectly symmetric. The DIT and DIF FFT algorithms have different noise effects due to the different calculation order."

So I tried to change the data input with complex valued data, but still with the hermitian symmetry configuration. The output is still complex valued.

I have attach the figures of the simulation output in real valued fixed point and in hexadecimal format. The imaginary component of the output data which is placed under the real component at the figures of simulation, is not in insignificant amount I think.

Thanks before.

 

Capture.JPG
Output real valued.JPG
Output hex.JPG
Moderator
Posts: 5,300
Registered: ‎08-01-2008

Re: Using xFFT IP to get real valued output by applying Hermitian Symmetry on Input

Can you upload your project and matlab code . You may plot the both output s
Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
Visitor
Posts: 6
Registered: ‎09-28-2016

Re: Using xFFT IP to get real valued output by applying Hermitian Symmetry on Input

Hi @balkris thx for replying,
I have attached figure capture of the project design. The data first transformed by IFFT and then transformed back using FFT. As for the simulation figure that I attach in the first post, it is showing the output data for the yellow highlighted net on the project design figure that is attached in this post.

I also attached the simulation sources for this project to show the flow of the data input.

As for the MATLAB code:

Nfft = 64;

% Shapiro-Rudin Sequence [1 1 1 -1] with Hermitian Symmetry to generate DMT
ShapRudin64Seq = [[0 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 0 0 0], 
                 [0 0 0 0 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1 -1 1 1 1]];
ShapRudin64Seq = [ShapRudin64Seq(1,:) ShapRudin64Seq(2,:)];
% Shapiro-Rudin symbol for timing synchronization
ShapRudin64TimeSynchSym = ifft(ShapRudin64Seq,Nfft);

plot(ShapRudin64TimeSynchSym);

with the plot figures attached.