cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
nic.dc
Visitor
Visitor
6,623 Views
Registered: ‎11-17-2015

How to know format (# of bits for fraction and integer part) of the input and output for an unscaled, pipelined/streaming io in FFT v7.1

Jump to solution

Hi, I'm starting to use the FFT v.7 but then I would want to know the format of the bits for the input and output for unscaled method with 8 bit input and 12 bit output. It says nothing about the format in the data sheet. This format being the no. of bits for the integer part and fraction part of the input and output.

 

Waiting for help

Thanks

0 Kudos
1 Solution

Accepted Solutions
muzaffer
Teacher
Teacher
11,029 Views
Registered: ‎03-31-2012
Effectively at the input of system you can assume the format anything, even 1.x (ie 1 sign and the rest fractional). Once you start filtering, you will need to decide how the whole part grows and/or how many bits you need to keep from the fractional part (adding multiple numbers grows the dynamic range and multiplying them increases the fractional part too) so you need to adjust the format as you go.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.

View solution in original post

10 Replies
nic.dc
Visitor
Visitor
6,616 Views
Registered: ‎11-17-2015

By the way, I also used Truncation rounding and used Natural order

0 Kudos
muzaffer
Teacher
Teacher
6,608 Views
Registered: ‎03-31-2012
ds260 page 2 says this: "For fixed-point inputs, the input data is a vector of N complex values represented as dual bx-bit two’s-complement numbers, that is, bx bits for each of the real and imaginary components of the data sample, where bx is in the range
8 to 34 bits inclusive."

which is all you need. Any fractional number has an "imaginary" binary point which is used to decide which bit has the weight 2^0. Other than that, the bit order is decided by two's complement behavior
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
nic.dc
Visitor
Visitor
6,599 Views
Registered: ‎11-17-2015
Hi muzaffer! Thanks for the insight! but, how would I know where the binary point is placed for the input and output?

Thanks!
0 Kudos
bwiec
Xilinx Employee
Xilinx Employee
6,576 Views
Registered: ‎08-02-2011

Hello,

 

The doc also says:

Note that the core does not have a specific location
for the binary point. The output maintains the same binary point location as the input.
www.xilinx.com
0 Kudos
nic.dc
Visitor
Visitor
6,557 Views
Registered: ‎11-17-2015

Thanks for that bwiec! How would I know then where the binary point from the input is?

 

Waiting for a reply

Thanks!

0 Kudos
muzaffer
Teacher
Teacher
6,555 Views
Registered: ‎03-31-2012
Input format is something you decide/control and depends on the filtering/processing you do before hand. You can always assume all numbers are in 1.x format with a single bit for sign and (x=n-1) bits for fraction.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
nic.dc
Visitor
Visitor
6,537 Views
Registered: ‎11-17-2015
Oh, so I can also assume that the format is 1x.y where: There's a single bit for sign, x no. of bits for the integer, and y no. of bits for the fraction?

Waiting for a reply
Thanks!
0 Kudos
muzaffer
Teacher
Teacher
6,531 Views
Registered: ‎03-31-2012
Yes. That's reasonable.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
nic.dc
Visitor
Visitor
6,528 Views
Registered: ‎11-17-2015
So, initially, I can always assume my desired format (such as the previous format 1x.y) even without filtering/processing?

And, is 1.x assumed to be the default format?

Waiting for a reply
Thanks!
0 Kudos
muzaffer
Teacher
Teacher
11,030 Views
Registered: ‎03-31-2012
Effectively at the input of system you can assume the format anything, even 1.x (ie 1 sign and the rest fractional). Once you start filtering, you will need to decide how the whole part grows and/or how many bits you need to keep from the fractional part (adding multiple numbers grows the dynamic range and multiplying them increases the fractional part too) so you need to adjust the format as you go.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.

View solution in original post