S-mode based ADS-B receiver system and implementation method thereof
By using an S-mode-based ADS-B receiver system, the blind spot problem of traditional radar surveillance systems in high-density aircraft surveillance has been solved, achieving efficient and reliable ADS-B signal reception and decoding, and improving the accuracy and safety of aircraft surveillance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 成都华日通讯技术股份有限公司
- Filing Date
- 2022-10-28
- Publication Date
- 2026-05-22
AI Technical Summary
Traditional radar surveillance systems have high requirements for the field environment, have blind spots, and cannot meet the needs of aircraft surveillance under high-density and high-capacity conditions.
An ADS-B receiver system based on S-mode is adopted, which achieves effective reception and decoding of ADS-B signals through steps such as radio frequency front-end processing, baseband digital signal processing, header detection, data bit extraction and confidence determination, and error detection and correction.
It improves the resolution and the integrity and reliability of received data for close-range aircraft, enhancing the safety of aircraft flight. In particular, it can quickly and efficiently remove interference in complex environments and under strong electromagnetic interference, ensuring an accuracy rate of over 98%.
Smart Images

Figure CN115664542B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of air traffic control technology, and in particular to an ADS-B receiver system based on mode S and its implementation method. Background Technology
[0002] With the rapid development of my country's economy, the civil aviation industry is also growing rapidly, and the aviation sector is experiencing unprecedented development. Furthermore, relevant Chinese civil aviation authorities have decided to open up airspace within 3,000 meters in the coming years, allowing more and more general aviation aircraft to enter this airspace. This rapid development of the air transport market has led to congestion at airports and along air routes, with frequent runway incursions, incidents, and environmental impacts at airports. Aviation safety and flight punctuality issues are becoming increasingly prominent.
[0003] my country's traditional air traffic control system is primarily a radar surveillance system based on primary and secondary radar systems. Radar systems are expensive, have limited coverage, and limited functionality. Automatic Dependent Surveillance-Broadcast (ADS-B) is a next-generation air traffic surveillance technology being promoted by the International Civil Aviation Organization (ICAO) that integrates state-of-the-art data communication, satellite navigation, and surveillance technologies. It can be applied to aircraft surveillance in airspace near airports and on airport surfaces, as well as air traffic navigation, surveillance, and management in high-density flight areas. It can also be used for long-range aircraft operation surveillance in radar-free areas. Moreover, compared to traditional radar surveillance technologies, the ADS-B system has advantages such as lower operating costs, smaller accuracy errors, and stronger surveillance capabilities. Summary of the Invention
[0004] To address the problems existing in the prior art, the purpose of this invention is to provide an ADS-B receiver system based on S-mode and its implementation method. This invention solves the problems that traditional radar surveillance systems have high requirements for the field environment and also have blind spots, making them unsuitable for monitoring aircraft under high-density and high-capacity conditions.
[0005] To achieve the above objectives, the technical solution adopted by the present invention is: a method for implementing an ADS-B receiver system based on S-mode, comprising the following steps:
[0006] Step 1: The ADS-B signal received from the antenna is sent to the RF front end, then other interference signals are filtered out by the bandpass filter, and finally amplified by the low noise amplifier and sent to the mixer for downconversion to intermediate frequency signal.
[0007] Step 2: Detect the intermediate frequency signal, and then sample the detected signal through an A / D conversion circuit. The ADS-B signal consists of a preamble pulse and a data field.
[0008] Step 3: Process the baseband digital signal. First, detect the ADS-B signal header to confirm the existence of the ADS-B signal. Second, extract the ADS-B signal data bits and determine their confidence level. Finally, detect the ADS-B signal data bits. If any erroneous data bits are detected, correct the errors.
[0009] Step 4: Transform the encoded data field message into a real data field message;
[0010] Step 5: Display the decoded data field message on the specific physical entity.
[0011] As a further improvement of the present invention, step 3, detecting the ADS-B signal header and determining the presence of the ADS-B signal specifically includes the following steps:
[0012] ① Valid pulse position detection: If the amplitude value of a sampling point S is greater than the threshold value, and the values of its subsequent N or more consecutive sampling points are all above the threshold value, then the position of sampling point S is considered as a valid pulse position.
[0013] ② Rising edge detection: If a sampling point is a valid pulse position and there is a real ramp between it and the previous sampling point, and the amplitude difference between it and the next sampling point is less than the real ramp, then this sampling point can be identified as a rising edge.
[0014] ③ Header pulse detection: When multiple pulses with pattern S header time intervals are detected, header detection begins. The detection criteria are: multiple pulses have timing sequence, the number of rising edges is ≥2, and the rest are valid pulse positions.
[0015] ④ Calculate the reference power value;
[0016] ⑤ Power Consistency Test: Further confirm the ADS-B message header. If the difference between the power values of each pulse in the message header is greater than a certain threshold, then this ADS-B message pulse is contaminated by noise. The header is discarded and the next header is reprocessed.
[0017] ⑥ Further confirm the reliability of ADS-B messages through DF authentication, where DF is the first X bits of the data field in the ADS-B message;
[0018] ⑦ Re-trigger: After detecting an ADS-B message header, the header detection process continues to search for subsequent ADS-B message headers. When overlapping headers are detected, their reference power value is compared with the reference power value of the signal being processed. If the former is higher than the latter by a certain amplitude, the signal being processed is discarded and the newly detected signal is started. Otherwise, the newly detected header is discarded and the current signal is continued to be processed.
[0019] As a further improvement of the present invention, in step ④, the method for calculating the reference power value specifically includes the following steps:
[0020] i. Determine the sampling points required to calculate the reference power value: First, select the set of sampling points that match the timing of the ADS-B message header from multiple preamble pulse sampling points; Second, for pulses that match the timing of the header, select M sampling points after the rising edge of the pulse. The selected set of sampling points is Si = si (i = 1, 2, ..., 3N, N = 2, 3, 4).
[0021] ii. For each sampling point si (i = 1, 2, ..., 3N, N = 2, 3, 4) in the sampling point set, find the number of sampling points ci (i = 1, 2, ..., 3N, N = 2, 3, 4) within a certain swing amplitude. Then, find a maximum value Cmax from ci (i = 1, 2, ..., 3N, N = 2, 3, 4). If Cmax is unique, then the value of the sampling point si that generates Cmax is used as the reference power value of the message header.
[0022] As a further improvement of the present invention, in step ii, if two or more sampling points have the same Cmax value, it is assumed that the set of sampling points that generate the Cmax value is Smax = sm (m∈i, =1,2,…,3N,N =2,3,4); the minimum value point sj is found from the set Smax, and then points with a swing amplitude greater than sj are removed from Smax. Finally, the average value of the remaining points in the set is calculated, and the average value is used as the reference power value of the message header.
[0023] As a further improvement of the present invention, step ⑥ specifically includes the following steps:
[0024] I. In the first 5 bits of the ADS-B message data field, each bit is represented by two chips for a certain period of time. For a sampling point of a chip, if there is a valid pulse position within its rising edge or within ±1 sampling point time, it is considered that a data pulse has been detected. After a valid pulse position is detected, proceed to the next step; otherwise, discard.
[0025] II. Using the three sampling points after each valid pulse position, calculate the average value of the sampling points used for each code, and then compare the obtained average value with the reference power value. The comparison method is as follows: if there is an average value of three codes that is equal to or greater than ±3dB of the reference power value, then the detection message passes DF authentication; otherwise, the detection message is discarded.
[0026] As a further improvement of the present invention, in step 3, the ADS-B signal data bits are extracted and their confidence is determined in the time domain, that is, the shape analysis of the ADS-B digital information is performed to obtain its code bits and code position confidence. The algorithm used is the amplitude comparison method, which uses the relationship between the information of 10 sampling points of each data bit and the reference power value obtained in the header detection to determine the data bits and their confidence. Specifically, it includes the following steps:
[0027] 1) Assume that the 10 sample points of each bit are represented by s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, and that the two chips of each bit are represented by chip1 and chip0. Chip1 contains the first five sample points of the bit, denoted as S. chip1 =s0,s1,s2,s3,s4, CHIP0 contains the last five sample points of the bits, denoted as S. chip0 =s5,s6,s7,s8,s9;
[0028] 2) For each bit's 10 sampling points, sequentially calculate the set of points whose amplitude values are within ±3dB of the reference power value. Points in CHIP1 are denoted as CHIP1_A, and points in CHIP0 are denoted as CHIP0_A. The formula is as follows:
[0029] CHIP1_A=s i ,|s i -power_ref|≤3dB,s i ∈S chip1
[0030] CHIP0_A=s i ,|s i -power_ref|≤3dB,s i ∈S chip0
[0031] 3) For the same set of sampling points, find the set of points whose amplitude values are more than 6 dB smaller than the reference power value. The midpoint of CHIP1 is denoted as CHIP1_B, and the midpoint of CHIP0 is denoted as CHIP0_B. This can be expressed by the formula:
[0032] CHIP1_B=s i ,power_ref-s i >6dB, s i ∈S chip1
[0033] CHIP0_B=s i ,power_ref-s i >6dB,s i∈S chip0
[0034] 4) Perform a weighted operation on the points in the four sets CHIP1_A, CHIP0_A, CHIP1_B, and CHIP0_B, where the weight of s0, s4, s5, and s9 is 1, and the weight of s1, s2, s3, s6, s7, and s8 is 2.
[0035] 5) Calculate the probability values of the code being 0 or 1, and denote them as score0 and score1 respectively:
[0036] score1=w_chip1_A-w_chip0_A+w_chip0_B-w_chip1_B
[0037] score0=w_chip0_A-w_chip1_A+w_chip1_B-w_chip0_B
[0038] 6) Inferring the value of each bit and the confidence level: Bit inference: Compare the values of score0 and score1. If score1 is greater than score0, the value of the bit is '1'; otherwise, the value of the bit is '0'. When the two are equal, the value of the bit is '0'. Bit confidence inference: If the difference between the values of score0 and score1 is greater than or equal to 3, the value of the bit is inferred to have a high confidence level, recorded as '1'; otherwise, it has a low confidence level, recorded as '0'. In this way, the value of each data bit of the ADS-B signal and the corresponding confidence level information are obtained.
[0039] As a further improvement of the present invention, in step 3, the ADS-B signal data bits are detected. If an erroneous data bit is detected, the error correction includes: firstly, using a CRC check circuit to perform error detection processing; if an error is detected, then based on the data position confidence determination result combined with the CRC check result, the erroneous data bit is identified, and then a certain error correction technique is used to correct the error; specifically, the following steps are included:
[0040] a. Each data bit is processed by a CRC check circuit and a modulo-2 network to obtain an error corrector. If the error corrector is 0, it means that the ADS-B message has no error; otherwise, proceed to the next step.
[0041] b. Identify all low-confidence data bits and count their number. If the number of low-confidence data bits exceeds a certain threshold, discard the ADS-B message; otherwise, proceed to the next step.
[0042] c. Try to combine all the bit corrections corresponding to the low confidence data bits. The bit correction is the remainder after the binary digital stream with a certain bit being 1 and the other bits being 0 passes through the CRC check circuit. Find the combination that matches the error correction and then invert the low confidence data bits corresponding to this combination correction to complete the error correction.
[0043] As a further improvement of the present invention, step 4 specifically includes the following steps:
[0044] A. First, allocate memory space to store the ADS-B data output by the error detection and correction module, and determine whether its data format meets the requirements. If it does, extract the ICAO value from the ADS-B message, process and convert it into a format that meets the requirements of ASTERIX010, and store it.
[0045] B. Extract the message format TYPE value to determine the ADS-B message type, and process each type of message according to the TYPE value;
[0046] C. Decoding Aerial Position Messages: First, extract altitude information, process and convert it into a data format conforming to the ASTERIX 010 standard, and store it. Next, extract the Compact Position Report (CPR) format and latitude / longitude information, and determine the parity of the information based on the CPR format. Then, extract latitude / longitude information from the same source for one-to-one parity and one-to-even information, perform decoding calculations, and determine whether the longitude region values (NL) of the parity and even latitude / longitude information are equal. If they are not equal, wait until they are equal. Finally, perform polar coordinate transformation on the equal NL latitude / longitude information, and convert it into a data format conforming to the ASTERIX 010 standard for storage.
[0047] D. Decoding of aircraft status and ID information: Extract the aircraft ID information, use a compact coding algorithm for decoding, convert the processing result into a data format that conforms to the ASTERIX010 standard and store it;
[0048] E. Decoding of air speed information, specifically including:
[0049] E1. Extract the navigation accuracy value (NAC), convert it into a data format conforming to the ASTERIX 010 standard, and store it.
[0050] E2, Subtype for extracting airborne information;
[0051] E3. Calculate speed and heading based on the subtype value, convert the result into a data format conforming to the ASTERIX010 standard, and store it.
[0052] F. Determine if the ASTERIX data frame is fully filled. If it is, then send it.
[0053] As a further improvement of the present invention, in step 4, the subfields of the data domain message include type, altitude, longitude, latitude and speed.
[0054] The present invention also provides an ADS-B receiver system based on mode S, comprising:
[0055] The antenna and L-band receiving module are used to send the ADS-B signal received from the antenna to the radio frequency front end, then filter out other interference signals through a bandpass filter, and finally amplify it through a low-noise amplifier before sending it to the mixer for down-conversion to an intermediate frequency signal.
[0056] The intermediate frequency detection and A / D conversion circuit module is used to detect the intermediate frequency signal and then sample the detected signal through the A / D conversion circuit.
[0057] The baseband digital signal processing module specifically includes an ADS-B message header detection module, a data bit pickup and confidence analysis module, and an error detection and correction module. The ADS-B message header detection module detects the ADS-B signal header to determine the existence of the ADS-B signal. The data bit pickup and confidence analysis module extracts the ADS-B signal data bits and performs confidence assessment on them. The error detection and correction module detects the ADS-B signal data bits and corrects any erroneous data bits detected.
[0058] The ADS-B message decoding and processing module is used to transform encoded data field messages into real data field messages;
[0059] The message display processing module is used to display the decoded navigation messages on specific physical entities.
[0060] The beneficial effects of this invention are:
[0061] This invention can effectively improve the resolution of aircraft at close range, ensure higher integrity and reliability of received data, and enhance the safety of aircraft flight. More importantly, the system can be effectively used in remote or mountainous areas where radar coverage is limited or restricted. Using the method described in this invention, under complex environments and strong electromagnetic interference, and when the signals transmitted by multiple ADS-B systems overlap, this ADS-B receiver system can quickly and efficiently remove interference, retain valid pulses, and correctly receive ADS-B information, ensuring an accuracy rate of over 98%. Attached Figure Description
[0062] Figure 1 This is a diagram of the ADS-B signal format in an embodiment of the present invention;
[0063] Figure 2 This is a flowchart of the signal processing of the header detection module in an embodiment of the present invention;
[0064] Figure 3 This is a multi-point sampling diagram of the ADS-B signal amplitude in an embodiment of the present invention;
[0065] Figure 4 This is a flowchart of the signal processing of the error detection and correction module in an embodiment of the present invention;
[0066] Figure 5 This is a CRC check circuit diagram in an embodiment of the present invention;
[0067] Figure 6 This is a diagram showing the DF information identification in the ADS-B message in this embodiment of the invention.
[0068] Figure 7 This is a diagram illustrating the ADS-B sub-information processing in an embodiment of the present invention.
[0069] Figure 8 This is a flowchart of the air location message extraction process in an embodiment of the present invention;
[0070] Figure 9 This is a flowchart illustrating the air speed information extraction process in an embodiment of the present invention.
[0071] Figure 10 This is a flowchart of the terminal display process in an embodiment of the present invention. Detailed Implementation
[0072] The embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0073] Example
[0074] An ADS-B receiver system based on a 1090MHz ES data link in mode S, the system mainly includes the following functional modules:
[0075] (1) Antenna and L-band receiving module:
[0076] The function of this module is to receive ADS-B signals over the air (1090MHz S-mode response information) and output ADS-B video signals.
[0077] (2) Intermediate frequency detector and A / D conversion circuit module:
[0078] The module first detects the intermediate frequency signal, and then samples the detected signal through a 14-bit A / D conversion circuit.
[0079] (3) Baseband digital signal processing module:
[0080] The signal processing flow of this module is as follows: First, detect the ADS-B signal header to determine the existence of the ADS-B signal; second, extract the ADS-B signal data bits and determine their confidence level; finally, detect the ADS-B signal data bits, and if any erroneous data bits are detected, correct the errors.
[0081] (4) ADS-B message decoding and processing module:
[0082] The ADS-B message framework is fixed, and different message types are distinguished by the content of the data fields. The data fields contain many subfields, such as type, altitude, longitude, latitude, and speed. The message decoding module transforms the encoded data field messages into actual altitude, longitude, latitude, and speed information.
[0083] (5) Message display processing module:
[0084] This module primarily displays the decoded navigation messages on specific physical entities, such as PC monitors or large screens, so that air traffic controllers can monitor the target aircraft.
[0085] This embodiment also provides a method for implementing an ADS-B receiver system based on S-mode, including the following seven signal processing modules: antenna and L-band receiving module, intermediate frequency detection circuit and A / D conversion circuit module, ADS-B message header detection module, data bit pickup and confidence analysis module, error detection and correction module, ADS-B message decoding module, and message display processing module. The specific signal processing flow of each module is as follows:
[0086] (1) Antenna and L-band receiving module:
[0087] The ADS-B signal received from the antenna enters the RF front end, then passes through a bandpass filter to filter out other interference signals, and is finally amplified by a low-noise amplifier before being sent to a mixer for down-conversion to an intermediate frequency signal.
[0088] (2) Intermediate frequency detector circuit and A / D conversion circuit module:
[0089] The ADS-B signal format output after the intermediate frequency signal passes through the intermediate frequency detection circuit and the A / D conversion circuit is as follows: Figure 1As shown, the ADS-B signal consists of a preamble and a data field. The preamble consists of four pulses, each with a pulse width of 0.5 ± 0.05 μs, located at 0 μs, 1 μs, 3.5 μs, and 4.5 μs respectively. The data field starts at 8 μs, with each data bit lasting 1 μs. The data field length of each ADS-B message frame is 112 bits, with the last 24 bits being parity bits. The ADS-B signal data portion uses Pulse Position Modulation (PPM), meaning that for any data bit, a pulse energy appearing before the bit indicates a "1", and a pulse energy appearing after the bit indicates a "0".
[0090] (3) ADS-B message header detection module:
[0091] like Figure 2 As shown, the output of the intermediate frequency (IF) signal after passing through the IF detector circuit and the A / D converter circuit serves as the input to the header detection module. The header detection marks the start of ADS-B message reception and processing. This process consists of the following steps:
[0092] S1. Effective pulse position detection:
[0093] If the amplitude value (the value of the digital signal output from the A / D converter) of a sampling point S is greater than a threshold value, and the values of its subsequent N or more consecutive sampling points are also above the threshold value, then the position of sampling point S can be considered a valid pulse position. In this invention, the A / D sampling frequency is 10MHz, that is, 10 sampling points / μs per data bit, so N=3. This definition indicates that there are at least 4 consecutive sampling points with values higher than the threshold value. For other sampling frequencies, it is only necessary to adjust the value of N so that the sampling points above the threshold value are maintained for at least 0.3μs before they can be determined as a valid pulse position.
[0094] S2. Rising edge detection:
[0095] If a sampling point is a valid pulse position and there is a true ramp between it and the previous sampling point, and the amplitude difference between it and the next sampling point is less than the true ramp, then this sampling point can be identified as a rising edge. The true ramp is determined by the power change between the two sampling points. The ramp threshold is 48 dB / μs. Therefore, if the sampling frequency is 10 points / μs, this threshold should be 4.8 dB.
[0096] S3. Header 4 - Pulse Detection:
[0097] Header detection begins when four pulses with a pattern S header time interval are detected. The detection criteria are: the four pulses have a timing sequence of 0–1.0–3.5–4.5 μs, with at least two rising edges, and the rest are valid pulse positions.
[0098] S4. Calculation of reference power value:
[0099] During header detection, a power reference value is generated. This reference power value plays a significant role in the system's digital processing section and is required for subsequent retrievable and confidence analysis. This process consists of the following steps:
[0100] f1. Determine the sampling points needed to calculate the reference power value. First, select the set of sampling points that match the timing of the ADS-B message header from the four preamble pulse sampling points; second, for pulses that match the header timing, select M sampling points after the rising edge of the pulse. If the sampling frequency is 10 points / μs, then M is 3. The selected set of sampling points is Si = si (i = 1, 2, ..., 3N, N = 2, 3, 4).
[0101] f2. For each sampling point si (i = 1, 2, ..., 3N, N = 2, 3, 4) in the sampling point set, find the number of sampling points ci (i = 1, 2, ..., 3N, N = 2, 3, 4) within a 2dB swing. Then, find a maximum value Cmax from ci (i = 1, 2, ..., 3N, N = 2, 3, 4). If Cmax is unique, then the value of the sampling point si that produces Cmax is used as the reference power value for the message header.
[0102] f3. For cases where two or more sampling points have the same Cmax value. Assume the set of sampling points that generate the Cmax value is Smax = sm (m ∈ i, = 1, 2, ..., 3N, N = 2, 3, 4). Find the minimum value point sj from the set Smax, and then remove points from Smax that are more than 2dB larger than sj. Finally, calculate the average value of the remaining points in the set, which serves as the reference power value for the message header.
[0103] S5. Power Consistency Test:
[0104] Power consistency testing is used to further verify the ADS-B message header. If the power values of the four pulses in the message header differ significantly, it can be considered that this ADS-B message pulse is severely contaminated with noise. The header reference power value obtained from the sampled values of these pulses is unreliable, which will definitely have a significant impact on the subsequent decoding part, inevitably producing a large number of bit errors. Therefore, such a header is considered meaningless to process and should be discarded, and the next header should be processed instead. This process consists of the following steps:
[0105] f1. Calculate the average power of the sampling points of the header pulses in the four preamble pulses. This step yields four values.
[0106] f2. If at least two pulses have power values within ±3dB of the reference power value, then the header noise contamination is considered minor or non-existent, and the consistency test is passed. Otherwise, discard the header and restart the header testing process.
[0107] S6.DF Certification:
[0108] DF refers to the first five bits of the data field in an ADS-B message. Performing DF authentication essentially involves further verification of the reliability of the ADS-B message. This process consists of the following steps:
[0109] f1. The first 5 bits of the ADS-B message data field are each represented by two chips for 0.5 μs (the data bits are PPM encoded). For a given chip sampling point, if a valid pulse position exists within its rising edge or within ±1 sampling time, a data pulse is considered detected. If a valid pulse position is detected, proceed to the next step; otherwise, discard the data.
[0110] f2. Using three sampling points after each valid pulse position, calculate the average value of the sampling points used for each code, and then compare the obtained average value with the reference power value. The comparison method is as follows: if there is an average value of three codes that is equal to or greater than ±3dB of the reference power value, then the detection message passes DF authentication; otherwise, the detection message is discarded.
[0111] S7. Triggered again:
[0112] After detecting an ADS-B message header, the header detection process continues to search for subsequent ADS-B message headers. When an overlapping header is detected, its reference power value is compared with the reference power value of the signal being processed. If the former is more than 3dB higher than the latter, the signal being processed is discarded, and processing of the newly detected signal begins; otherwise, the newly detected header is discarded, and processing of the current signal continues.
[0113] (4) ADS-B data bit extraction and confidence level determination module:
[0114] In this embodiment, ADS-B data bit extraction and confidence determination are mainly processed in the time domain, that is, shape analysis is performed on the ADS-B digital information to obtain its code bits and code position confidence. The algorithm used is the amplitude comparison method. Figure 3 As shown, this algorithm fully utilizes the relationship between the information from 10 sampling points (10MHz sampling frequency, so each chip has five sampling points) of each data bit and the reference power value obtained in header detection to determine the data bits and their confidence levels. The specific signal processing flow for this process is as follows:
[0115] f1. Assume that the 10 sample points of each bit are represented by s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, and that the two chips of each bit are represented by chip1 and chip0. Chip1 contains the first five sample points of the bit, denoted as S. chip1 =s0,s1,s2,s3,s4, CHIP0 contains the last five sample points of the bits, denoted as S. chip0 =s5,s6,s7,s8,s9.
[0116] f2. For each bit's ten sampling points, sequentially calculate the set of points whose amplitude values are within ±3dB of the reference power value. Points in CHIP1 are denoted as CHIP1_A, and points in CHIP0 are denoted as CHIP0_A. This can be expressed by the formula:
[0117] CHIP1_A=s i ,|s i -power_ref|≤3dB,s i ∈S ch i p1 ①
[0118] CHIP0_A=s i ,|s i -power_ref|≤3dB,s i ∈S chip0 ②
[0119] f3. For the same set of sampling points, find the set of points whose amplitude values are more than 6 dB smaller than the reference power value. The midpoint of CHIP1 is denoted as CHIP1_B, and the midpoint of CHIP0 is denoted as CHIP0_B. This can be expressed by the formula:
[0120] CHIP1_B=s i ,power_ref-s i >6dB, s i ∈S chip1 ③
[0121] CHIP0_B=s i ,power_ref-s i >6dB,s i ∈S chip0 ④
[0122] f4. Perform a weighted operation on the points in the four sets CHIP1_A, CHIP0_A, CHIP1_B, and CHIP0_B. The weights of s0, s4, s5, and s9 are 1 (they are at the edges of each CHIP, so their weights are smaller), and the weights of s1, s2, s3, s6, s7, and s8 are 2. For example, if set CHIP1_A contains elements s1, s2, and s3, then the weight of set CHIP1_A is... 5. The four accumulated weight values obtained in this way are denoted as w_chip1_A, w_chip0_A, w_chip1_B, and w_chip0_B, respectively.
[0123] f5. Calculate the probability values of the code being 0 or 1, denoted as score0 and score1 respectively:
[0124] score1=w_chip1_A-w_chip0_A+w_chip0_B-w_chip1_B ⑤
[0125] score0=w_chip0_A-w_chip1_A+w_chip1_B-w_chip0_B ⑥
[0126] f6. Inferring the bit values and confidence levels. Bit inference: Compare score0 and score1. If score1 is greater than score0, the value of the corresponding bit is '1'; otherwise, the value of the corresponding bit is '0'. When they are equal, the value of the corresponding bit is '0'. Bit confidence inference: If the difference between the values of score0 and score1 is greater than or equal to 3, the value of the corresponding bit is inferred to have a high confidence level, recorded as '1'; otherwise, it has a low confidence level, recorded as '0'. This yields the values of the 112 data bits of the ADS-B signal and the corresponding confidence level information for each data bit.
[0127] (5) Error detection and correction module:
[0128] Regarding the reception and processing of ADS-B systems, to maximize the integrity of ADS-B messages, a CRC check circuit is first used for error detection. If an error is detected, the erroneous data bits are identified based on the data location confidence determination result combined with the CRC check result. Then, a certain error correction technique is used to correct the error. The flowchart of the signal error detection and correction processing in this invention is as follows: Figure 4 As shown. The specific description is as follows:
[0129] f1. The 112 data bits output by the data bit pickup and confidence analysis module are processed by a CRC check circuit (e.g., Figure 5As shown, an error corrector is obtained through a modulo-2 network. If the error corrector is 0, it indicates that the ADS-B message has no error; otherwise, the next step of processing is performed.
[0130] f2. Identify all low-confidence data bits and count their number. If the number of low-confidence data bits exceeds 5, discard the ADS-B message; otherwise, proceed to the next step.
[0131] f3. Try to combine all the bit correctors corresponding to the low confidence data bits (the bit corrector is the remainder after passing through the CRC check circuit for a binary digital stream where one bit is 1 and the other bits are 0), find the combination that matches the error corrector, and then invert the low confidence data bits corresponding to this combination corrector to complete the error correction.
[0132] (6) ADS-B message decoding module:
[0133] Message decoding involves extracting various information data from relevant ADS-B messages. This process can be divided into the following steps:
[0134] f1. For example Figure 6 As shown, memory space is first allocated to store the ADS-B data output by the error detection and correction module, and it is determined whether the data format meets the requirements. If it does, the ICAO value in the ADS-B message is extracted, processed, converted into a format that conforms to ASTERIX 010 requirements, and stored.
[0135] f2. For example Figure 7 As shown, the message format (TYPE) value is extracted to determine the ADS-B message type, and each type of message is processed according to the TYPE value.
[0136] f3. For example Figure 8 As shown, the process involves decoding aerial location messages. First, altitude information is extracted, processed, and converted into a data format conforming to the ASTERIX 010 standard before storage. Next, the Compact Position Report (CPR) format and latitude / longitude information are extracted, and the parity of the information is determined based on the CPR format. Then, a pair of latitude / longitude information from the same source (one odd, one even) is extracted, decoded, and the longitude zone (NL) values of the odd and even latitude / longitude information are compared. If they are not equal, the process continues until they are equal. Finally, the equal NL latitude / longitude information undergoes polar coordinate transformation and is converted into a data format conforming to the ASTERIX 010 standard before storage.
[0137] f5. Aircraft Status and ID Information Decoding. Extract the aircraft ID information, decode it using a compact coding algorithm, convert the result into a data format conforming to the ASTERIX 010 standard, and store it.
[0138] f6. For example Figure 9 As shown, the air speed information is decoded. This process consists of the following steps:
[0139] f6_1. Extract the Navigation Accuracy Value (NAC), convert it into a data format conforming to the ASTERIX 010 standard, and store it.
[0140] f6_2. Extract subtypes of airborne information.
[0141] f6_3. Calculate speed and heading based on the subtype value, convert the result into a data format conforming to the ASTERIX010 standard, and store it.
[0142] f7. Determine if the ASTERIX data frame is fully filled. If it is, then send it.
[0143] (7) Message display processing module:
[0144] like Figure 10 As shown, this module primarily displays the information output by the ADS-B message decoding module. The specific processing flow is as follows:
[0145] f1. Delay 1s. The terminal display refreshes once per second, so a 1s delay is added here.
[0146] f2. Find updated data. Because the data chain stores information about many different targets, but not every target's information will receive updates within 1 second, it is necessary to find the data that has been updated within the 1-second delay.
[0147] f3. Send Update Data. Sends the data marked as updated to the terminal for display.
[0148] f4. Clear update flags. Clearing the flags indicates that the processing of this data is complete. Finally, check whether the data chain has been completely checked.
[0149] The embodiments described above are merely illustrative of specific implementations of the present invention, and while the descriptions are detailed, they should not be construed as limiting the scope of the present invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and these modifications and improvements all fall within the scope of protection of the present invention.
Claims
1. A method for implementing an ADS-B receiver system based on S-mode, characterized in that, Includes the following steps: Step 1: The ADS-B signal received from the antenna is sent to the RF front end, then other interference signals are filtered out by the bandpass filter, and finally amplified by the low noise amplifier and sent to the mixer for downconversion to intermediate frequency signal. Step 2: Detect the intermediate frequency signal, and then sample the detected signal through an A / D conversion circuit. The ADS-B signal consists of a preamble pulse and a data field. Step 3: Process the baseband digital signal. First, detect the ADS-B signal header to confirm the existence of the ADS-B signal. Second, extract the ADS-B signal data bits and determine their confidence level. Finally, detect the ADS-B signal data bits. If any erroneous data bits are detected, correct the errors. In step 3, the ADS-B signal data bits are extracted and their confidence is determined in the time domain. That is, the shape analysis of the ADS-B digital information is performed to obtain its code bits and code position confidence. The algorithm used is the amplitude comparison method. The amplitude comparison method uses the relationship between the information of 10 sampling points of each data bit and the reference power value obtained in the header detection to determine the data bits and their confidence. Specifically, the following steps are included: 1) Assume that each bit has 10 sample points. To represent, we use CHIP1 and CHIP0 to represent the two chips for each bit. CHIP1 contains the first five sample points of the bit, denoted as CHIP1. CHIP0 contains the last five sample points of the bit, denoted as ; 2) For each bit's 10 sampling points, sequentially calculate the set of points whose amplitude values are within ±3dB of the reference power value. Points in CHIP1 are denoted as CHIP1_A, and points in CHIP0 are denoted as CHIP0_A. The formula is as follows: ; ; 3) For the same set of sampling points, find the set of points whose amplitude values are more than 6 dB smaller than the reference power value. The midpoint of CHIP1 is denoted as CHIP1_B, and the midpoint of CHIP0 is denoted as CHIP0_B. This can be expressed by the formula: ; ; 4) Perform a weighted summation operation on the points in the four sets CHIP1_A, CHIP0_A, CHIP1_B, and CHIP0_B, where... The weight is 1. The weight is 2; 5) Calculate the probability values of the code being 0 or 1, and denote them as follows: and : ; ; 6) Inferring the magnitude of bit positions and confidence levels: Bit inference: Comparison and The size, if Greater than The value of this code bit is '1' if the two are equal, otherwise the value of this code bit is '0'; when two are equal, the value of this code bit is '0'; bit position confidence inference: if , If the difference between two values is greater than or equal to 3, the value of that bit code is inferred to have a high confidence level and is recorded as '1'; otherwise, it has a low confidence level and is recorded as '0'. In this way, the value of each data bit of the ADS-B signal and the corresponding confidence level information are obtained. Step 4: Transform the encoded data field message into a real data field message; Step 5: Display the decoded data field message on the specific physical entity.
2. The implementation method of the ADS-B receiver system based on S mode according to claim 1, characterized in that, In step 3, detecting the ADS-B signal header to determine the presence of the ADS-B signal specifically includes the following steps: ① Valid pulse position detection: If the amplitude value of a sampling point S is greater than the threshold value, and the values of its subsequent N or more consecutive sampling points are all above the threshold value, then the position of sampling point S is considered as a valid pulse position. ② Rising edge detection: If a sampling point is a valid pulse position and there is a real ramp between it and the previous sampling point, and the amplitude difference between it and the next sampling point is less than the real ramp, then this sampling point can be identified as a rising edge. ③ Header pulse detection: When multiple pulses with pattern S header time intervals are detected, header detection begins. The detection criteria are: multiple pulses have timing sequence, the number of rising edges is ≥2, and the rest are valid pulse positions. ④ Calculate the reference power value; ⑤ Power Consistency Test: Further confirm the ADS-B message header. If the difference between the power values of each pulse in the message header is greater than a certain threshold, then this ADS-B message pulse is contaminated by noise. The header is discarded and the next header is reprocessed. ⑥ Further confirm the reliability of ADS-B messages through DF authentication, where DF is the first X bits of the data field in the ADS-B message; ⑦ Re-trigger: After detecting an ADS-B message header, the header detection process continues to search for subsequent ADS-B message headers. When overlapping headers are detected, their reference power value is compared with the reference power value of the signal being processed. If the former is higher than the latter by a certain amplitude, the signal being processed is discarded and the newly detected signal is started. Otherwise, the newly detected header is discarded and the current signal is continued to be processed.
3. The implementation method of the ADS-B receiver system based on mode S according to claim 2, characterized in that, In step ④, the method for calculating the reference power value specifically includes the following steps: i. Determine the sampling points required to calculate the reference power value: First, select the set of sampling points that match the timing of the ADS-B message header from multiple preamble pulse sampling points; Second, for pulses that match the timing of the header, select M sampling points after the rising edge of the pulse, and the selected set of sampling points is Si=si(i=1,2…,3N,N=2,3,4). ii. For each sampling point si (i=1,2…,3N,N=2,3,4) in the sampling point set, find the number of sampling points ci (i=1,2…,3N,N=2,3,4) within a certain swing amplitude. Then, find a maximum value Cmax from ci (i=1,2…,3N,N=2,3,4). If Cmax is unique, then the value of the sampling point si that generates Cmax is used as the reference power value of the message header.
4. The implementation method of the ADS-B receiver system based on mode S according to claim 3, characterized in that, In step ii, if two or more sampling points have the same Cmax value, then it is assumed that the set of sampling points that generate the Cmax value is Smax = sm(m i,=1,2…,3N,N=2,3,4); Find the minimum point sj from the set Smax, then remove points from Smax that are larger than sj by a certain amplitude, and finally calculate the average value of the remaining points in the set, and use the average value as the reference power value of the message header.
5. The implementation method of the ADS-B receiver system based on mode S according to claim 2, 3, or 4, characterized in that, Step ⑥ specifically includes the following steps: I. In the first 5 bits of the ADS-B message data field, each bit is represented by two chips for a certain period of time. For a sampling point of a chip, if there is a valid pulse position within its rising edge or within ±1 sampling point time, it is considered that a data pulse has been detected. After a valid pulse position is detected, proceed to the next step; otherwise, discard. II. Using the three sampling points after each valid pulse position, calculate the average value of the sampling points used for each code, and then compare the obtained average value with the reference power value. The comparison method is as follows: if there is an average value of three codes that is equal to or greater than ±3dB of the reference power value, then the detection message passes DF authentication; otherwise, the detection message is discarded.
6. The implementation method of the ADS-B receiver system based on S mode according to claim 1, characterized in that, In step 3, the ADS-B signal data bits are detected. If any erroneous data bits are detected, error correction includes: first, using a CRC check circuit for error detection; if an error is detected, the erroneous data bits are identified based on the data location confidence determination result combined with the CRC check result, and then corrected using certain error correction techniques; specifically, the following steps are included: a. Each data bit is processed by a CRC check circuit and a modulo-2 network to obtain an error corrector. If the error corrector is 0, it means that the ADS-B message has no error; otherwise, proceed to the next step. b. Identify all low-confidence data bits and count their number. If the number of low-confidence data bits exceeds a certain threshold, discard the ADS-B message; otherwise, proceed to the next step. c. Try to combine all the bit corrections corresponding to the low confidence data bits. The bit correction is the remainder after the binary digital stream with a certain bit being 1 and the other bits being 0 passes through the CRC check circuit. Find the combination that matches the error correction and then invert the low confidence data bits corresponding to this combination correction to complete the error correction.
7. The implementation method of the ADS-B receiver system based on mode S according to claim 1 or 6, characterized in that, Step 4 specifically includes the following steps: A. First, allocate memory space to store the ADS-B data output by the error detection and correction module, and determine whether its data format meets the requirements. If it does, extract the ICAO value from the ADS-B message, process and convert it into a format that meets the requirements of ASTERIX010, and store it. B. Extract the message format TYPE value to determine the ADS-B message type, and process each type of message according to the TYPE value; C. Decoding Aerial Position Messages: First, extract altitude information, process and convert it into a data format conforming to the ASTERIX 010 standard, and store it. Next, extract the Compact Position Report (CPR) format and latitude / longitude information, and determine the parity of the information based on the CPR format. Then, extract latitude / longitude information from the same source for one-to-one parity and one-to-even information, perform decoding calculations, and determine whether the longitude region values (NL) of the parity and even latitude / longitude information are equal. If they are not equal, wait until they are equal. Finally, perform polar coordinate transformation on the equal NL latitude / longitude information, and convert it into a data format conforming to the ASTERIX 010 standard for storage. D. Decoding of aircraft status and ID information: Extract the aircraft ID information, use a compact coding algorithm for decoding, convert the processing result into a data format that conforms to the ASTERIX010 standard and store it; E. Decoding of air speed information, specifically including: E1. Extract the navigation accuracy value (NAC), convert it into a data format conforming to the ASTERIX 010 standard, and store it. E2, Subtype for extracting airborne information; E3. Calculate speed and heading based on the subtype value, convert the result into a data format conforming to the ASTERIX010 standard, and store it. F. Determine if the ASTERIX data frame is fully filled. If it is, then send it.
8. The implementation method of the ADS-B receiver system based on S-mode according to claim 7, characterized in that, In step 4, the subfields of the data domain message include type, altitude, longitude, latitude, and speed.