Automatic terminal signal equalization
The present invention relates generally to cable communication, and more particularly to a two-way cable network which includes means for achieves signal level equalization at the network headend from each node in the network. 
     In many cable communication networks now in use, in addition to or in place of the more conventional television programming, data is communicated between a central system headend and a plurality of data nodes or terminals connected by means of a cable to the headend and located at sites remote from the headend. In a conventional two-way data cable communication network of this type, each of the nodes connected to the headend is uniquely identified by a coded address so as to allow for unique communication in both directions between the headend and the nodes. 
     As a result of forward equalization, different conditions and variations on the cable between the plural nodes and the headend, and the different distances between the nodes and the headend, as well as variations in the output levels and gains of individual node transmitters, the signal level received at the headend from the nodes in the network may vary considerably, and such variation in received signal level may, in turn, produce communication errors such as channel resolution inequities. 
     As noted in a copending application, Ser. No. 726,938, assigned to the assignee of this application, it has long been considered desirable that the levels of the signals received at the headend from each of the nodes be substantially equal so as to avoid these difficulties. In the past, attempts to achieve better signal equalization at the headend have included manually setting the transmit level at each node at the factory or at the time the node or terminal is installed and connected to the headend. These procedures have several obvious disadvantages in terms of cost, accuracy, and long-term effectiveness. 
     In the said copending application a system for achieving signal level equalization at the headend is described in which the signal levels received at the headend from each of the nodes are measured at the headend and compared there to a preset level to produce a node-level control signal. The latter signal is transmitted from the headend to the associated or addressed node at which the output signal level is modified in accordance with the received level control signal. 
     Although the signal equalizing arrangement disclosed in said copending application is generally effective to achieve the desired signal equalization at the headend, it requires a modification to the headend to control the levels transmitted from the nodes and does not equalize transmit level differences between remote terminal nodes at the same topological layers downstream from the headend, which may, as noted, result in undesirable inequities in channel contention resolution. 
     It is an object of the present invention to provide in a two-way cable data transmission network an arrangement for achieving signal level equalization at the headend in a reliable and automatic manner. 
     It is a further object of the present invention to provide a signal equalizing arrangement in a two-way cable communication system in which no signal-level processing is required at the headend and which compensates for channel variations in the network. 
     To these ends each node or terminal in the network transmits to the headend a test signal, including a nodeidentifying address signal, beginning at a minimum output level. The output level of the signal transmitted by the node is incrementally increased until a correct return signal retransmitted from the headend is detected at the node. At this output level the level of the signal received at the headend from the node is substantially the same as the signal levels received from the other nodes in the network connected via the cable to the headend. This signal equalizing process may be repeated at regular intervals to adjust for changing channel conditions. 
    
    
     To the accomplishment of the above and to such further objects as may hereinafter appear, the present invention relates to an automatic terminal signal equalization system, substantially as defined in the appended claims and as described in the following specification as considered together with the accompanying drawings in which: 
     FIG. 1 is a schematic diagram of a multi-node cable communication network in which the present invention is employed; 
     FIG. 2 is a schematic block diagram of a headend as used in the system of the invention; 
     FIG. 3 is a schematic block diagram of a node or terminal in accordance with the invention; and 
     FIG. 4 is a flow chart of a portion of the program carried out in the microprocessor at the node at FIG. 3. 
    
    
     The present invention finds utility in a multi-terminal or multi-node two-way cable data communication network in which data in binary form is transmitted bidirectionally between a headend 10 and a plurality of remote terminals or nodes 12 1  -12 n  by means of a cable 14. By means of the present invention, the signals received at the headend 10 from each of the nodes 12 is at essentially the same level irrespective of possible differences or variations in the cable between the plurality of nodes and the headend. 
     To this end the headend 10 as schematically illustrated in FIG. 2, includes, as is per se conventional, an FSK receiver 16 and an FSK transmitter 26 both of which are connected to the cable 14. The FSK receiver has two outputs, one in the form of a binary data signal representing the data portion of a signal received at the node, and the second, a signal proportional to the level or amplitude of the received signal. The data signal is applied to a per se known frame verification logic circuit 18 the output of which is applied to one input of a NOR gate 20. The signal level output of FSK receiver 16 is applied to a window comparator 22, the output of which is applied to the inverted input of gate 20. 
     The window comparator, in the embodiment illustrated in FIG. 2, comprises a pair of operational amplifiers A1 and A2 each having a positive and a negative input. The positive input of amplifier A1 and the negative input of amplifier A2 are connected in common and to the signal level output of FSK receiver 16. The negative input of amplifier A1 is connected to a first reference voltage V1, whereas the positive input of amplifier A2 is connected to a second reference voltage V2. The outputs of amplifiers A1 and A2 are connected to the inputs of an AND gate 24, the output of which is the output of comparator 22 applied to one of the inputs of gate 20. The output of gate 20 is applied to an FSK transmitter 26, the output of which is connected to the cable 14 for transmission to the various terminals or nodes 12. 
     Each of the nodes 12 one of which is illustrated schematically in FIG. 3 includes an FSK receiver 28 having an input connected to the cable 14 and an output connected both to a per se conventional carrier sense and collision detector 30 and to a microprocessor 32. The latter is also connected for bidirectional data communication with an external device 34, which may typically be a data terminal or television receiver. 
     The microprocessor 32 sends a transmit level control signal and a transmit data signal to the input of an FSK transmitter 36, the output of which is coupled to the cable 14 for transmission to the headend. The microprocessor 32 operates in part under the control of a stored program, the essential steps of which are illustrated in the flow chart of FIG. 4, to control the operation of the node FSK transmitter 36, and more particularly to incrementally increase the amplitude of the signal transmitted by the node FSK transmitter 36 until a signal transmitted to the headend from that node transmitter is received at a sufficient level at the headend so that the headend transmits a coded signal to the node which is detected at the node FSK receiver 28. 
     As shown in FIG. 4, the program under which the microprocessor 32 controls these operations is entered at step 40 which instructs the node FSK transmitter 36 to transmit a signal at a preset minimum or lowest level, e.g., in the range of 5 dbmv. Next, at step 42, the transmitter 36 is instructed to transmit at the selected lowest level a test packet which includes data bytes indicating in binary form the originating node and the destination of the test packet. 
     A determination is then made at step 44 to determine if a test packet previously transmitted to headend from that node at a preset level has been received at that node. If the determination made at decision step 42 is that a test packet has not been received, that is, if the level of the test signal previously transmitted from that node was insufficient to cause that signal to be received at a sufficient level at the headend, the node transmitter is instructed at step 46 to increase the transmitter output level, typically by an amount in the range of 2-3 db. 
     Thereafter a determination is made at step 48 to determine if at that time the node FSK transmitter 36 is already transmitting at its maximum output level. If this determination is affirmative, an indication is provided of an error, and the particular node is then examined to locate the source of the error. If the determination is made at step 48 that the node transmitter is not transmitting at its maximum output level, the program is repeated at step 42 and the test packet is again transmitted, this time at the increased output level. 
     If the determination made at step 44 is that a test packet has been received at the node, the decision is then made at step 50 to determine if the received packet is correct, that is, if the data contained in the test packet has not been corrupted as a result of the prior transmission along the cable of the test packet from the node to the headend. 
     If the determination made at step 50 is that the received data pocket has been corrupted and is thus not &#34;correct&#34;, the program is returned to step 42 to transmit a new test packet. This procedure is repeated until a determination is made at step 50 that the received packet is correct. At this occurrence, the level of the signal transmitted from this node is sufficiently high to ensure that the level of the signal received at the headend from that node is within the prescribed equalized range of signals received from each of the nodes in the cable network, as desired. However, to ensure that the signal level from that mode will continue to be of a sufficient level to achieve such equalization, the output level of the node transmitter may be increased by a still further increment, in the range of 3-6 db, as at step 52. At this time, the transmitter-level program, as described, is exited. 
     In the operation of the equalization system of the invention, as hereinabove described, the node transmits a signal at a predetermined minimum level along the cable to the headend. The transmitted signal is in the form of a test packet containing inter alia a series of bytes identifying the node to the headend and other binary signals. The signal is received at the headend receiver 16, which, as described, produces a data signal output and a signal level output. The former is applied to the frame verification logic circuit 18, which in a known manner, verifies from the received data that the node from which that signal has been received is authorized to use, that is, transmit and receive data in the network. Upon such verification, an enabling signal is applied to one input of NOR gate 20. 
     The signal level output is applied to the window comparator 22, which compares the level against an upper limit V2 and a lower limit V1, so that when the received signal level falls within the preset signal &#34;window&#34;, that is, it is less than V2 and greater than V1, the comparator 22 produces an enabling signal to the inverted input of gate 20. When both inputs to gate 20 are at the enabling level, the output of gate 20 is placed at a level to enable the FSK transmitter 26 to retransmit the received test packet to the node from which the signal was received and analyzed at the headend to determine whether it was received at the proper level, to wit, a level that falls within the preset &#34;window&#34;. 
     If the test packet signal received at the headend from the node is at a sufficient level to cause a signal to be retransmitted to the node, as described, that signal is received at the node FSK receiver 28. The thus-received signal is detected and applied to the microprocessor 32 and to the carrier sense and collision detect circuit 30. The microprocessor 32 processes the received data signal to control the level of output of the FSK transmitter 36 in accordance with its stored control program, as described above with respect to FIG. 4. The circuit 30 operates in a per se known manner, in accordance with its algorithm implemented by firmware, to determine whether other nodes are at that time sending data along the cable network, thereby to allow only one node to operate on the network at any one time. 
     It will thus be appreciated from the foregoing description of an embodiment of the invention that signal level equalization is achieved at the headend of a multi-node data communication system in a reliable and automatic matter as desired. It will also be appreciated that although the present invention has been described hereinabove with respect to a single embodiment, it will be understood that modifications and variations may become apparent to those skilled in the art within the spirit and scope of the invention.