Digital Signal Processing - scs.etc. ?· VLSI Digital Signal Processing Systems Introduction to Digital…

Download Digital Signal Processing - scs.etc. ?· VLSI Digital Signal Processing Systems Introduction to Digital…

Post on 19-Jul-2018

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>VLSI Digital Signal Processing Systems </p><p>Introduction to Digital Signal Processing Systems</p><p>Lan-Da Van (), Ph. D.Department of Computer ScienceNational Chiao Tung University </p><p>Taiwan, R.O.C.Spring, 2007</p><p>ldvan@cs.nctu.edu.tw</p><p>http://www.cs.nctu.edu.tw/~ldvan/</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-2</p><p>Outlines</p><p>IntroductionDSP AlgorithmsDSP Applications and CMOS ICsRepresentations of DSP AlgorithmsConclusionReferences</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-3</p><p>Why Use Digital Signal Processing?</p><p>Robust to temperature and process variations Controlled better to accuracyNoise/interference tolerancesMathematical representationProgramming capability</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-4</p><p>Common System Configuration</p><p>Multimedia-Communication Applications </p><p>VLSI Signal Processing Library Processor Software</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-5</p><p>VLSI Signal Processing System Design Spectrum</p><p>Computer arithmeticAdderMultiplier</p><p>Digital filterAdaptive digital filter</p><p>LMS/DLMS (Delay LMS) basedRLS based</p><p>TransformMultiplier-accumulator basedRecursive-filter basedROM-based: DA, CORDICButterfly based</p><p>ProcessorGeneral purposed processorDSP processorReconfigurable computing processor</p><p>Non-numerical operationError control coding</p><p>Viterbi DecoderTurbo Code</p><p>Polynomial computationDynamic programmableEtc..</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-6</p><p>VLSI Signal Processing System Publication Area (But not limited)</p><p>IEEE Journal of Solid-State CircuitsIEEE Journal on Selected Areas in CommunicationsIEEE MicroIEEE Trans. on Biomedical EngineeringIEEE Trans. on Circuits and Systems I: Regular PapersIEEE Trans. on Circuits and Systems II: Express BriefsIEEE Trans. on Circuits and Systems for Video TechnologyIEEE Trans. on CommunicationsIEEE Trans. on Computer-Aided Design of Integrated CircuitsIEEE Trans. on ComputersIEEE Trans. on Image ProcessingIEEE Trans. on Information TheoryIEEE Trans. on MultimediaIEEE Trans. on NanotechnologyIEEE Trans. on Neural NetworksIEEE Trans. on Signal ProcessingIEEE Trans. on VLSI SystemsProceedings of the IEEEThe Journal of VLSI Signal Processing SystemsElsevier Integration - The VLSI Journal</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-7</p><p>VLSI Signal Processing System Design Space</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-8</p><p>Outlines</p><p>Features:DSP AlgorithmsDSP Applications and CMOS ICsRepresentations of DSP Algorithms</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-9</p><p>DSP Algorithms</p><p>ConvolutionCorrelationDigital filtersAdaptive filtersDiscrete Fourier transformSource Coding Algorithms</p><p>Discrete cosine transform Motion estimationHuffman codingVector quantization</p><p>Decimator and expanderWavelet and filter banksViterbi algorithm and dynamic programming</p><p>Algorithm: A set of rules for solving a problem in a finite number of steps.</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-10</p><p>Signals</p><p>Analog signalt-&gt;y: y=f(t), y:C, n:C</p><p>Discrete-time signaln-&gt;y: y=f(nT), y:C, n:Z</p><p>Digital signaln-&gt;y: y=D{f(nT)}, y:Z,n:Z</p><p>2)1110(</p><p>2)1000(2)1011( 2)1000(</p><p>y y y)3()1(</p><p>)2()1(</p><p>t n nAnalog Signal Digital SignalDiscrete-Time Signal</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-11</p><p>LTI Systems</p><p>Linear systemsAssume x1(n)-&gt;y1(n) and x2(n)-&gt;y2(n), where -&gt; denotes lead to. If ax1(n)+bx2(n)-&gt;ay1(n)+by2(n), then the systems is referred to as Linear System.Homogenous and additive properties</p><p>Time-invariant (TI) systemsx(n-n0)-&gt;y(n-n0)</p><p>LTI systemsy(n)=h(n)*x(n)</p><p>Causal systemsy(n0) depends only on x(n), where n</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-12</p><p>Sampling of Analog Signals</p><p>Nyquist sampling theoremThe analog signal must be band-limitedSample rate must be larger than twice the bandwidth</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-13</p><p>System-Equation Representation</p><p>Impulse/unit sample response</p><p>Transfer function / frequency response</p><p>Difference equations</p><p>State equations</p><p>11</p><p>0</p><p>1)()()( ==</p><p>zab</p><p>zXzYzH</p><p>)()1()( 01 nxbnyany +=</p><p>][)( 10 nuabnhn=</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-14</p><p>Convolution &amp; Correlation</p><p>Convolution</p><p>=</p><p>==k</p><p>knhkxnhnxny )()()()()(</p><p>)()()()( nxnaknxkak</p><p>== </p><p>=</p><p>=</p><p>+=k</p><p>knxkany )()()(</p><p>Correlation</p><p>)()( knxkhk</p><p>= </p><p>=</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-15</p><p>Linear Phase FIR Digital Filters</p><p>Digital filters are an important class of LTI systems.Linear phase FIR filter</p><p>)()( nMhnh =</p><p>0)6()0( bhh ==1)5()1( bhh ==</p><p>2)4()2( bhh ==</p><p>3)3( bh =</p><p>)4()5()6()3()2()1()()(</p><p>210</p><p>3210</p><p>++++++=</p><p>nxbnxbnxbnxbnxbnxbnxbny</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-16</p><p>IIR Filter Structures</p><p>22</p><p>11</p><p>22</p><p>110</p><p>1)( </p><p>++</p><p>=zazazbzbbzH</p><p>1z</p><p>2a</p><p>1a</p><p>1z</p><p> 0b</p><p>1b</p><p>2b</p><p>)(nx )(ny</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-17</p><p>Introduction to an Adaptive Algorithm</p><p>Widely used in communication, DSP, and control systemDeterministic gradient / least square algorithm</p><p>Steepest descent algorithmRLS algorithm</p><p>Stochastic gradient algorithmLMS algorithm, DLMS algorithmBlock LMS algorithmGradient Lattice algorithm</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-18</p><p>Adaptive Applications</p><p>Channel equalizerSystem identificationImage enhancementEcho cancellerNoise cancellationPredictorLine enhancementBeamformer</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-19</p><p>Notation</p><p>)Error: e(n Factor: Adaptationtor: W(n)Weight Vectput: d(n)Desired Ou</p><p>al: X(n)Input Sign</p><p>.5</p><p>.4</p><p>.3</p><p>.2.1</p><p>: .10.9.8.7</p><p>.6</p><p>MatrixDiagonal:Eigenvalue</p><p>ix: Ration MatrAutocorrel: NTap Number</p><p>ent: MMisadjustm adj</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-20</p><p>Steepest Descent Algorithm</p><p>)()()( nXnWny T=TNnxnxnxnXwhere )]1( ... )1( )([)( +=</p><p>TN nwnwnwnW )]( ... )( )([)( 110 =</p><p>)()()( )()()( </p><p>)()()(</p><p>nWnXndnXnWnd</p><p>nyndne</p><p>T</p><p>T</p><p>=</p><p>=</p><p>=The error at the n-th time is</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-21</p><p>LMS Algorithm</p><p>))((21)()1( nJnWnW +=+ </p><p>)()(2)( nXnenJ =</p><p>An efficient implementation in software of steepest descent using measured or estimated gradientsThe gradient of the square of a single error sample</p><p>e(n)X(n)W(n))W(n +=+=&gt; 1 Cost</p><p>w0, w1, w0</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-22</p><p>Summary of LMS Adaptive Algorithm (1960)</p><p>)()()( nnny T xw=</p><p>)()()( nyndne =</p><p>)()( )()1( nnenn xww +=+</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-23</p><p>Block Diagram of an Adaptive FIR Filter Driven by the LMS Algorithm</p><p>1z)(nx 1z 1z</p><p>)(0 nw )(2 nw)(1 nw )(1 nwN</p><p>)1( nx )2( nx )1( + Nnx</p><p>)(nd)(ny</p><p>)(ne</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-24</p><p>Unitary/Orthogonal Transform (1/4)</p><p>Definition: (from Linear Algebra)</p><p>Let A be nn matrix that satisfies IAAAA == . </p><p>We call A as an unitary matrix if Ahas complex entries, and we call A an orthogonal matrix if A has real number. </p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-25</p><p>Why Orthogonal Transformation? (2/4)</p><p>Energy conservationEnergy compaction</p><p>Most unitary transforms tend to pack a large fraction of the average energy of signals into a relatively few components of the transform coefficients.</p><p>DecorrelationWhen signals are highly correlated, the transform coefficients tend to be uncorrected (or less correlated).</p><p>Information preservationThe information carried by signals are preserved under a unitary transform. </p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-26</p><p>Why Orthogonal Transformation? (3/4)</p><p>0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 05 0</p><p>1 0 0</p><p>1 5 0</p><p>2 0 0</p><p>2 5 0T h e o r i g i n a l s i g n a l</p><p>0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0- 2 0 0 0</p><p>0</p><p>2 0 0 0</p><p>4 0 0 0T h e D C T c o e f f i c i e n ts</p><p>Source: Lecture of Prof. Dennis Deng</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-27</p><p>Why Orthogonal Transformation? (4/4)</p><p>0 5 1 0 1 5 2 0 2 5</p><p>0 .9 8</p><p>1</p><p>T h e a u to c o r r e la t i o n o f o r i g i n a l s i g n a l</p><p>0 5 1 0 1 5 2 0 2 5- 0 .5</p><p>0</p><p>0 .5</p><p>1T h e a u to c o r r e la t i o n o f D C T c o e f f i c i e n ts</p><p>Source: Lecture of Prof. Dennis Deng</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-28</p><p>Discrete Fourier Transform (1/9)</p><p>DFT</p><p>IDFT</p><p>1,...,1,0,)()(1</p><p>0</p><p>== </p><p>=</p><p>NnWnxkXN</p><p>n</p><p>nkN</p><p>1,...,1,0,)(1)(1</p><p>0</p><p>== </p><p>=</p><p> NnWkXN</p><p>nxN</p><p>k</p><p>nkN</p><p>nkN</p><p>jnkN</p><p>Nj</p><p>N eWeW 22</p><p> ,</p><p>==</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-29</p><p>Fast Fourier Transform (2/9)</p><p>The radix-2 algorithm is the most widely used fast algorithm to compute the DFT.Let us use an 8-point DFT (N=8) to illustrate the development of the fast algorithm</p><p>))7()5()3()1((</p><p>)6()4()2()0(</p><p>)7()5()3()1(</p><p>)6()4()2()0(</p><p>)()(</p><p>642</p><p>642</p><p>753</p><p>642</p><p>7</p><p>0</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>knN</p><p>n</p><p>WxWxWxxW</p><p>WxWxWxx</p><p>WxWxWxWx</p><p>WxWxWxx</p><p>WnxkX</p><p>++++</p><p>+++=</p><p>++++</p><p>+++=</p><p>==</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-30</p><p>Fast Fourier Transform (3/9)</p><p>Since </p><p>8-point DFT =&gt; Nearly two 4-point DFT </p><p>where represent the DFT of two sequences </p><p>kN</p><p>kN</p><p>jkN</p><p>jkN WeeW 2/</p><p>)2/(2</p><p>222 ===</p><p>1,...2,1,0 where),()(</p><p>))7()5()3()1((</p><p>)6()4()2()0()(</p><p>21</p><p>32/</p><p>22/2/</p><p>32/</p><p>22/2/</p><p>=+=</p><p>++++</p><p>+++=</p><p>NkkFWkF</p><p>WxWxWxxW</p><p>WxWxWxxkX</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>)()( 21 kFandkF</p><p>)12()()2()( 21 +== nxnfandnxnf</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-31</p><p>Fast Fourier Transform (4/9)</p><p>One step further: (=&gt;Two 4-point DFT)</p><p>An N-point DFT requires N2 complex multiplications. The number of complex multiplications required by the above algorithm</p><p>An 8-point DFT requires 64 complex multiplications</p><p>12/,...,1,0 ),()()( 21 =+= NkkFWkFkXk</p><p>N</p><p>12/,...,1,0 ),()()2/( 21 ==+ NkkFWkFNkXkN</p><p>kN</p><p>jkNjNk</p><p>NjNk</p><p>N WeeeW ===++ </p><p> 2)2/(22/</p><p>)8( 40)2/(2 2 ==+ NNN</p><p>kN</p><p>NkN WW 2/</p><p>2/2/ =+and</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-32</p><p>Fast Fourier Transform (5/9)</p><p>The 4-point DFT can be decomposed into two 2-point DFT in a similar way</p><p>where represent the DFT of two sequencesAs before, </p><p>)()(</p><p>))6()2(()4()0(</p><p>)6()2()4()0()(</p><p>122/11</p><p>4/2/4/</p><p>32/2/</p><p>22/1</p><p>kVWkV</p><p>WxxWWxx</p><p>WxWxWxxkF</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>kN</p><p>+=</p><p>+++=</p><p>+++=</p><p>)()( 1211 kVandkV</p><p>)12()()2()( 112111 +== nfnvandnfnv</p><p>14/,...,1,0),()()( 122/111 =+= NkkVWkVkFk</p><p>N</p><p>14/,...,1,0),()()2/( 122/111 ==+ NkkVWkVNkFkN</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-33</p><p>Fast Fourier Transform (6/9)</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-34</p><p>Fast Fourier Transform (7/9)</p><p>A 2-point FFT, such as involves only real addition</p><p>)()( 1211 kVandkV</p><p>1,1),4()0()( 120</p><p>211 2 ==+= WWxWxkVk</p><p>V x W x</p><p>V x W xN</p><p>N</p><p>110</p><p>110</p><p>0 0 4</p><p>1 0 4</p><p>( ) ( ) ( )</p><p>( ) ( ) ( )</p><p>= +</p><p>= </p><p>a</p><p>b</p><p>A</p><p>B-1</p><p>WN</p><p>Each butterfly requires one complex multiplication and two complex addition</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-35</p><p>Fast Fourier Transform (8/9)</p><p>After decimation, the sequence is in a bit-reversed orderoriginal order decimation1 decimation 2</p><p>n2n1n0 n0n2n1 n0n1n20 000 0 000 0 0001 001 2 010 4 1002 010 4 100 2 0103 011 6 110 6 1104 100 1 001 1 0015 101 3 011 5 1016 110 5 101 3 0117 111 7 111 7 111</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-36</p><p>Fast Fourier Transform (9/9)</p><p>This FFT algorithm is generally true for any data sequence of There are N/2 butterflies per stage and stages The number of operations required for an FFT: (Before simplifying)</p><p>Complex multiplication:</p><p>Complex addition:</p><p>vN 2=</p><p>NN 2log</p><p>NN 2log</p><p>N2log</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-37</p><p>Image/Video Compression</p><p>Where coding?Source codingChannel coding</p><p>Source coding benefitsLower bit rateLess transmission timeFewer storage data</p><p>What kind of loss?Lossless data compressionLossy data compression</p><p>Why can we do compression?Coding redundancyInter-sample redundancy (Spatial redundancy)Inter-frame redundancy (Temporal redundancy)</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-38</p><p>Source Coding Spectrum</p><p>Image Compression</p><p>Lossless Loss</p><p>Huffman Coding</p><p>Shannon Coding</p><p>ArithmeticCoding</p><p>Predictive Coding</p><p>Transform Coding</p><p>VQ Coding</p><p>Subband Coding</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-39</p><p>Image Measurement and Evaluation</p><p>)/(log10SNR(dB) 2210 nx =</p><p>)/255(log10PSNR(dB) 2210 n=</p><p>2</p><p>1 12 ]),(),([</p><p>1 = =</p><p>=</p><p>N</p><p>i</p><p>N</p><p>jn jixjixN</p><p> valules.image tedreconstruc and image orignal theare and where (i,j)xx(i,j)</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-40</p><p>Discrete Cosine Transform (DCTII)</p><p>10 , ]2</p><p>)12(cos[)()()(1</p><p>0</p><p>N-kN</p><p>knnxkkXN</p><p>n</p><p>+</p><p>= </p><p>=</p><p>1 1for ,2 )( = NkN</p><p>kN1)0( =</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-41</p><p>2-D DCT-II and IDCT-II</p><p>)2</p><p>)12(cos()2</p><p>)12(cos(),()()(2),(1</p><p>0</p><p>1</p><p>0 Nln</p><p>Nkmnmxlk</p><p>NlkZ</p><p>N</p><p>m</p><p>N</p><p>n</p><p> ++= </p><p>=</p><p>=</p><p>DCT-II</p><p>TAXAZ =</p><p>IDCT-II</p><p>)2</p><p>)12(cos()2</p><p>)12(cos(),()()(2),(1</p><p>0</p><p>1</p><p>0 Nln</p><p>NkmlkZlk</p><p>Nnmx</p><p>N</p><p>k</p><p>N</p><p>l</p><p> ++= </p><p>=</p><p>=</p><p>ZAAX T=</p><p>.0for 1 and 210 where</p><p>and 1 to0 from range and , where</p><p>== j(j)/)(</p><p>N-nk, l, m</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-42</p><p>How to Decide the Coefficients?</p><p>Orthogonal Property </p><p>IAAAA TT ==Parsevals Theorem: Energy Conservation </p><p>=</p><p>=</p><p>=1</p><p>0</p><p>21</p><p>0</p><p>2 )(1)(N</p><p>k</p><p>N</p><p>n</p><p>kXN</p><p>nx</p></li><li><p>VLSI Digital Signal Processing Systems </p><p>Lan-Da Van VLSI-DSP-1-43</p><p>2-D DCT/IDCT Processor</p><p>1D DCT/IDCTUnit</p><p>TransposeMemory</p><p>1D DCT/IDCTUnit</p><p>X Y...</p></li></ul>

Recommended

View more >