Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Regarding the conversion from FIX31_15 to FIX16_14 for a signed decimal

Maitry07

Full Member level 3
Full Member level 3
Joined
Jun 29, 2022
Messages
159
Helped
0
Reputation
0
Reaction score
0
Trophy points
16
Visit site
Activity points
1,424
Hello support team,

I am using Vivado FFT IP core with unscaled version . so my FFT IP Core output is FIX31_15. ( signed decimal ) . Now I need to convert it into FIX16_14 . what is the correct way in DSP to convert FIX31_15 to FIX16_14?
 
There's no "correct" way without considering spectral characteristic. You need to know how many integer result bits are actually utilized. If you don't know beforehand, you better use FFT with automatic scaling, otherwise you risk to loose significant data or get integer overflow when reducing width.
 
Actually , I have tried with automatic scaling. for this, I am getting FIX16_15 format with scaling format. we have prepared a test bench having complex I, Q data csv loaded to FFT input with FIX16_15 format with a sample rate of 61.44 MSPS. the output format is also FIX16_15 for real and image , which I am converting to FIX16_14 and applying it to CORDIC IP for sqrt(RE^2+IM^2) to generate an amplitude. Then after I am checking index vs maximum amplitude.
My window is 1024. my sample rate 61.44 MSPS and My I,Q data is having 3 MHz frequency for which I am getting index of 544 for highest amplitude. which is not correct.

so that's why I have planned to go with unscaled full precision.

what is the correct way to estimate frequency in terms of complex FFT domain ? My I,Q data is validated with one different GUI for FFT and it is proper. same I need to implement in VHDL.
 
bin 544 is > 511 so is negative frequency.
hence 1023-544 = 479 bins from Fs
so your frequency is -479*61.44/1024 = -28.74MHz

based on your figures and assuming you are not doing fftshift.

if you have fftshift then it is 544 - 512 = 32 bins from dc
so frequency = 32*61.44/1024 = 1.92

no guarantee for my figures...
 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top