Hi Andrew: Thank you so much Andrew. It is very clear for me.
Cheers Wan ________________________________ From: Andrew Martens [mailto:[email protected]] Sent: Thursday, 25 June 2009 4:06 PM To: Cheng, Wan (ATNF, Marsfield) Cc: [email protected] Subject: Re: [casper] about the shift input of FFT Hi Wan 'convert with overflow indication' means that the block will convert your data as requested, but will also detect if there was an overflow and report this on the 'of' output. This overflow indication is useful in certain blocks (e.g accumulators) where there is no sure way of knowing if there was an overflow just by looking at the resultant data products. High-powered time-limited RFI might seriously reduce data quality in an accumulator and it would not be possible to see that this had happened without this overflow indicator. The FFT now includes an overflow indicator that can help with calibration (maybe attach it to a counter that is reset by the sync pulse and read occasionally). Hope this explanation helps. Good luck with your efforts Regards Andrew 2009/6/25 <[email protected]> Hi Andrew: Thanks for your help. I am not really sure what's the 'convert with overflow indication'. Anyway, I could read the FFT output correctly now. Thanks again. Wan ________________________________ From: Andrew Martens [mailto:[email protected]<mailto:[email protected]>] Sent: Monday, 22 June 2009 8:48 PM To: Cheng, Wan (ATNF, Marsfield) Cc: [email protected]<mailto:[email protected]> Subject: Re: [casper] about the shift input of FFT Hi Wan et al The 'convert with overflow indication', convert_of is now fixed and the change propagated to the FFT subsection in the library so the FFT blocks should now accurately indicate if an overflow occured. Please do an update to get these changes. Note that the overflow bit does not go high with the data that caused the overflow but a lot earlier and is to used as an indicator that an overflow occured 'somewhere' . I will implement the delays properly when I have more time again so that it lines up correctly. Regards Andrew 2009/6/22 Andrew Martens <[email protected]<mailto:[email protected]>> Hi Wan The overflow block that generates the overflow output does not currently work properly, fixing it keeps slipping my mind. I will fix it as soon as I can. The FFT needs the same number of bits as there are stages i.e 5 stage = 5 bits. If you give it more it will just slice off the ones it needs and ignore the rest so 32 bits should be more than enough. Regards Andrew 2009/6/22 <[email protected]> Hi Andrew: Now I can find the OF output from FFT module is high. Does this mean the FFT is overflow? But I already set all shift bit to '1'. I an not very sure how many shift bits the FFT module has. I just give it 32 bits width '1'. Thanks Wan ________________________________ From: Andrew Martens [mailto:[email protected]<mailto:[email protected]>] Sent: Monday, 22 June 2009 4:23 PM To: Cheng, Wan (ATNF, Marsfield) Cc: [email protected]<mailto:[email protected]> Subject: Re: [casper] about the shift input of FFT Hi Wan The FFT applies gain to any repeating input signal. You can view this happening with the following MATLAB commands; x = 0:1:32; y = sin(4*x*2*pi/32); plot(abs(fft(y,32))); You will see that the output has spikes of height 16 instead of 1 which you would expect from a sinusoid of amplitude 1. The FFT scales the signal by 2^(n-1), where n is the number of stages in the FFT (a 32 bin fft has log2(32) = 5 stages etc). This scaling has the potential to introduce overflow errors. The CASPER FFT allows you to remove the risk of overflows by shifting the data down by one bit at each stage in the FFT. The shift input allows you to set how much shifting is done. The default is normally to leave this all '1's but it depends on what your input data looks like. I hope this answers your question. If you have MLIB_ROOT properly defined in your environment, you should have access to some documentation on the FFT (and most blocks). Press the 'Help' button in the mask dialog. Regards Andrew 2009/6/22 <[email protected]> Hi: Could anyone give me some idea on the function of shift input pin of FFT? I find some example design set it to all 1s. This means every stage are set to shift 1. What does this mean? Thanks Wan

