Fixed Point Analysis
Speaker: Group B3 B93901023 徐誠羿
B93901135 高翊軒
Adviser: Prof. An-Yeu Wu
Date: 2006-12-13
Outline
• Quantization Issue
• Introduction to Two Different Quantizers
• Simulation Results(SQNR)
• Summary
• RTL Present Work
• Working Item
Quantization
• To prevent from overflowing:
The word length should plus 1 after being added
• The general form of twiddle factor: W cos i sin
After a complex number a bi being multiplyed by W:
(a bi)(cos i sin ) (a cos b sin ) i(a sin b cos )
The maximum is a 2 +b 2 .
Can we neglect overflowing?? To be considered...
The Wordlength After Being
Multiplied by Twiddle Factor
• In what situation will overflow happen?
• Let a+bi be the 5-bit-input of W2(n) multiplier.
After being multiplied:
Max.= a 2 b 2 , when =-1cos -1 ( a
)
a b2
2
a2 b2 22.6
16
Quantizer(Type 1)
EX: Quantize 2.73 by using 3(integer)+2(fractional) bits
Start from MSB:
2.73 > 22 = 4 ?
0;
2.73 > 21 = 2 ?
1 ; 2.73 - 2^1 = 0.73 ;
0.73 > 20 = 1 ?
0;
0.73 > 2-1 = 0.5 ?
1 ; 0.73 – 2-1 = 0.23 ;
0.23 > 2-2 = 0.25 ?
1;
Outcome:
010.10 => 2.5
Quantizer(Type 2)
EX: Quantize 2.73 by using 3(integer)+2(fractional) bits
Start from MSB:
2.73 > 22 = 4 ?
0;
2.73 > 21 = 2 ?
1 ; 2.73 - 21 = 0.73;
0.73 > 20 = 1 ?
0;
Fractional part: 2 bits => 4 levels
Find the nearest level to 0.73
0.75
Outcome:
010.11 => 2.75
Simulation(Type 1)(1/3)
• Input integer part = 3 bits
• Fractional part: 2~15bits
• Twiddle factor: 2~15bits
SQNR(constant intergerpart.)
80
100 70
80 60
SQNR(dB)
60
50
40
40
20
30
0
15
15 20
10
10
5 10
5
twiddle factor 0 0
fraction
Simulation(Type 1)(2/3)
• Twiddle factor = 10 bits
• Input integer part: 0~6
• Fractional part: 2~15
SQNR(constant twi.)
55
50
60
45
50
40
40
SQNR(dB)
35
30
30
20
25
10
20
0
15 15
6
10 10
4
5 5
2
fraction 0 0
integer
Simulation(Type 1)(3/3)
• Fractional part = 8 bits
• Input integer part: 0~6 bits
• Twiddle factor: 2~15 bits
SQNR(constant fractionalpart.)
60
80
50
60
SQNR(dB)
40
40
20 30
0 20
15
6
10
10
4
5
2
twiddle factor 0 0
integer
Simulation(Type 2)(1/2)
• Input integer part = 3 bits
• Fractional part = 1~12 bits
• Twiddle factor = 1~12 bits
SQNR(constant integerpart for type two quantizer.)
70
80
60
60
SQNR(dB)
50
40
40
20
0 30
15
15
10 20
10
5
5
twiddle factor 0 0
fraction
Simulation(Type 2)(2/2)
• Compare type 1 with type 2:
• Constant integer part = 3 bits
• Fractional part = 1~12 bits
• Twiddle factor = 1~12 bits
SQNR(difference between two types of quantizer)
15
16 14
14 13
SQNR(dB)
12 12
10 11
8
10
6
15 9
15
10 8
10
5
5
7
twiddle factor 0 0
fraction
Summary
• Quantization:
Adding: Integer part number of bits plus 1.
Multiplying: Number of bits doesn’t change.
• The more complexity a quantizer has, the less
number of bits needed to meet the spec.
Tradeoff: Area issue.
• Simulation result:
Boundary point (SQNR=50dB):
Integer part: 3 bits
Fractional part: 8bits
Twiddle factor: 10bits
RTL Design
• Combinational part and sequential part.
• module big (…….,clk)
• ….. // declaration
• always @ (counter)
• begin…..
BF2i(…)
BF2ii(…) // for 3 set
…end
always @ (posedge clk)
begin…
counterBF2i , BF2ii module(testbench
tested :OK) and Big module(have not
tested) .
• To conquer:
(a) Decimal place decision after operation.
(b) Optimization.