Page 136 - Classification Parameter Estimation & State Estimation An Engg Approach Using MATLAB
P. 136

DISCRETE STATE VARIABLES                                     125

            The value of x(i) that maximizes P(x(0), .. . , x(i), x(i þ 1), Z(i þ 1)) is a
            function of x(i þ 1):

            ^ x xðijxði þ 1ÞÞ ¼ arg max P t ðxði þ 1ÞjxðiÞÞ
                             xðiÞ

                                      max   fPðxð0Þ;     ;:xði   1Þ; xðiÞ; ZðiÞÞg
                                   xð0Þ;   ; xði 1Þ
                                                                       ð4:70Þ
              The so-called Viterbi algorithm uses the recursive equation in (4.69) and
            the corresponding optimal state dependency expressed in (4.70) to find
            the optimal path. For that, we define the array Q(i, x(i)) ¼
            max x(0),..., x(i 1) fP(x(0), ... , x(i   1), x(i), Z(i))g.

            Algorithm 4.3: The Viterbi algorithm

            1. Initialization:


               for xð0Þ¼ 1;     ; K
                 Qð0; xð0ÞÞ ¼ P 0 ðxð0ÞÞP z zð0Þjxð0Þð  Þ
                 Rð0; xð0ÞÞ ¼ 0


            2. Recursion:

               for i ¼ 2;      ; I  and xðiÞ¼ 1;      ; K
                  ð
                                f
                                                                  ð
                 Qi; xðiÞÞ ¼ max Qi   1; xði   1ÞP t xðiÞjxði   1Þðð  ÞÞgP z zðiÞjxðiÞÞ
                            xði 1Þ
                               f
                 Ri; xðiÞÞ ¼ max Qi   1; xði   1ÞP t xðiÞjxði   1Þðð  ÞÞg
                  ð
                           xði 1Þ
            3. Termination:
                 P ¼ max QðI; xðIÞÞg
                        f
                     xðIÞ

                x
                               f
                 ^ xðI IÞ¼ arg max QðI; xðIÞÞg

                           xðIÞ
            4. Backtracking:
               for i ¼ I   1; I   2;      ; 0
                               x
                x
                 ^ xðijIÞ¼ Ri þ 1; ^ xði þ 1; IÞÞ
                         ð
   131   132   133   134   135   136   137   138   139   140   141