SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
During the standard forward recursion, an entity called the Yamamoto bit is computed for each state and updated every symbol interval. The Yamamoto bit was proposed by Hirosuke Yamamoto (Hirosuke Yamamoto, "Viterbi Decoding Algorithm for Convolutional Codes with Repeat Request," IEEE Transactions on Information Theory, Vol. IT-26, No. 5, September 1980).
Basically, a bit (the Yamamoto bit) is associated with each state in the decoding process. Initially, all the Yamamoto bits are set (1). During the decoding process, the Yamamoto bit for a particular state comes from a couple of decisions made on the path metrics and the Yamamoto bit of previous states. The metrics of all paths leading to a particular state are compared. If the difference between any two metrics is less than a given threshold VCP_VCPIC1[27:16] YAMT bits, then the Yamamoto bit is cleared otherwise, the Yamamoto bit is inherited from the previous state of the path with the largest metric. The end result of this process (VCP_VCPOUT1[16] YAM) yields a zero (0) if anywhere along the decoding path there was a point where the decision between two paths was ambiguous. The VCP_VCPOUT1[16] YAM bit can therefore be used as a binary frame quality indicator.
The Yamamoto algorithm can be enabled or disabled by toggling the VCP_VCPIC1[28] YAMEN bit.