560 likes | 774 Views
CHAPTER 8 DSP Algorithm Implementation. Wang Weilian wlwang@ynu.edu.cn School of Information Science and Technology Yunnan University. OUTLINE. Concepts Relating to DSP Algorithm Matrix Representation Precedence Graph Structure Verification
E N D
CHAPTER 8 DSP Algorithm Implementation Wang Weilian wlwang@ynu.edu.cn School of Information Science and Technology Yunnan University
OUTLINE • Concepts Relating to DSP Algorithm • Matrix Representation • Precedence Graph • Structure Verification • Structure Simulation and Verification Using MATLAB • Computation of DFT • Goertzel’s Algorithm • FFT • Inverse DFT computation • Summary
MATRIX REPRESENTATION OF THE DIGITAL FILTER STRUCTURE • Consider the structure figure: • The structure can be described by a set of equations:
MATRIX REPRESENTATION OF THE DIGITAL FILTER STRUCTURE • In the time-domain, the equivalent set of equations is as follows: • The above set of equations are non-computable in the present order.
MATRIX REPRESENTATION OF THE DIGITAL FILTER STRUCTURE • Reorder the above equations as follows: • The above ordered set of equations can be implemented in the sequential order and is computable.
MATRIX REPRESENTATION OF THE DIGITAL FILTER STRUCTURE • A simple way to examine the computability of structure equations is by writing the equations in a matrix form. • Define four matrices as follows:
MATRIX REPRESENTATION OF THE DIGITAL FILTER STRUCTURE • The first ordered set of equations can be described in the compact matrix form: • The matrix equation is not computable because all elements of the matrix F on the diagonal and above diagonal are not all zeros.
MATRIX REPRESENTATION OF THE DIGITAL FILTER STRUCTURE • Computability condition: all elements of the F matrix on the diagonal and above diagonal must be zeros. • The F matrix for the second ordered set of equations is • It can be seen that the above F matrix satisfies the computability condition.
PRECEDENCE GRAPH • Precedence graph can be used to test the computability of a digital filter structure. It is developed from the signal flow-graph of the digital filter structure. • The signal flow-graph description of is shown below
PRECEDENCE GRAPH • The reduced signal flow-graph is • The precedence graph of the above figure is
STRUCTURE VERIFICATION • A digital filter structure is verified to ensure that no computational and / or other errors taken place and that the structure is indeed characterized by H (z). • Consider a causal 3rd order IIR transfer function • Its unit sample response is {h[n]}, then
STRUCTURE VERIFICATION • From the above equation, we arrive at in the time-domain, the equivalent convolution sum is for n=0,1,2,…,6, we have
STRUCTURE VERIFICATION • The above equations can be written in the matrix form in the partitioned form, it can be written as
STRUCTURE VERIFICATION where • Solving the second equation, we get • Substituting above in the first equation, we arrive at • In the case of N-th order IIR filter, the coefficients of its transfer function can be determined from the first 2N+1 impulse response samples.
StructureSimulation & Verification Using MATLAB • As shown earlier, the set of equations describing the filter structure must be ordered properly to ensure computability. • The procedure is to express the output of each adder and filter output variable in terms of all incoming variables.
StructureSimulation & Verification Using MATLAB • From the computed impulse response samples, the structure can be verified by determining the transfer function coefficients using the M-file strucver. • The M-file filter implements IIR filter in the transposed direct form II structure shown below for a 3rd order filter. • As indicated in the figure, d(1) has been assumed to be equal to 1.
GOERTZEL’S ALGORITHM • Goertzel’s algorithm is a recursive DFT computation scheme making use of the identity • We can write • Define
GOERTZEL’S ALGORITHM then we have • is the direct convolution of the causal sequence with a causal sequence
GOERTZEL’S ALGORITHM • A second order realization • According to the above figure, DFT computation equations are
FAST FOURIER TRANSFORM ALGORITHMS • The basic idea behind the fast Fourier transform ( FFT) • Decompose the N-point DFT computation into computations of smaller-size DFTs • Take advantage of the periodicity and symmetry of the complex number .
DECIMATION-IN-TIME FFT ALGORITHM • Consider a sequence of length . Using 2-band polyphase decomposition, we can express its z-transform as
DECIMATION-IN-TIME FFT ALGORITHM • Examination of the above flow-graph reveals that each stage of the DFT computation process employs the same basic computational module • Basic computational module is called butterfly computation.