Manchester correlator

A system, apparatus, and related method for receiving and correlating Manchester encoded data signals includes a receiver for receiving 1090ES/ADS-B or other Manchester encoded signals. A sampler extracts and oversamples data strings from the received signals. Sample correlators compare the oversampled data strings to oversampled versions of each possible pattern for the extracted data string and determine a score indicating how closely the possible pattern (or its oversampled counterpart) matches the extracted data string (or its oversampled version) on a bitwise or symbolwise basis. The system outputs correlated and decoded data string most closely matching the extracted data string based on the set of determined scores.

TECHNICAL FIELD

The invention is generally related to decoding of encoded data and more particularly to a system and apparatus for receiving and decoding a Manchester-encoded data stream via a plurality of pattern matching pathways.

BACKGROUND

Communications standards may employ a phase encoding technique sometimes referred to as Manchester encoding. Manchester encoding is characterized by a line code in which the encoding of each individual data bit 1) always has a transition at its midpoint and 2) occupies a consistent time period from bit to bit. As a transition is ensured at least once every bit, the receiving device may easily recover clock and data. Manchester encoding has no direct current (DC) component and thus may be coupled inductively or capacitively. A typical application may require a Manchester data encoder for data transmission and a receiver on the other end for decoding the encoded transmission.

The information carried by Manchester encoded data may be indicated by the midpoint transition (low-to-high, or high-to-low). An encoded data bit may include a transition at the start of a period, but this transition does not carry data. The interpretation of the midpoint transition is not universally consistent. According to a first convention established by G. E. Thomas (which will subsequently be observed herein), a low-to high transition (also expressed as “01”) may be interpreted as a logical zero (0) and a high-to-low transition (e.g., “10”) may be interpreted as a logical one (1). The alternative IEEE 802.3 convention reverses this interpretation: the low-to-high transition 01 is interpreted as a logical 1 and the high-to-low transition 10 as a logical 0.

One exemplary communications standard may employ Manchester encoded data (MED) in the transmission of data from point to point. Automated dependent surveillance broadcast (ADS-B) signals may be one awareness tool usable by pilots as well as air traffic control (ATC) and ground personnel for each to maintain positional awareness of, and separation assurance from, the other. ADS-B Out provides ATC facilities and nearby aircraft with real-time position information. ADS-B In refers to an appropriately equipped aircraft's ability to receive and display another aircraft's ADS-B Out information as well as additional ADS-B In services provided by ground systems and ATC facilities, including Automatic Dependent Surveillance-Rebroadcast (ADS-R), Traffic Information Service-Broadcast (TIS-B), and, if so equipped, Flight Information Service-Broadcast (FIS-B).

One example of ADS-B Out may include transmission/reception via Extended Squitter (ES) at a frequency of 1090 MHz (1090ES) using Manchester encoding for data transmission. However, correlating a plurality of received Manchester encoded 1090ES signals may pose a challenge for operators. Therefore, a need remains for a system and related method capable of efficiently decoding a plurality of received signals of noisy MED and accurately correlating the data stream to the intended resultant data set.

SUMMARY

In a first aspect, embodiments of the inventive concepts disclosed herein may be directed to a system or apparatus for correlating Manchester-encoded data. The system may include a data radio for receiving 1090ES/ADS-B or other similar Manchester encoded data signals. The system may include samplers for extracting encoded data strings from the Manchester encoded data signals and oversampling the extracted data strings. The system may include a block of sample correlators, each sample correlator corresponding to a possible pattern or value of the extracted data strings. Each sample correlator may compare its unique possible pattern to the extracted data string, generating one or more scores characterizing the closeness of the match and forwarding the scores to a magnitude module. The magnitude module may determine which of the sample correlators most closely matches the extracted data string by a comparison of received scores. The system may include a position module for outputting a correlated and decoded data stream corresponding to the possible pattern of the sample correlator most closely matching the extracted data stream.

In a further aspect, embodiments of the inventive concepts disclosed herein may be directed to a method for receiving and correlating Manchester encoded data signals. The method may include receiving Manchester encoded data (MED) signals. The method may include extracting encoded data strings from the received MED signals. The method may include generating oversampled strings by oversampling the extracted data strings at a particular oversampling rate. The method may include generating oversampled patterns by oversampling each possible value of the extracted data string via a set of sample correlators. The method may include determining which possible value most closely matches the extracted data string by comparing each oversampled pattern to the oversampled string via the sample correlators and generating a match value. The method may include outputting a correlated, decoded data string corresponding to the possible value most closely matching the extracted data string.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Referring toFIG. 1, an exemplary embodiment of a system100for correlating Manchester encoded data streams according to the inventive concepts disclosed herein may include a data radio or similar receiver102, a sampler104, a correlator block106of sample correlators106a-106p, a magnitude module108, and a position module110. The system100may be embodied in an ADS-B compatible receiver incorporated aboard a manned aircraft, or embodied in a compact ADS-B receiver aboard an unmanned aircraft system (UAS). The system100may output correlated and decoded data usable by other onboard control systems (112) of the manned aircraft or UAS (e.g., to provide separation assurance between the ownship and other proximate craft, manned or unmanned, in its airspace).

The receiver102may scan (through, e.g., omnidirectional and/or directional antenna elements) one or more available frequencies for 1090ES signals or similar examples of a Manchester-encoded data (MED) stream (114). For example, the receiver102may be an ADS-B compatible receiver programmed to scan at 1090 MHz for ADS-B Out or Mode-S transponder signals transmitted by nearby aircraft. The ADS-B receiver may receive the 1090ES MED stream114at −100 dBm and an onboard display (112) may be generated for the pilot and crew based on the correlated and decoded data output. An aircraft over Oklahoma City may enhance situational awareness and separation assurance both in the short term (with respect to aircraft in its vicinity) and the long term (with respect to aircraft whose flight paths may intersect with its own flight path) by receiving encoded 1090ES data from aircraft as distant as the Dallas metroplex (160 nm from the ownship position). The resulting output data may show the position of the second aircraft on an ADS-B traffic display of the first aircraft and track the progress of the second aircraft.

As the 1090ES MED stream may be propagated through high-traffic environments, over long distances, or through variable atmospheric conditions, the MED stream may be associated with high noise levels. The system100may facilitate extraction of output data from the MED stream while separating the desired output data from received noise. In addition, correlator codes may normally display both good cross-correlation and auto correlation properties. A MED string tends to repeat along its length, and thus Manchester coding may have undesirable auto-correlation properties. However, any drawbacks in these auto-correlation properties may be kept transparent to the system100by utilizing a separate, independent correlator to examine the preamble to the incoming MED stream114and set sampling and timing for the remainder of the stream.

In some embodiments, the sampler104of the system100may sample the incoming MED stream114(Din) in equivalent segments, e.g., four encoded bits at a time. For example, the sampled MED string (114a) of four encoded bits may be associated with 24=16 (hexadecimal 0-F) possible values or patterns, e.g., data strings {0000, 0001, 0010, . . . 1110, 1111}. Only one of the 16 possible data strings may correspond to the correct output data. As previously noted, the four-bit MED string114amay be represented as an eight-symbol equivalent string wherein each encoded bit corresponds to a high-low (10) or low-high (01) transition. However, there would remain 24or 16 possible values or patterns {01 01 01 01 (0000), 01 01 01 10 (0001), . . . 10 10 10 01 (1110), 10 10 10 10 (1111)}.

The extracted four-bit MED string114amay be forwarded by the sampler104to a block of sample correlators106, each individual sample correlator106a-106pcorresponding to one of the 16 (0-F) possible patterns, or possible values, of the four-bit MED string114a(or the equivalent eight-symbol string). For example, the sample correlator106amay correspond to the first possible pattern, or Pattern 0, of the four-bit MED string114a(0000, or 01 01 01 01). Similarly, the sample correlator106pmay correspond to the last possible pattern, or Pattern F (1111, or 10 10 10 10). By comparing the four-bit MED string114ato each possible pattern, the system100may create perfect gain and extract or isolate precise patterns of desired data from the potentially noisy MED stream114. In some embodiments, the system100may sample the MED stream114in segments of other sizes, with the bank of sample correlators106corresponding to the set of possible patterns for the sample data stream.

Each sample correlator106a-106bmay individually assess how closely its assigned possible pattern matches the sampled MED string114a, and present one or more scores corresponding to this assessment to the magnitude module108. Based on the set of assessments and scores, the magnitude module108may determine which of the 16 possible patterns is the best match for the sampled MED string114aand direct the position module110to output the corresponding correlated and decoded data (Dout) as a four-bit binary data string (116) for use or display by other onboard systems112.

Referring toFIG. 2, a system100amay be implemented and may function similarly to the system100ofFIG. 1, except that the incoming (Din) MED stream114of the system100amay include raw baseband data received by the data radio102. The sampler104may oversample the incoming MED stream114by a factor of 6, at 2 Msymbols/sec (12 MHz), such that the sampled 4-bit encoded data stream (114a,FIG. 1) or equivalent 8-symbol stream corresponds to a 48-symbol oversampled string (114b). The oversampled string114bmay be passed to each sample correlator106a-106p. Each sample correlator106a-106pmay correspond to a possible pattern118a-118pfor the sampled 4-bit encoded data stream114a(0000/01 01 01 01, 0001/01 01 01 10, . . . 1111/10 10 10 10) and may generate an oversampled pattern120a-120pbased on its assigned possible pattern118a-118p. For example, the sample correlator106amay correspond to possible pattern118a(pattern 0, or 0000/01 01 01 01) which, at the 6× oversampled rate, becomes the oversampled pattern (120a):

The oversampled patterns120a-120pmay reflect 4×, 6×, 8×, or any other appropriate oversampling rate selected by the sampler104. Similarly, the sample correlator106pmay correspond to possible pattern118p(pattern F, or 1111/10 10 10 10), which at the 6× oversampled rate becomes the oversampled pattern (120p):

As noted above, there are 24or 16 possible patterns or values for the four-bit encoded MED stream114a(FIG. 1). Similarly, only 24or 16 possible oversampled patterns120a-120p(two of which, examples120aand120p, are provided above) are valid 48-symbol strings corresponding precisely to a possible pattern118a-118p. However, the 48-symbol oversampled string114bhas 248possible patterns, or over 280 trillion. For a single bit of the four-bit encoded data stream114ato be corrupted (e.g., from ‘0’ to ‘1’), 12 consecutive samples in the oversampled string114bmust be corrupted (e.g., ‘000000 111111’ to ‘111111 000000’). Accordingly, the minimum distance between valid codes, or cross-correlation (e.g., 0000/0001), would be 12 sample errors. However, still greater intermediate distances may be possible (e.g., a distance of 48 sample errors between 0000 and 1111, based on equivalent oversampled versions).

Each sample correlator106a-106pmay compare (122a-122p) the oversampled string114bwith its generated oversampled pattern (120a-120p), e.g., via 48-bit shift registers, exclusive OR (XOR) gates, or any other appropriate logical means. A summation module (124a-124p) may track the errors or matches between the oversampled string114band each oversampled pattern120a-120p, outputting the resulting scores (bitwise match values126a-126p, symbolwise match values128a-128p) to the magnitude module108.

Referring toFIG. 3, the sample correlator106eofFIG. 2may generate a bitwise match value126eand a symbolwise match value128e. For example, the sample correlator106emay correspond to the possible pattern118e(pattern 4, 0100/01 10 01 01), which at the 6× oversampled rate becomes the oversampled pattern (120e):

which the sample correlator106emay compare to the oversampled string (114b):

received from the sampler104. The summation module (124e,FIG. 2) may track each error (e.g., each bit of the oversampled string114bthat does not precisely match its counterpart bit of the oversampled pattern120e) or, in the alternative, each bit of the oversampled string114bthat matches its counterpart bit of the oversampled pattern120e. The result (e.g., 11/48 errors, 37/48 matching bits) may be forwarded to the magnitude module (108,FIG. 2) as a bitwise match value126e. The summation module124emay also match the oversampled string114bto the oversampled pattern120eon a symbol-by-symbol basis. For example, the oversampled pattern120ecorresponds to the possible pattern118efor the 4-bit encoded data stream (114a,FIG. 2) 0100, or to its eight-symbol counterpart 01 10 01 01. Accordingly, the sample correlator106emay break the 48-symbol oversampled string114binto eight groups of six symbols apiece. Each group (130) may be compared bitwise to a counterpart group (132) of the oversampled pattern120e, each counterpart group132corresponding to a single symbol of the possible pattern118e. The resulting symbolwise match value128emay be passed to the magnitude module108as an additional basis for assessing each possible pattern118a-118pas a match for the encoded data string114a. For example, only a single group (130a) may precisely match, bit for bit, its counterpart group132aof the oversampled pattern120a, resulting in a symbolwise match value128eof 1 (of a possible 8, representing a perfect match).

Referring also toFIG. 2, the bitwise match value126eand symbolwise match value128emay be forwarded to the magnitude module108, along with bitwise match values (126a-126p) and symbolwise match values (128a-128p) from each sample correlator106a-106p. Based on the set of bitwise and symbolwise match values, the magnitude module108may determine which possible pattern118a-118pprovides the closest match to the 4-bit encoded data string114aand instruct the position module110to output the corresponding correlated and decoded binary data string116.

For example, as noted above the sample correlator106emay forward to the magnitude module108a bitwise match value (126e) of 37/48 matching bits and a symbolwise match value (128e) of 1/8 matching symbols. The magnitude module108may compare the received match values126a-126p,128a-128pfrom every sample correlator106a-106pand determine that the bitwise match value126eis the highest received bitwise match value (and thus the closest match). In some embodiments, if more than one sample correlator106a-106pprovides a high bitwise match value (126a-126p), a comparison of symbolwise match values128a-128pmay be utilized to determine which sample correlator106a-106p, and which possible pattern118a-118p, best matches the encoded data string114a. The magnitude module108may determine that the sample correlator106e, and its corresponding possible pattern114e, best matches the 4-bit encoded data string114a, and instruct the position module to output (116) the corresponding correlated/decoded binary data string116(e.g., 0100) for use or display by onboard systems112.

Referring toFIG. 4, an exemplary embodiment of a method200according to the inventive concepts disclosed herein may be implemented by the system100ofFIG. 1and may include the following method steps. At a step202, the receiver102of the system100may receive one or more Manchester encoded data signals (114). For example, the receiver102may scan for and receive a 1090 MHz ES signal, a Mode-S transponder signal, or an ADS-B signal (e.g., ADS-B Out, ADS-B In, FIS-B, TIS-B).

At a step204, the sampler104of the system100may extract one or more data strings (114a) from the Manchester encoded data signal.

At a step206, the sampler104may generate an oversampled string114bby oversampling the extracted data string114aat a 6× oversampling rate (or a Px oversampling rate for some integer P). For example, if the extracted data string is an N-bit (e.g., 4-bit) encoded string corresponding to a 2N-symbol string (e.g., 8-symbol, each symbol XY representing a midpoint state transition from X to Y), the sampler104may generate a 2NP-symbol (e.g., 2*4*6=48-symbol, where 6× is the oversampling rate) oversampled string114b.

At a step208, the sample correlators106a-106p, each sample correlator corresponding to a possible pattern118a-118pof the extracted data string114a, generate oversampled patterns120a-120preflecting the same oversampling rate as the oversampled string114b. For example, each sample correlator106a-106pmay generate a 2NP-symbol oversampled pattern120a-120psimilar to the 2NP-symbol oversampled string114bby oversampling the 2N-symbol pattern at the Px oversampling rate, e.g., generating a 48-symbol oversampled pattern by repeating each of the 8 symbols 6 times.

At a step210, the sample correlators106a-106pdetermine a set of match values126a-126pby comparing their respective oversampled patterns120a-120pto the oversampled string114b. For example, each sample correlator106a-106pmay determine a bitwise match value126a-126pof at most 2NP (e.g., 48, for a 48-symbol oversampled string114b) by comparing each bit of the oversampled string114bto its corresponding oversampled pattern120a-120p. Each sample correlator may determine a symbolwise match value128a-128pby dividing the oversampled string114binto 2N groups of P symbols each (e.g., dividing the 48-symbol oversampled string into 8 groups of 6 symbols each), each group corresponding to one of the 2N symbols of the possible pattern118a-118passigned to that sample correlator106a-106p. The symbolwise match value128a-128pof at least 2N (e.g., 8, where the oversampled string114bis divided into 8 groups) may correspond to the number of groups in which each symbol of the oversampled string114bmatches its counterpart symbol of the oversampled pattern120a-120p.

At a step212, the magnitude module108determines, based on the set of bitwise and symbolwise match values126a-126pand128a-128p, which sample correlator106a-106pcorresponds to the possible pattern118a-118pmost closely matching the extracted data string114a.

At a step214, the position module110outputs the correlated and decoded data string116corresponding to the matching possible pattern118a-118pof the selected sample correlator106a-106p.