Patent ID: 8386902

Claim:
A processor-implemented method of puncturing a digital data stream to generate an output punctured bit stream, the digital data stream comprising a first parity bit stream and a second parity bit stream, each of the first and second parity bit streams consisting of K bits, the method comprising steps of: selecting up to K bits from the first parity bit stream by operating a first counting loop to provide a first selected number of bits; determining whether the first selected number of bits is less than a predetermined desired number of bits for the output punctured bit stream; and selecting, responsive to a determination that the first selected number of bits is less than the predetermined desired number of bits, a second selected number of bits from the second parity bit stream such that a sum of the first selected number of bits and the second selected number of bits is equal to the predetermined desired number of bits for the output punctured bit stream; wherein operating the first counting loop includes: defining a first number of bits desired to be selected from the first parity bit stream as the lesser of K and the predetermined desired number of bits for the output punctured bit stream; incrementing a counter by a counter step value equal to the first number of bits to set a counter value; based on the counter value, selecting another a bit from the first parity bit stream; decrementing the counter by K; and repeating the steps of incrementing the counter, selecting another the bit from the first parity bit stream, and decrementing the counter, until the first selected number of bits is equal to the lesser of K and the predetermined desired number of bits for the output punctured bit stream.