• 0
Abuzar

IFFT implementation problem Vivado

Question

Hello sir,

I have implemented FFT of sine wave using "FFT IP core". It gives me exact frequency of the input. But when i tried to implement IFFT of that output using "FFT IP core with configuration value 8000H", output is not again sine wave in time domain. Could you please help me to sort this out?

Thanks and regards 

 

2130519325_2019-10-03(1).thumb.png.9928478f2a39841d947fa2688bb14def.png

2019-10-03.thumb.png.91816f04a977d264f1e816c9d70990c0.png

Edited by Abuzar
Alignment difference

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

@Abuzar,

Engineering works by breaking a problem into parts in order to narrow down where the problem is in the design.

If you split your design into parts, and examine the data before and after each part, what's the first part that fails?  And, similarly, how do you know that component is failing?

Finally, let me point out that data format and scaling are critical issues to look at given the outputs you've just shown.

Dan

Share this post


Link to post
Share on other sites
  • 0
On 10/3/2019 at 9:58 PM, D@n said:

@Abuzar,

Engineering works by breaking a problem into parts in order to narrow down where the problem is in the design.

If you split your design into parts, and examine the data before and after each part, what's the first part that fails?  And, similarly, how do you know that component is failing?

Finally, let me point out that data format and scaling are critical issues to look at given the outputs you've just shown.

Dan

Sir i have already split this into parts. The first waveform titled "Sine" is the output of dds_compiler_0, second waveform is the output of FFT block and finally third one is the output of IFFT block. 

Share this post


Link to post
Share on other sites
  • 0

@Abuzar,

So which parts are working?

And, out of curiosity, why are you feeding what looks like a sum of squares into the IFFT?

Seriously, I'm at quite the disadvantage trying to help you here.  1) Each of those blocks in your diagram has configurations to them that are hidden, 2) I don't have access to your design to repeat whatever it is you are trying to do, and 3) I don't know what it is you are trying to do in the first place.  If it's recovering the initial signal, then squaring the result of the FFT probably isn't what you want to do.  There are other reasons for doing that, maybe you are trying to calculate a Cepstrum or an autocorrelation or something else,  so .... I don't know.  I'm just trying to figure things out from here given only a paucity of information.

Were this my own project, I'd be running the design through a simulator where I could examine every trace of every wire at every point in the design.  I'd be looking at what goes into the FFT and calculating my own FFT of that data to see if it matches.  I'd be looking at what goes into the IFFT and calculating my own IFFT of that data and again checking if it matches.  I'd be examining all of the signaling throughout the design--many students have struggled with getting the signaling/data rates/throughput correct.  I'd be adjusting the scale factor to see if I'd overflowed my bit widths.  All of this, however, requires being able to repeat the operation you are attempting to accomplish on a sample by sample basis to know where the design is failing.

Sorry this doesn't help much, but like I said ... you haven't given me much to go with.

Dan

Share this post


Link to post
Share on other sites
  • 0

@D@n sir,

Actually i want to implement IFFT of signal to reconstruct the original signal from Frequency domain to time-domain. For this purpose, I've taken sine wave as reference and implemented FFT to get the frequency of orignal signal. Square and sum is taken for getting amplitude of signal only. Now looping-back the signal from FFT block (Frequency domain) to IFFT (time-domain) to re-construct the original signal. Results show that there is major mistake in my concept that I am not achieving the waveform. So i need help regarding IFFT implementation of a signal.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now