This preview shows page 1-2-19-20 out of 20 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1EE290C - Spring 2004Advanced Topics in Circuit DesignHigh-Speed Electrical InterfacesLecture 12ComponentsViterbiDecoderBorivoje NikolicMarch 4, 2004.2OutlineViterbi decoderHow it worksWhat is it used forDigital implementationsAnalog implementations23Viterbi AlgorithmExample of dynamic programming [Bellman’57]Invented by A. Viterbiin 1967Explained by Forney in 1972,1973Used for:Decoding convolutional codesDecoding trellis codesMaximum likelihood detectionSpeech recognition, etc.Types:Hard-input, hard-outputSoft-input, hard-outputSoft-input, soft-output 4Jared’s Trip to Berkeley35Jared’s Trip to Berkeley6TrellisStates + edgesNo loopsWeights in minutesMountain ViewPaloAltoMilpitasUnionCitySan MateoHaywardOaklandSan FranciscoBerkeley515101515 151520 202040204047Shortest Time to Get to Berkeley?What is the best path to take to:Union City?Hayward?Mountain ViewPaloAltoMilpitasUnionCitySan MateoHaywardOaklandSan FranciscoBerkeley515101515 151520 2020402040Choose the minimum cost at each point (state)8Shortest Time to Get to Berkeley?What is the best path to take to:Union City?Mountain ViewPaloAlto(5)Milpitas(15)UnionCity(20)San MateoHaywardOaklandSan FranciscoBerkeley5151015202059Shortest Time to Get to Berkeley?What is the best path to take to:Hayward?Mountain ViewPaloAlto(5)MilpitasUnionCity(20)San MateoHayward(35)OaklandSan FranciscoBerkeley515151520 20204010Shortest Time to Get to Berkeley?Mountain ViewPaloAlto(5)MilpitasUnionCity(20)San MateoHayward(35)Oakland(50)San FranciscoBerkeley(65)5151515 151520 20611Digital Baseband Transceiver12Convolutional CodesAdding redundancyD D++didi-1di-2Channel01101+D21+D+D201110100(00, 11, 10, 10)Generators:G1= 101G2= 111713State Transition Diagrams001101100/001/110/011/100/111/000/101/0114Error Sequencesa = 00b = 01d = 11c = 100011000110011011ab cdaw=2w=2w=0w=1w=1w=1w=1Minimum distance error event is 4 bits815Decisions at Each Step00011011ii+1 i+2State (path)metricsBranchmetricsIn Gaussian channel:bm = (yk– sk)2In BSC:bm = dH(yk, sk) = |yk– sk|dHis Hamming distanceIf received yk= 10dH(10, 00) = 1dH(10, 01) = 216Trellis Diagram00011011ii+1 i+2Time-indexed state diagrami+3 i+40/001/110/001/110/111/00917The Viterbi AlgorithmIllustrated by 2-state trellissmn11−smn21−smn1smn2timetn−1tnbm1bm2bm3bm4()( )sm sm bm sm bmsm sm bm sm bmn n nn n n1 1 1 2 32 1 2 2 41 11 1= + += + +− −− −min ,min , AddAddCompareSelect18Viterbi DecoderImplements Viterbi algorithmThree main componentsBranch metric calculationPath metric accumulation (add-compare-select recursion)Survivor path decode1019Viterbi DecoderDBranchmetrics unitAdd-Compare-SelectSurvivorpath decodeBranch metrics unitCalculates the distances between the received signal and the ideal signalsAdd-Compare-Select unitAccumulates path metricsSurvivor path decodeKeeps track of the path through the trellisInputsDecoded bits20Calculating Branch MetricsAssume G1and G2both output a 0Soft decoder inputs are 0.1 and 0.25 insteadBranch metrics:bm00= |0 – 0.1| + |0 – 0.25| = 0.35bm01= |0 – 0.1| + |1 – 0.25| = 0.85bm10= |1 – 0.1| + |0 – 0.25| = 1.15bm11= |1 – 0.1| + |1 – 0.25| = 1.651121Calculating Branch MetricsEuclidean distances (AWGN channel)bmi= (yk– sk)2skare usually integersbmi= yk2-2Ciyk+ Ci2Since ykterms are common to all branch metrics they drop out in ACS comparison, and can be eliminated.Ci2 are precomputedand 2Ciykare shifts and adds.22Conventional add-compare-select unitAdd-Compare-Select RecursionEight state trellis1223Add-Compare-Select RecursionAdderAdderSubtractor2:1 MultiplexerRegistersm1sm2bm1bm2MSBDecisionNew State Metric558 88 8824Add-Compare-Select Recursionsm20bm20sm21bm21sm22bm22sm23bm23sm24bm24sm25sm26sm27+++++++++−−−−−−−−+++++++sm10sm0sm1sm2sm3sm14sm4bm10bm11bm12bm13bm14sm15sm5sm16sm6sm17sm7diff1325Add-Compare-Select RecursionBit1 234 5670SelectRegisterRegisterTimeAddCCCCCCCC26Radix-4 add-compare-select unitAdd-Compare-Select RecursionOne step lookaheadapplied to an eight-state trellis1427Add-Compare-Select RecursionAdderAdder Subtractor4:1 MultiplexerRegistersm1sm2bm1bm2MSBDecisionNew State MetricAdder Subtractor Subtractorsm3SelectMSBMSBbm3Adder Subtractor Subtractor Subtractorsm4bm4MSBMSBMSBInhibit sm 3Inhibit sm455558 8 8 88 8 8 884-way ACS:2 additions + 6 comparisons28Add-Compare-Select RecursionConcurrent add and compareSridharan, Carley, JSSC’001529Add-Compare-Select RecursionRetimed ACSFettweiss, Globecom’9530Parallel compare-select-add unitAdd-Compare-Select Recursion1631Area comparison of various ACS structuresAdd-Compare-Select Recursion32Power comparison of various ACS structuresAdd-Compare-Select Recursion1733Extreme ACSsLSB-first computation MSB-first computationFettweiss, Meyr, TCom’90Yeung, Rabaey, ISSCC’95Drawings by Haratsch34RNS-Based ACSsi∈ {0, 1, 2}, and are two-bit encoded as si∈ {00, 01, 11} ∑−==102wiiisSsmx0,y0bm0s0co0 sx1sy1smx1,y1bm1s1co1 sx2sy2smx2,y2bm2s2co2sx7sy7smx0,y0bm7 = 0s7co7sx0 = 00sy0 = s0normalizationc61835Bit-Level Pipelined ACSADD3 ADD3ADD2 ADD2ADD1 ADD1ClkADD0 ADD0ADD3ADD2SEL3 SEL3SEL2 SEL2SEL1SEL0Yeung, Rabaey, ISSCC’9536Analog ACSFukahori, ISSCC’981937Interleaved Analog ACS38State metrics smiand smjrepresented on a number circleMetric Normalization20390123nn−1n−2n−3n−4n−54-state trellis exampleSurvivor Path Decode40Register


View Full Document
Download Lecture 12 Components
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 12 Components and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 12 Components 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?