A low-cost ADS-B decoding method and device for unmanned aerial vehicles

A low-cost ADS-B decoding method for UAVs uses a simplified circuit with a DC blocking capacitor and microprocessor to decode ADS-B signals, addressing the cost issue of existing technologies and enhancing decoding efficiency for small UAVs.

CN118826967BActive Publication Date: 2024-12-13SHENZHEN YISIDE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411289229.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-14
Publication Date
2024-12-13
Estimated Expiration
2044-09-14

AI Technical Summary

Technical Problem

Existing ADS-B decoding technologies for unmanned aerial vehicles are expensive due to the use of high-speed AD and FPGA chips, limiting their installation and application on small, light, and micro-UAVs.

Method used

A low-cost ADS-B decoding method using a signal shaping module with a DC blocking capacitor and window comparator, combined with a microprocessor for pulse time extraction and header/codeword recognition, employing a simplified circuit with operational amplifiers and microprocessors to decode ADS-B signals.

Benefits of technology

The method achieves high decoding success rates with reduced costs, making it suitable for small and micro-unmanned aerial vehicles by filtering noise and glitches effectively, and simplifying the decoding process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118826967B_ABST
    Figure CN118826967B_ABST
Patent Text Reader

Abstract

The present invention discloses a low-cost ADS-B decoding method and device for unmanned aerial vehicles, including signal shaping, pulse time extraction, header identification extraction and ADS-B codeword extraction. The present invention performs ADS-B decoding through the steps of signal shaping, pulse time extraction, header identification extraction, ADS-B codeword extraction and the like. The ADS-B input signal is sent to a window comparator circuit after the DC component is filtered out by a DC blocking capacitor to obtain three groups of PWM signals; the three groups of PWM signals are input to a microprocessor pin to extract the pulse time, and the header identification extraction is performed according to the provisions of the ADS-B header waveform, and finally the ADS-B codeword is extracted. In the entire decoding process, only a low-cost operational amplifier and a microprocessor are needed to complete the decoding of the ADS-B signal, which simplifies the circuit, has a simple timing, and has a high decoding success rate, greatly reducing the cost of the ADS-B receiving device, and is particularly suitable for use on small, light and micro unmanned aerial vehicles.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an ADS-B decoding method, in particular to a low-cost ADS-B decoding method and device for unmanned aerial vehicles, belonging to the technical field of signal detection. Background Art

[0002] ADS-B (Automatic Dependent Surveillance-Broadcast) is a surveillance technology that actively broadcasts its own position, altitude, speed, heading, identification number and other information. Civil airliners, general aviation aircraft, helicopters and other manned aircraft (manned aircraft) are generally equipped with ADS-B transceivers to broadcast their flight data in real time. In recent years, with the opening of low-altitude airspace, a large number of drones, general aviation aircraft, and manned electric vertical take-off and landing aircraft have been integrated in the same airspace, which requires drones to have the function of actively avoiding manned aircraft. Among them, ADS-B is currently one of the most widely used and mature technologies for drones to actively avoid manned aircraft.

[0003] In the prior art, an FPGA-based ADS-B signal enhancement decoding method disclosed in announcement number CN117061057A includes: obtaining a baseband signal after digital processing from a radio frequency signal received from an antenna through an ADS-B digital receiver; performing enhanced preamble pulse detection on the baseband signal to determine whether the baseband signal contains an ADS-B message preamble pulse that meets the standard requirements, obtain the accurate time of the signal start and the pulse reference level, perform power consistency check and DF field check on the preamble pulse of the baseband signal, and generate a frame synchronization signal; using the obtained frame synchronization signal and pulse reference level, perform enhanced Bit and confidence discrimination to obtain ADS-B message data and the confidence of the corresponding bit; perform 24-bit CRC check on the obtained ADS-B message data to determine whether there is an error; if an error is detected, obtain the correct message through an error correction method. Although high-speed AD (digital-to-analog conversion) is used to sample the ADS-B baseband signal, and FPGA (programmable logic device) is connected to the high-speed AD to obtain the signal's noise floor, signal power and other parameters, and set corresponding thresholds to determine the high and low level time of the ADS-B signal, thereby effectively decoding the ADS-B signal, the high-speed AD and FPGA chips used in the existing technology are expensive, which limits the installation and application of ADS-B receiving devices on small, light and micro-UAVs. Summary of the invention

[0004] The purpose of the present invention is to provide a low-cost ADS-B decoding method and device for unmanned aerial vehicles in order to solve at least one of the above technical problems.

[0005] The present invention achieves the above-mentioned purpose through the following technical scheme: a low-cost ADS-B decoding method for unmanned aerial vehicles, the decoding method comprising the following steps:

[0006] S1, signal shaping, the ADS-B input signal is sent to the window comparator circuit after the DC component is filtered out by the DC blocking capacitor to obtain three sets of PWM signals;

[0007] S2, pulse time extraction, three groups of PWM signals are input to the microprocessor pin to extract the pulse time;

[0008] S3, header recognition and extraction, according to the provisions of the ADS-B header waveform, compare the pulses of the header sequence at different time points with the standard ADS-B header pulse time. If the error is within the set range, it means that the ADS-B header is successfully recognized, otherwise it returns to the signal shaping step;

[0009] S4, ADS-B codeword extraction, using the arrival time of the four high-level pulses recorded in the pulse time extraction step as a reference, calculate the arrival time of the header, read the pin levels of PWMH and PWML every 0.5μs, and the data read twice is a group to obtain a 1-bit ADS-B codeword. After all the data is read, the codeword is sent to the CRC check module for verification. If the verification passes, the correct codeword is output. If the verification fails, return to the signal shaping step.

[0010] As a further solution of the present invention: the obtained PWM signals are PWMH, PWML and PWMOUT respectively.

[0011] As a further solution of the present invention: the step of extracting the pulse time is:

[0012] S21, the microprocessor monitors the input level of the PWMOUT pin, and when the pin has a rising edge signal, the microprocessor interrupt processing function is triggered;

[0013] S22, judging the level of the PWML pin at this time, if the PWML pin level is low, it indicates that a high-level pulse is detected, starting a new header recognition and extraction step and waiting for the falling edge of the PWMOUT signal, recording the time from the rising edge to the falling edge as the first high-level pulse time, recorded as H1; if the PWML pin is high, exiting the interrupt function and returning to S21;

[0014] S23, continue to monitor the input level of the PWMOUT pin, and trigger the microprocessor interrupt again when the rising edge signal arrives. At this time, judge the level of the PWMH pin. If the level of the PWMH pin is low, it indicates that a low-level pulse is detected. Continue to wait for the falling edge of the PWMOUT signal, and record the time from the rising edge to the falling edge as the first low-level pulse time, recorded as L1; if the level of the PWMH pin is high, exit the interrupt function and return to S21;

[0015] S24, continue to monitor the input level of the PWMOUT pin, and when the rising edge signal arrives, trigger the microprocessor interrupt again. At this time, judge the PWML pin level. If the PWML pin level is low, it indicates that a high-level pulse is detected. Continue to wait for the falling edge of the PWMOUT signal, and record the time from the rising edge to the falling edge as the second high-level pulse time, recorded as H2; if the PWML pin level is high, exit the interrupt function and return to S21;

[0016] S25. Obtain the pulse high and low level times L2, H3, L3, H4 in sequence according to the above steps, and record the arrival time of the rising edge of each high level pulse to complete the pulse time extraction.

[0017] As a further solution of the present invention: the standard ADS-B header sequence has a total of four high-level pulses at 0μs, 1.0μs, 3.5μs, and 4.5μs, and the time of the high-level pulses is 0.5μs. The seven times of H1, L1, H2, L2, H3, L3, and H4 are compared with the above-mentioned standard ADS-B header pulse time. If the error is within the set range, it means that the ADS-B header is successfully identified, otherwise it returns to the signal shaping step.

[0018] As a further solution of the present invention: the ADS-B codeword extraction step specifically includes:

[0019] S41, using the arrival times of the four high-level pulses recorded in the pulse time extraction step as a reference, calculating the arrival time of the first high-level pulse, that is, the arrival time of the header;

[0020] S42, with a time interval of 0.5 μs, continuously read the pin levels of PWMH and PWML 224 times starting from 8.25 μs, wherein the data read twice constitutes a group, for a total of 112 groups of data, each group of data represents a 1-bit ADS-B codeword;

[0021] S43, in each group of data, if the pin levels read for the first time are PWMH high and PWML low, and the pin levels read for the second time are PWMH low and PWML high, output code word 1; if the pin levels read for the first time are PWMH low and PWML high, and the pin levels read for the second time are PWMH high and PWML low, output code word 0; if it is other level logic, exit this step and return to the signal shaping step;

[0022] S44, after all 112 groups of data are read, the 112-bit codeword is sent to the CRC check module for verification. If the verification passes, the correct codeword is output. If the verification fails, the signal shaping step is returned.

[0023] A low-cost ADS-B decoding device for unmanned aerial vehicles, comprising:

[0024] The signal shaping module consists of a DC blocking capacitor, four voltage-dividing resistors, and a window comparator composed of two op amps, which is used to convert the analog ADS-B signal into three-channel PWM digital signals;

[0025] The microprocessor module is used for pulse time extraction, header identification extraction, ADS-B codeword extraction, ADS-B codeword verification and output of correct codewords.

[0026] As a further solution of the present invention: in the signal shaping module, different window comparison voltages VH and VL can be obtained by adjusting the resistance values ​​of four voltage-dividing resistors R2, R3, R4, and R5 and the voltage of VREF. By setting appropriate window comparison voltages VH and VL, the noise and glitch signals in the ADS-B signal can be effectively filtered out.

[0027] The beneficial effects of the present invention are as follows: the present invention performs ADS-B decoding through the steps of signal shaping, pulse time extraction, header identification extraction, ADS-B codeword extraction, etc., and the ADS-B input signal is sent to the window comparator circuit after the DC component is filtered out by a DC blocking capacitor to obtain three groups of PWM signals; the three groups of PWM signals are input to the microprocessor pin to extract the pulse time, and the header identification extraction is performed according to the provisions of the ADS-B header waveform, and finally the ADS-B codeword is extracted. In the entire decoding process, only a low-cost operational amplifier and a microprocessor are needed to complete the decoding of the ADS-B signal, the circuit is simplified, the timing is simple, and the decoding success rate is high, which greatly reduces the cost of the ADS-B receiving device, and is particularly suitable for use on small, light and micro-unmanned aerial vehicles. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 This is a flow chart of a low-cost ADS-B decoding method for unmanned aerial vehicles of the present invention;

[0029] Figure 2 This is a schematic diagram of the standard ADS-B signal data format;

[0030] Figure 3 It is a schematic diagram of the signal shaping waveform of the present invention;

[0031] Figure 4 The figure is a schematic diagram of the circuit principle of the signal shaping module of the present invention. DETAILED DESCRIPTION

[0032] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0033] Embodiment 1

[0034] like Figures 1 to 4 As shown, a low-cost ADS-B decoding method for drones includes the following steps:

[0035] S1, signal shaping, the ADS-B input signal is sent to the window comparator circuit after the DC component is filtered out by the DC blocking capacitor to obtain three sets of PWM signals; the obtained PWM signals are PWMH, PWML and PWMOUT;

[0036] S2, pulse time extraction, three groups of PWM signals are input to the microprocessor pin to extract the pulse time;

[0037] S3, header recognition and extraction, according to the provisions of the ADS-B header waveform, compare the pulses of the header sequence at different time points with the standard ADS-B header pulse time. If the error is within the set range, it means that the ADS-B header is successfully recognized, otherwise it returns to the signal shaping step;

[0038] S4, ADS-B codeword extraction, using the arrival time of the four high-level pulses recorded in the pulse time extraction step as a reference, calculate the arrival time of the header, read the pin levels of PWMH and PWML every 0.5μs, and the data read twice is a group to obtain a 1-bit ADS-B codeword. After all the data is read, the codeword is sent to the CRC check module for verification. If the verification passes, the correct codeword is output. If the verification fails, return to the signal shaping step.

[0039] Embodiment 2

[0040] In addition to all the technical features of the first embodiment, this embodiment also includes:

[0041] The steps for extracting the pulse time are:

[0042] S21, the microprocessor monitors the input level of the PWMOUT pin, and when the pin has a rising edge signal, the microprocessor interrupt processing function is triggered;

[0043] S22, judging the level of the PWML pin at this time, if the PWML pin level is low, it indicates that a high-level pulse is detected, starting a new header recognition and extraction step and waiting for the falling edge of the PWMOUT signal, recording the time from the rising edge to the falling edge as the first high-level pulse time, recorded as H1; if the PWML pin is high, exiting the interrupt function and returning to S21;

[0044] S23, continue to monitor the input level of the PWMOUT pin, and trigger the microprocessor interrupt again when the rising edge signal arrives. At this time, judge the level of the PWMH pin. If the level of the PWMH pin is low, it indicates that a low-level pulse is detected. Continue to wait for the falling edge of the PWMOUT signal, and record the time from the rising edge to the falling edge as the first low-level pulse time, recorded as L1; if the level of the PWMH pin is high, exit the interrupt function and return to S21;

[0045] S24, continue to monitor the input level of the PWMOUT pin, and when the rising edge signal arrives, trigger the microprocessor interrupt again. At this time, judge the PWML pin level. If the PWML pin level is low, it indicates that a high-level pulse is detected. Continue to wait for the falling edge of the PWMOUT signal, and record the time from the rising edge to the falling edge as the second high-level pulse time, recorded as H2; if the PWML pin level is high, exit the interrupt function and return to S21;

[0046] S25. Obtain the pulse high and low level times L2, H3, L3, H4 in sequence according to the above steps, and record the arrival time of the rising edge of each high level pulse to complete the pulse time extraction.

[0047] Furthermore, the standard ADS-B header sequence has four high-level pulses at 0μs, 1.0μs, 3.5μs, and 4.5μs, and the time of the high-level pulses is 0.5μs. The seven times H1, L1, H2, L2, H3, L3, and H4 are compared with the above-mentioned standard ADS-B header pulse time. If the error is within the set range, it means that the ADS-B header is successfully identified, otherwise it returns to the signal shaping step. For example, if the set time error threshold is 40%, then the six time values ​​of H1, L1, H2, H3, L3, and H4 must be between 0.3μs and 0.7μs, and L2 must be between 1.2μs and 1.8us to represent the successful identification of the ADS-B header. In order to cope with poor signal conditions, up to two of the seven time values ​​are allowed to have further deviations, such as a deviation of 50% from the standard value.

[0048] Furthermore, the ADS-B codeword extraction step specifically includes:

[0049] S41, using the arrival times of the four high-level pulses recorded in the pulse time extraction step as a reference, calculating the arrival time of the first high-level pulse, that is, the arrival time of the header;

[0050] S42, with a time interval of 0.5 μs, continuously read the pin levels of PWMH and PWML 224 times starting from 8.25 μs, wherein the data read twice constitutes a group, for a total of 112 groups of data, each group of data represents a 1-bit ADS-B codeword;

[0051] S43, in each group of data, if the pin levels read for the first time are PWMH high and PWML low, and the pin levels read for the second time are PWMH low and PWML high, output code word 1; if the pin levels read for the first time are PWMH low and PWML high, and the pin levels read for the second time are PWMH high and PWML low, output code word 0; if it is other level logic, exit this step and return to the signal shaping step;

[0052] S44, after all 112 groups of data are read, the 112-bit codeword is sent to the CRC check module for verification. If the verification passes, the correct codeword is output. If the verification fails, the signal shaping step is returned.

[0053] Embodiment 3

[0054] A low-cost ADS-B decoding device for unmanned aerial vehicles, comprising:

[0055] The signal shaping module consists of a DC blocking capacitor, four voltage-dividing resistors, and a window comparator composed of two op amps, which is used to convert the analog ADS-B signal into three-channel PWM digital signals;

[0056] The microprocessor module is used for pulse time extraction, header identification extraction, ADS-B codeword extraction, ADS-B codeword verification and output of correct codewords.

[0057] Furthermore, in the signal shaping module, different window comparison voltages VH and VL can be obtained by adjusting the resistance values ​​of the four voltage-dividing resistors R2, R3, R4, and R5 and the voltage of VREF. By setting appropriate window comparison voltages VH and VL, the noise and glitch signals in the ADS-B signal can be effectively filtered out, thereby improving the success rate of decoding. It should be noted that although the pulse high-level time and pulse low-level time obtained by using the window comparison circuit are less than the actual time, as long as the voltage-dividing resistors R2=R5 and R3=R4 are set, the ratio of the reduction of the extracted high and low level pulse time is basically the same, so it is easy to compensate by software without affecting the ADS-B header recognition rate.

[0058] Working principle: ADS-B input signal is sent to the window comparator circuit after the DC component is filtered out by the DC blocking capacitor to obtain three sets of PWM signals; the three sets of PWM signals are input to the microprocessor pin to extract the pulse time, and the header is identified according to the provisions of the ADS-B header waveform to extract the read data codeword, and all the read codewords are sent to the CRC check module for verification. If the verification passes, the correct codeword is output.

[0059] It will be apparent to those skilled in the art that the invention is not limited to the details of the exemplary embodiments described above and that the invention can be implemented in other specific forms without departing from the spirit or essential features of the invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects, and the scope of the invention is defined by the appended claims rather than the foregoing description, and it is intended that all variations falling within the meaning and scope of the equivalent elements of the claims be included in the invention. Any reference numeral in a claim should not be considered as limiting the claim to which it relates.

[0060] In addition, it should be understood that although the present specification is described according to implementation modes, not every implementation mode contains only one independent technical solution. This description of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment may also be appropriately combined to form other implementation modes that can be understood by those skilled in the art.

Claims

1. A low-cost ADS-B decoding method for unmanned aerial vehicles, characterized in that: The decoding method comprises the following steps: S1, signal shaping, the ADS-B input signal is sent to the window comparator circuit after the DC component is filtered out by the DC blocking capacitor to obtain three sets of PWM signals; S2, pulse time extraction, three groups of PWM signals are input to the microprocessor pin to extract the pulse time; S3, header recognition and extraction, according to the provisions of the ADS-B header waveform, compare the pulses of the header sequence at different time points with the standard ADS-B header pulse time. If the error is within the set range, it means that the ADS-B header is successfully recognized, otherwise it returns to the signal shaping step; S4, ADS-B codeword extraction, using the arrival time of the four high-level pulses recorded in the pulse time extraction step as a reference, calculate the arrival time of the header, read the pin levels of PWMH and PWML every 0.5μs, and the data read twice is a group to obtain a 1-bit ADS-B codeword. After all the data are read, the codeword is sent to the CRC check module for verification. If the check passes, the correct codeword is output. If the check fails, return to the signal shaping step; In S1, the obtained PWM signals are PWMH, PWML and PWMOUT respectively; In S2, the step of extracting the pulse time is: S21, the microprocessor monitors the input level of the PWMOUT pin, and when the pin has a rising edge signal, the microprocessor interrupt processing function is triggered; S22, judging the level of the PWML pin at this time, if the PWML pin level is low, it indicates that a high-level pulse is detected, starting a new header recognition and extraction step and waiting for the falling edge of the PWMOUT signal, recording the time from the rising edge to the falling edge as the first high-level pulse time, recorded as H1; if the PWML pin is high, exiting the interrupt function and returning to S21; S23, continue to monitor the input level of the PWMOUT pin, and trigger the microprocessor interrupt again when the rising edge signal arrives. At this time, judge the level of the PWMH pin. If the level of the PWMH pin is low, it indicates that a low-level pulse is detected. Continue to wait for the falling edge of the PWMOUT signal, and record the time from the rising edge to the falling edge as the first low-level pulse time, recorded as L1; if the level of the PWMH pin is high, exit the interrupt function and return to S21; S24, continue to monitor the input level of the PWMOUT pin, and when the rising edge signal arrives, trigger the microprocessor interrupt again. At this time, judge the PWML pin level. If the PWML pin level is low, it indicates that a high-level pulse is detected. Continue to wait for the falling edge of the PWMOUT signal, and record the time from the rising edge to the falling edge as the second high-level pulse time, recorded as H2; if the PWML pin level is high, exit the interrupt function and return to S21; S25, according to the above steps, the pulse high and low level times L2, H3, L3, H4 are obtained in sequence, and the arrival time of the rising edge of each high level pulse is recorded to complete the pulse time extraction; In S3, the standard ADS-B header sequence has four high-level pulses at 0μs, 1.0μs, 3.5μs and 4.5μs, and the time of the high-level pulses is 0.5μs. The seven times of H1, L1, H2, L2, H3, L3 and H4 are compared with the above-mentioned standard ADS-B header pulse time. If the error is within the set range, it means that the ADS-B header is successfully identified, otherwise it returns to the signal shaping step; In S4, the ADS-B codeword extraction step specifically includes: S41, using the arrival times of the four high-level pulses recorded in the pulse time extraction step as a reference, calculating the arrival time of the first high-level pulse, that is, the arrival time of the header; S42, with a time interval of 0.5 μs, continuously read the pin levels of PWMH and PWML 224 times starting from 8.25 μs, wherein the data read twice constitutes a group, for a total of 112 groups of data, each group of data represents a 1-bit ADS-B codeword; S43, in each group of data, if the pin levels read for the first time are PWMH high and PWML low, and the pin levels read for the second time are PWMH low and PWML high, output code word 1; if the pin levels read for the first time are PWMH low and PWML high, and the pin levels read for the second time are PWMH high and PWML low, output code word 0; if it is other level logic, exit this step and return to the signal shaping step; S44, after all 112 groups of data are read, the 112-bit codeword is sent to the CRC check module for verification. If the verification passes, the correct codeword is output. If the verification fails, the signal shaping step is returned.

2. A decoding device used in the low-cost ADS-B decoding method for unmanned aerial vehicles according to claim 1, characterized in that: The decoding device comprises: The signal shaping module consists of a DC blocking capacitor, four voltage-dividing resistors, and a window comparator composed of two op amps, which is used to convert the analog ADS-B signal into three-channel PWM digital signals; The microprocessor module is used for pulse time extraction, header identification extraction, ADS-B codeword extraction, ADS-B codeword verification and output of correct codewords.

3. The decoding device according to claim 2, characterized in that: The signal shaping module obtains different window comparison voltages VH and VL by adjusting the resistance values ​​of four voltage-dividing resistors R2, R3, R4, and R5 and the voltage of VREF, and effectively filters out noise and glitches in the ADS-B signal by setting appropriate window comparison voltages VH and VL.