MATRIX-BASED PATTERN PREDICTION OF SEMI-CHAOTIC SYSTEMS
20220121977 · 2022-04-21
Assignee
Inventors
Cpc classification
International classification
Abstract
A matrix-based pattern prediction system of the present disclosure is that of a multi-block matrix-based system that operates on an input signal having a time-based pattern that is semi-chaotic. The system includes a wavelet/time conversion block Mλ, which is representative of a wavelet transformation of a semi-chaotic input signal, and a memory block MP which stores the wavelet coefficients generated by Mλ in an asymmetric matrix. The system further includes a predictor block MPP, which performs a time shifted symbolic operation on the memory block MP and is, therefore representative of the time shifted wavelet (Mλ). A Pattern Output block transforms the output predictor block MPP into a time-based output that is predictive of the semi-chaotic time-based input at a future point in time. First and second variables (Cp and Cpp) are automatically generated and used to compensate low (Cp) and high (Cpp) frequency components of an input.
Claims
1. A system for predicting an output pattern based on a semi-chaotic time-based input, the system comprising: a matrix-based wavelet conversion block that receives the semi-chaotic time-based input, the matrix-based wavelet conversion block transforming the semi-chaotic input into a plurality of wavelets, each of the plurality of wavelets being associated with a coefficient, each of the coefficients being mapped to a first asymmetric matrix having first and second axes (tp, tλ); a matrix-based memory block that maps the coefficients of the first asymmetric matrix to a second asymmetric matrix having flipped first and second axes (tλ, tp); a matrix-based predictor block that maps the coefficients of the second asymmetric matrix to a third asymmetric matrix in a time-shifted configuration; and a matrix-based pattern output block that transforms the coefficients of the third asymmetric matrix into a time-based output pattern that is a predictive of the semi-chaotic time-based input at a future time.
2. The system of claim 1, wherein the coefficients of the wavelets are representative of both time and frequency.
3. The system of claim 1, wherein the matrix-based wavelet conversion block includes a symmetrical 360 degree matrix and an asymmetric matrix.
4. The system of claim 3, wherein the matrix-based wavelet conversion block scales the semi-chaotic time-based input to the size of the symmetrical 360 degree matrix.
5. The system of claim 1, wherein the mapping to the second asymmetric matrix of the matrix-based memory block is performed through use of three matrices including two 360 symmetric matrices and one zero degree matrix.
6. The system of claim 1, wherein the mapping to the third asymmetric matrix of matrix-based predictor block is performed through use of three-matrices including two 360 symmetric matrices and one zero degree matrix.
7. The system of claim 1, wherein the time-shifted configuration of the coefficients is representative of time-shifting the plurality of wavelets.
8. The system of claim 1, wherein the matrix-based memory block utilizes a first variable and the matrix-based predictor block utilizes a second variable, the first and second variables used to adjust time-shifting of the coefficients.
9. The system of claim 8, wherein the first and second variable are adjusted to maintain a minimum error between the coefficients stored in the matrix-based memory block and the coefficients stored in the matrix-based predictor block.
10. A method for predicting an output pattern based on a semi-chaotic time-based input the method comprising: transforming the semi-chaotic time-based input into a plurality of wavelets, each of the plurality of wavelets associated with a coefficient and mapping the coefficients of the plurality of wavelets to a first asymmetric matrix having a first axis (tp) and a second axis (tλ); mapping the coefficients of the plurality of wavelets to a second asymmetric matrix having a first axis (tλ) and a second axis (tp), wherein two 360° matrices and a zero degree matrix are used to effect the mapping; mapping the coefficients of the second asymmetric matrix to a third asymmetric matrix having a first axis (tp) and a second axis (tλ), wherein two 360° matrices and a zero degree matrix are used to effect the mapping in conjunction with a time-shift; and transforming the time-shifted coefficients into a time-based output pattern that is a predictive of the semi-chaotic time-based input at a future time.
11. The method of claim 10, wherein the coefficients of the wavelets are representative of both time and frequency.
12. The method of claim 10, wherein transforming the time-based semi-chaotic pattern includes scaling the time-based semi-chaotic pattern to fit a number cells contained in a predetermined two-dimensional symmetric 360° matrix and storing the scaled pattern in the predetermined two-dimensional symmetric 360° matrix.
13. The method of claim 12, wherein transforming the time-based semi-chaotic pattern additionally includes mapping the cells of the predetermined two-dimensional symmetric 360° matrix to a two-dimensional asymmetric matrix, the mapping of cells including inputting the time-based pattern to each of two axes of the two-dimensional asymmetric matrix by incrementing one of the axes by one symbol and mapping through all value time mapping of the input in the second of the axes.
14. The method of claim 10, wherein a first variable is used to effect a first time-shaft at the second asymmetric matrix and wherein a second variable is used to effect the time-shift at the third asymmetric matrix.
15. The method of claim 14, wherein the first and second variables are adjusted to maintain a minimum error between the coefficients stored in second asymmetric matrix and the coefficients stored in the third asymmetric matrix.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
DETAILED DESCRIPTION
[0021] A matrix-based pattern prediction system of the present disclosure is that of a multi-block matrix-based system that operates on an input signal having a time-based pattern that is semi-chaotic. The system includes a wavelet/time conversion block Mλ, which is representative of a wavelet transformation of a semi-chaotic input signal, and a memory block MP which stores the wavelet coefficients generated by Mλ in an asymmetric matrix. The system further includes a predictor block MPP, which performs a time shifted symbolic operation on the memory block MP and is, therefore representative of the time shifted wavelet (Mλ). A Pattern Output block transforms the output of the predictor block MPP into a time-based output that is predictive of the semi-chaotic time-based input at a future point in time. In certain embodiments, first and second variables (Cp and Cpp) are used to compensate low (Cp) and high (Cpp) frequency components of an inputted semi-chaotic pattern. More specifically, the two variables Cp and Cpp are used to compensate for frequency (time delay) components that are outside the matrix time delay (frequency) range of the matrices of the matrix-based pattern prediction system. Within the frequency domain, the matrix-based pattern prediction system can be described as a bandpass filter.
[0022] One skilled in the art will understand that the matrix-based pattern prediction system discussed herein is susceptible of embodiments in any digital system architecture. For example, the matrix-based pattern prediction system presented herein may be embodied as software or firmware stored in a non-transitory memory device and used to program a processing unit. Alternatively, the matrix-based pattern prediction system may be embodied as a set of logic gates and associated circuitry making up an application-specific integrated circuit (ASIC). Still further, the matrix-based pattern prediction system may be embodied by one or more programmable gate arrays cooperating to implement the embodiments presented herein. Any combination of the described digital system architectures may be alternatively and/or additionally used to implement the embodiments of the matrix-based pattern prediction system described herein.
[0023] Matrix-based systems are based on time. Specifically, time delays inherent in the cells of a matrix-based system with each cell having an intrinsic time delay “Tc”. The total time delay of each matrix being N*Tc=Tm, where “N” is the axis (matrix) size.
[0024] A matrix-based system such as the matrix-based pattern prediction system, when considered in the frequency domain, operates as a band pass filter and can be described as:
Tc≤Tp≤N*Tm Eq. (1) [0025] Where: [0026] Tc=time delay of each cell in a symmetrical matrix [0027] Tm=time delay of a symmetrical matrix [0028] N=matrix size [0029] Tp=is the RANGE of time delays (frequency's) inherent in the inputted pattern
[0030] Expressed in the frequency domain this becomes, when expressed as λd=1/Td:
1/λc≤1/λp≤N/λm Eq. (2) [0031] Where: [0032] λc=the range of frequency's not greater than λp [0033] λp=the range of frequency's inherent in the pattern to be predicted [0034] N/λm=the range of frequencys' not less than λp
[0035] What this implies is that if the pattern time delay is less than the time delay of a matrix cell, the cell cannot change fast enough to track that frequency component. If the pattern time delay is greater than the time delay of the matrix, it is seen as a DC component.
[0036] In further aid of better understanding of the present disclosure, a brief explanation of matrices and matrix notation is provided. The matrix-based pattern prediction system utilizes symmetric matrices, examples of which are illustrated in
[0037]
[0038] In the context of the matrix-based pattern prediction system of the present disclosure, the zero degree matrix has zero forcing action, in that the forcing action cancels itself out internally in the matrix so that a pattern passes untouched in a zero degree matrix. This zero degree matrix is used to provide an equal mapping path in the pattern prediction system, described in further detail below. The 180 degree matrix of
Cm=cos(Rm) Eq. (3) [0039] Where: [0040] Rm=rotation of the major axis of the symbolic matrix in degrees.
[0041] Accordingly, for the zero matrix, Rm=0 deg and Cm=1; for the 180 degree matrix, Rm=180 and Cm=−1; and for the 360 degree matrix, Rm=360 and Cm=1).
[0042] Referring now to
[0043]
[0044] The wavelet block 401 performs a matrix-based wavelet transform upon a time-based pattern, e.g. a semi-chaotic time-based pattern, and includes one 360 degree matrix matrix, M360 and one asymmetric matrix, Mλ. The size (e.g. the number of discrete values on each axis) of the symmetrical matrix M360 determine, in time units, both the number of time units (time units being, for example, seconds, minutes, days, years, etc.) of the input pattern and the maximum number of time units of the predicted output pattern. Mλ, while being asymmetric, consists of the same axis set as utilized in all matrices of the time-based pattern prediction system 400. The cells of matrix Mλ contain the matrix transform of the input pattern.
[0045] In the example of
[0046] Notation representative of the operation of the wavelet block 401, e.g., how the time-based input pattern is converted into matrix-based wavelet transform, is illustrated in
[0049] A referenced cell (e.g., cell D) of matrix M360 is mapped to the to the axes of matrix Mλ(tλ,tp) by the following mechanism: [0050] a. The first axis tλ in matrix Mλ cycles in the sequence 1, 2, 3, . . . to N, with N being the largest value on the axis of matrix M360. This is moving “right” and tλ describes this operation. [0051] b. The second axis tp in matrix Mλ cycles in the sequence N, N−1, N−2, . . . to 1, with 1 being the smallest values on the axis of matrix M360. This is moving “left” and tp describes this operation.
[0052] Coefficients of wavelet transforms are placed in the symbolic matrix Mλ of
[0053] A wavelet is a zero-average function that is well localized in a small period of time to highlight different aspects of the pattern. A wavelet function, known as a mother wavelet, gives rise to a family of wavelets that are translated (shifted) and dilated (stretched or compressed) versions of the original mother wavelet. As such, the input can be represented as a summation of wavelets that are fundamentally identical except for the translation and dilation factors (or coefficients). Thus, the input signal can be represented entirely by wavelet coefficients that represent both time and frequency coefficients.
[0054] Continuing with the schematic of
[0055] Referring to
[0056] There are two possible patterns that can be input to the memory block MP. These two patterns comprise cell F and cell F′. In the instant case, cell F is chosen as the pattern input to MP. When the pattern to be stored equals the matrix size, the pattern input is gated closed and the memory output (cell F′) is gated open and used as the memory input to maintain the internal pattern via a closed loop
[0057] As such, the axis A in the matrix M360(1) maps cell F or cell F′ in the sequence 1, 2, 3, . . . to N, the largest value on the axis of matrix M360(1) (axis A). This is moving “Right;” tλ describes this operation. This operation is mapped to matrix M360(1) (cell A).
[0058] The referenced cell of M360(1) (D) is mapped to the axes of the matrix Mzero (cell D).
[0059] The axis C in matrix M360(2) maps cell F or cell F′ in the sequence: N, N−1, N−2, . . . to 1, the smallest vale on the axis of matrix M360(2) (axis C). This is moving “Left;” tp describes this operation. This operation is mapped to matrix M360(2) cell C.
[0060] The reference cell of M360(2) E is mapped to the axes of matrix Mzero cell E.
[0061] The cell of matrix Mzero (D,E) cell F′ is mapped to matrices M360(1) and M360(2) to maintain the pattern in the memory block and is the input cell, cell F′ of matrix MP.
[0062] Coefficients of matrix MP of
[0063] Continuing with the schematic of
[0064] The input wavelet transform consists' of an asymmetric matrix MP, in which the cell “F′” references both axes. MP is flipped, with the flipped matrix possessing the same content as the original MP and so also designated MP. A cell in this second matrix MP is designated (cell G) to avoid confusion.
[0065] The difference between the wavelet axes (tλ, tp) used in in the matrix-based systems
[0066] The axis A in matrix M360(1) maps (cell G) in the sequence: N, N−1, N−2 . . . to 1, the smallest value on the axis of matrix M360(1) (axis A). This is moving “Left”; tp describes this operation. This operation is mapped to matrix M360(1) (cell A).
[0067] The referenced cell of M360(1) (D) is mapped to the axes of matrix Mzero (cell D).
[0068] The axis C in matrix M360(2) maps (cell G) in the sequence: 1, 2, 3 . . . to N, the largest value on the axis of matrix M360(2) (axis C). This is moving “Right”; tλ describes this operation. This operation is mapped to matrix M360(2) (cell C).
[0069] The referenced cell of M360(2) (E) is mapped to the axes of matrix Mzero (cell E).
[0070] Coefficients of matrix MPP of
[0071]
[0072] Referring once again to
[0073] The key difference between the wavelet axes (tλ, tp) used in in the matrix-based predictor block, MPP, of
[0074] This matrix-based wavelet/time transform of the Pattern Output block utilizes two MPP matrices, MPP(1) and MPP(2) and one zero degree matrix Mzero. The mapping to the axes of these matrices generates the conversion.
[0075] The input wavelet transform comprises asymmetric matrix MPP, in which the cell “G′” references both axis (tλ, tp). MPP is flipped, with the flipped matrix possessing the same content as the original MPP and so also designated MPP. The axes are also swapped to (tp, tλ).
[0076] The first matrix MPP (1) maps to axis H in matrix Mzero, in the sequence: N, N−1 . . . to 1, the smallest value on the axis of matrix MPP (1). This is moving “Left”; tp describes this operation.
[0077] The second matrix MPP (2) maps to axis J in matrix Mzero in the sequence:
[0078] 1, 2 . . . to N, the largest value on the axis of matrix MPP (2). This is moving “Right”; tλ describes this operation.
[0079] The referenced cell of Mzero (cell K) is mapped to the time axis of PatternOut starting at time t=N+1.
[0080] In certain embodiments, to improve the predictive accuracy of the matrix-based pattern prediction system of the present disclosure, two variables can be introduced into the operation of the system.
[0081] When compensating for frequencies outside the band pass range of the matrix-based pattern prediction system the following steps are taken: [0082] 1) All possible combinations of tilt (Cp) and time shift (Cpp) are generated, within a restricted range of time shift and tilt. [0083] 2) The time range was given as 300 time units for matrices of size 1023 (reference
[0090]
[0091]
[0092] It will be clear that the present invention is well adapted to attain the ends and advantages mentioned as well as those inherent therein. While a presently preferred embodiment has been described for purposes of this disclosure, various changes and modifications may be made which are well within the scope of the present invention. For example, other matrices exhibiting symmetry may be employed. Additionally, other asymmetric matrices may also be employed. Furthermore, additional learning algorithms may also be employed. Numerous other changes may be made which will readily suggest themselves to those skilled in the art and which are encompassed in the invention disclosed and as defined in the appended claims.