The aim of this paper is to describe in detail the iterative decoding algorithm used during the implementation of concatenated Partial Unit Memory (PUM) code structures, such as turbo and woven turbo constructions based on PUM codes. Previous published research by the authors have shown that such concatenated PUM code structures have better distance properties and performance than equivalent structures based on convolutional codes. The decoding algorithm presented is based on the max-log MAP algorithm used for classical turbo codes with component convolutional codes. Unlike the trellis of a convolutional code, the trellis of PUM codes is characterised by parallel branches between state pairs and multiple input branch labels. We show how the...