Effect of finite register
length in FIR filter design
Dr. Parul Tyagi(Asso. Prof.) & Dr. Neha Singh (Asst. Prof.)
Electronics and Communication Engg.
JECRC. Jaipur (Raj), India
Email:-
[email protected] ,
[email protected] 1
Digital Signal Processing algorithms are realized either with
special purpose hardware or general purpose digital computer.
• In both cases the numbers and coefficients are stored in
finite length registers.
• The coefficients and numbers are quantized by truncation or
rounding off when they are stored.
• The following errors arise due to quantization of numbers
. – Input quantization error – Product quantization error –
Coefficient quantization error
Review of number systems
• It is a system in which quantities are expressed in numeric
symbols. • Numerous number systems are available
. • Knowledge of number system is the most essential
requirement for understanding and designing the digital
circuits
. • Generally number has 2 parts
• Integer • Fractional, set apart by radix point 5 Most
Common Number
Most Common Number systems
• Decimal system - (0 to 9) -------()10
• Binary system – 0,1 ------()2
• Octal system – (0 to 7) ---------()8
• Hexadecimal system - 0 to 15 –
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F • ----------()16
Decimal system
• Most common number system used in day to day life.
• It is also known as base 10 system. • Decimal to -------?------- (
Binary or Octal or Hexadecimal)
• Binary to -------?------- (Decimal or Octal or Hexadecimal)
• Octal to -------?------- (Decimal or Binary or Hexadecimal)
• Hexadecimal to -------?------- (Decimal or Binary or Octal)
(Decimal) to (??)
(Binary) to (??)
(Octal) to (??)
(Hexadecimal) to (??)
Analog and Digital Signal
• Analog system – The physical quantities or signals may
vary continuously over a specified range.
• Digital system – The physical quantities or signals can
assume only discrete values. • Greater accuracy
Number System
• The decimal number system is commonly used.
• Any number is possible to express in any base or radix “r”.
• In general, any number with radix r, having m digits to the left
and n digits to the right of the decimal point, can be expressed
as
Where am is the digit in mth position.
• The coefficient am is termed as Most Significant Digit(MSD)
• bn is termed as Least Significant Digit(LSD)
Base-10 (decimal) arithmetic
• Uses the ten numbers from 0 to 9
• Each column represents a power of 10
Base-10 (decimal) arithmetic
• Uses the ten numbers from 0 to 9
• Each column represents a power of 10
Decimal Number System
Base (also called radix) = 10
– 10 digits { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }
• Digit Position – Integer & fraction
• Digit Weight – Weight = (Base) Position
• Magnitude – Sum of “Digit x Weight”
• Formal Notation
Addition
Standard binary representation
Uses the two numbers from 0 to 1
• Every column represents a power of 2
Fixed-point representation
• Uses the two numbers from 0 to 1
• Every column represents a power of 2
Binary Number System
Base = 2 – 2 digits { 0, 1 }, called binary digits or “bits”
Weights – Weight = (Base) Position
• Magnitude – Sum of “Bit x Weight”
• Formal Notation
• Groups of bits 4 bits = Nibble 8 bits = Byte
Binary Addition
Range of values in a byte
Decimal (Integer) to Binary Conversion
Divide the number by the „Base‟ (=2)
• Take the remainder (either 0 or 1) as a coefficient
• Take the quotient and repeat the division
Decimal (Fraction) to Binary Conversion
• Multiply the number by the „Base‟ (=2)
• Take the integer (either 0 or 1) as a coefficient
• Take the resultant fraction and repeat the division
Types of Number Representation
There are 3 types
• These are used to represent the numbers in digital computer or
any other digital hardware.
• Fixed Point Representation
• Floating Point Representation
• Block Floating Point Representation
Fixed Point Representation
• In this arithmetic the position of the binary point is fixed.
• The bit to the right represent --Fractional part
• The bit to the left represent -- Integer Part (eg) The binary
number 01.1100 has the value 1.75 in decimal
• The negative numbers are represented gives three different forms
for fixed point arithmetic
• Sign-Magnitude form
• One‟s complement form
• Two‟s complement form
Sign-Magnitude form
The most significant digit is set to 1 to represent the negative sign.
(eg)
• The decimal number -1.75 is represented as 11.110000
• 1.75 is represented as 01.110000
One’s complement form
• Herethe positive number is represented as in the sign-
magnitude notation
. • The negative number is obtained by complementing all the
bits of the positive number. (0.875)10 = (0.111000)2 (-0.875)10
= (1.000111)2
Two’s complement form
Here the positive numbers are represented as in the sign-
magnitude and one‟s complement.
• The negative number is obtained by complementing all the bits
of the positive number and adding one to the least significant
bit.
Complements
1’s Complement (Diminished Radix Complement)
– All ‘0’s become ‘1’s
– All ‘1’s become ‘0’s
Example (10110000)2
(01001111)2 If you add a number and its 1’s complement …
Complements
• 2‟s Complement (Radix Complement) – Take 1‟s
complement then add 1
– Toggle all bits to the left of the first „1‟ from the right
Complements
Subtraction of unsigned numbers can also be done by means of the
(r - 1)'s complement.
• using 1's complement
FFT Derivation - Butterfly
FFT algorithm provides speed increase factors, when
compared with direct computation of the DFT, of
approximately 64 and 205 for 256 point and 1024 point
transforms respectively.
The number of multiplications and additions required to
compute N-point DFT using radix-2 FFT are Nlog2N and
N/2 log2N respectively.
Decimation in time
DIT algorithm is used to calculate the DFT of a N-
point sequence.
The idea is to break the N-point sequence into
two sequences, the DFTs of which can be
obtained to give the DFT of the original N-point
sequence.
Initially the N-point sequence is divided into
N/2-point sequences xe(n) and x0(n) , which have
even and odd numbers of x(n) respectively.
Decimation-In-Time
Numerical on 8 point FFT(DIT)
Given x(n)={1,2,3,4,4,3,2,1}, find X(k) using DIT
algorithm
Decimation-In-Frequency
It is a popular form of FFT algorithm.
In this the output sequence x(k) is divided into smaller
and smaller subsequences, that is why the name
decimation in frequency,
Initially the input sequence x(n) is divided into two
sequences x1(n) and x2(n) consisting of the first n/2
samples of x(n) and the last n/2 samples of x(n)
respectively
Radix-2 DIF- FFT Algorithm
Radix-2 DIF- FFT Algorithm
The comparison of DIT and DIF
The order of samples
DIT-FFT: the input is bit- reversed order and the output
is natural order
DIF-FFT: the input is natural order and the output is bit
reversed order
The butterfly computation
DIT-FFT: multiplication is done before additions
DIF-FFT: multiplication is done after additions
Radix-2 DIF- FFT Algorithm
Both DIT-FFT and DIF-FFT have the identical
computation complexity. i.e. for , there are total L
stages and each has N/2 butterfly computation.
Each butterfly computation has 1 multiplication and
2 additions.
Both DIT-FFT and DIF-FFT have the
characteristic of in-place computation.
A DIT-FFT flow graph can be transposed to a
DIFFFT flow graph and vice versa.
Thank you!