Abstract:
A fast learn modem comprising a transmitter for generating a fast learn preamble and applying the preamble to a communication channel and a receiver for receiving the fast learn preamble from the communication channel. The fast learn preamble includes a single impulse and the timing, phase and equalization characteristics of the receiver are adjusted in response to the single impulse so that the receiver can receive and process data.

Description:
BACKGROUND OF THE INVENTION 
     Data is often transmitted from a business machine at one location over telephone lines to a business machine at a remote location. The telephone lines characteristically introduce error to the signal being transmitted. To overcome this, the receiving station must be adaptive to the characteristics of the telephone lines. This adaptation or adjusting function is typically performed by a modem, and the modem field is now highly developed. 
     When it is desired to transmit data from a transmitting station to a receiving station, the transmitting station generally transmits a start-up sequence or preamble of known characteristics. In response to this preamble, the receiver at the receiving station must first confirm that the preamble is a signal rather than noise and then make the necessary adjustments so that the receiving station can properly receive and process the data signal. 
     It is desirable to reduce the learning time of the receiver to a minimum so that the modem can process more data in a given length of time. In a multi-point communication network comprising a master station and numerous slave stations, any reduction in the learn time is multiplied by the number of stations in the network for each poll of the network. Thus, a fast learn modem enables more efficient use of the telephone network. 
     One fast learn modem is disclosed in Motley et al U.S. Pat. No. 3,962,637. This modem utilizes a preamble which includes an unmodulated carrier portion, a modulated carrier portion and two impulses separated from each other and from the adjacent portions of the preamble by a null or zero energy portion. Although the modem of this patent functions very well and provides fast adaptation to the communication channel, for some applications, even faster learning is desired. 
     SUMMARY OF THE INVENTION 
     This invention provides a fast learn modem in which the timing, phase and equalization characteristics of the receiver can be adjusted in response to a single impulse of a fast learn preamble. Typically, each impulse of a preamble is separated from an adjacent impulse or other portion of the preamble by a null. Accordingly, the reduction from two impulses to one impulse eliminates not only the time required for the eliminated impulse, but also the time for one of the nulls. 
     A fast learn modem characteristically includes a transmitter which generates the preamble and applies it to a communication channel, such as telephone lines, and a receiver at a receiving station. The transmitted signal is in analog format, and the receiver includes an analog-to-digital converter (A/D converter), a demodulator and low-pass filter, followed by an equalizer and a data detector. 
     In a digitally implemented data modem receiver, the incoming signal is sampled at a sufficiently high rate to avoid aliasing (i.e., more than twice the highest frequency). This rate is also, generally, a multiple of the symbol or baud rate. The baud or symbol rate of present 4800 b/s modems is typically 1600 and for 9600 b/s modems is 2400. Therefore, typical sample frequencies for a 1600 baud modem would be 9600 Hz or 6 samples per baud and 7200 or 9600 Hz for a 2400 baud modem or 3 or 4 samples per baud. 
     In most digitally implemented data modems it is convenient to process the low-pass filters required for demodulating the modulated data signal at the baud rate instead of the sample rate and thus simplify the modem design and cost. 
     Ideally, the signal received by the receiver should be sampled by the A/D converter at certain known times. However, because the receiver is not initially synchronized in relation to the transmitted impulse, and because of the distortion introduced by the telephone lines, the A/D samples may be not taken at the ideal time. Any difference between the ideal instant at which the samples should be taken and the instant at which the samples are taken is regarded as sampling error. 
     Typically, to correct the sampling or timing error, the receiver adjusts the instant at which sampling occurs at the A/D converter to reduce the timing or sampling error to an acceptable magnitude. However, if the phase of the sample frequency is quickly changed appreciably, the preceding signal samples stored in the low-pass filter are no longer valid and therefore must be discarded. However, with this invention, the low-pass filter is processed at the sample rate of, typically, 9600 Hz for the reception of the impulse, and, when this is done, sufficient samples are available such that adequate coarse symbol timing can be achieved by simply selecting that set of baud samples which results in minimum timing error. This invention precludes having to change the A/D timing and the necessity of then having to discard the low-pass filter samples and transmit a second impulse, thereby appreciably lengthening the preamble. 
     The modem can insure that the coarse timing error is minimized by selecting that set of samples that contains the maximum squared impulse vector. 
     To accomplish this, the preamble, and, in particular, the impulse provided by the preamble is sampled over a predetermined interval which may extend for several bauds to provide a group of consecutive samples. The sample of the group having a predetermined vector magnitude characteristic is selected. Preferably, the predetermined vector magnitude characteristic is the maximum vector magnitude. The sample of the group having the maximum sample magnitude is selected. This selected sample is then used to provide equalizer coefficients. 
     More particularly, after the maximum sample value is selected, additional samples from the group are also selected, with the other samples of the group being nonselected samples. Each of the selected samples is separated from the next selected sample by at least one of the nonselected samples. 
     With this approach, the maximum possible baud timing error is 1/2N of a baud where N is the number of samples per baud provided by the A/D converter per baud. Accordingly, to reduce timing error, the number of samples per baud can be increased. On the other hand, increasing the number of samples per baud increases the complexity of the system. Generally, the number of samples per baud must be sufficient to reduce the coarse timing error sufficiently so that the equalizer can compensate for the remaining timing error during startup. Although two samples per baud are workable, it is preferred to have at least three samples per baud. 
     In actual practice to select the best timing, the maximum signal vector (XI(n) 2  +XQ(n) 2 ) 1/2 , using both the real and imaginary channels is used. After best coarse timing is selected the modem can be phase corrected by inserting the arc tangent of (XQ(M)/XI(M)) into the first phase correction network, where XQ(M), and XI(M) are those signals that had the maximum vector magnitude. Those other impulse samples of the same group as the maximum signal, to be used in calculating the equalizer coefficients, must also be phase corrected. 
     The invention, together with additional features and advantages thereof, may best be understood by reference to the following description taken in connection with the accompanying illustrative drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 is a single pulse fast learn preamble which can be used with this invention. 
     FIG. 2 shows a typical impulse of a 2400 baud modem at the output of the low-pass filter. 
     FIG. 3 is a block diagram of one form of modem constructed in accordance with the teachings of this invention. 
     FIG. 4 is a block diagram showing one preferred form of equalizer. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     FIG. 3 shows a modem in block diagram form which generally includes a transmitter 13 and a receiver 15 coupled to the transmitter 13 over a communication channel, such as telephone lines 17, in a well-known manner. In use, the transmitter 13, as shown in FIG. 3, may transmit data to the receiver 15, or to other receivers (not shown) which are located remotely with respect to the transmitter. Similarly, a receiver and transmitter may be associated with the transmitter 13 and receiver 15, respectively, so that the station at which the receiver 15 is located can transmit data to the station at which the transmitter 13 is located. For example, a system as shown in FIG. 1 of Motley et al U.S. Pat. No. 3,962,637 may be employed and such patent is incorporated by reference herein. 
     The transmitter 13 and the receiver 15 are both complex, and the transmitter 13 may be constructed in accordance with FIG. 2 of Motley et al U.S. Pat. No. 3,962,637. However, the transmitter 13 has a start-up sequence generator which provides the preamble of FIG. 1 rather than the preamble disclosed in the Motley et al patent. As shown in FIG. 1, the preamble includes a segment 19 provided for carrier detection, nulls 21 and 23, a modulated impulse 25 and a pseudorandom data sequence 27. The preamble need be provided in only one channel of the complex system. In the form of the preamble shown in FIG. 1, the carrier detect portion is an unmodulated carrier which may be, for example, a 1600 Hz carrier. The carrier detect portion 19 occurs between times T 0  and T 1 , and this period may have, for example, a duration of five bauds. 
     The nulls 21 and 23 of the preamble are provided to separate the impulse 25 from the carrier detect portion 19 and the pseudorandom sequence 27, respectively. As shown by way of example in FIG. 1, the impulse 25 has some lead-in intersymbol interference 29 and trailing intersymbol interference 31. During the nulls 21 and 23, the transmitter 13 sends zero energy but of course, intersymbol interference and noise may exist during these periods in the preamble received by the receiver 15. 
     As explained more fully hereinbelow, the single impulse 25 is provided for timing, phase and equalization adjustment of the receiver 15. The pseudorandom sequence 27 is a randomized data sequence which is provided for final phase correction and synchronization of the differential decoder and the derandomizer. The use of a pseudorandom sequence, such as the pseudorandom sequence 27, for the final portion of a start-up preamble to accomplish these purposes is conventional. 
     The receiver 15 receives the preamble from the telephone lines 17. The receiver 15 includes an analog filter 33 for selecting the desired passband and an automatic gain control (AGC) 35 which provides the desired signal level in accordance with known techniques. Next the analog signal is applied to an A/D converter 37 which includes a sampler to sample and digitize the analog signal at a rate, such as 9600 Hz corresponding to some multiple of the symbol or baud rate of the transmitter 13. The converter 37 is controlled in a conventional manner by a stream of clock pulses. The converter 37 responds to each of the pulses by taking a single sample of the analog signal and by expressing the sign and amplitude of the sample as a digital number. In typical prior art systems, the interval between clock pulses, i.e., sampling phase, can be adjusted to adjust the times at which the converter takes its samples. However, this invention eliminates the need for this added complexity in that the sampling phase need not be adjusted during start-up, although it may be during normal operation of the modem. 
     A power calculator 39 is coupled to the output of the converter 37 for providing carrier detection and AGC signal level calculations utilizing sequential groups of three samples of the carrier detect portion 19 from the A/D converter 37 as follows: ##EQU1## where W i  is the ith sample of the A/D converter 37 operating at 9600 samples/sec. 
     If the carrier detect portion 19 of the preamble is a sinusoidal 1600 Hz carrier, the S K  measurements made at 9600 samples per second are independent of the phase of the carrier. For carrier detection, two sequential measurements, i.e., S K  and S K+1 , should both be greater than some preset threshold. Adjustment of the AGC 35 takes place following carrier detection by making sequential S K  measurements and inserting the proper attenuators until a proper signal amplitude is received. The carrier detection and AGC adjustment functions are conventional and are a part of conventional start-up sequences for a modem as illustrated by way of example in the Motley et al patent referred to above. Carrier detection and AGC adjustment can typically be achieved in four or five bauds, and so the time between T 0  and T 1  in FIG. 1 may be, for example, five bauds. 
     A complex demodulator 41 is coupled to the output of the converter 37. The demodulator 41 noncoherently demodulates the digital signal from the converter 37 and provides signal components in an I channel and a Q channel. Demodulation can be accomplished in accordance with known techniques, such as those shown and described in Motley et al U.S. Pat. No. 3,962,637. 
     Following carrier detection and AGC adjustment, the operation of a complex digital low-pass filter 43 is initiated and this may occur, for example, at time T 1A . The demodulated signal is introduced into the filter 43 which selects the desired baseband signal from the demodulated signal. The filter 43 is conventional and may be of the type described in the Motley et al patent referred to above. The filter 43 is designed with a corresponding complex filter (not shown) in the transmitter 13 to provide an ideal impulse response. The filter 43 in conjunction with the transmit filter may provide raised cosine signaling, and the signal components at the output of the complex filter 43 are designated XI and XQ in the respective I and Q channels. 
     The filter 43 receives demodulated signal samples at the sampling rate. It is conventional practice for low-pass filters, such as the filter 43, to provide signal samples at its output at the baud rate during start-up and during normal operation of the modem. This invention departs from that conventional practice in allowing the filter 43 to operate or provide signal samples at its output at the sampling rate of the converter 37 during at least a portion of the time that the preamble of FIG. 1 is being received. Thus, for a sampling rate of 9600 samples per second and a baud rate of 2400, the filter provides 9600 samples per second at its output or 4 samples per baud. 
     The filtered signal samples, XI and XQ of the portion of the signal from T 1A  to T 2A  are stored in a complex memory 45 at the output of the filter 43. The memory 45 stores a large enough number of consecutive samples from the filter 43 to assure that the impulse 25 is adequately sampled. For example, 40 samples or 10 symbols of information may be stored in the memory 45, although these numbers are not critical. By way of example, the complex memory 45 may comprise buffer registers or random access memories (RAMs) of sufficient length to store the necessary number of samples. 
     As each sample is stored in the memory 45, a maximum sample selector 47 determines the squared vector magnitude of that sample. As is well known, the squared vector magnitude of a single sample in a complex system is determined by 
     
         (XI.sub.i).sup.2 +(XQ.sub.i).sup.2 =squared vector magnitude. 
    
     Of the squared vector magnitudes calculated by the selector 47, the largest squared vector magnitude is retained as a threshold level so that the selector 47, after determining the squared vector magnitudes of all of the samples stored in the memory 45, has selected the maximum square vector magnitude. Squared vector magnitudes are, of course, commonly calculated in modems, and the maximum squared vector magnitude can be easily ascertained in accordance with known techniques. 
     However, before selecting the sample having the maximum squared vector magnitude, it is necessary to insure that an impulse has been detected. This is also done by the maximum sample selector 47. Specifically, learning is allowed to proceed only if the squared vector magnitude of one of the signal samples in the memory 45 exceeds a predetermined threshold. 
     The samples which provide the maximum squared vector magnitude in the I and Q channels are designated HI M  and HQ M . The sample having the maximum squared vector magnitude becomes the reference sample for symbol or baud timing and its location is designated τ O  (FIG. 2). With the location HI M  and HQ M  at τ O , only those other samples located at τ O  plus or minus N.sub.τ need to be retained in the memory, where τ, in this example, is 1/2400 seconds and N is, in this example, approximately 5. In other words, in this example, every fourth sample measured from the maximum value sample is retained in the memory 45, and the remaining non-selected samples need not be further retained. 
     This is more easily explained with reference to FIG. 2 This figure depicts a typical impulse of a 2400 baud modem at the output of the low-pass filter sampled at a 9600 Hz rate. As shown by the lower abscissa in FIG. 2, the impulse response extends over plus or minus 5 bauds of the signal. For simplicity, only the real channel is shown. At the 9600 Hz rate it is easy to pick the proper timing by simply selecting that set of samples (labeled here 1, 2, 3 or 4) that has as its member that signal with the maximum value. Here it is seen to be that set of samples labeled 1. After timing selection has been made only those signals labeled 1 need to be processed. 
     The selection of the sample having the maximum squared vector magnitude establishes baud timing for the receiver 15, and it is, therefore, possible to begin processing the low-pass filter 43 at the baud rate. The low-pass filter 43 can, of course, provide signal samples at its output at a multiple of the baud rate, and it is a sample matter to, in effect, shift the low-pass filter from supplying signal samples at the sample rate to supplying signal samples at just the baud rate. As shown in FIG. 3, the maximum sample selector 47 provides a rate selector 48 with the number of the sample which has been identified as the sample having the maximum vector magnitude. The rate selector 48 performs the function of reducing the processing rate of the low-pass filter 43 from the sampling rate to the baud rate with the coarse timing phase having been identified as the maximum sample selected by the sample selector 47. The rate selector 48 responds to the maximum sample selector 47 by selecting the identified sample and ignoring the non-selected sample. Thus, the rate selector 48 performs a commutator type function. The rate selector 48 monitors the sample number at the output of the filter 43 and permits the filter 43 to operate at the sampling rate until the difference between the sample at the output of the filter 43 and the number of the selected sample is an even multiple of the separation between consecutive selected samples, i.e., 4, in the illustrative embodiment being described. This provides the low-pass filter 43 with baud timing coincident with the baud timing established by the memory 45 and the maximum sample selector 47. Thereafter, the filter 43 can provide signal samples at its output at the baud rate. 
     After baud timing has been established, the phase error can be calculated in accordance with the following: ##EQU2## To calculate phase error, the maximum magnitude samples HI M  and HQ M  are applied to a phase shift calculator 49 which determines phase error in accordance with the above equation. Following the determination of phase error, the phase shift calculator 49 also corrects the phase error of the selected samples in accordance with the following equations: 
     
         HI.sub.l &#39;=HI.sub.l COS φ-HQ.sub.l SIN φ 
    
     
         HQ.sub.l &#39;=HQ.sub.l COS φ+HI.sub.l SIN φ 
    
     where HI l  and HQ l  are the impulse sample values located at τ O  ±Nτ where typically N is 5. The phase corrected selected samples are then returned to the memory 45, and the phase error φ also is applied to a phase shift network 50 so that subsequent signals being processed by the modem will be also phase corrected. This is done in accordance with the following: 
     
         XI.sub.i &#39;=XI.sub.i COS φ-XQ.sub.i SIN φ 
    
     
         XQ.sub.i &#39;=XQ.sub.i COS φ+XI.sub.i SIN φ 
    
     where XI i  &#39; and XQ i  &#39; are the output of the phase shift network 50 in the I and Q channels, respectively, and XI i  and XQ i  are the inputs to the phase shift network 50 in the I and Q channels, respectively. 
     Following phase correction, the phase selected samples are amplitude corrected by an amplitude corrector 53 in accordance with the following: ##EQU3## where hI la  &#39; and hQ la  &#39; are the amplitude corrected samples following phase correction, HI l  &#39; and HQ l  &#39; are the phase corrected 2400 baud impulse samples, and where HI M  &#39; is the phase corrected reference sample at τ O . The amplitude and phase corrected selected samples are again returned to the memory 45 following amplitude correction. 
     The baud timing as established by the selected samples from the memory 45 contains some timing error, and in this example, the maximum possible timing error is 1/2N where N=4 or 1/8 of a baud. This timing error is small enough so that it can be compensated for with equalizer adjustments, i.e., by providing suitable equalizer coefficients to compensate for this timing error. 
     The object of any equalizer is to reduce the intersymbol interference so as to enable the receiver to make reliable data signal decisions. The selected signal samples include samples of the lead-in and trailing intersymbol interference. Accordingly, equalizer coefficients for reducing intersymbol interference can be calculated using the selected phase and amplitude corrected signal samples. 
     The equalizer coefficients are calculated in an equalizer coefficient calculator 51 which may be a high speed processor. Equalization is obtained in an equalizer 57 which may comprise both a transversal equalizer for minimizing the lead-in intersymbol interference and a decision feedback equalizer for cancelling the trailing intersymbol interference. 
     As shown in FIG. 4, the equalizer 57 includes a transversal equalizer 59 and a decision feedback equalizer 61. The transversal equalizer 59 is conventional and comprises equalizer taps in the I and Q channel designed CI and CQ, respectively, and adders 63 and 65. The signal samples in the I and Q channels XI and XQ are convolved with the equalizer taps CI and CQ as shown, with the resulting values applied to the adders 63 and 65 as shown in the I and Q channels. 
     The decision feedback equalizer 61 includes an adder 67, a detector 69 and a register 71 in the I channel, and an adder 73, detector 75 and register 77 in the Q channel. The decision feedback equalizer 61 also includes taps hI and hQ. The taps hI and hQ are estimates of the real and imaginary trailing intersymbol interference and the signal WI/I is formed by convolving the stored previously detected data symbols DI with the taps hI. The signal WI/Q is formed by convolving the same data symbols DI, with the taps hQ. Also, signals WQ/I and WQ/Q are formed by convolving the previously detected data symbols DQ with the taps hI and hQ, respectively. The adder 67 algebraically sums the signals WI/I and WQ/Q with the output of the adder 63. Similarly, the adder 73 sums signals WQ/I and WI/Q with the output of the adder 65. The detectors 69 and 75 then detect the data in the outputs from the adders 67 and 73, respectively, and provide detected data signals DI and DQ, respectively. 
     Now, a more explicit mathematical explanation of how the impulse response of the channel as stored in memory can be used to calculate the equalizer tap values is discussed. 
     If the overall impulse response in the real and imaginary, or I and Q channels, is hI l  and hQ l , respectively, where l has integer values up to ±N, where N might be typically 5, then the I channel low-pass filter output can be represented by 
     
         XI.sub.j =DI.sub.j *hI.sub.l -DQ.sub.j *hQ.sub.l 
    
     and the Q channel low-pass filter output is 
     
         XQ.sub.j =DQ.sub.j *hI.sub.l +DI.sub.j *hQ.sub.l 
    
     where DI j  and DQ j  represent the I and Q channel data symbols, respectively, and (*) represents the convolution operation, i.e., ##EQU4## If XI j  and XQ j  are the baud sample values of the received signal appearing at the outputs of the low-pass filter 43 in the receiver 15 then 
     
         YI.sub.j =XI.sub.j *CI.sub.K -XQ.sub.j *CQ.sub.K 
    
     
         YQ.sub.j =XQ.sub.j *CI.sub.K +XI.sub.j *CQ.sub.K 
    
     where CI K  and CQ K  are the real and imaginary equalizer tap values, respectively, and K has integer values and represents the location of a particular tap. If we assume, as an example, that the intersymbol interference of the overall system can be limited to the following terms 
     
         hI.sub.l →hI.sub.-2, hI.sub.-1, hI.sub.0, hI.sub.1, hI.sub.2 
    
     
         hQ.sub.l →hQ.sub.-2, hQ.sub.-1, hQ.sub.0, hQ.sub.1, hQ.sub.2 
    
     and that a three tap transversal filter is used to minimize the lead-in intersymbol interference, 
     
         CI.sub.K →CI.sub.-2, CI.sub.-1, CI.sub.0 
    
     
         CQ.sub.k →CQ.sub.-2, CQ.sub.-1, CQ.sub.0 
    
     then it is straightforward to show that simplified solutions for the transversal equalizer that minimize the majority of the intersymbol interference are as follows: 
     
         CI.sub.-1 =-hI.sub.-1 -hI.sub.1 CI.sub.-2 -hQ.sub.1 CQ.sub.-2 
    
     
         CQ.sub.-1 =hQ.sub.-1 +hQ.sub.1 CI.sub.-2 -hI.sub.1 CQ.sub.-2 
    
     
         CI.sub.-2 =-hI.sub.-2 -hI.sub.-1 CI.sub.-1 -hQ.sub.-1 CQ.sub.-1 
    
     
         CQ.sub.-2 =hQ.sub.-2 +hQ.sub.-1 CI.sub.-1 -hI.sub.-1 CQ.sub.-2 
    
     and the simplified solutions for a decision feedback equalizer are: 
     
         hI.sub.1 =hI.sub.1 -hI.sub.2 hI.sub.-1 +hQ.sub.2 hQ.sub.-1 
    
     
         hQ.sub.1 =-hQ.sub.1 +hQ.sub.2 hI.sub.-1 +hI.sub.2 hQ.sub.-1 
    
     
         hI.sub.2 =hI.sub.2 
    
     
         hQ.sub.2 =-hQ.sub.2 
    
     where it is assumed that CI 0  =1.0 and CQ 0  =0. Thus it is possible to easily calculate an approximate solution for all the equalizer tap values with the measured sample values of the intersymbol interference. 
     Following the equalizer is another phase shift network 84 followed by the data detector 81. It is typically necessary to provide a phase lock loop 83 and associated phase shift network 84 to compensate for phase errors incurred following reception of the preamble. 
     Referring to FIG. 3 the output of the phase shift network 84, Z i  may be expressed as a function of its input Y i  and the output of the phase lock loop as follows: 
     
         ZI.sub.i =YI.sub.i COS θ.sub.i -YQ.sub.i SIN θ.sub.i 
    
     
         ZQ.sub.i =YQ.sub.i COS θ.sub.i +YI.sub.i SIN θ.sub.i 
    
     where YI i  and YQ i  are equalized signals in the I and Q channels, respectively, and ZI i  and ZQ i  are the phase corrected and equalized output signals in the I and Q channels, respectively. 
     It is assumed that θ i  is averaged value of θ i . For phase modulated modems θ i  may be calculated by the following equation: 
     
         θ.sub.i =TAN.sup.-1 (ZI.sub.i DQ.sub.i -ZQ.sub.i DI.sub.i) 
    
     where ZI i  and ZQ i  are the equalized detector input signals in the I and Q channels, respectively, and DI i  and DQ i  are detected data symbols in the I and Q channels, respectively, and are the estimated values of the actual transmitted data symbols DI i  and DQ i . Both the detector 81 and the phase lock loop can be of the type commonly employed in modems. 
     With the phase, timing and equalization characteristics of the receiver being fully adjusted in response to the single impulse 25, the receiver is now prepared to receive the pseudorandom data sequence 27. This sequence is typically required to synchronize the differential decoder 85 and derandomizer 86 before customer data is received. This is the common final step in the start-up procedure. Because the transmitted pseudorandom data sequence 27 is known, and the receiver through detection of the impulse has accurate symbol timing, the receiver may use the actual transmitted data symbols DI and DQ for faster learning instead of DI and DQ for reception of the segment 27 of the preamble. However, after segment 27 and before customer data, the receiver must switch back to using the detected data symbols. 
     Although an exemplary embodiment of the invention has been shown and described, many changes, modifications and substitutions may be made by one having ordinary skill in the art without necessarily departing from the spirit and scope of this invention.