COMMUNICATION SYSTEMS USING HADAMARD CODING

Abstract: A communication system determines the elements of an individual row or column of a Hadamard matrix without storing the entire Hadamard matrix. In a transmitter portion, the values of the calculated row or column are used to encode a portion of a digital signal. In a receiver portion, the values of the calculated row or column are used to decode the portion of the digital signal to recreate the digital signal.

Description: Communication systems using hadamard coding The invention is related to the field of coded digital communications in which digital information signals are encoded prior to transmission and decoded after reception. It is well known in the art to generate an m x m Hadamard matrix as follows: 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 H. = 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 H is the complement of H. That is, if the value of an element of His 0, the value of the corresponding element of H is 1, or if the value of an element of Η is 1, the value of the corresponding element of H is 1. Notice that each row of an m x m Hadamard matrix has exactly m/2 differences from any other row in the matrix. Except for the first row each row has the same number of 0's and l's. The rows are said to be orthogonal (mutually perpendicular) because if the rows are represented as lines through the origin of an m-dimensional space, then the lines would all be perpendicular to each other. The rows of the Hadamard matrix are identical to the columns of the matrix and the above applies equally to the columns. Hadamard matrices are commonly used for encoding binary digital data (a sequence of values of either 0 or 1 called bits). For example, in the IS-95 standard, digital data is divided into 6 bit portions. Each possible 6-bit portion is assigned a different decimal value from 1 to 64 and that value is used select a corresponding row of a 64 x 64 Hadamard matrix. For each 6-bit portion of the digital data, the selected 64 bit row is transmitted depending on the value of the 6 bit portion. An IS-95 receiver compares each 64-bits of the transmitted row to determine which decimal value it represents. In previous communication systems, the Hadamard matrix is stored in memory and values for a required row are copied from memory to a Hadamard encoder for encoding a digital signal into a Hadamard encoded digital signal. Those skilled in the art are directed to the following citations. U.S. patent 5,159,608 uses rows or columns of the Hadamard matrix as orthogonal codes for encoding and decoding data in a communication system. In U.S. patent 5,297,161, a base station estimates the signal power of a mobile station from orthogonal codes transmitted by the mobile station and the receiver transmits control codes back to the mobile station for controlling the power level of transmissions from the mobile station. Publication EP 0 752 736 of European patent application 96304973.9 describes calibrating a phased array system using orthogonal encoded signals. The above references are hereby incorporated herein in whole by reference. The inventors have discovered that the elements of a Hadamard matrix can be determined without determining the entire Hadamard matrix, and that for small communication systems such as cellular radio systems, it is advantageous to calculate the elements of a row of the Hadamard matrix as needed rather than store the entire Hadamard matrix in memory. For a large Hadamard matrix (several hundred elements), which is desirable for pseudo-noise encoding, the required storage is the square of the size of the matrix. The algorithm and temporary storage required to determine individual elements of the matrix is far smaller than the matrix itself. In the invention herein, a communication system determines the elements of an individual row or column of a Hadamard matrix without storing the entire Hadamard matrix. In a transmitter of the invention, the values of the calculated row or column are used to encode a portion of a digital signal. In a receiver of the invention, the values of the calculated row or column are used to decode the portion of the digital signal to recreate the digital signal. Those skilled in the art will understand the invention and additional objects and advantages of the invention by studying the description of preferred embodiments below with reference to the following drawings that illustrate the features of the appended claims: Figure 1 illustrates portions of the communication system of the invention. Figure 2 shows portions of the Hadamard calculator of the invention. In the following description of the drawings, because the columns of a Hadamard matrix are identical to the rows of the matrix, only the use of rows will be discussed. Figure 1 illustrates portions of a communication system 100 of the invention. In a transmission portion of the invention, an analog output signal in transmission line 101 is converted into a digital output signal by analog-to-digital (N D) converter 102. The analog- to-digital converter is not required if the output signal is already in binary form such as computer data. The digital output signal is encoded by pseudo-noise (PΝ) encoder 103 to spread the spectrum of the transmission of the signal. A PΝ generator 104 provides a PΝ sequence to the PΝ encoder, and the PΝ encoder includes a modulo-2 adder to combine the digital output signal with the PΝ sequence. The PΝ-generator may be a linear feedback shift register or a Hadamard calculator as described below. A PΝ encoder is not required unless spread spectrum broadcasting is desired. The PΝ encoded output signal is Hadamard encoded by Hadamard encoder 105 to provide a Hadamard encoded output signal. Hadamard calculator 106 determines the values of individual elements or row of the Hadamard matrix and provides the values of the elements or row to the Hadamard encoder. The calculator is described in more detail below with reference to figure 2 and may implement the algorithm described below for calculating the value of individual elements of the Hadamard matrix. In the Hadamard encoder, a portion of the PN encoded output signal is modulo-2 added with the values of a row of the Hadamard matrix. Switch 107 is connected to select between storing or broadcasting the Hadamard encoded signal. If switch 107 is set, so that, the Hadamard encoded signal is broadcast, then modulator 108 modulates the signal and transmits the signal using antenna 109. The modulator modulates a radio frequency carrier signal with the Hadamard encoded signal. The antenna is used to broadcast the modulated signal through the airways, alternately, the antenna may be replaced by a connection to a broadband network (not shown) such as a cable television network. Otherwise, if switch 107 is set to store the Hadamard encoded signal, then the Hadamard encoded signal is channel encoded by channel encoder 110 and written onto optical disc 111 by write head 112. The channel encoder converts the signal to the form required for storage on the disk, for example, a code with no more than two consecutive zeros. In a reception portion of the invention, switch 120 determines whether a Hadamard encoded input signal will be received from storage or from a broadcast. If switch 120 is set to receive from broadcast, then a Hadamard encoded input signal is received through antenna 121 and demodulator 122. Otherwise if switch 120 is set to read from storage, then a Hadamard encoded input signal is received from disk 123 by read head 124 through channel decoder 125. Hadamard decoder 126 converts the Hadamard encoded input signal into a PN-encoded input signal. If the reception portion of the communication system is a portion of the same device as the transmission portion then Hadamard calculator 106 can be used to determine values of individual rows or individual elements of a Hadamard matrix and provides the values of the rows or elements to Hadamard decoder 126. Otherwise if the reception portion is separate or if no transmission portion is provided then a separate Hadamard calculator (not shown) is provided. The particular Hadamard encoder of this example embodiment uses a modulo-2 adder to strip the values of the Hadamard row from the input signal. If the input signal was PN-encoded prior to transmission then the signal from the Hadamard decoder will be PN-encoded and PN-decoded 127 is required to convert the PN-encoded input signal into a digital input signal. Again, a modulo-2 adder can be used to strip the PN from the input signal. If required a digital-to-analog (D/A) converter 128 is used to convert the digital input signal into an analog input signal. For example, in a cellular telephone, A/D converter 102 includes a delta-sigma modulator to convert analog voice signals into digital voice signals and D/A converter 128 includes a delta-signal demodulator to convert digital voice signal into analog voice signals. The transmitter portion and receiver portion may be portions of the same device as shown or they may be located in different devices. Receiver portions known in the art may be used in combination with a transmitter portion of the invention herein and vice versa, Transmitter portions known in the art may be used with the transmitter portion of the invention herein. Multiple receiver portions and multiple transmitter portions may be used in the same system, such as a base station of a cellular telephone system, in which case some of the transmitters may be those of the invention herein and others may be those previously known in the art, and some of the receivers may be those of the invention and others may be those previously known in the art. Figure 2 illustrates portions of the Hadamard calculator 106 of figure 1. The calculator includes a processor 201 and a memory 202 which contains a program module 203 for calculating the elements of a row of the Hadamard matrix. The program module implements the following algorithm. In order to find any element h υ of the Hadamard matrix. 1. Let b=0. 2. Let m = ceiling (log 2 (max(i,j))]. Then the m x m Hadamard matrix H is the smallest size Hadamard matrix which contains h„. 3. Determine which quadrant of H that contains h y . If this quadrant is the lower right quadrant, complement b (that is, if the value of b was 0, make it 1, or if the value of b was 1, make it 0); otherwise if this quadrant is not the lower right quadrant, do not change b. 4. Reassign H to now be the matrix formed by the quadrant in which h y was found in step 3. If the size of H is larger than 1 x 1, go to step 3, otherwise go to step 6. h, j =b (b is the value of h υ ). The invention has been disclosed with reference to specific preferred embodiments, to enable those skilled in the art to make and use the invention, and to describe the best mode contemplated by the inventor for carrying out the invention. Those skilled in the art may modify or add to these embodiments or provide other embodiments without departing from the spirit of the invention. Thus, the scope of the invention is only limited by the following claims:

Claims: CLAIMS: 1. A communication system comprising: an input (101) for obtaining input signals; a Hadamard encoder (105) for encoding the input signals to produce Hadamard encoded signals and including means for requesting individual elements or an individual row or column of a Hadamard matrix; calculating means (106) for calculating individual elements or an individual row or column of a Hadamard matrix without calculating the entire Hadamard matrix and depending on the requests for the individual elements or the individual row and providing the calculated elements or row to the Hadamard encoder; a transmitter ( 108 ,110) for transmitting the Hadamard encoded signals into media; a receiver (122,123) for receiving Hadamard encoded signals from media; a Hadamard decoder (126) for decoding the Hadamard encoded signals to produce output signals and including means for requesting individual elements or an individual row or column of a Hadamard matrix; and an output (130) for providing the output signals. 2. The communication system of claim 1, in which: the system further comprises a pseudo-noise encoder (103) to encode input signals prior to Hadamard encoding; the system further comprises a pseudo-noise decoder (127) to decode encoded signals subsequent to the Hadamard decoding; the media includes a record carrier (111) and the transmitter includes a channel encoder (110) and a write head (112) of a drive for reading the record carrier; the media includes a record carrier (123) and the receiver includes a channel decoder (125) and a read head (124) of a drive for the record carrier; the media includes airways and the transmitter includes a modulator and an antenna for transmitting the Hadamard encoded signals into the airways; the media includes airways and the receiver includes an antenna (121) and a demodulator (122) for receiving the Hadamard encoded signals from the airways; the input signal is an analog signal and the system further comprises an analog-to-digital converter (102) for converting the analog input signal into a digital input signal; the output signal is an analog signal and the system further comprises a digital- to-analog converter (128) for converting a digital output signal into an analog output signal; and the Hadamard encoder requests individual rows or columns of the Hadamard code. 3. A communication system transmitter comprising: an input for input signals; a Hadamard encoder for encoding the input signals to produce encoded signals and including means for requesting individual elements or an individual row or column of a Hadamard matrix; calculating means for calculating individual elements or an individual row or column of a Hadamard matrix without calculating the entire Hadamard matrix and depending on the requests for the individual elements or the individual row or column from the Hadamard encoder and providing the calculated elements or row or column to the Hadamard encoder; and a transmitter for transmitting the encoded signals into a medium. 4. A communication system receiver comprising: a receiver for receiving encoded signals from a medium. a Hadamard decoder for decoding the encoded signals to produce output signals and including means for requesting individual elements or an individual row or column of a Hadamard matrix; means for calculating individual elements or an individual row or column of a Hadamard matrix depending on requests from the Hadamard encoder and providing the calculated elements or row or column to the Hadamard decoder; and an output for providing the decoded signals. 5. Hadamard encoding apparatus for a communication system, comprising: an input for providing an input signal; a Hadamard encoder for encoding the input signals to produce encoded signals and including means for requesting individual elements or an individual row or column of a Hadamard matrix; means for calculating individual elements or an individual row or column of a Hadamard matrix without calculating the entire Hadamard matrix and depending on the requests for the individual elements or the individual row or column from the Hadamard encoder and providing the calculated elements or row or column to the Hadamard encoder; and an output for providing the encoded signals. 6. Hadamard decoding apparatus for a communication systems, comprising: an input for providing encoded signals a Hadamard decoder for decoding the encoded signals to produce output signals and including means for requesting individual elements or an individual row or column of a Hadamard matrix; means for calculating individual elements or an individual row or column of a Hadamard matrix depending on requests from the Hadamard encoder and providing the calculated elements or row or column to the Hadamard decoder without calculating the entire Hadamard matrix; and an output for providing the decoded signals.

Inventors: GREENHOE DANIEL J, GREENHOE, DANIEL, J.
Applicants: KONINKL PHILIPS ELECTRONICS NV, KONINKLIJKE PHILIPS ELECTRONICS N.V.
Application year: 2000
Main classification: H04L27
IPC codes: G06F17, H03M7, H04J11, H04Q7