The present invention relates to signal processing, and more particularly to pulsed signal measurement and classification by a combination of rule-based and similarity-based criteria.
A common problem in radio wave receivers is differentiating the signal of interest (SOI) from other signals that may be present and close to the SOI, spatially and/or electronically. An earlier feature measurement and modulation classification system performs similar functions, but has several limitations overcome by the present invention. The earlier system is completely rule based as opposed to rule and discriminant function based. The earlier system does not include a similarity metric or statistical classification. The earlier system also has a more limited set of output modulation types.
Two broad categories of approaches used in this area are neural networks and transform-based methods. Neural networks attempt to train the classifier with a large set of signals that are indicative of those commonly encountered. An unknown signal is then classified based on the response of the trained classifier. Not only is this approach completely dependent on the quality of the training set, but there is no way to ascertain the robustness of the system through intermediate results. For example, if a signal is misclassified as a Barker coded signal, it might be valuable to know that it is at least a phase shift keyed (PSK) signal (of which Barker is one of many sub-types). A more hierarchically structured classifier might be able to furnish that information; a neural network-based classifier will not.
Another approach used in this area is a combination of filters and Fourier transforms to characterize an unknown signal modulation in terms of the order of its phase: constant, linear, quadratic, etc. However, the resulting classification will be of a general nature (e.g., “PSK” rather than “Barker”). A method using Walsh transforms to obtain radar pulse “signatures” has also been proposed, but this is applied to deinterleaving multiple simultaneous pulse trains by identifying each emitter's pulse repetition interval (PRI); the purpose is not to obtain a modulation type.
) Other work in this area that is of a more specific nature typically relates to communication, not radar, signals. While there is some overlap between these two signal classes, modulation classifiers for communication signals tend to be more statistical. Higher order statistics such as cumulants may be used to characterize the signal and compare it to a set of prototypes. Another method utilizes Hidden Markov Models to differentiate between modulation types. These approaches can take advantage of the fact that a training sequence often occurs as part of a communication protocol, or the protocol is at least well defined and readily available to the parties attempting to communicate. This is generally not the case for radar signals, which often are intercepted as part of an “uncooperative collect.”
The invention produces an estimate of the type of frequency and/or phase modulation on a pulsed signal by extracting feature information from the signal and classifying it according to a combination of rule-based and similarity-based criteria. The features include pulse duration, counter values relating to frequency and phase changes in the signal (long and short “chip counts”, respectively), phase jump amounts, phase state count, and a vector of polynomial coefficients that represent an approximation of the signal phase. The features are input to the classification algorithm, which uses two types of decisions to estimate the modulation. Rule-based decisions are made by comparing various signal features to fixed thresholds, and selecting or eliminating possible modulation types based on the result. Similarity-based decisions are made by calculating a similarity metric (the Mahalanobis distance) between the signal and a set of candidate prototype signals with various modulations, then selecting the prototype modulation with the highest degree of similarity. Classifications made using the similarity method also include a measure of confidence in the estimate, which relates the degree of similarity between the signal and the selected prototype to the degree of similarity between the signal and the other, unchosen, prototypes.
The feature measurement and modulation classification algorithm described above provides an additional parameter—modulation type—that may be used in conjunction with existing parameters to aid in differentiating the SOI from other environment signals. The modulation type may also be used to more thoroughly characterize a given SOI, even if an unambiguous track has been established.
Additional features of the invention will become apparent to those skilled in the art upon consideration of the following detailed description, accompanying drawings, and appended claims.
FIGS. 4A-G are exemplary plots of the signals passed between the components shown in
FIGS. 6A-C are diagrams depicting exemplary results of a clustering method using differing thresholds;
Feature Measurement Section 10
The classification section 12 utilizes several features measured by the feature measurement section 10, including pulse duration, long and short chip counts, phase jumps, phase state count, and a phase modulation polynomial coefficient vector. The SOI that is input to the feature measurement section 10 is preferably converted to digitized, baseband In-Phase/Quadrature (I/Q) samples and passes through a device that detects the leading edge (pulse start event) and trailing edge (pulse stop event) of the pulse, and measures the pulse duration. There are many devices known in the art for performing such functions, one being a digital channelized receiver parameter encoder. The other features of the SOI are derived from the digitized, baseband I/Q data samples of the SOI.
Chip Counts and Phase Jumps
Phase-shift keyed (PSK) and frequency-shift keyed (FSK) signals contain sub-pulse durations of constant phase or frequency known as chips. In the context of this disclosure, the term “short chip” will be used to refer to a pulse that occurs within the signal processor as a result of a constant phase chip, and the term “long chip” will be used to refer to a pulse that occurs at the same point within the signal processor as a result of a constant frequency chip. Neither “short chip” nor “long chip” necessarily refers to the duration of the actual frequency or phase chips. Both types of chips may be found by monitoring the phase of the signal when the pulse is present, and counting consecutive samples of changing phase.
In the system shown in
I/Q data samples are input to a CORDIC (COordinate Rotation DIgital Computer) 20, which is simply a hardware-efficient method of converting I/Q data into amplitude and phase. The phase output of the CORDIC connects to a frequency discriminator 22 which performs a difference operation on the input data with a programmable delay. The programmable delay is preferably set to four samples. This delay is useful because it reduces the noise and accounts for chip transitions that are not instantaneous. The output of the frequency discriminator 22 is similar to a frequency measurement, although it is not exactly frequency because the delay is not exactly equal to one. The actual discriminator output is given by φin(n)−φin(n−4)=4Tsfin(n), where Ts is the sample period and fin is the frequency of the input signal.
The output of the frequency discriminator 22 is fed to an anti-wrap circuit 24 which also has a start event input. The output of the frequency discriminator 22 will appear to have a DC bias that depends on the frequency of the input data. It may also have large spikes where phase wraps occur from +π to −π (or vice versa for a negative frequency). The anti-wrap circuit 24 first removes the carrier frequency by latching the discriminator output near the beginning of the pulse using the start event input and subtracting the latched value from the remainder of the data. A modulo operation is performed on the result to wrap the spikes back near zero. The current process is to compute two times the result, add one, perform a modulo two operation, and then subtract one. However, as those skilled in the art will recognize, this process is specific to the number system and scale factor used by the hardware; whether finite precision or floating point hardware is used, and whether modulo 2 or modulo 1 is used will depend on the binary point location.
The output of the anti-wrap circuit 24 is connected to the phase jump detector 26. An abrupt change in phase at the output of the CORDIC 20 will appear as a pulse at the output of the frequency discriminator 22. The duration of the pulse will be equal to the discriminator delay (nominally four samples). A change in frequency will result in a pulse, but the duration will be the same as the constant frequency chip duration of the input signal. The phase jump detector 26 monitors the phase from one sample to the next, and outputs a “1” if the jump level exceeds a pre-programmed phase jump threshold. Another feature that will be detailed later requires that the latest jump level be latched in the event that it is desired for additional processing. This is the reason for the short chip event input and phase jump output shown on the phase jump detector 26.
The output of the phase jump detector 26 is connected to the phase jump counter 28. The phase jump counter 28 counts the number of consecutive samples above the threshold. A sampling interval during which a sample is below the threshold will cause the phase jump counter 28 to reset.
The output of the phase jump counter 28 is connected to the chip counter 30. The chip counter 30 utilizes two separate, preprogrammed thresholds: one for short chip count, and one for long chip count, as well as start event and stop event inputs, indicating the leading and trailing edges of the pulse, respectively. As mentioned above, a phase change from a PSK signal will produce a pulse with duration equal to the delay of the frequency discriminator. The short chip count threshold is set equal to this discriminator delay, so each phase transition will cause the short chip count to increment. A frequency change from an FSK signal will cause small phase jumps that still exceed the threshold in the phase jump detector, but are not limited to the discriminator delay. Experiments have determined that eight of these jumps are sufficient to interpret the signal as having FSK modulation, so the long chip count threshold is preferably set to eight.
Phase jumps are used as a feature and also to derive the number of phase states. When a short chip is detected by the chip counter 30, a short chip event signal is sent to the phase jump detector 26 which outputs the magnitude of the phase jump.
The frequency discriminator 22 in
The output Xm of the frequency discriminator 22 is input to the anti-wrap circuit 24. The anti-wrap circuit 24 in
The output Xc of the anti-wrap circuit 24 is input to the phase jump detector 26. The phase jump detector 26 in
The output Lx of the phase jump detector 26 is input to the phase jump counter 28. The phase jump counter 28 will reset between each of the detected phase jumps in the signal Lx since they are non-consecutive threshold crossings.
The output of the phase jump counter 28 including the signal Lx, is input to the chip counter 30. The chip counter 30 has preprogrammed short chip count and long chip count thresholds, as well as staff and stop event inputs. A phase change from a PSK signal as used in this example produces a pulse with duration equal to the delay of the frequency discriminator 22. So each of the phase transitions in the signal Lx will trigger the short chip count threshold and cause the short chip count to increment. Since none of the phase transitions in the signal Lx are long enough to trigger the long chip count threshold, the long chip count will not increment. This is as expected for this example of an input signal with PSK modulation and no FSK modulation.
Phase State Count
A clustering method is used to determine the number of phase states from the phase jump measurements. As described above, when the chip counter 30 detects a short chip, it sends a signal to the phase jump detector 26 which outputs the magnitude of the phase jump that triggered the short chip detection.
The clustering method utilizes a distance threshold T related to cluster variance. The same threshold T is used for each cluster. The first point x1 is used as the center of a first cluster. Then the distance D21 from the second point x2 to the center of the first cluster is computed. If this distance is greater than the threshold T a new cluster is formed with its center at x2 . Otherwise, x2 is assigned to the first cluster and a new center for the first cluster is computed as the center of points x1 and x2 . Assuming that a second cluster is created, the next step is to compute the distance from the third point to the two cluster centers (D31 and D32). If both are greater than T then a new cluster is started at x3 . Otherwise, x3 is assigned to the nearest cluster center and the new center position is computed for that cluster. The process continues until every point has been assigned to a cluster.
This method depends heavily upon the selection of the threshold T. The threshold T may be based on the signal-to-noise ratio (SNR) of the pulse:
or just set to the minimum SNR expected. Although the data is one dimensional it is sometimes easier to conceptualize how clustering works using two dimensional data. The results of the method for various values of T are shown in FIGS. 6A-C. These figures show how the same data may be grouped into a different number of clusters depending on the threshold T. The clusters correspond to the phase levels.
Polynomial Coefficients
The feature measurement section 10 also includes a polynomial coefficient measurement method. These coefficients are found by fitting a polynomial to the phase waveform of the input SOI using the method of least squares (LS). The signal s(n) is assumed to be in the form
where a(n) represents the pulse amplitude, β(n) represents the phase, and ws(n) represents additive noise. It is further assumed that the argument, s(n), has been extracted (e.g. using a CORDIC).
b(n)=2πf0Tsn+φ(n)+φ0+wφ(n) (2)
A Kth order polynomial fit to the data sequence b(n) is sought that has the form
where n0 is the mid point of the pulse waveform (i.e., n0=Npd/2). The terms of the form
that normalize each coefficient allow the input signals to be scaled so that the final coefficients are independent of the particular pulse and chip duration. If N samples of b(n) are available, the problem can be expressed in matrix form as
Using matrix symbology
b≈Nc (5)
The LS solution for the coefficient set c that minimizes the quadratic cost function
The matrix N is referred to as the Vandermonde matrix. The phase is unwrapped for the measured values of h(n) and c is determined using Eq. (7). It has been found that a ninth-order polynomial provides a good balance between computational complexity and goodness of fit, though other order polynomials can be used.
Classification Section 12
The classification section 12 accepts the measurements from the feature measurement section 10, including phase jump levels, phase state counts, phase modulation polynomial coefficients, pulse duration, short chip count and long chip count. The classification section 12 processes the measurements of the input pulse from the feature measurement section 10 and outputs a modulation type for the input pulse and in many cases also outputs a confidence level for the selected modulation type.
The classification section 12 works on the premise that an input pulse has been reduced to a set of measured features, and that the pulse can be represented as a point in “feature space.” Feature space is a multi-dimensional coordinate system in which each dimension corresponds to and individual feature and the pulse is represented as a point in this space.
Distance Functions
The distance function method uses the idea of feature space. The first step is to group the points for each known modulation type together in feature space. Then the mean value of each group, and other useful statistics, is computed. The mean value refers to the center of the group. As new signals with unknown modulations arrive, their location in feature space is compared to the mean values of the known groups. The feature space can consist of any combination of the available measurements. The new signal is assigned the modulation type of the closest group.
A distance measurement that has been found to be good for this application is the Mahalanobis distance which statistically compares the unknown signal to the set of candidate signals. The Mahalanobis distance is given by
ds=√{square root over ((xr−xs)Rs−1(xr−xs))}T (8)
where xr is the unknown signal, xs is center for the candidate signal, and Rs is the sample covariance matrix of xs.
An example of the difference between Euclidean and Mahalanobis distance is shown in
The sample covariance matrix for a given modulation type k is given by
where Xk is the feature matrix of sample (training) data with each row corresponding to the pulse number and the columns corresponding to one or more features. The variable k represents the set of pulses of one modulation type. The sample mean of each of the features of group k is given by {circumflex over (μ)}sk.
Here, N refers to the number of training signals of a particular modulation type. This equation implies a two step process. First, known modulation types are input to the feature measurement system 10. The points in the feature space are grouped according to modulation type and the sample mean values and sample covariance matrices are computed and stored for each modulation type. Second, the features of the new pulse are measured and the Mahalanobis distance is computed to each known modulation type. In eq. (10) x is the new signal feature vector, {circumflex over (μ)}k is the sample mean of the modulation group k, and {circumflex over (R)}k is the sample covariance matrix of modulation group k.
dk=√{square root over ((x−{circumflex over (μ)}k){circumflex over (R)}k−1(x−{circumflex over (μ)}k)T (10)
This calculation is done for each modulation type k and the one with the shortest distance is the output type.
It should be noted that the mean values and sample covariance matrices (and their inverses) can be calculated beforehand and stored in memory for fast recall. This greatly reduces the computational load of performing the above calculation and can make the calculation more accurate if it is to be implemented in a fixed-precision system.
Confidence Level
The use of a minimum distance classifier makes it possible to create a confidence measure. This is done by comparing the shortest distance to the remaining distances. An ideal case would have the input right at the mean of one cluster and infinitely far away from the other clusters. This is not possible but it provides an upper bound on performance. The worst case scenario is that the incoming point is equidistant from all of the clusters.
The following measure was derived as a confidence level that also normalizes the ideal and worst cases described above to output one (highest confidence) and zero (lowest confidence), respectively.
where i is the index of the nearest cluster, d is the Mahalanobis distance, and N is the number of clusters. This equation works by giving less weight to clusters when they are far away and more weight to clusters nearby. This is a natural result of distances always being positive.
Classification Method
The classification section 12 uses a combination of rule-based and distance-based, or similarity-based, classification methods. A flow diagram of the method implemented in the classification section 12 is shown below in
At step 100, the maximum phase jump is checked. This is intended to separate phase shift keying (PSK) signals from all other types. Phase jumps are the size of the phase discontinuities of a given pulse. If the maximum phase jump magnitude for the input pulse is greater than π/2 then the signal is deemed to have PSK modulation and control is passed to step 102. This assumes that any noise on continuous pulses should not create a phase discontinuity that large, and that most PSK signals will have at least one transition that is large in order to take advantage of all the available phase states.
Step 102 checks the long chip count. Recall that step 100 only passed signals to this step with PSK modulation, and that the long chip count is incremented whenever there is a frequency shift keying (FSK) transition but not when there is a PSK transition. Therefore, this test looks for FSK modulations within PSK signals, which by definition is segmented modulation. If the long chip count is greater than 0, then the output of the classification section 12 is set to indicate that the input signal has segmented modulation. If the long chip count is not greater than 0, then control is passed to step 104.
Step 104 checks the measurement of the number of phase states to separate binary phase shift keying (BPSK) from multiple phase shift keying (MPSK) modulations. If the number of phase states is less than or equal to 2 then the pulse has BPSK modulation and control is passed to step 106, otherwise the pulse is considered to have MPSK modulation and control is passed to step 108.
Step 106 discriminates between the various types of BPSK signals using the short chip count. If the short chip count is 2, 3, 5 or 6, then the output of the classification section 12 is set to indicate that the input signal has Barker coded BPSK signal modulation. If the short chip count is 2″ or 2″−1, where n≧6, then the output of the classification section 12 is set to indicate that the input signal has Maximum Length Pseudorandom Noise (MLPRN) modulation. If the short chip count is 4, 7, 9, 10, 12, 13, 14, 16, 17, 19, 21, 22, 24, 25, 26, 27, 32, 38, 45, 60, 71, or 84, then the output of the classification section 12 is set to indicate that the input signal has Combined Barker coded BPSK modulation. If the short chip count does not fit any of these classifications, then the output of the classification section 12 is set to indicate that the input signal has “Other BPSK” modulation, which includes Polytime and Minimum Peak Sidelobes (MPS) modulations not otherwise classified.
At step 108, the Mahalanobis classifier is used to find the MPSK modulation type most similar to the input signal. The mean value vectors and sample covariance matrices for the polynomial coefficients of each of the MPSK modulation types (P1, P2, P3, P4, P(n,k), Barker PP and Frank) are preferably stored in memory. Then using Eq. (11), the Mahalanobis distance from the input signal vector to each modulation type is computed and the output of the classification section 12 is set to indicate the modulation type with the closest distance and the calculation of Eq. (12) is used to provide a confidence level for this classification.
Returning to step 100, if the maximum phase jump for the input pulse is not greater than π/2 then the signal is deemed not to be a PSK signal and control is passed to step 110. Step 110 checks whether the pulse duration is less than 0.8 microseconds (μsec). This test is performed to find unmodulated pulses. Pulses with very small pulse durations are very unlikely to have any intentional modulation on pulse, IMOP. This threshold is set so that it may not detect a large percentage of the unmodulated pulses, but this is not a problem because there is another test later to find the rest of the unmodulated pulses. If the pulse duration is less than 0.8 μsec, then the output of the classification section 12 is set to indicate that the input signal has no IMOP, otherwise control is passed to step 112.
Step 112 checks the number of phase states, but the outputs of this decision are not mutually exclusive. The intent is simply to narrow the candidate modulation types according to the number of phase states. If there are no phase states, then the candidate modulation types include any of the possible inputs (FSK, Chirp, unmodulated, etc,). If there is one phase state, then the candidate modulation types can be any of the possible inputs except unmodulated (sometimes chirps register as having one phase state). If there are two phase states, then the only candidate modulation type is FSK modulation.
Following step 112, control is passed to another Mahalanobis classifier in step 114. As was done with the Mahalanobis Classifier (108), this Mahalanobis classifier also uses the polynomial phase coefficients. The set of possible outputs from the Mahalanobis classifier comes from the results of step 112. It is only the narrowed set of candidate modulation types determined in step 112 to which the Mahalanobis distance is calculated in step 114.
There are seven possible outputs from the Mahalanobis classifier at step 114, but there may be fewer depending on the number of phase states found in step 112. For zero phase states, the possible Mahalanobis classifier outputs include unmodulated, Linear Frequency Modulated (LFM), Nonlinear Frequency Modulated (NLFM), Up/Down (U/D) LFM, U/D NLFM, linear Stepped Frequency Modulated (SFM), and Taylor Quadriphase. For exactly one phase state, the possible Mahalanobis classifier outputs include all those listed for the zero phase state case, except for unmodulated. For two or more phase states, the possible Mahalanobis classifier outputs include only linear SFM, and Taylor QP. The Mahalanobis distance from the input signal vector to each modulation type in the set of candidate modulation types determined in step 112 is computed and the modulation type with the closest distance is assigned to the input signal. A confidence level for the assigned modulation type is also computed.
When the output modulation type from step 114 is Taylor QP, then step 116 checks if the confidence level for the classification is below 0.95. If the confidence level is below 0.95, then the classification of the pulse modulation is changed to random SFM/other FSK, otherwise the classification remains Taylor QP.
When the output modulation type from step 114 is linear SFM, then step 118 checks if the confidence level for the classification is below 0.95. If the confidence level is below 0.95, then the classification of the pulse modulation is changed to random SFM/other FSK, otherwise the classification remains linear SFM.
Classification Algorithm Performance
The performance of the classifier has been quantified by an confusion matrix. This matrix has the input types as the rows and the output types as the columns. Each cell contains the number of signals classified as the modulation indicated by its column when the true modulation is indicated by its row. If the number of input types and output types are equal, the ideal matrix would be diagonal.
The feature measurement and classification system 8 has 21 input types and 20 output types. For performance evaluation, 20 signals of each input type were used. The result is a confusion matrix shown in
Notice that the heading to these confusion matrices contains a value called Pid. This number is the overall probability of correct identification. It is formulated by dividing the total number of signals that were classified correctly by the total number of signals input to the classifier. This is a simple way of expressing the effectiveness of the classifier as a single number, instead of having to display many ambiguity matrices. The results shown below use this number.
Three training methods were attempted in training this classifier. One method stored the sample covariance matrices and mean values for the training library at each signal-to-noise ratio (SNR) tested. Another method stored these values at a low SNR only (15 dB). The third method stored the values at a high SNR only (40 dB). The SNRs at which the classifier was tested were: 5, 10, 15, 20, 25, 30, 40, and 60 dB.
The graph in
Although the present invention has been described with reference to certain exemplary embodiments, it is understood that variations and modifications exist and are within the scope of the present invention.
Number | Date | Country | |
---|---|---|---|
60652872 | Feb 2005 | US |