METHOD AND APPARATUS FOR DETERMINING A SET OF OPTIMAL COEFFICIENTS
20210075648 ยท 2021-03-11
Inventors
Cpc classification
International classification
Abstract
The disclosed systems, structures, and methods are directed to a method for determining a set of N optimal coefficients to be supplied to an equalizer, the equalizer being employed in at least one of a serializer and a deserializer, the method comprising: receiving N different parameters, searching an initial set of N coefficients on an N-dimensional performance surface, in accordance with a genetic algorithm, wherein the N-dimensional performance surface corresponds to various coefficients in the N parameters, and fine tuning the initial set of N coefficients to provide the set of N optimal coefficients, in accordance with a gradient descent algorithm.
Claims
1. A method for determining a set of N optimal coefficients to be supplied to an equalizer, the equalizer being employed in at least one of a serializer and a deserializer, the method comprising: receiving N different operational parameters, each operational parameter including a plurality of coefficients; searching an initial set of N coefficients on an N-dimensional performance surface, in accordance with a genetic algorithm, wherein the N-dimensional performance surface corresponds to various coefficients of the N operational parameters, wherein searching the initial set of N coefficients comprises: randomly selecting k sets of coefficients from the N operational parameters; selecting first top sets s.sub.1 of coefficients from N operational parameters, in accordance with a cost function; evolving second sets s.sub.2 of coefficients in accordance with the first top sets s.sub.1 of coefficients; randomly selecting other sets of coefficients in a controlled random manner and providing third sets s.sub.3 of coefficients, wherein the third sets s.sub.3 of coefficients includes the first set of coefficients Si and the second set of coefficients s.sub.2 and the other sets of coefficients; randomly selecting fourth m sets s.sub.4 of coefficients from the N operational parameters; and providing the initial set of N coefficients in accordance with the third sets s.sub.3 of coefficients and the fourth sets s.sub.4 of coefficients; and fine tuning the initial set of N coefficients to provide the set of N optimal coefficients, in accordance with a gradient descent algorithm.
2. (canceled)
3. The method of claim 1, further comprising selecting top sets s.sub.5 of coefficients from the third sets s.sub.3 of coefficients and the fourth sets s.sub.4 of coefficients, in accordance with the cost function.
4. The method of claim 3, further comprising providing the top sets s.sub.5 of coefficients in feedback for a next iteration.
5. The method of claim 4, further comprising providing the initial set of N coefficients based on a particular threshold associated with the cost function.
6. The method of claim 1, wherein the N operational parameters include at least one of a low-frequency gain, high-frequency gain, all-pass gain, mid-band frequency, mid-band resistance, squelch, resistor trim, and receiver termination.
7. The method of claim 1, wherein the sets s.sub.1 of coefficients includes top three sets.
8. The method of claim 1, wherein the cost function is a vertical eye opening.
9. The method of claim 1, wherein the second sets s.sub.2 of coefficients is evolved in accordance with a weighted mean corresponding to the first sets s.sub.1 of coefficients.
10. The method of claim 1, wherein searching the initial set of N coefficients is performed in a first mode and a second mode.
11. The method of claim 10, wherein the randomly selecting the other sets of coefficients in a controlled random manner is in accordance with a range of coefficients.
12. The method of claim 11, wherein the range of coefficients in the first mode is greater than the range of coefficients in the second mode.
13. The method of claim 10, wherein the first mode and the second mode are associated with the genetic algorithm.
14. The method of claim 10, wherein fine tuning of the initial set of N coefficients is performed in a third mode.
15. The method of claim 14, wherein the third mode is associated with the gradient descent algorithm.
16. A system for determining a set of N optimal coefficients to be supplied to an equalizer, the equalizer being employed in at least one of a serializer and a deserializer, the system comprising: a genetic algorithm module configured to receive N operational parameters, each operational parameter including a plurality of coefficients and search an initial set of N coefficients on an N-dimensional performance surface, in accordance with a genetic algorithm, wherein the N-dimensional performance surface corresponds to various coefficients of the N operational parameters, wherein the genetic algorithm module further comprises: a random children selector configured to randomly select k sets of coefficients from the N operational parameters; an evolution module configured to select first top sets s.sub.1 of coefficients in accordance with a cost function and to evolve second sets s.sub.2 of coefficients in accordance with the first top set s.sub.1 of coefficients; a controlled mutation module configured to randomly select other sets of coefficients in a controlled random manner to provide a third sets s.sub.3 of coefficients wherein the third sets s.sub.3 of coefficients includes the first set of coefficients Si and the second set of coefficients s.sub.2 and the other sets of coefficients; a random mutation module configured to randomly select fourth m sets s.sub.4 of coefficients from the N operational parameters; and a top children selector module configured to provide the initial set of N coefficients in accordance with the third sets s.sub.3 of coefficients and the fourth sets s.sub.4 of coefficients; and a gradient descent algorithm module configured to fine tune the initial set of N coefficients to provide the set of N optimal coefficients, in accordance with a gradient descent algorithm.
17. (canceled)
18. The system of claim 16, wherein the top children selector module is further configured to select top sets s.sub.5 of coefficients from the third sets s.sub.3 of coefficients and the fourth sets s.sub.4 of coefficients, in accordance with the cost function.
19. The system of claim 18, wherein the top children selector module is further configured to provide the top sets s.sub.5 of coefficients in feedback to the evolution module for a next iteration.
20. A non-transitory computer readable storage device on which is embedded computer software, the software comprising a program, the program performing a method for determining a set of N optimal coefficients to be supplied to an equalizer, the equalizer being employed in at least one of a serializer and a deserializer, the method comprising: receiving N different operational parameters, each parameter including a plurality of coefficients; searching an initial set of N coefficients on an N-dimensional performance surface, in accordance with a genetic algorithm, wherein the N-dimensional performance surface corresponds to various coefficients of the N operational parameters, wherein searching the initial set of N coefficients further comprises: randomly selecting k sets of coefficients from the N operational parameters; selecting first top sets s.sub.1 of coefficients from N operational parameters, in accordance with a cost function; evolving second sets s.sub.2 of coefficients in accordance with the first top sets s.sub.1 of coefficients; randomly selecting other sets of coefficients in a controlled random manner and providing third sets s.sub.3 of coefficients, wherein the third sets s.sub.3 of coefficients includes the first set of coefficients s.sub.1 and the second set of coefficients s.sub.2 and the other sets of coefficients; randomly selecting fourth m sets s.sub.4 of coefficients from the N operational parameters; and providing the initial set of N coefficients in accordance with the third sets s.sub.3 of coefficients and the fourth sets s.sub.4 of coefficients; and fine tuning the initial set of N coefficients to provide the set of N optimal coefficients, in accordance with a gradient descent algorithm.
21. (canceled)
22. A hybrid coefficient provider comprising: a genetic algorithm module configured to receive N operational parameters, each operational parameter including a plurality of coefficients, and search an initial set of N coefficients on an N-dimensional performance surface, in accordance with a genetic algorithm, wherein the N-dimensional performance surface corresponds to various coefficients of the N operational parameters, wherein the genetic algorithm module further comprises: a random children selector configured to randomly select k sets of coefficients from the N operational parameters; an evolution module configured to select first top sets s.sub.1 of coefficients in accordance with a cost function and to evolve second sets s.sub.2 of coefficients in accordance with the first top set s.sub.1 of coefficients; a controlled mutation module configured to randomly select other sets of coefficients in a controlled random manner to provide a third sets s.sub.3 of coefficients wherein the third sets s.sub.3 of coefficients includes the first set of coefficients s.sub.1 and the second set of coefficients s.sub.2 and the other sets of coefficients; a random mutation module configured to randomly select fourth m sets s.sub.4 of coefficients from the N operational parameters; and a top children selector module configured to provide the initial set of N coefficients in accordance with the third sets s.sub.3 of coefficients and the fourth sets s.sub.4 of coefficients; and a gradient descent algorithm module configured to fine tune the initial set of N coefficients to provide the set of N optimal coefficients, in accordance with a gradient descent algorithm.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0029] The features and advantages of the present disclosure will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039] It is to be understood that throughout the appended drawings and corresponding descriptions, like features are identified by like reference characters. Furthermore, it is also to be understood that the drawings and ensuing descriptions are intended for illustrative purposes only and that such disclosures are not intended to limit the scope of the claims.
DETAILED DESCRIPTION
[0040] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the described embodiments appertain to.
[0041]
[0042] As shown, the transmitter 120 receives M parallel data streams D.sub.tx(n) and forward the M parallel data streams D.sub.tx(n) to the serializer 102. The serializer 102 converts M parallel data streams D.sub.tx(n) into a serial data stream d.sub.tx in accordance with a clock signal as supplied by the transmitter clock generator 110. The serial data stream d.sub.tx is then supplied to the transmitter equalizer 106. The transmitter equalizer 106 provides equalization to the serial data stream d.sub.tx in order to pre-compensate for the losses may occur due to the transmitting channel 114 and extend a channel's maximum data rate.
[0043] To this end, the transmitter equalizer 106 is usually implemented as a finite impulse response (FIR) filter by using unit time delay elements, such as, flip-flops and a current steering digital-to-analog circuit (DAC) circuit. The transmitter equalizer 106 pre-distorts the serial data stream d.sub.tx over several bit periods in order to invert the channel loss/distortion in accordance with the coefficient supplied by coefficient provider 116 and the clock signal as supplied by the transmitter clock generator 110. As such, the transmitter 120 requires a back-channel for adaptation to have some information about the channel back to the transmitter from the receiver 122. In case the transmitter 120 is equipped with back-channel facility (in terms of at least one of the hardware or software), then the adaptation can be performed on the TX side.
[0044] Further, the coefficient provider 116 computes an optimum set of coefficients corresponding to various operational parameters of the communication system 100, such as, FIR tap weights (e.g. Pre-cursor weights, post-cursor weights etc.). In order to compute optimum set of coefficients, the coefficient provider 116 is based on a traditional gradient descent based algorithm. Such that, gradient descent based algorithm may be a first-order iterative optimization algorithm for finding a minimum value of a cost function. To find the minimum value of the cost function using gradient descent, the coefficient provider 116 takes steps proportional to the negative of the gradient (or approximate gradient) of the cost function at a current point.
[0045] The equalized version of the serial data stream d.sub.tx is transmitted over the channel 114 towards the receiver 122. The receiver 122 forwards the received equalized version of the serial data stream d.sub.tx to the receiver equalizer 108. The receiver equalizer 108 provides equalization to the received equalized version of serial data stream d.sub.tx in order to compensate for the losses occurred due to the transmitting channel 114
[0046] The receiver equalizer 108 may be implemented using any suitable techniques such as FIR filtering, decision feedback equalization (DFE) or continuous time linear equalization (CTLE). Usually, CTLE is preferred due to better power efficiency. The receiver equalizer 108 equalizes the received serial data stream d.sub.tx to overcome the effect of channel 114 in accordance with the coefficient supplied by the coefficient provider 118 and the clock signal as supplied by the receiver clock recovery module 112.
[0047] It will be appreciated that the coefficient provider 118 is based on a traditional gradient descent based algorithm and operates in a similar manner as that of the coefficient provider 116. In so doing, the coefficient provider 118 computes an optimum set of coefficients corresponding to various operational parameters, such as, LFG, HFG, APG, MBF, mid-band resistance (MBR), squelch (SQL), resistor trim (RTRIM), receiver termination (RXTERM) etc.
[0048] The equalized serial data stream r.sub.tx is supplied to the deserializer 104. The deserializer 104 converts the equalized serial data stream r.sub.tx into M parallel data streams D.sub.rx(n) in accordance with a clock signal as supplied by the receiver clock recovery module 112.
[0049] It is to be noted that although coefficient providers 116 and 118 are based on a traditional gradient descent based algorithm and therefore move along a performance surface in the direction of largest improvement in the cost function. However, coefficient providers 116 and 118 are extremely sensitive to the initial conditions and can easily get stuck in a local minima, failing to provide an optimal set of coefficients under a specific operating condition resulting in an additional cost in terms of various performance parameters such as power, area etc. It should also be understood that in some embodiments, coefficient providers 116 and 118 may be communicatively coupled to each other, either directly or through a controller (not shown for the purpose of simplicity).
[0050] To this end,
[0051] As shown, the hybrid coefficient provider 200 employs a genetic algorithm module 202 and a gradient descent algorithm module 204. It will be understood that other elements may be present, but are not illustrated for the purpose of tractability and simplicity.
[0052] As shown, the genetic algorithm module 202 receives N different parameters 206, such as LFG, HFG, APG, MBF, MBR, SQL, RTRIM, RXTERM etc. The genetic algorithm module 202 operates on an N-dimensional performance surface. The N-dimensional performance surface corresponds to different operational coefficients associated with the N parameters 206. In so doing, the genetic algorithm module 202 searches an initial set of N coefficients 208 on the N-dimensional performance surface, in accordance with a genetic algorithm. Further, the initial set of N coefficients 208 is supplied to the gradient descent algorithm module 204. As such, the gradient descent algorithm module 204 operates to fine tune the initial set of N coefficients 208 for the adaptation of the conventional communication system 100 over various factors such as, channel variations, voltage variation, temperature variation etc.
[0053]
[0054] The genetic algorithm module 202 operates on received N parameters to find the initial set of N coefficients 208. To this end, the genetic algorithm module 202 operates on various sets of coefficients such as, s.sub.1, s.sub.2, s.sub.3, s.sub.4 and s.sub.5 at various stages of operation of the genetic algorithm module 202, wherein each one of the sets s.sub.1, s.sub.2, s.sub.3, s.sub.4 and s.sub.5 further contain a plurality of sets of coefficients associated with the N parameters. Moreover, each set of coefficients may correspond to one possible operational setting associated with the conventional communication system 100.
[0055] With this said, the random children selector 202a randomly selects k sets of possible combinations of different coefficients associated with the N parameters 206. It will be appreciated that each one of the N parameters 206 has a plurality of operational coefficients and the combination of different operational coefficients may result in different performance of the conventional communication system 100 in terms of various factors such as bit error rate (BER), receiver eye opening, etc.
[0056] The k selected sets are then supplied to the evolution module 202b for selecting top sets s.sub.1 of coefficients in accordance with a cost function. In certain embodiments, the cost function may be any suitable performance parameter such as, for example, vertical eye opening, horizontal eye opening, BER etc. Further, the evolution module 202b may select top three sets of coefficients s.sub.1 from k sets. However, in certain embodiments any other number of sets may be selected.
[0057] With this said, the evolution module 202b further evolves new sets s.sub.2 of coefficients. The top three sets s.sub.1 of coefficients may be treated as parent sets s.sub.1 and the evolution module 202b may compute weighted mean of the parent sets s.sub.1 to evolve the new sets s.sub.2 of coefficients treated as evolved children s.sub.2. The evolved children sets s.sub.2 and parent sets s.sub.1 are forwarded to the controlled mutation module 202c for further processing.
[0058] The controlled mutation module 202c operates on the parent sets s.sub.1 and randomly selects other sets of coefficients in a controlled random manner and, the selected sets of coefficients along with the sets of coefficients s.sub.1, and s.sub.2 are represented as sets s.sub.3 of coefficients. As such, for each parent set, the controlled mutation module 202c randomly selects one or more sets of coefficients within a given range of coefficients. It will be appreciated that in certain embodiments, the range of coefficients may be supplied by a controller (not shown for the purpose of simplicity). In parallel, the random mutation module 202d select m sets s.sub.4 of possible combinations of different coefficients randomly from the N parameters 206.
[0059] Further, the controlled mutation module 202c and the random mutation module 202d supply the sets s.sub.3 of coefficients and the random sets s.sub.4 of coefficients respectively to the top children selector module 202e. The top children selector module 202e select top sets s.sub.5 of coefficients in accordance with the similar cost function as utilized by evaluation module 202b. Also, in certain embodiments, the top children selector module 202e selects top three sets s.sub.5 of coefficients from s.sub.3 and s.sub.4. The selection criteria followed by the top children selector module 202e is similar to the selection criteria followed by the evolution module 202b. However, it will be appreciated that any other number of sets s.sub.5 of coefficients s.sub.5 may be selected.
[0060] The sets s.sub.5 of coefficients acts as survivor sets of coefficients in first iteration and are then supplied back to the evolution module 202b for further iterations. To this end, the sets of coefficients s.sub.5 acts as new parent sets and the genetic algorithm module 202 performs the same operation for a few more iterations to find the initial set of N coefficients 208. Graphical representations presented below provide performance examples that may be obtained using various numbers of iterations.
[0061] In certain embodiments, the top children selector module 202e also compares the cost functions associated with the sets s.sub.3 of coefficients and sets s.sub.4 of coefficients with a certain threshold to determine if a particular set of coefficients is the initial set of N coefficients 208. Such threshold may be in terms of certain eye opening. It is to be noted that an exact value for threshold can be determined for a specific implementation of an embodiments of the present disclosure and can be set based on experimental results of the embodiments of the present disclosure.
[0062]
[0063] It is to be understood that the values of the local minima 304, and the optimal setting 306 corresponding to the first parameter and the second parameter are subject to performance of the conventional communication system 100 employing the hybrid coefficient provider 200 in terms of the cost function.
[0064]
[0065] It is to be noted that the graphical representations by
[0066] As shown in
[0067]
[0068] Further,
[0069] Based on new parents 310, evolved children 312, controlled mutations 314 random mutations 316, as shown in
[0070] Returning to
[0071] To this end,
[0072] In a similar manner,
[0073]
[0074]
[0075] As shown, the representative measurements in
[0076] The hybrid coefficient provider 200 operating under mode 0 uses the genetic algorithm module 202 being operated under a large controlled mutation range of 3. That is, the controlled mutation module 202c may randomly select one or more random children within a range of 3 coefficients. Similarly, the hybrid coefficient provider 200 operating under mode 1 uses the genetic algorithm module 202 being operated under a reduced controlled mutation range of 1. That is, the controlled mutation module 202c may randomly select one or more random children within a range of 1 coefficients. However, the hybrid coefficient provider 200 operating under mode 2 uses the gradient descent algorithm module 204 to fine tune the initial set of coefficients as supplied by the genetic algorithm module 202.
[0077] Each one of the representative measurements in
[0078]
[0079]
[0080] The number of iterations in mode 0, mode 1 and mode 2 depends on the number of parameters and their corresponding coefficients. By increasing the number of iterations is mode 0 and mode 1 may allow the hybrid coefficient provider 200 to perform a better searching on a performance surface for optimal coefficients. Hence, with increasing the number of iterations within the operational capabilities of the conventional communication system 100 employing the hybrid coefficient provider 200 may results in increasing the randomness and hence the iterations in mode 2 may be reduced to only track the variations due to supply voltages, temperature etc.
[0081] With this said, it may be observed in
[0082]
[0083] Process 500 commences at task block 502, where the hybrid coefficient provider 200 receives N different parameters. As discussed above, the hybrid coefficient provider 200 receives N different parameters 206 in order to select optimal coefficient corresponding to each one of the N different parameters 206, such parameters may include LFG, HFG, APG, MBF, MBR, SQL, RTRIM, RXTERM etc.
[0084] Process 500 proceeds at task block 504, where the genetic algorithm module 202 may be employed in the hybrid coefficient provider 200 search an initial set of N coefficients on an N-dimensional performance surface, in accordance with a genetic algorithm, wherein the N-dimensional performance surface corresponds to various coefficients in the N parameters. As noted above, the genetic algorithm module 202 operates on an N-dimensional performance surface to provide an initial set of N coefficients 208.
[0085] Finally at task block 506, where the gradient descent algorithm module 204 may be employed in the hybrid coefficient provider 200 fine tune the initial set of N coefficients to provide a set of N optimal coefficients, in accordance with a gradient descent algorithm. As described above, the gradient descent algorithm module 204 operates on the initial set of N coefficients 208. In so doing, the gradient descent algorithm module 204 keeps a track for slow varying operating conditions such as variation in supply voltage, variation in temperature etc. in accordance with a gradient descent algorithm, while providing and tuning a set of N optimal coefficients 210.
[0086]
[0087] Process 600 starts at task block 602, where the random children selector 202a randomly select k sets of coefficients corresponding to the N parameters. As noted above, where the random children selector 202a randomly select k sets of possible combinations of different coefficients from the N parameters 206.
[0088] Process 600 proceeds at task block 604, where the evolution module 202b selects top sets of coefficients in accordance with a cost function. As discussed above, the evolution module 202b selects top sets s.sub.1 of coefficients in accordance with a cost function, wherein the cost function may be any suitable performance parameter such as, for example, vertical eye opening, horizontal eye opening, BER etc. In certain embodiments, the evolution module 202b may select top sets s.sub.1 three of coefficients acting as parent sets s.sub.1. However, any other number of sets may be selected.
[0089] At task block 606, the evolution module 202b evolves new sets of coefficients. As described above, the evolution module 202b evolve new sets s.sub.2 of coefficients. In so doing, the evolution module 202b may compute weighted mean of the parent sets s.sub.1 to evolve the new sets s.sub.2 of coefficients treated as evolved children.
[0090] Process 600 advances at task block 608, where the controlled mutation module 202c randomly selects other sets of coefficients in a controlled random manner. As discussed above, the controlled mutation module 202c operates on the parent sets s.sub.1 and selects other sets of coefficients. Such that, for each parent set, one or more sets of coefficients are selected randomly within a given range of coefficients and the other sets of coefficients along with the sets of coefficients s.sub.1, and s.sub.2 are represented as new sets of coefficients s.sub.3.
[0091] Process 600 proceeds at task block 610, where the random mutation module 202d randomly selects m sets s.sub.4 of coefficients corresponding to the N parameters. As noted above, the random mutation module 202d select m sets s.sub.4 of possible combinations of different coefficients randomly from the N parameters 206.
[0092] Process 600 proceeds at task block 612, where the top children selector module 202e select top sets s.sub.5 of coefficients in accordance with the cost function. As described above, the top children selector module 202e select top sets of s.sub.5 coefficients from s.sub.3 and s.sub.4, in accordance with the similar cost function as utilized by evaluation module 202b. Further, the sets s.sub.5 of coefficients acts as survivor sets of coefficients in first iteration and are then supplied back to the evolution module 202b for further iterations.
[0093] Finally at task block 614, where the top children selector module 202e provides an initial set of N coefficients. As explained above, the sets s.sub.5 of coefficients acts as new parent sets and the genetic algorithm module 202 performs the same operation for a few more iterations to find the initial set of N coefficients 208.
[0094] It will be appreciated that the methods 500 and 600 may also be performed by computer programs, which may exist in a variety of forms both active and inactive. Such as, the computer programs may exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats. Any of the above may be embodied on a computer readable medium, which include storage devices and signals, in compressed or uncompressed form. Representative non-transitory computer readable storage devices include conventional computer system RAM (random access memory), ROM (read only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), and magnetic or optical disks or tapes. Representative computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the computer program may be configured to access, including signals downloaded through the Internet or other networks. Concrete examples of the foregoing include distribution of the programs on a CD ROM or via Internet download. In a sense, the Internet itself, as an abstract entity, is a computer readable medium. The same is true of computer networks in general.
[0095] Thus, by virtue of techniques provided by the hybrid coefficient provider 200, an optimal set of coefficients may find in such a manner that initially the genetic algorithm is used to find an initial set of coefficients in a large multi-dimensional performance surface and then tracking slow varying changes and staying in the local minima.
[0096] In this manner, using the genetic algorithm along with the gradient descent algorithm assist the hybrid coefficient provider 200 in avoiding the possibility of entirely random set of coefficients during the conventional communication system 100 in operational mode. At the same time, the hybrid coefficient provider 200 also avoids getting stuck in local minima due to initial conditions being random in nature. Thereby, the hybrid coefficient provider 200 significantly improves the performance of the conventional communication system 100 in various parameters such as BER etc.
[0097] It is to be understood that the operations and functionality of the described hybrid coefficient provider 200, constituent components, and associated processes may be achieved by any one or more of hardware-based, software-based, and firmware-based elements. Such operational alternatives do not, in any way, limit the scope of the present disclosure.
[0098] It will also be understood that, although the embodiments presented herein have been described with reference to specific features and structures, it is clear that various modifications and combinations may be made without departing from such disclosures. The specification and drawings are, accordingly, to be regarded simply as an illustration of the discussed implementations or embodiments and their principles as defined by the appended claims, and are contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present disclosure.