The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of...

26
The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications Telecommunications Convolutional codes-Trellis codes Inter-symbol interference in Digital Transmission Continuous phase transmission Magnetic Recording-Partial Response Signaling- Divers others Image restoration Rainfall prediction Gene sequencing Character recognition

Transcript of The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of...

Page 1: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

The Viterbi Algorithm

• Application of Dynamic Programming-the Principle of Optimality

• -Search of Citation Index -213 references since 1998• Applications

– Telecommunications• Convolutional codes-Trellis codes• Inter-symbol interference in Digital Transmission • Continuous phase transmission• Magnetic Recording-Partial Response Signaling- • Divers others

– Image restoration– Rainfall prediction– Gene sequencing– Character recognition

Page 2: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Milestones

• Viterbi (1967) decoding convolutional codes

• Omura (1968) VA optimal• Kobayashi (1971) Magnetic recording• Forney (1973) Classic survey recognizing

the generality of the VA• Rabiner (1989) Influential survey paper

of hidden Markov chains

Page 3: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Example-Principle of Optimality

EE Bld

FacultyClub

Publish Perish

N

N

S

S

.5

.8

.7

.5

1.2

.8

.2

.3

.5

.8

1.2

1.0

1.2

Professor X chooses an optimum path on his trip to lunch

Optimal: 6 addsBrute force:8 adds

N bridgesOptimal: 4(N+1) adds

Brute force: (N-1)2N adds

Find optimal path to each bridge

Page 4: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Digital Transmission with Convolutional Codes

Information

SourceConvolutional

Encoder

1 2, ,...,

N

N

a a a

A 1 2, ,..., Nc c c

BSC

pp

Information

SinkViterbi

Algorithm

1 2, ,..., Na a a 1 2, ,...,

N

N

b b b

B

Page 5: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Maximum a Posteriori (MAP) Estimate

( , ) Hamming distance betwee

Define

n sequencesN ND B A

1 2 1 2

( , ) ( , )1 2 1 2

, ,..., , ,...,max ( , ,..., / , ,..., ) max (1 )

bit error probability

aximum posteriori robabM ility

A PN N N N

N N

D A B N D A BN N

a a a a a aP b b b a a a p p

p

1 2, ,...,

Equivalent

min ( , ) log( /(1 )

ly

N

N N

a a aD A B p p

Brute force = Exponential Growth with N

Page 6: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

TInput

110100

Example(3,1) code

T

Output

111 100 010 110 011 001 0000

0

0

0

1

2 1

3 1 2

1 2

i

i s

i s s

s sInitial state -

Initial state - s s1 2 0

(output,input)efficiency=input/output

Convolutional codes-Encoding a sequence

1 2

State

S S

Page 7: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Fig.2.1400

10

01

111 -100

1 -1110 -011

0-000

1 -101

0 -010

0 -001

1 -110

input -output state

Markov chain for Convolutional code

Page 8: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

00

01

10

11

00

01

10

11

000111

001110011100

010101

State output Next state

0 input

1 inputs1s2

Trellis Representation

Page 9: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Iteration for Optimization

1 2 1 2Shift register conte

, ,..., , ,..nt

.,s

min ( , ) min ( , )

N N

N N N N

a a a s s sD A B D A B

1 2 1 2, ,..., , ,... memor, ylessness1

min ( , ) min ( , BSC)-N N

NN N

i is s s s s s

i

D A B d a b

1 2 1 2 1

1 1

, ,..., , ,..., ,min ( ( , ) min ( ( , ) ( , ))

N N N

N N N NN N

s s s s s s sD A B D A B d a b

1 2 1 2 1/

1 1

, ,..., , ,...,min ( ( , ) min min ( ( , ) ( , ))

N N N SN

N N N NN N

s s s s s s sD A B D A B d a b

1 2 1 2 1/

1 1

, ,..., , ,...,min ( ( , ) min( ( , ) min ( , ))

N N N SN

N N N NN N

s s s s s s sD A B d a b D A B

1 2 1/

1 2 2 / 1,

1 1, ,...,

2 2

, ,...,

min ( ( , ) min( ( , ) min ( ( , )

min ( , ))

N N N SN

N S SN N

N NN N N N

s s s s s

N N

s s s

D A B d a b d a b

D A B

Page 10: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Key step!

1 2 2 / , 1 2 2 /1 1

2 2 2 2

, ,..., , ,..., min ( , )) min ( , ))

N S S N SN N N

N N N N

s s s s s sD A B D A B

Redundant

1 2 1

1 1 2 2 1 Accumulated distanceIncremental

1 1

, ,..., /

2 21 1

/ , , distance ..., /

min ( , )

min ( ( , ) min ( , ))

N N

N N N N

N N

s s s s

N NN N

s s s s s s

D A B

d a b D A B

Linear growth in N

Page 11: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Deciding Previous State

1 2 1

1 1 2 1

, ,..., /

1 1

/ , ,..., /

min ( , )

min( ( , ) min ( , ))

i i

i i i i

i i

s s s s

i ii i

s s s s s s

D A B

d a b D A B

0000

10

State iState i-11 1( , )i iD A B

4

2

( , )i id a b

1

2

4

010ib

000ia

001ia

Search previous states

Page 12: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Trellis codes-Euclidean distance

shortest path-Hamming distance to s0

Viterbi Algorithm-shortest pathto detect sequenceFirst step

Optimum Sequence Detection

Trace though successive states

s0

s1

s2

s3

Page 13: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Inter-symbol Interference

ChannelTransmitter Equalizer

VADecisions

1

0

( ) ( ) ( )-Received si

Finite memory c

gnal

( ) ( )

0; hannel

N

ii

i j

i j

z t a h t iT n t

r h t iT h t jT dt

r i j m

1

( )N

ii

a p t iT

( )z t

Page 14: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

AWGN Channel-MAP Estimate

1 2

2

, ,...,10

min ( ) ( ) -

Euclidean distance between received and possible signals

N

N

ia a a

i

z t a h t iT dt

1 2i

, ,...,1 1 1

0

Simplification

min 2 a

where

( ) ( ) -Output of Matched Filter

N

N N N

i i j i ja a a

i i j

i

Z a a r

Z y t h t iT dt

Page 15: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

k 1

1 1 i1 1 1

12

k 1 0

Memory

-state Define:s { ,..., }

( ,..., , ,..., ) 2 a

(

s

Accumulated distanc

Z ; ,

e

In) 2 2 cr

k m k

k k k

k k m k i i j i ji i j

k

k k k k k i k i ki k m

m

a a

D Z Z s s Z a a r

d s s a Z a a r a r

emental distance

1 2 1

1 1 2 2 1

1 1 1 1, ,..., /

k 1 1 2 1 2/ , ,..., /

min ( ,..., , ,..., )

min ( (Z ; , ) min ( ,..., , ,..., ))k k

k k k k

k k m ks s s s

k k k k m ks s s s s s

D Z Z s s

d s s D Z Z s s

Viterbi Algorithm for ISI

State = number of symbols in memory

Page 16: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Magnetic Recording

0

( ) ( 1) ( ) 1( )kk

m t a u t kT t

Nyquist pu1

0 lse

( )( ) * ( )

2 ( ) where k k k kk

d m te t h t

dt

x h t kT x a a

Magnetic flux passes over headsDifferentiation of pulses

Sample

Magnetization pattern

OutputControlled ISI

Same model applies to Partial Response signaling

Page 17: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Continuous Phase FSK

cos( (

Tranm

)

itted Si

); ( 1)

gnal

k k ky a t x kT t k T

1 2

Digital Input Sequ

, ,. ,

e

.

enc

. Na a a

1 1

Constraint-Continuous Pha

( ) ( ) 2

s

;mod

e

k k k ka t x a t x

0;even no. ones

1;odd no. oneskx

Example-Binary signaling

-1.2

-0.7

-0.2

0.3

0.8

0 0.2 0.4 0.6 0.8 1

Signaling interval

Whole cyclesodd number ½ cycles

Page 18: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Merges and State Reduction

All paths merge

Computations order of (No states)2

Carry only high probability states

Force merges to reduce complexity

Optimal paths through trellis

Page 19: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Input Pixel Effect of Blurring

Input pixel Optical channel AWGN

Optica

( , ) ( , ) ( , ) ( , )

where optical blur width

l output signalL L

l L m L

s i j a i l j m h l m n i j

L

Blurring Analogous to ISI

Page 20: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Row Scan

Known state transitionsAnd Decision Feed back

Utilized for state reduction

VA for optimal row sequence

Page 21: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Hidden Markov Chain

• Data suggests Markovian structure

• Estimate initial state probabilities

• Estimate transition probabilities

• VA used for estimation of Probabilities

• Iteration

Page 22: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Rainfall Prediction

No rain

Showerydry

Showerywet

Rainydry

Rainywet

Rainfall observations

Page 23: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

DNA Sequencing• DNA-double helix

– Sequences of four nucleotides, A,T,C and G– Pairing between strands– Bonding and A T C G

Nucleotide sequence CGGATTC

Gene 1

Gene 2

Gene 3

Cordon A in three genes

•Genes–Made up of Cordons, i.e. triplets of adjacent nucleotides

–Overlapping of genes

Page 24: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Hidden Markov ChainTracking genes

.H

M1

M2

M3

M4

P1

P2

P3

P4

E

SS-start first cordon of geneP1-4- +1,…,+4 from startGeneE-stopH-gapM1-4 -1,…,-4 from start

Initial andTransition

Probabilities known

Page 25: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Recognizing Handwritten Chinese Characters

Text-line images

Estimate stroke width

Set up m X n grid

Estimate initial and transition probabilities

Detect possible segmentation paths by VA

Results

Next Slide

Page 26: The Viterbi Algorithm Application of Dynamic Programming-the Principle of Optimality -Search of Citation Index -213 references since 1998 Applications.

Example Segmenting Handwritten Characters

All possible segmentation

paths

Removal of Overlapping

paths

Eliminating Redundant

Paths

Discardingnear paths