Constraint length in a convolutional code Regarding convolutional error correcting code with $k=1$ (single input), I'm puzzled with different definitions for the constraint length.


In some books [4, 5], the constraint length is defined as the number of shift-registers.
But in [1, 2, 3], the constraint length is defined as the number of shift-registers plus one.


What about this difference in definition? What can I follow?

References:

[1] Page 231 of the book "Andrew J. Viterbi, Jim K. Omura - Principles of Digital Communication and Coding"

[2] https://www.mathworks.com/help/comm/ref/poly2trellis.html

[3] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-02-introduction-to-eecs-ii-digital-communication-systems-fall-2012/readings/MIT6_02F12_chap07.pdf

[4] Page 459 of the book "Shu Lin, Daniel Costello - Error Control Coding - 2nd edition"

[5] Page 272 of the book "Richard E. Blahut - Algebraic codes for data transmission"
Each message bit influence a span of n(m+1) successive output bit the quantity n(m+1) is called as constraint length
Each message bit influence a span of n(m+1) successive output bit the quantity n(m+1) is called as constraint length