The present disclosure relates to signal processing for communication systems, and more specifically, to measuring various properties of a signal, to measuring various types of distortions, including noise, synchronization errors, timing and frequency offsets, channel errors, interference, and to correcting those errors.
The concept of correlation, in general, relates to quantifying the similarity between two signals. Correlation can be between spatial, temporal, or spectral properties of a signal.
In some embodiments, a method for performing signal detection, in which a carrier frequency offset associated with a signal is corrected, includes one of: (1) training a machine learning (ML) model associated with a receiver, based on (i) data including a plurality of different carrier frequency offset values, (ii) a matched filter, and (ii) a linear transformation matrix, to produce a trained ML model, or (2) receiving the trained ML model at the receiver and from a remote compute device. A signal is received at the receiver, the signal having an associated carrier frequency offset that is not known to the receiver at the time the signal is received. The method also includes identifying, at the receiver and using the trained ML model, the carrier frequency offset of the signal, and correcting the carrier frequency offset of the signal to identify a message encoded by the signal.
In some embodiments, a method for training a ML model to perform signal detection and to equalize channel distortion associated with a signal includes training a machine learning (ML) model associated with a receiver, based on (1) a plurality of different channel distortions, (2) a matched filter, and (3) one of a Toeplitz matrix or a circulant matrix, to produce a trained ML model. The method also includes receiving a signal at the receiver, the signal having an associated channel distortion that is not known to the receiver at the time the signal is received. The channel distortion of the signal is detected at the receiver, using the trained ML model, and the channel distortion of the signal is equalized such that a message encoded by the signal can be identified.
In some embodiments, a method for training a ML model to perform signal detection and to remove the effects of an interfering signal from a received signal includes training a machine learning (ML) model associated with a receiver, based on (1) a plurality of different time-dependent narrow-band basis vectors, and (2) a matched filter, to produce a trained ML model. A signal is received at the receiver, the signal having an associated interfering signal that is not known to the receiver at the time the signal is received. The interfering signal associated with the signal is identified, at the receiver and using the trained ML model, and the interfering signal is subtracted from the signal to identify a message encoded by the signal.
Correlations are a fundamental tool in signal processing. Broadly speaking, correlation is a measurement of how related two random variables are. In signal processing, linear, time-invariant systems are of particular interest, and as such, are often restricted to linear correlations/relationships between different data sets. The different data sets may be two different sequences (cross-correlation), or different subsets of the same data (auto-correlation). As discussed herein, the term “correlation” can refer to any of the foregoing.
Correlation can be applied in several ways during signal processing. For example, correlation can be used to identify or detect certain key portions of a signal (e.g., a beginning of a frame, an end of a frame, etc.), or to measure various types of distortions, such as carrier frequency offset, sample frequency offset, timing offset, channel distortion, etc. Often, such correlations take the form of a dot product between different components of the signal. For example, a first component of a given signal may include a first list of N samples (denoted v) and a second list of N samples (denoted w). Depending on the implementation, a first list of N samples and a second list of N samples may be from the same (i.e., a common) signal or from different signals. The correlation is proportional to the dot product , or is proportional to the conjugate of the dot product
·
refers to a conjugate transpose, and may be replaced by a ‘simple transpose’ T.
Many useful operations are carried out in the foregoing manner. It is possible, however, to generalize beyond known forms, and doing so may be beneficial, for example because systems are increasingly reliant upon machine learning algorithms for mitigating various distortions. Providing such algorithms with a larger search space, as discussed herein, can facilitate improved performance (e.g., processing/computational speed) and greater accuracy. In other words, by configuring a computer to seek optimal solutions from within a larger space of possible solutions (i.e., an increased solution space) can result in better solutions being identified for error measurement and/or error correction activities such as correcting time/frequency offsets, correcting channel distortions, noise mitigation, interference rejection, etc.
In some embodiments, the general form of the correlation ·
·I·
where the * denotes a complex conjugate. Replacing the identity matrix with a more general linear transformation changes the above expression to a transformed expression:
where the a values are elements of the linear transformation matrix.
Written a different way, the transformed expression (2) can be expressed as:
Written this way, the correlation operation/function is expressed as a quadratic form between the components of v and
More formally, a quadratic form over a field K is a map q: V→K from a finite dimensional K vector space such that q(av)=a2q(v) for all α∈K, v∈V, and such that the function q(u+v)−q(u)−q(v) is bilinear.
More concretely, an N-ary quadratic form over a field K is a homogeneous polynomial of degree 2 in N variables with coefficients in K:
Broadening the definition of correlation to this generalized quadratic form version can provide a machine learning algorithm with an improved search space over which to both estimate error parameters and find solutions. Methods set forth herein can be compatible with a variety of machine learning systems and processes, including but not limited to, probabilistic classifier algorithms (e.g., naïve Bayes classifiers), k-prototype algorithms, k-means clustering algorithms, k-mode clustering algorithms, supervised learning methods (e.g., support-vector machines), linear model generation, regression (e.g., linear regression), neural networks, decision/classification trees, nearest neighbor algorithms, particle swarm optimization (PSO), and genetic algorithms.
Consider a transmitter that transmits the following (ideal) in-phase/quadrature (I/Q) points:
(z0,z1,z2,z3,z4,z5, . . . ) (5)
Ignoring the effects of noise, multipath, and other errors, and focusing exclusively on a carrier frequency offset, the receiver will recover a signal distorted in the following way:
(eiϕz0,ei(θ+ϕ)z1,ei(2θ+ϕ)z2,ei(3θ+ϕ)z3,ei(4θ+ϕ)z4, . . . ) (6)
where θ and ϕ are values that depend on the actual value of the carrier frequency offset. More generally, it can be stated that the sample zn is distorted by a unit complex number with argument nθ+ϕ, or:
zn→ei(nθ+ϕ)zn. (7)
The foregoing distortion can be problematic, for example, when a receiver tries to detect a block using a matched filter or a local replica of the known sequence. For example, suppose that the known sequence has length N and is given by z=(z0, z1, . . . , zN-1). Typically, the receiver would correlate the received signal with the complex conjugate of this known sequence, so that when the signals are aligned, the value is:
(z*0,z*1, . . . ,z*N-1)·(z0,z1, . . . ,zN-1)=−
When the receiver is not aligned with the transmitted sequence, this correlation/dot-product will be taken with random noise, or a different sequence, and the value will in general be much smaller than |
When there is a carrier frequency offset, however, and the samples are distorted as in (7), then the correlation becomes:
The value Dθ is an N×N diagonal unitary matrix with entries einθ for n∈[0, N).) The #component does not impact the overall magnitude, and thus does not hinder the receiver's ability to detect this sequence, however the θ component does impact the overall magnitude. Note that the θ values can cause the magnitude to “curl” around back towards the origin, so that the resulting number can take any value between 0 and |
In the presence of carrier frequency offsets, attempts to correlate with the known sequence can be unsuccessful. Moreover, when training artificial intelligence (AI)/machine learning (ML) models to detect sequences, using the known sequence H and not any other variables, the AI/ML models do not have access to, and thus cannot explore, exploit, or leverage, any regions of parameter space that could detect the sequence.
According to some embodiments of the present disclosure, when training AI/ML models, an additional element can be added to the parameter space over which the AI/ML models are trying to optimize. Namely, by providing the AI/ML models with the opportunity to train on data with various carrier frequency offset values, allowing the AI/ML models to train using not only the local replica
Note that the α may be introduced to help mitigate the θ distortion above. In some embodiments, the ϕ distortion does not impact the ability of the receiver to detect/recover the signal, and thus no additional term (e.g., “β”) is introduced to mitigate the ϕ distortion discussed above. By introducing a single parameter α and building a new correlator, the AI/ML has the opportunity to learn how to use a matched filter to search for a sequence with an unknown frequency offset. In other embodiments, however, an additional term “β” may be introduced to mitigate the ϕ distortion.
Consider a machine learning model trained with the correlator defined by:
amn=δmn(eiα)m, (10)
where δmn is the Kronecker delta, amn are elements of a linear transformation matrix, and a is a free parameter that the machine learning model will seek to optimize. With appropriate training data, the form shown in (10) allows the machine learning model to detect, estimate, and correct a carrier frequency offset.
As another example, let the amn values take on a Toeplitz form or a circulant form. Such a modification can allow the machine learning algorithm to estimate and correct for channel distortion. Consider a transmitter that transmits the following (ideal) I/Q points:
Ignoring the effects of noise, multipath, and other errors, and focusing exclusively on channel/multipath distortion, the receiver will recover a signal distorted in the following way:
where * denotes linear convolution, and
If a cyclic prefix is used on blocks of the signal, then (12) becomes:
where denotes the circular convolution on the block to which the cyclic prefix was applied. This circular convolution can be applied separately to each cyclically prefixed block of the signal.
Consider again the case of a known length-N sequence (z0, z1, . . . , zN-1) that is transmitted, and a receiver that is trying to detect it using a matched filter with a local replica. If the signal has been distorted as in (12) or (13), then the correlations will be between z and
According to some embodiments of the present disclosure, when using machine learning to train, the amn values can be selected to be either a Toeplitz matrix or a circulant matrix, e.g., depending on whether or not a cyclic prefix is used. The distortion in (12) and (13) are Toeplitz and circulant, respectively, so matrices of the same form are understood to be best suited to “undo” the impairments caused by the distortion.
By implementing methods set forth herein, according to some embodiments, AI/ML can be used to effectively equalize out the distortions of linear or circular convolution(s), and the AI/ML has the flexibility to optimally detect using the local replica by exploring, exploiting, or leveraging the parameter space that would allow detection of the signal. In other words, the AI/ML has the opportunity to learn how to build a matched filter to search for a sequence with channel/multipath distortion.
As yet another example, let the amn values take the form of a linear combination of different matrices, thereby equipping the machine learning algorithm to measure and remove an interfering signal. Consider a signal transmitted with a sequence
If the receiver attempts to detect the presence of the known sequence ·s. Depending on the severity of the interferer s, this could impair the detector's ability to accurately detect and/or process the signal of the known sequence, even if detection is done perfectly.
In some embodiments, the amn values discussed above are defined as including a collection of time-dependent narrow-band basis vectors, e.g., a Shannon-Whittaker basis covering narrow band bins across the bandwidth of the signal of interest. In other words, the amn values can be promoted as follows. At each time k, a linear combination of Shannon-Whittaker basis elements is desired, for cancelling out the effects of an interferer, and thus it is desirable to allow the AI/ML to determine/learn the coefficients of the linear combination. Denoting a basis vector centered at frequency bin m as
for some coefficients αml that can be learned by the AI/ML. These coefficients can also be made time dependent, so that they become:
for every time k. In this manner, the AI/ML is given a chance to learn and effectively subtract out the distortions caused by an interfering narrowband signal.
As yet another example, the values of amn can be chosen with known prior distributions of various radar-related use-cases, thereby allowing a machine learning algorithm to more quickly and efficiently identify objects. Applications for such implementations include, but are not limited to: weather tracking, air-traffic control, navigation, and geological applications.
Generalizations described herein, according to some embodiments, can also facilitate the extraction of a signal from noise (e.g., for narrow-band internet-of-things (IoT) applications, or for nodes in a power/resource constrained environment, or where a distance between systems is initially unknown) by permitting the correlator to use a more general quadratic form to account for a variety of noise models (including potentially non-white/Gaussian noise) or other types of distortions.
In some embodiments, the quadratic form generalization makes it possible for mathematical tools developed in the context of quadratic forms to be used in signal processing. For example, the solution set to the kernel of a quadratic form is an ellipsoid, hyperboloid, or paraboloid (depending on the eigen-spectrum of the quadratic form). This geometric structure may be exploited, in some applications, to achieve improved tracking and geolocation of a transmitting device (e.g., for tracking in ultra-wideband applications where proximity knowledge is important), for example as an enabling capability for a Kalman filter.
In some embodiments, methods described herein facilitate the generalization of a correlation to a quadratic form case. In other words, correlation—whether cross-correlation, auto-correlation, or any other type of correlation—between
with or without the complex conjugate on one or both of the components of the vectors in question. In some implementations, the amn values do not form the identity matrix.
Additional details compatible with the present disclosure can be found in co-pending U.S. Patent Application Publication Number 2022/0255728, published Aug. 11, 2022 and titled “Automorphic Transformations of Real and Complex Signal Samples within a Transmitter or Receiver,” the entire content of which is herein incorporate by reference in its entirety for all purposes. For example, a system for implementing methods described herein can include a processor operably coupled to a memory storing processor-executable instructions to receive a plurality of data values, decompose or subdivide the data values into two lists or vectors
In some such implementations, the correlation is a cross correlation between different vectors from different signals. For example, a first vector can include (or be generated based on) a first subset of data values from a plurality of data values, and a second vector can include (or be generated based on) a second subset of data values from the plurality of data values. The first subset of data values may be different from, and mutually exclusive of, the second subset of data values, and the first subset of data values may be received via a first signal while the second subset of data values may be received via a second signal different from the first signal.
Alternatively or in addition, in some implementations, the correlation is an auto-correlation between different parts of the same signal. For example, a first vector can include (or be generated based on) a first subset of data values from a plurality of data values, and a second vector can include (or be generated based on) a second subset of data values from the plurality of data values. The first subset of data values may be different from, and mutually exclusive of, the second subset of data values, and both the first subset of data values and the second subset of data values may be received via a common signal.
In some embodiments, a correlation may be applied as a linear, time-invariant operation. For example, the following sequence may be computed:
where L and K are arbitrary offsets.
In some embodiments, the amn values may change with time. In other embodiments, a correlation may be applied as a continuous operation, where the correlation may be computed as:
c(v,w)=∫−∞∞a(x,y)v*(x)w(y). (18)
As discussed above, and in any embodiment described herein, the complex conjugation can be on neither, one, or both of the two arguments. Correlations of the present disclosure can also be computed as a linear time invariant quantity that depends on the time argument of v(x) and w(x).
In some implementations, the training of the ML model at 302 is performed using a correlator defined as amn=δmn(eiα)m where δmn is a Kronecker delta, amn are elements of the linear transformation matrix (which optionally is not an identity matrix), and a is a free parameter to be optimized. Alternatively or in addition, in some implementations, identifying the carrier frequency offset of the signal at 306 includes generating an estimate of the carrier frequency offset of the signal.
In some implementations, the training of the ML model at 302 is performed using a value defined as Dα·z, where Dα is defined as eiϕz·Dθ·
represents a conjugate transpose of z, Dθ is an N×N diagonal unitary matrix with entries einθ for n∈[0, N), N being an integer, and
In some implementations, the training of the ML model at 302 is performed in response to the signal being received at the receiver. Alternatively or in addition, the training of the ML model at 302 can be performed using a correlation having a quadratic form.
In some implementations, the method 400 also includes selecting the one of the Toeplitz matrix or the circulant matrix based on whether the signal includes a cyclic prefix. Alternatively or in addition, in some implementations, the matched filter is a first matched filter and the trained ML model is configured to identify a second matched filter different from the first matched filter and retraining the trained ML model based on the second matched filter (and, optionally, not based on the first matched filter).
In some implementations, the detecting the channel distortion includes performing one of cross-correlation or auto-correlation of portions of the signal. In other implementations, the detecting the channel distortion includes performing a correlation based on the signal, the correlation having a quadratic form. The quadratic form can take the following form: corr
where aij are elements of the one of the Toeplitz matrix or the circulant matrix, v*i are elements of a first component of the signal, wj are elements of a second component of the signal different from the first component of the signal, and * denotes a complex conjugate.
In some implementations, the plurality of different time-dependent narrow-band basis vectors is an element of a Shannon-Whittaker basis, and the trained ML model is configured to identify coefficients of a linear combination of elements of the Shannon-Whittaker basis. Alternatively or in addition, in some implementations, the interfering signal is a narrowband signal.
In some implementations, the identification of the interfering signal includes performing a correlation based on the signal, the correlation being a homogeneous polynomial (e.g., having a quadratic form) and not including an identity matrix. Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software (executed or stored in hardware), or in combinations of them. Implementations may be implemented as a computer program product, i.e., a computer program tangibly embodied, e.g., in a machine-readable storage device (computer-readable medium, a non-transitory computer-readable storage medium, a tangible computer-readable storage medium, etc.), for processing by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be processed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
Method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in special purpose logic circuitry.
To provide for interaction with a user, implementations may be implemented on a computer having a display device, e.g., a liquid crystal display (LCD or LED) monitor, a touchscreen display, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
Implementations may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation, or any combination of such back-end, middleware, or front-end components. Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the scope of the implementations. It should be understood that they have been presented by way of example only, not limitation, and various changes in form and details may be made. Any portion of the apparatus and/or methods described herein may be combined in any combination, except mutually exclusive combinations. The implementations described herein can include various combinations and/or sub-combinations of the functions, components and/or features of the different implementations described.
This application claims priority to and the benefit of U.S. Provisional Patent Application No. 63/252,761, filed Oct. 6, 2021 and titled “METHODS AND APPARATUS FOR SIGNAL CORRELATION USING A QUADRATIC FORM,” the contents of which are incorporated by reference herein in their entirety. This application is related to U.S. Patent Application Publication Number 2022/0255728, published Aug. 11, 2022 and titled “Automorphic Transformations of Real and Complex Signal Samples within a Transmitter or Receiver,” the disclosure of which is incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
10728081 | Sandell | Jul 2020 | B1 |
11310030 | De Hoogh et al. | Apr 2022 | B2 |
11334807 | O'Shea | May 2022 | B1 |
20040101048 | Paris | May 2004 | A1 |
20070097856 | Wang et al. | May 2007 | A1 |
20110060917 | Troncoso Pastoriza et al. | Mar 2011 | A1 |
20130216044 | Gentry et al. | Aug 2013 | A1 |
20150110269 | Ohya et al. | Apr 2015 | A1 |
20180276014 | Kliuchnikov et al. | Sep 2018 | A1 |
20180332147 | Park et al. | Nov 2018 | A1 |
20180365975 | Xu | Dec 2018 | A1 |
20220255728 | Robinson et al. | Aug 2022 | A1 |
20220382521 | Krcmaricic-Barackov et al. | Dec 2022 | A1 |
Number | Date | Country |
---|---|---|
1133097 | Sep 2001 | EP |
WO-2022173919 | Aug 2022 | WO |
Entry |
---|
International Search Report and Written Opinion for Application No. PCT/US2022/015938, mailed on May 17, 2022, 14 pages. |
Wahab, Hala B. Abdul, et al., “Using Unitary Matrices in High-speed Video Encryption”, International Journal of Computer Science and Network Security (IJCSNS) (Jun. 1, 2015); 15(6): 92-95. |
Non-Final Office Action for U.S. Appl. No. 17/668,876 dated Jun. 23, 2023, 14 pages. |
International Preliminary Report on Patentability for International Application No. PCT/US2022/015938, mailed Aug. 24, 2023, 8 pages. |
Number | Date | Country | |
---|---|---|---|
63252761 | Oct 2021 | US |