Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 17: Application-Driven Hardware Acceleration (3/4)

Slides:



Advertisements
Similar presentations
Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush.
Advertisements

Convolutional Codes Representation and Encoding  Many known codes can be modified by an extra code symbol or by deleting a symbol * Can create codes of.
Decoding of Convolutional Codes  Let C m be the set of allowable code sequences of length m.  Not all sequences in {0,1}m are allowable code sequences!
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 06: Verilog (2/3) Prof. Sherief Reda Division of.
Error Control Code.
2015/4/28System Arch 2008 (Fire Tom Wada) 1 Error Correction Code (1) Fire Tom Wada Professor, Information Engineering, Univ. of the Ryukyus.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 10: RC Principles: Software (3/4) Prof. Sherief Reda.
Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm
Lecture 15 Hidden Markov Models Dr. Jianjun Hu mleg.cse.sc.edu/edu/csce833 CSCE833 Machine Learning University of South Carolina Department of Computer.
Cellular Communications
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
ECE 559 VLSI – Design Project Viterbi Decoder VLSI Design Project Spring 2002 Dan Breen Keith Grimes Damian Nowak David Rust Advisor: Prof. Goeckel.
Coding and Error Control
CPSC 411, Fall 2008: Set 4 1 CPSC 411 Design and Analysis of Algorithms Set 4: Greedy Algorithms Prof. Jennifer Welch Fall 2008.
Lecture 9-10: Error Detection and Correction Anders Västberg Slides are a selection from the slides from chapter 8 from:
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 18: Application-Driven Hardware Acceleration (4/4)
Figure 6.1. A convolutional encoder. Figure 6.2. Structure of a systematic convolutional encoder of rate.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 08: RC Principles: Software (1/4) Prof. Sherief Reda.
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 16: Application-Driven Hardware Acceleration (1/4)
ECE 559 VLSI – Design Project Viterbi Decoder VLSI Design Project Spring 2002 Dan Breen Keith Grimes Damian Nowak David Rust Advisor: Prof. Goeckel.
Viterbi Decoder: Presentation #1 Omar Ahmad Prateek Goenka Saim Qidwai Lingyan Sun M1 Overall Project Objective: Design of a high speed Viterbi Decoder.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lab 2 presentations Prof. Sherief Reda Division of Engineering,
CPSC 411, Fall 2008: Set 4 1 CPSC 411 Design and Analysis of Algorithms Set 4: Greedy Algorithms Prof. Jennifer Welch Fall 2008.
Joseph L. Lindo Algorithms and Data Structures Sir Joseph Lindo University of the Cordilleras.
296.3Page :Algorithms in the Real World Convolutional Coding & Viterbi Decoding.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Building Functions.
Viterbi Decoder Project Alon weinberg, Dan Elran Supervisors: Emilia Burlak, Elisha Ulmer.
Part.7.1 Copyright 2007 Koren & Krishna, Morgan-Kaufman FAULT TOLERANT SYSTEMS Part 7 - Coding.
CSCE350: Data Structures and Algorithms Instructor: Dr. Jianjun Hu Fall Department of Computer Science and Engineering.
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
6: Wireless and Mobile Networks6-1 Chapter 6 Wireless and Mobile Networks Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition.
Threshold Phenomena and Fountain Codes Amin Shokrollahi EPFL Joint work with M. Luby, R. Karp, O. Etesami.
Data Link Layer: Error Detection and Correction
Important Components, Blocks and Methodologies. To remember 1.EXORS 2.Counters and Generalized Counters 3.State Machines (Moore, Mealy, Rabin-Scott) 4.Controllers.
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
1 Channel Coding (III) Channel Decoding. ECED of 15 Topics today u Viterbi decoding –trellis diagram –surviving path –ending the decoding u Soft.
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
Error Correction Code (2)
A simple rate ½ convolutional code encoder is shown below. The rectangular box represents one element of a serial shift register. The contents of the shift.
Minufiya University Faculty of Electronic Engineering Dep. of Electronic and Communication Eng. 4’th Year Information Theory and Coding Lecture on: Performance.
Wireless Communication Research Lab. CGU What is Convolution Code? 指導教授:黃文傑 博士 學生:吳濟廷
2016/2/14 1 Error Correction Code (1) Fire Tom Wada Professor, Information Engineering, Univ. of the Ryukyus.
Raptor Codes Amin Shokrollahi EPFL. BEC(p 1 ) BEC(p 2 ) BEC(p 3 ) BEC(p 4 ) BEC(p 5 ) BEC(p 6 ) Communication on Multiple Unknown Channels.
Dr. Muqaibel \ EE430 Convolutional Codes 1 Convolutional Codes.
SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Convolutional Codes.
Convolutional Coding In telecommunication, a convolutional code is a type of error- correcting code in which m-bit information symbol to be encoded is.
1 Lecture #13 EGR 277 – Digital Logic Sequential Counters Counters are an important class of sequential circuits. Counters follow a predetermined sequence.
Sami Khorbotly, Ph.D., IEEE member Assistant Professor
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Channel Coding and Error Control 1. Outline Introduction Linear Block Codes Cyclic Codes Cyclic Redundancy Check (CRC) Convolutional Codes Turbo Codes.
FEC decoding algorithm overview VLSI 자동설계연구실 정재헌.
V. Non-Binary Codes: Introduction to Reed Solomon Codes
CSCE 771 Natural Language Processing
296.3:Algorithms in the Real World
DIGITAL SYTEM DESIGN MINI PROJECT CONVOLUTION CODES
Communication Networks: Technology & Protocols
What is this “Viterbi Decoding”
Error Correction Code (2)
Error Correction Code (2)
Error Correction Code (1)
Error Correction Code (1)
Error Correction Code (2)
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Homework #2 Due May 29 , Consider a (2,1,4) convolutional code with g(1) = 1+ D2, g(2) = 1+ D + D2 + D3 a. Draw the.
IV. Convolutional Codes
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X, Fall07)
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 17: Application-Driven Hardware Acceleration (3/4) Prof. Sherief Reda Division of Engineering, Brown University

Reconfigurable Computing S. Reda, Brown University Viterbi algorithm A dynamic programming algorithm for finding the most likely sequence of hidden states, the Viterbi path, that results in a sequence of observed events. Originally devised by Andrew Viterbi in 1967 as an error- correction scheme for noisy digital communication links. Widely used in decoding the convolutional codes for both CDMA and GSM digital cellular, dial-up modems, satellite, deep-space communications and wireless LANs. Also used in speech recognition, computational linguistics, and bioinformatics.

Reconfigurable Computing S. Reda, Brown University Viterbi decoders in digital communication systems

Reconfigurable Computing S. Reda, Brown University 1. Encoding using convolution codes Each input bit is coded onto 2 output bits. The 2 outputs bits are produced by using modulo-2 adders. The selection of which bits are to be added to produce an output bit is called the generating polynomial O 1 = (u 0 +u 1 +u -1 +u -2 )mod 2 O 2 = (u 1 +u 0 +u -2 ) mod O1O1 O2O2 u1u1 u0u0 u -1 u -2

Reconfigurable Computing S. Reda, Brown University Example Assume the input sequence is 1011 What is the output? Example by C. Langton

Reconfigurable Computing S. Reda, Brown University Truth table presentation

Reconfigurable Computing S. Reda, Brown University State transition graph representation O 1 O 2 =00 de Bruijn graph. Not all outputs are shown O 1 O 2 =00O 1 O 2 =11 O 1 O 2 =00 O 1 O 2 =01 O 1 O 2 =10

Reconfigurable Computing S. Reda, Brown University Tree representation

Reconfigurable Computing S. Reda, Brown University Trellis diagram Not all transitions are shown

Reconfigurable Computing S. Reda, Brown University Output of the encoder for various inputs How can we devise a good generating polynomial? Let’s say we receive It is not one of the possible 16 sequences. How do we decode it? inputEncoder output

Reconfigurable Computing S. Reda, Brown University 2. Decoding received sequences using the Viterbi algorithm Let’s decode the received sequence cost

Reconfigurable Computing S. Reda, Brown University 2 nd step Let’s decode the received sequence cost

Reconfigurable Computing S. Reda, Brown University 3 rd step Let’s decode the received sequence cost

Reconfigurable Computing S. Reda, Brown University 4 th step Let’s decode the received sequence A any step, there is only one path from the initial state to any state. In case more than one path converge to a node, always pick the minimum cost min(3, 6)

Reconfigurable Computing S. Reda, Brown University 5 th step Let’s decode the received sequence cost

Reconfigurable Computing S. Reda, Brown University 6 th step Let’s decode the received sequence cost

Reconfigurable Computing S. Reda, Brown University Finally Winner path is 000, 100, 010, 101, 110, 011, 001, 000 with input sequence What is runtime using SW on a general-purpose CPU? What is the runtime using an FPGA? cost

Reconfigurable Computing S. Reda, Brown University Summary So far we have covered popular application-driven algorithms to accelerate in FPGAs –FFT for signal and image processor as an example of divide and conquer algorithms –Speech recognition applications –Viterbi algorithm for digital communication as an example of dynamic programming algorithms Next time, we cover some popular algorithms for bioinformatics

Reconfigurable Computing S. Reda, Brown University Project updates 2 nd project report extended until Sunday Dec 2 nd. Make sure to add the new material to the content of the 1 st report. The new report is worth 10 points. Main evaluation criterion is your progress on the project plan you outlined in the first report. –How thorough and creative your ideas develop? –How meticulous is the experimental setup? –How do the carried out experiments serve towards the project goals? Make sure to also send me a couple of slides by Monday Dec 3rd to present on Tuesday Dec 4 th (last lecture)