Process for communicating multiple channels of digital data in distributed systems using synchronous code division multiple access
First Claim
1. A process for transmitting multiple channels of digital data in distributed systems having multiple units coupled by a shared transmission media by using synchronous code division multiple access, comprising:
- receiving a time division multiplexed digital data stream comprised of N time slots or channels, each of which contains one or more bits of digital data;
reorganizing the digital data from said N time slots into a frame containing M consecutive symbols, each said symbol containing an element from each time slot, each element having at least one bit;
spreading the spectrum of each said symbol by doing matrix multiplication to multiply an information vector having as elements said elements of said symbol by a code matrix embodying N orthogonal spreading codes to generate a resulting chips out array;
using the chips of the resulting chips out array to modulate at least one radio frequency carrier in successive intervals according to the amplitude represented by successive corresponding chips of the chips out array;
transmitting said at least one modulated radio frequency carrier on said shared transmission media.
8 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for carrying out synchronous code division multiple access (SCDMA) communication of multiple channels of digital data over a shared transmission media. The system includes modems at remote units and a central unit to receive time division multiplexed digital data arranged into timeslots or channels and uses orthogonal codes to encode each channel of multiple data and spread the energy of each channel data over a frame of data transmitted in the code domain. Spreading the data this way makes the system less susceptible to impulse noise. Frames are synchronized as between remote and central units using a ranging scheme which is also useful in any other system transmitting data by frames in a distributed system where synchronizing the frames as between all units regardless of differences in propagation delays is necessary. Each frame in the SCDMA modulation scheme includes a gap or guardband containing no other data. The ranging process involves training each remote unit to impose enough delay prior to re-transmission of a barker code received from the CU such that a barker code sent by the RU arrives at the CU during the gap. The process of setting the delay in each RU is a trial and error process, and each RU starts the ranging process asynchronously. Contention resolution protocols such that only one RU is aligning to the gap at any particular time are taught.
-
Citations
33 Claims
-
1. A process for transmitting multiple channels of digital data in distributed systems having multiple units coupled by a shared transmission media by using synchronous code division multiple access, comprising:
-
receiving a time division multiplexed digital data stream comprised of N time slots or channels, each of which contains one or more bits of digital data; reorganizing the digital data from said N time slots into a frame containing M consecutive symbols, each said symbol containing an element from each time slot, each element having at least one bit; spreading the spectrum of each said symbol by doing matrix multiplication to multiply an information vector having as elements said elements of said symbol by a code matrix embodying N orthogonal spreading codes to generate a resulting chips out array; using the chips of the resulting chips out array to modulate at least one radio frequency carrier in successive intervals according to the amplitude represented by successive corresponding chips of the chips out array; transmitting said at least one modulated radio frequency carrier on said shared transmission media. - View Dependent Claims (2)
-
-
3. A process for receiving modulated signals created in a transmitter by using multiple channels of digital data from a time division multiplexed input data stream which are reorganized into a frame of data containing a plurality of symbols, each said symbol organized as an information vector having a plurality of elements and having its spectrum spread using orthogonal codes embodied in a spreading code matrix to generate an array of chips for each said information vector, the resulting spread spectrum chip data being transmitted over a shared transmission media by modulating at least one radio frequency carrier using the resulting spread spectrum data to generate modulated signals, and reconstructing therefrom a time division multiple access data stream which is a replica of the time division multiplexed input data stream which was used to create said modulated signals in said transmitter, comprising:
-
demodulating the modulated signals received from said shared transmission media to generate signals which are organized into a plurality of received information vectors, each said received information vector representing the spread spectrum received version of the chips of the information vector representing a symbol in a frame of digital data transmitted by said transmitter; performing a matrix multiplication to multiply each received information vector by the transpose of said orthogonal spreading code matrix used to spread the spectrum of each said information vector for transmission over said shared transmission media so as to generate a result matrix for each said received information vector, each said result matrix comprising a plurality of elements; electronically comparing each element in each said result matrix against a constellation of legitimate possible data points that could have been transmitted and making a judgment as to which of said points in said constellation of legitimate possible data points that each said element probably was before it was corrupted by noise and losses during transmission; and reorganizing the probable data points from the constellation of legitimate possible data points assigned to the elements of all said result matrices into a time division multiplexed data stream which is a replica of said time division multiplexed data stream which was used to create said received modulated signals.
-
-
4. A process for transmitting multiple digital data streams in a distributed system having multiple remote units located at different locations in said distributed system coupled by a shared transmission media to a central unit using synchronous code division multiple access multiplexing, comprising:
-
receiving N digital data streams throughout said distributed system using said plurality of remote units, each of said digital data streams containing one or more bits of digital data, each said remote unit receiving only a portion of said N digital data streams; in each remote unit, reorganizing the digital data from the digital data streams received thereby into multiple frames, each frame containing M consecutive symbols followed by a guardband, each said symbol containing at least N elements corresponding to said N digital data streams with only those elements corresponding to the particular digital data streams received by this particular remote unit containing any data from the corresponding digital data stream(s) received by this particular remote unit; in each said remote unit, spreading the spectrum of each said symbol by doing matrix multiplying the elements of an information vector representing the elements of said symbol by a code matrix embodying N orthogonal codes, each orthogonal code having N elements to generate a result vector for each symbol, each said result vector having N elements; using each of the N elements of the result vector to modulate a radio frequency carrier in one of N successive intervals according to the amplitude represented by the particular one of said N elements corresponding to said interval to generate RF signals representing N constellation points, said RF signals transmitted in said frames; in each remote unit, performing a ranging process whereby each remote unit cooperates with said central unit to find the propagation time of signals from it to said central unit and thereafter, in each remote unit, setting a transmit frame timing delay so as to cause a frame of RF signals transmitted by each remote unit to arrive with its frame boundaries aligned in time with the frame boundaries of frames transmitted by each other remote unit so as to achieve frame synchronization despite differences in propagation delay between each said remote unit and said central unit; and transmitting on said shared transmission media from each said remote unit said frames of RF signals using the transmit frame timing delay determined by that remote unit to cause frame synchronization at said central unit of that remote unit'"'"'s frames with frames transmitted by all said other remote units. - View Dependent Claims (5, 6, 7, 8)
-
-
9. An apparatus for transmitting multiple channels of digital data from a plurality of remote units to a central unit over a transmission media using synchronous code division multiple access multiplexing, comprising:
-
a framer in each remote unit coupled to receive incoming data of a time division multiple access stream comprised of N timeslots, hereafter referred to as channels, only selected ones of said channels being currently assigned to each said remote unit, each said channel containing one or more bits of digital data, said framer also for interleaving the data of said N channels over a frame comprised of M contiguous symbols and a guardband during which no data from said time division multiple access stream is transmitted, said interleaving being carried out by reorganizing said data from said N channels into M information vector arrays, each comprised of a plurality of elements, each element comprising a subgroup of bits from one channel of said time division multiple access stream; an error correcting code encoder in each remote unit for receiving said M information vector arrays of each frame and encoding each element with one or more redundant bits for use in error detection and correction so as to generate M encoded information vector arrays for each frame; a memory in each remote unit for storing said M encoded information vector arrays for each frame; a code division multiplexer in each remote unit for receiving said M encoded information vector arrays of each frame and performing code division multiple access spreading by matrix multiplying each of said M information vector arrays by a code matrix comprising N orthogonal, cyclic codes, each code having N elements, said code division multiplexer generating M encoded result vectors, each having N elements; a modulator in each remote unit coupled to said transmission media and coupled to receive said M encoded result vectors said modulator functioning to use said result vectors to modulate one or more radio frequency carrier signals to generate modulated RF signals representing each frame, and for transmitting said modulated RF signals over said transmission media; a transmit frame timing delay adjustment circuit included within said framer circuit in each said remote unit for adjusting a transmit frame timing delay which alters timing of transmission to said central unit from each said remote unit of said modulated RF signals representing said M encoded symbols of each frame generated in said remote unit such that said modulated RF signals representing each transmitted frame from each remote unit arrive at said central unit simultaneously regardless of differences in propagation time between each different remote unit and said central unit. - View Dependent Claims (10, 11)
-
-
12. A receiver for receiving multiple channels of digital data transmitted from a plurality of remote units to a central unit over a transmission media, comprising:
-
an analog-to-digital converter coupled to receive modulated RF signals from said transmission media representing data from said multiple channels of digital data which have been encoded with redundant error detection and correction data and code division multiplexed onto a single frequency carrier, said analog-to-digital converter functioning to convert said modulated RF signals into a plurality of digital samples; a demodulator coupled to receive said plurality of digital samples and multiply them by digital representations of first and second local oscillator signals that are matched in frequency and phase with first and second radio frequency carrier signals which comprise said RF signals received from said transmission media so as to generate a plurality of inphase and quadrature arrays which represent code division multiplexed versions of said multiple channels of digital data; a demultiplexer for receiving said inphase and quadrature arrays from said demodulator and multiplying said arrays by the transpose of a spreading code matrix used to code division multiplex the multiple channels of data so as to generate inphase and quadrature arrays of demultiplexed received data which define the phase and amplitude of a plurality of received data points in a two dimensional constellation of possible legitimate data points that could have been transmitted; a memory for storing said inphase and quadrature arrays of demultiplexed received data; a slicer detector for receiving said inphase and quadrature arrays of demultiplexed received data and comparing the received data points represented thereby to one or more of the data points in the constellation of possible legitimate data points that could have been transmitted, said slicer detector for generating preliminary determination data representing rough estimates as to which of the possible legitimate data points that could have been transmitted each received data point most likely corresponds; a Viterbi decoder for receiving said preliminary determination data and using said redundant error detection and correction data encoded into said received data points and using received data point data stored in said memory to detect and correct errors between the phase and amplitude of each actual received data point and the phase and amplitude of the legitimate data points to which said received data point corresponds, said Viterbi decoder for outputting the legitimate data points which were transmitted and which represent said multiple channels of digital data.
-
-
13. A communication system comprised of a central unit coupled by a transmission medium to a plurality of distributed remote units wherein each remote unit sends data to said central unit via code division multiple access multiplexing to establish one or more virtual channels through said transmission medium, each virtual channel appearing to the remote unit to be an unshared transmission medium coupling that remote unit to said central unit, each said virtual channel establishing by encoding data from that remote unit using a spreading code assigned to that remote unit by said central unit, each remote unit being assigned to one or more virtual channels on an ongoing, dynamic as-needed basis by said central unit based upon the amount of data that said remote unit has to send as communicated to said central unit by a message from said remote unit, said central unit receiving requests from said remote units for bandwidth and assigning virtual channels to said remote units on the basis of the contents of said request messages.
-
14. A communication system comprised of a central unit coupled by a transmission medium to a plurality of distributed remote units wherein each remote unit sends data to said central unit via code division multiple access multiplexing so as to establish one or more virtual channels through said transmission medium, each virtual channel appearing to the remote unit to be an unshared transmission medium coupling that remote unit to said central unit, each said virtual channel establishing by encoding data from that remote unit using a spreading code, and wherein said remote units establish frame synchronization such that each remote unit aligns frame boundaries of the frames of data each remote unit sends to the central unit such that all remote unit frame boundaries are aligned in time at the location of said central unit with the frame boundaries of each other remote unit, and wherein each remote unit is structured to achieve this frame synchronization by adjusting the time delay of transmission of a marker signal which indicates when in time the frame boundaries of frames from that remote unit will arrive by trial and error and monitoring transmissions from said central unit which indicate when frame synchronization has been achieved by that remote unit.
-
15. A process for creating interleaved symbols for use in transmitting multiple channels of digital data over a shared transmission media of a distributed system by multiplexing, comprising:
-
receiving a time division multiplexed digital data stream comprised of N time slots or channels, each of which contains one or more bits of digital data; reorganizing the digital data from said N time slots into a frame containing M consecutive symbols, each said symbol containing an element from each time slot, each element having at least one bit. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A process for achieving frame synchronization at a central transceiver of any communication system having a plurality of distributed remote transceivers that transmit frames of data to said central transceiver, comprising:
-
(1) transmitting a barker code trigger signal from said central transceiver to all remote transceivers marking a time reference relative to the frame boundaries of frames transmitted by said central transceiver for each central transceiver frame, each frame having one or more symbols of payload data and a gap interval during which no payload data is transmitted; (2) receiving said barker code trigger signal at a remote transceiver attempting to achieve frame synchronization and waiting a programmable interval before transmitting the same barker code back to said central transceiver; (3) performing a correlation calculation between any signal received during said gap and said barker code trigger signal and sending a message to said remote transceiver if no barker code is found in the gap; (4) if no barker code is found in the gap, changing said programmable interval at the location of said remote transceiver, and, upon receipt of another barker code trigger signal from said central transceiver, waiting said new programmable interval before transmitting said barker code back to said central transceiver; (5) performing steps (3) and (4) until a barker code is found in said gap, and then determining how far away and in which direction said barker code received from said remote transceiver is away from the center of said gap, and sending a message to said remote transceiver telling it how much to change said programmable delay and in which direction to exactly center its barker code transmissions in the gap at said central transceiver to generate a transmit frame timing delay value to achieve frame synchronization, and, thereafter, transmitting each frame of data from said remote transceiver to said central transceiver an interval equal to said transmit frame timing delay value after receipt of a barker code trigger signal from said central transceiver, and repeating this process for each remote transceiver thereby achieving frame synchronization such that the frame boundaries of all correspondingly numbered frames transmitted by all said remote transceiver arrive at said central transceiver with their frame boundaries aligned in time. - View Dependent Claims (22, 23, 24)
-
-
25. A process of generating a time division multiple access data stream comprising putting a plurality of payload data bits in each timeslot and putting one or more additional bits in each timeslot which may be encoded with sidechannel information such as management and control information.
-
26. Circuitry for use in a code division multiplexed distributed communication system having a plurality of distributed remote transmitters transmitting digital data over a shared transmission media to a central unit transceiver, comprising:
-
first means in said central unit transceiver for assigning timeslots to said transmitter on the basis of the traffic volume it has to send and communicating the assigned timeslot(s) to said transmitter via messages on a command and control channel; second means in each remote transmitter for placing digital data from one or more peripheral devices or processes into the timeslots assigned by said first means; third means in each remote transmitter for receiving digital data organized as a time division multiplexed data stream having a plurality of timeslots with only those timeslots assigned to said remote transmitter having data therein; fourth means in each remote transmitter for distributing data from each timeslot to a code division multiplexing encoder; fifth means in each remote transmitter for code division multiplexing the data from each timeslot assigned to said remote transmitter using a different orthogonal code from a code set having as many different codes as there are timeslots in said time division multiplexed data stream; and sixth means for summing the output signals from the encoders of said fifth means.
-
-
27. A distributed communication system, comprising:
-
a shared transmission media; a central unit transceiver coupled to said shared transmission media; a plurality of remote unit transceivers coupled to said central unit transceiver via said shared transmission media, each said remote unit transceiver comprising circuitry functioning to receive digital data from one or more sources and transmitting said data to said central unit transceiver using code division multiplexing to separate data from different sources on said shared transmission media using a plurality of different orthogonal codes each of which establishes its own virtual channel to said central unit transceiver which appears to be not shared, and wherein a plurality of said virtual channels are dedicated to messages from said remote unit transceivers to said central unit transceiver requesting the award of a number of channels related to the amount of data that needs to be sent by each remote unit transceiver; and wherein said central unit transceiver includes means for awarding channels to various remote unit transceivers via messages sent to said remote unit transceivers via one or more channels dedicated to management and control traffic, said means for awarding channels awarding said channels using a selectable one of a plurality of different methods. - View Dependent Claims (28, 29)
-
-
30. A digital data transmitter, comprising:
-
a framer circuit coupled to receive data and including circuitry to reorganize said data into symbols; an error correction encoder functioning to add redundant data to said data of said symbols, said redundant data being calculated based upon said data of said symbols; a code division multiplexer circuit for encoding data in said symbols from different sources using different orthogonal spreading codes to generate result vectors; a modulator for using said result vectors to modulate a radio frequency carrier to generate frames of modulated RF signals; and frame synchronization circuitry for delaying the transmission of said frames of modulated RF signals for a predetermined interval so as to achieve frame synchronization at a predetermined location with frames of RF signals transmitted from other transmitters.
-
-
31. A digital data receiver comprising:
-
an analog-to-digital converter coupled to receive analog RF carrier signals from the hybrid-fiber-coax transmission media of a cable television system, said carrier signals modulated with digital data and convert RF carrier signals to digital samples; a demodulator coupled to receive said digital samples and convert them to digital signals which define sidebands which contain the received digital data without the RF carrier information; a code division demultiplexer coupled to receive said received digital data and structured to demultiplex it using the transpose of a code matrix used to code division multiplex the data at the point from which it was transmitted to generate at least one array of demultiplexed received data points; and a slicer circuit structured and coupled to receive said demultiplexed received data points and compare each received data point to the legitimate possible input data points in the constellation of data points that could have been transmitted and generate signals representing a preliminary determination as to which legitimate input data point each received data point probably represents. - View Dependent Claims (32, 33)
-
Specification