Abstract: A circuit and method for puncturing data on the transmission side of a digital communications system. The puncturing circuit includes a multiplexer circuit that receives a data stream and a delayed version of the data stream. The multiplexer circuit generates a multiplexer output which can be either a bit from the data stream or a bit from the delayed version of the data stream. A control circuit is coupled to the multiplexer circuit to select which multiplexer input appears on the multiplexer output. The control circuit selects the multiplexer output according to a predetermined puncture pattern. The control circuit may be a counter coupled to a decoder which is coupled to the multiplexer. The decoder may be specially designed to decode the predetermined puncture pattern and rate, and the counter controls the decoder's movement through the puncture pattern and rate.
Abstract: An inversion circuit (212) determines an inverse B.sup.-1 of an m-bit symbol B, the symbol B being expressed in a dual basis representation. Inversion circuit (212) includes an iterative convolution circuit (124A, 124B, 124C) to which the symbol B is applied and which generates and stores electrical signals corresponding to an m-bit value A. The value A is in a first basis representation and is generated by the convolution circuit such that an inner product of A and .alpha..sup.k B is equal to 0 for k<m-1. A feedback circuit (128) is provided for enabling the convolution circuit to perform a convolution with an .alpha. multiple of B. A multiplier circuit (102) is connected to the convolution circuit and generates electrical output signals corresponding to the product of the value A and .alpha..sup.-t. The electrical output signals from the multiplier represent A.alpha..sup.-t =B.sup.-1 (i.e., the inverse of the m-bit symbol B in the first basis representation).