Anti-spoofing attack unmanned system state encoder and encoding method thereof
By introducing a state encoder resistant to spoofing attacks into the unmanned system, and utilizing differential quantization, encryption, and error control coding techniques, the problem of inaccurate state observation caused by spoofing attacks in the communication network of the unmanned system is solved, thereby improving the system's security and control reliability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENYANG LIGONG UNIV
- Filing Date
- 2026-04-01
- Publication Date
- 2026-07-03
AI Technical Summary
The communication network of unmanned systems is vulnerable to spoofing attacks, which can lead to inaccurate state observations and affect the security and reliability of system control.
An unmanned system state encoder resistant to spoofing attacks is employed, comprising an analog multiplexer and an embedded processor. Through differential quantization coding, data encryption coding, and error control coding techniques, it samples, quantizes, and encodes the measurement output values of the unmanned system to generate code symbols resistant to spoofing attacks.
It improves the success rate of unmanned systems in detecting network spoofing attacks, ensures the security of data communication networks, prevents data tampering, and ensures the accuracy of system control.
Smart Images

Figure CN122331571A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent unmanned system control technology, and in particular to an unmanned system state encoder and its encoding method that is resistant to deception attacks. Background Technology
[0002] Unmanned systems mainly refer to integrated systems composed of unmanned platforms, mission payloads, command and control systems, and space-air-ground information networks, including drones, unmanned vehicles, unmanned ships, and robots.
[0003] Currently, drone technology is receiving increasing attention from many industries. The low-altitude economy is a new and comprehensive economic model, centered on low-altitude flight activities, driving the rapid development of related industries such as low-altitude infrastructure, low-altitude aircraft manufacturing, low-altitude operation services, and low-altitude flight support. With the diversification of low-altitude flight technology applications, low-altitude intelligent network technology plays a significant role, but it also faces cybersecurity challenges. Cyberattacks could pose a substantial threat to the development of the low-altitude economy.
[0004] Autonomous vehicles, also known as driverless cars, computer-driven cars, or wheeled mobile robots, are intelligent vehicles that achieve driverless operation through computer systems. In recent years, they have shown a trend towards practical application. Autonomous driving technology relies heavily on systems such as the BeiDou Navigation Satellite System, the Internet of Things (IoT), and monitoring systems. Cyber attackers may launch malicious attacks on these systems, interfering with network communications, tampering with transmitted data, and altering the trajectory of autonomous vehicles. In severe cases, this could lead to serious traffic accidents, threatening people's lives, property, and safety.
[0005] Unmanned surface vessels (USVs) are autonomous surface or underwater vehicles based on the Global Positioning System (GPS). They possess functions such as autonomous obstacle avoidance, autonomous navigation, and pollution tracking, and are widely used in marine environmental monitoring, underwater mapping, surface security patrols, and national defense. However, the normal operation of USV control systems is also vulnerable to disruption by cyberattacks.
[0006] It has been noted that network spoofing attacks, particularly those involving data tampering, have a significant disruptive effect on the motion control of unmanned systems. Therefore, how to adopt effective technical methods to ensure the security of unmanned system control is indeed one of the key technical problems that needs to be solved. Summary of the Invention
[0007] The technical problem to be solved by the present invention is to provide an unmanned system state encoder and its encoding method that are resistant to deception attacks, which is mainly applicable to unmanned system state encoding, and is particularly suitable for unmanned system state encoding when the communication network is subjected to deception attacks.
[0008] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:
[0009] On the one hand, the present invention provides a state encoder for an unmanned system resistant to spoofing attacks, including an analog multiplexer and an embedded processor;
[0010] The analog multiplexer is used to receive n measurement components y1(k), y2(k), ..., yn(k) of the unmanned system's measurement output value Y(k). n (k), and in the kth sampling period, each measurement component is selected sequentially and sent to the embedded processor;
[0011] The embedded processor is used to convert the n measurement components of the unmanned system measurement output value Y(k) received by the analog multiplexer into digital signals and store them, and to perform sampling, quantization, and encoding to obtain code symbols C(k), which are then sent to the transmitter of the unmanned system. The embedded processor includes a core processor, data registers, instruction memory, and peripheral interfaces, and communicates with the unmanned system through a bus architecture. The embedded processor is connected to the analog multiplexer and the unmanned system through the peripheral interfaces.
[0012] The data register is used to store various data during the encoding process; the instruction memory stores an executable computer program, including a state data sampling module, a differential quantization encoding module, a data encryption encoding module, an error control encoding module, and a data sequence generation module connected in sequence; the core processor runs the computer program stored in the instruction memory to sample, quantize, and encode the unmanned system's measurement output value Y(k) to obtain the code symbol C(k), thus completing the encoding of the unmanned system's measurement output value Y(k), and sending the code symbol C(k) to the unmanned system's transmitter through the peripheral interface;
[0013] The state data sampling module sets the sampling period according to the specific unmanned system structure and motion characteristics. In the k-th sampling period, it sequentially samples the n measurement components y1(k), y2(k), ..., yn(k) of the unmanned system's output value Y(k). n (k) Sampling is performed to convert the original analog signal into a 12-bit digital signal, obtaining n digital measurement components g1(k), g2(k), ..., gn(k) of the unmanned system's measurement output value Y(k). n (k), and send it to the differential quantization encoding module;
[0014] The differential quantization encoding module, based on the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous sampling period... n (k-1), calculate the predicted state value X of the unmanned system. e (k), and further calculate the predicted value Y of the unmanned system measurement output. e (k), to obtain the predicted value Y of the measurement output of the unmanned system. eThe n measurement prediction components h1(k), h2(k), ..., h(k) of (k) n (k), and then with n digital measurement components g1(k), g2(k), ..., g n (k) are subtracted to obtain n 12-bit digital measurement differential components z1(k), z2(k), ..., zn(k). n (k); Measure the differential components z1(k), z2(k), ..., zn(k) of n 12-bit digital numbers. n (k) Perform quantization encoding to achieve data compression, obtaining n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k) is sent to the data encryption and encoding module;
[0015] The data encryption and encoding module measures and compresses the encoding components l1(k), l2(k), ..., ln(k) of n 8-bit numbers. n (k) Pad with "0"s at intervals to expand from 8 bits to 16 bits. Then, randomly select 4 bits from the 8 padded binary values and flip them to "1". This generates n 16-bit digital code components q1(k), q2(k), ..., q n (k); then encode the generated n 16-bit digital components q1(k), q2(k), ..., q n (k), perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); then transpose the n 16-bit coded components s1(k), s2(k), ..., s n (k) are arranged, serial-to-parallel transformed, and recombined into 16 n-bit serial-to-parallel transformed encoded components f0(k), f1(k), ..., f 15 (k) is sent to the error control coding module;
[0016] The error control coding module employs a binary (2n,n,16) convolutional code encoding method to perform parallel transformation coding on 16 n-bit string components f0(k), f1(k), ..., f 15 (k) Perform error control coding to obtain 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k) is sent to the data sequence generation module;
[0017] The data sequence generation module generates 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k) are combined into a data sequence to obtain the code symbol C(k), which is then sent to the transmitter to complete the state coding of the unmanned system.
[0018] Furthermore, the differential quantization encoding module includes a measurement output buffer submodule, a state prediction submodule, a measurement output prediction submodule, a differential signal generation submodule, and a quantization encoding submodule connected in sequence.
[0019] The measurement output buffer submodule stores the n digital measurement components g1(k), g2(k), ..., gn of the unmanned system's measurement output value Y(k). n (k) is cached, and the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous time step are stored. n (k-1) is sent to the state prediction submodule, which sends the n digital measurement components g1(k), g2(k), ..., g at the current time. n (k) is sent to the differential signal generation submodule;
[0020] The state prediction submodule is based on n digital measurement components g1(k-1), g2(k-1), ..., g n (k-1), calculate the estimated state value X of the unmanned system at the previous moment. a (k-1), then further calculate the predicted state value X of the unmanned system at the current moment. e (k); The specific calculation method is as follows:
[0021] First, let Y a (k-1) represents the n numerical measurement components g1(k-1), g2(k-1), ..., g n Given a vector consisting of (k-1) vectors, we have:
[0022] Y a (k-1)=[g1(k-1) g2(k-1) … g i (k-1) … g n (k-1)] T , i=1,2,…,n;
[0023] The state equation for the unmanned system state observer is established as shown in the following formula:
[0024] X a (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0)+G(Y a (k-1)-Φ(X a (k-1),V(k-1)=0);
[0025] U(k-1)=K(X) a (k-1));
[0026] Where Ψ(·) is about X aNonlinear functions of (k-1), U(k-1), and W(k-1), where Φ(·) is a function of X. a The nonlinear functions of (k-1) and V(k-1), Ψ(·) and Φ(·) are determined by the specific unmanned system structure and motion characteristics; G(·) represents the observer gain function; U(k-1)∈R c Let W(k-1) ∈ R be the c-dimensional control input value of the unmanned system in the (k-1)th sampling period. b V(k-1)∈R represents the b-dimensional disturbance input value of the unmanned system in the (k-1)th sampling period. n K(·) represents the n-dimensional measurement noise value of the unmanned system in the (k-1)th sampling period; K(·) is the noise value of X. a The control gain function of (k-1) is determined by the specific unmanned system control algorithm; let X a (0) represents the initial value of the state estimate of the unmanned system, X a (0) = W0, where W0 is a known parameter determined by the specific unmanned system;
[0027] Then, the state equation of the unmanned system state observer is solved to calculate the unmanned system state estimate X. a (k-1) and control input value U(k-1);
[0028] Finally, based on the obtained X a Given (k-1) and U(k-1), the predicted state value X of the unmanned system is further calculated using the following formula. e (k):
[0029] X e (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0);
[0030] The calculated unmanned system state prediction value X e (k) is sent to the measurement output prediction submodule;
[0031] The measurement output prediction submodule is based on the unmanned system state prediction value X. e (k) Calculate the predicted value Y of the unmanned system's measurement output. e (k), the formula is as follows:
[0032] Y e (k)=Φ(X e (k), V(k=0);
[0033] Where Φ(·) is about X e Nonlinear functions of (k) and V(k);
[0034] Y e(k) Use n measurements to predict components h1(k), h2(k), ..., h n (k) represents the following:
[0035] Y e (k)=[h1(k) h2(k) … h i (k) … h n (k)] T , i=1,2,…,n;
[0036] The calculated n measurement prediction components h1(k), h2(k), ..., h n (k) is sent to the differential signal generation submodule;
[0037] The differential signal generation submodule receives n digital measurement components g1(k), g2(k), ..., g from the measurement output buffer submodule. n (k), receiving n measurement prediction components h1(k), h2(k), ..., h from the measurement output prediction submodule. n (k), calculate the n digital measurement difference components z1(k), z2(k), ..., zk of the two. n (k) is calculated as follows:
[0038] z i (k)=g i (k)-h i (k), i=1,2,…,n;
[0039] The calculated n 12-bit numbers are measured as differential components z1(k), z2(k), ..., z n (k) is sent to the quantization encoding submodule;
[0040] The quantization encoding submodule measures the differential components z1(k), z2(k), ..., zn of n 12-bit numbers. n (k) Perform quantization encoding to obtain n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k) is used to compress the data, and then the obtained n 8-bit digital measurement compressed encoding components are sent to the data encryption encoding module.
[0041] Furthermore, the data encryption and encoding module includes a zero-padding and flipping submodule, a cross-transposition submodule, and a serial-to-parallel conversion submodule connected in sequence;
[0042] The zero-padding and flipping submodule measures the compressed encoded components l1(k), l2(k), ..., l of n 8-bit numbers. n(k) Pad with zeros at intervals to expand from 8 bits to 16 bits, resulting in n 16-bit digital code components q1(k), q2(k), ..., q n (k); The specific encoding method is as follows:
[0043] First, let the i-th 8-bit number be the measurement of the compressed coded component l. i (k) is represented as:
[0044] l i (k): d i,7 (k) d i,6 (k) … d i,j (k) … d i,1 (k) d i,0 (k), d i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,7;
[0045] Where, d i,j (k) represents l i The value of the j-th bit of (k), l i (k) is calculated numerically using the following formula:
[0046] l i (k)= d i,7 (k)×2 7 + d i,6 (k)×2 6 +…+ d i,j (k)×2 j +…+ d i,1 (k)×2 1 + d i,0 (k);
[0047] Then, for l i (k) Pad with zeros at intervals to expand from 8 bits to 16 bits, resulting in t. i (k), as shown below:
[0048] t i (k): d i,7 (k) 0 d i,6 (k) 0 d i,5 (k) 0 d i,4 (k) 0 d i,3 (k) 0 d i,2 (k) 0 d i,1 (k) 0d i,0 (k) 0;
[0049] Finally, regarding l i The 8 binary 0s appended after (k) are used to select any 4 bits and flip them to get 1s, resulting in q.i (k);
[0050] The generated n 16-bit digital encoding components q1(k), q2(k), ..., q n (k) is sent to the cross-transposition submodule;
[0051] The cross-transposition submodule encodes n 16-bit digital components q1(k), q2(k), ..., q n (k) Perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); The specific encoding method is as follows:
[0052] First, define the transposition code value S(k), which consists of n 16-bit transposition code components s1(k), s2(k), ..., sn(k). n (k) represents, i.e., S(k) = [s1(k) s2(k) … s i (k) … s n (k)] T , where s i (k) is represented as:
[0053] s i (k): a i,15 (k) a i,14 (k) … a i,j (k) … a i,1 (k) a i,0 (k), a i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,15;
[0054] Then, determine q. i (k) crossover rules;
[0055] Finally, based on the determined crossover rules, q is swapped. i The 16-bit value of (k) is assigned to s. i (k);
[0056] The n 16-bit transposed encoded components s1(k), s2(k), ..., sn generated by the above encoding algorithm are... n (k) is sent to the serial-to-parallel conversion submodule;
[0057] The serial-to-parallel conversion submodule converts n 16-bit transposed encoded components s1(k), s2(k), ..., s n (k) Arrange them in order, perform serial-to-parallel transformation, and recombine them into 16 n-bit serial-to-parallel transformation encoded components f0(k), f1(k), ..., f 15 (k); The specific encoding method is as follows:
[0058] First, define the string-to-parallel transform code value F(k), which consists of 16 n-bit string-to-parallel transform code components f0(k), f1(k), ..., fk. 15 (k) represents, i.e., F(k) = [f0(k) f1(k) … f j (k) … f 15 (k)] T j=0,1,…,15;
[0059] Then, the n 16-bit transposed coded components s1(k), s2(k), ..., s n (k) Arranged in numerical order of subscripts, with the high bits of all transposed coded components aligned to the high bits and the low bits aligned to the low bits;
[0060] Finally, let f j (k) represents the j-th n-bit string-to-parallel transformation encoded component, then f j The calculation method for (k) is as follows:
[0061] f j (k): a n,j (k) a n-1,j (k) … a i,j (k) … a 2,j (k) a 1,j (k), a i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,15;
[0062] The 16 n-bit strings generated by the above encoding algorithm are then transformed into encoded components f0(k), f1(k), ..., f 15 (k) is sent to the error control coding module.
[0063] On the other hand, the present invention also provides a state encoding method for unmanned systems resistant to deception attacks, which is implemented using the aforementioned unmanned system state encoder resistant to deception attacks, and includes the following steps:
[0064] Step 1: Set the sampling period according to the specific unmanned system structure and motion characteristics. In the k-th sampling period, sequentially measure the n measurement components y1(k), y2(k), ..., yn(k) of the unmanned system output value Y(k). n (k) Sampling is performed to convert the original analog signal into a 12-bit digital signal, obtaining n digital measurement components g1(k), g2(k), ..., gn(k) of the unmanned system's measurement output value Y(k). n (k);
[0065] Step 2: Based on the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous sampling periodn (k-1), calculate the predicted state value X of the unmanned system. e (k), and further calculate the predicted value Y of the unmanned system measurement output. e (k), to obtain the predicted value Y of the measurement output of the unmanned system. e The n measurement prediction components h1(k), h2(k), ..., h(k) of (k) n (k), and then with n digital measurement components g1(k), g2(k), ..., g n (k) are subtracted to obtain n 12-bit digital measurement differential components z1(k), z2(k), ..., zn(k). n (k); Measure the differential components z1(k), z2(k), ..., zn(k) of n 12-bit digital numbers. n (k) Perform quantization encoding to achieve data compression, obtaining n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k);
[0066] Step 3: Measure the compressed coded components l1(k), l2(k), ..., l for n 8-bit numbers. n (k) Pad with "0"s at intervals to expand from 8 bits to 16 bits. Then, randomly select 4 bits from the 8 padded binary values and flip them to "1", generating n 16-bit digital code components q1(k), q2(k), ..., q n (k); then encode the generated n 16-bit digital components q1(k), q2(k), ..., q n (k), perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); then transpose the n 16-bit coded components s1(k), s2(k), ..., s n (k) are arranged, serial-to-parallel transformed, and recombined into 16 n-bit serial-to-parallel transformed encoded components f0(k), f1(k), ..., f 15 (k);
[0067] Step 4: Using a binary (2n,n,16) convolutional code encoding method, perform a parallel transformation on the 16 n-bit string components f0(k), f1(k), ..., f 15 (k) Perform error control coding to obtain 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k);
[0068] Step 5: Separate the 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k) are combined into a data sequence to obtain the code symbol C(k), which is then sent to the transmitter of the unmanned system to complete the state coding of the unmanned system.
[0069] Furthermore, the specific method for step 2 is as follows:
[0070] Step 2.1: Measure the n digital components g1(k), g2(k), ..., gn of the unmanned system's output value Y(k). n (k) is cached;
[0071] Step 2.2: Based on the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous time step n (k-1), calculate the estimated state value X of the unmanned system at the previous moment. a (k-1), then further calculate the predicted state value X of the unmanned system at the current moment. e (k); The specific calculation method is as follows:
[0072] Step 2.2.1: Let Y a (k-1) represents the n numerical measurement components g1(k-1), g2(k-1), ..., g n The vector formed by (k-1), i.e., Y a (k-1)=[g1(k-1) g2(k-1) … g i (k-1) … g n (k-1)] T , i=1,2,…,n;
[0073] The state equation for the unmanned system state observer is established as shown in the following formula:
[0074] X a (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0)+G(Y a (k-1)-Φ(X a (k-1),V(k-1)=0);
[0075] U(k-1)=K(X) a (k-1));
[0076] Where Ψ(·) is about X a Nonlinear functions of (k-1), U(k-1), and W(k-1), where Φ(·) is a function of X. a The nonlinear functions of (k-1) and V(k-1), Ψ(·) and Φ(·) are determined by the specific unmanned system structure and motion characteristics; G(·) represents the observer gain function; U(k-1)∈R c Let W(k-1) ∈ R be the c-dimensional control input value of the unmanned system in the (k-1)th sampling period. bV(k-1)∈R represents the b-dimensional disturbance input value of the unmanned system in the (k-1)th sampling period. n K(·) represents the n-dimensional measurement noise value of the unmanned system in the (k-1)th sampling period; K(·) is the noise value of X. a The control gain function of (k-1) is determined by the specific unmanned system control algorithm; let X a (0) represents the initial value of the state estimate of the unmanned system, X a (0) = W0, where W0 is a known parameter determined by the specific unmanned system;
[0077] Step 2.2.2: Solve the state equation of the unmanned system state observer and calculate the unmanned system state estimate X. a (k-1) and control input value U(k-1);
[0078] Step 2.2.3: Based on the obtained X a Given (k-1) and U(k-1), the predicted state value X of the unmanned system is further calculated using the following formula. e (k):
[0079] X e (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0);
[0080] Step 2.3: Based on the predicted state value X of the unmanned system e (k) Calculate the predicted value Y of the unmanned system's measurement output. e (k), the formula is as follows:
[0081] Y e (k)=Φ(X e (k),V(k)=0);
[0082] Y e (k) Use n measurements to predict components h1(k), h2(k), ..., h n (k) represents Y e (k)=[h1(k) h2(k)… h i (k) … h n (k)] T , i=1,2,…,n;
[0083] Step 2.4: Calculate the n digital measurement components g1(k), g2(k), ..., g n (k), and n measurement prediction components h1(k), h2(k), ..., h n The n numerical measurement difference components z1(k), z2(k), ..., z of (k) n (k) is calculated as follows:
[0084] z i (k)=g i (k)-h i (k), i=1,2,…,n;
[0085] Step 2.5: Measure the differential components z1(k), z2(k), ..., zn(k) of the n 12-bit numbers. n (k) Perform quantization encoding to obtain n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k), to achieve data compression; then measure the compressed encoded components l1(k), l2(k), ..., l of the obtained n 8-bit numbers. n (k).
[0086] Furthermore, the specific method of step 3 is as follows:
[0087] Step 3.1: Measure the compressed coded components l1(k), l2(k), ..., l for n 8-bit numbers. n (k) Pad with zeros at intervals to expand from 8 bits to 16 bits, resulting in n 16-bit digital code components q1(k), q2(k), ..., q n (k); The specific encoding method is as follows:
[0088] Step 3.1.1: Let the i-th 8-bit number be the compressed encoded component l. i (k) is represented as:
[0089] l i (k): d i,7 (k) d i,6 (k) … d i,j (k) … d i,1 (k) d i,0 (k), d i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,7;
[0090] Where, d i,j (k) represents l i The value of the j-th bit of (k), l i (k) is calculated numerically using the following formula:
[0091] l i (k)= d i,7 (k)×2 7 + d i,6 (k)×2 6 +…+ d i,j (k)×2 j +…+ d i,1 (k)×2 1+ d i,0 (k);
[0092] Step 3.1.2: For l i (k) Pad with zeros at intervals to expand from 8 bits to 16 bits, resulting in t. i (k), as shown below:
[0093] t i (k): d i,7 (k) 0 d i,6 (k) 0 d i,5 (k) 0 d i,4 (k) 0 d i,3 (k) 0 d i,2 (k) 0 d i,1 (k) 0d i,0 (k) 0;
[0094] Step 3.1.3: For l i The 8 binary 0s appended after (k) are used to select any 4 bits and flip them to get 1s, resulting in q. i (k);
[0095] Step 3.2: Encode the n 16-bit number components q1(k), q2(k), ..., q n (k) Perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); The specific encoding method is as follows:
[0096] Step 3.2.1: Define the transposition code value S(k), which consists of n 16-bit transposition code components s1(k), s2(k), ..., s... n (k) represents, i.e., S(k) = [s1(k) s2(k) … s i (k) … s n (k)] T , where s i (k) is represented as:
[0097] s i (k): a i,15 (k) a i,14 (k) … a i,j (k) … a i,1 (k) a i,0 (k), a i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,15;
[0098] Step 3.2.2: Determine q i (k) crossover rules;
[0099] Step 3.2.3: Based on the determined crossover rules, swap q. i The 16-bit value of (k) is assigned to s. i (k);
[0100] Step 3.3: Transpose the n 16-bit transposed coded components s1(k), s2(k), ..., s n (k) Arrange them in order, perform serial-to-parallel transformation, and recombine them into 16 n-bit serial-to-parallel transformation encoded components f0(k), f1(k), ..., f 15 (k); The specific encoding method is as follows:
[0101] Step 3.3.1: Define the string-to-parallel transform code value F(k), which consists of 16 n-bit string-to-parallel transform code components f0(k), f1(k), ..., f 15 (k) represents, i.e., F(k) = [f0(k) f1(k) … f j (k) … f 15 (k)] T j=0,1,…,15;
[0102] Step 3.3.2: Transpose the n 16-bit transposed coded components s1(k), s2(k), ..., s n (k) Arranged in numerical order of subscripts, with the high bits of all transposed coded components aligned to the high bits and the low bits aligned to the low bits;
[0103] Step 3.3.3: Let f j (k) represents the j-th n-bit string-to-parallel transformation encoded component, then f j The calculation method for (k) is as follows:
[0104] f j (k): a n,j (k) a n-1,j (k) … a i,j (k) … a 2,j (k) a 1,j (k), a i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,15.
[0105] The beneficial effects of adopting the above technical solution are as follows: The unmanned system state encoder and its encoding method for resisting deception attacks provided by this invention address the problem that network attackers can launch deception attacks on data communication networks, tamper with transmitted data values, and cause the unmanned system observer to be unable to obtain accurate state observation values, thereby resulting in the system being unable to achieve effective control. It adopts technical methods such as differential quantization encoding, data encryption encoding, and error control encoding to sample, quantize, and encode the state of the unmanned system, thereby improving the success rate of unmanned systems in detecting network deception attacks and ensuring the security of data transmitted through data communication networks. Attached Figure Description
[0106] Figure 1 This is a schematic diagram of the unmanned system structure;
[0107] Figure 2 This is a block diagram of an analog multiplexer structure provided in Embodiment 1 of the present invention;
[0108] Figure 3 This is a block diagram of an embedded processor structure provided in Embodiment 1 of the present invention;
[0109] Figure 4 This is a block diagram of the unmanned system state encoder structure provided in Embodiment 1 of the present invention;
[0110] Figure 5 This is a schematic diagram of the differential quantization encoding module provided in Embodiment 1 of the present invention;
[0111] Figure 6 This is a schematic diagram of the data encryption and encoding module provided in Embodiment 1 of the present invention;
[0112] Figure 7 This is a flowchart of the unmanned system state coding method provided in Embodiment 2 of the present invention. Detailed Implementation
[0113] The specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings and examples. The following examples are for illustrative purposes only and are not intended to limit the scope of the invention.
[0114] Unmanned systems, such as Figure 1As shown, the system includes, in sequence, a controlled machine, a state sensor, an unmanned system state encoder, a transmitter, a data communication network, a receiver, a decoder, an observer, a controller, and an actuator. The state sensor detects the unmanned system's measured output value Y(k) and provides it to the unmanned system state encoder. The unmanned system state encoder samples, quantizes, and encodes the unmanned system's measured output value Y(k), converting the analog signal into a digital code symbol C(k), which is then sent to the transmitter. The transmitter uses digital modulation to load the code symbol C(k) information onto an electromagnetic signal suitable for wireless communication, transmits it through the data communication network, and sends it to the receiver. Network attackers may launch spoofing attacks, tampering with the transmitted code symbol, thereby interfering with the control of the unmanned system. After receiving the modulated signal, the receiver demodulates it, calculates the code symbol estimate, and sends it to the decoder. The decoder decodes based on the code symbol estimate to obtain the unmanned system's measured output estimate, which is then sent to the observer. Based on the unmanned system's measured output estimate, the observer uses spoofing attack detection technology to reduce or eliminate the impact of spoofing attacks, calculates the unmanned system's state observation value, and sends it to the controller. The controller calculates control input values based on the state observations of the unmanned system using a specific control algorithm and sends these values to the actuators. The actuators then control the controlled machine based on these control input values.
[0115] Let X(k)∈R d Y(k) represents the d-dimensional state value of the unmanned system during the k-th sampling period, ∈ R. n V(k) represents the n-dimensional measurement output value of the unmanned system in the k-th sampling period, where V(k)∈R. n U(k) represents the n-dimensional measurement noise value of the unmanned system in the k-th sampling period, where U(k)∈R. c Let W(k) represent the c-dimensional control input value of the unmanned system in the k-th sampling period, where W(k)∈R. b Let represent the b-dimensional disturbance input value of the unmanned system in the k-th sampling period, where k, d, n, c, and b are all positive integers, and their values are determined by the specific unmanned system. Then, the discrete state equation of the unmanned system can be expressed as:
[0116] X(k+1) = Ψ(X(k), U(k), W(k));
[0117] Y(k) = Φ(X(k), V(k));
[0118] Here, Ψ(·) represents the nonlinear function between X(k), U(k), W(k), and X(k+1), and Φ(·) represents the nonlinear function between X(k), V(k), and Y(k). Ψ(·) and Φ(·) are determined by the specific unmanned system structure and motion characteristics.
[0119] Let the measured output value Y(k) of the unmanned system be: Y(k) = [y1(k) y2(k) … y i (k) … y n (k)] T ,i=1,2,…,n. Among them, y i (k) represents the i-th measurement component of the unmanned system's measurement output value Y(k), [.] T This represents the transpose of [.]. The n measurement components y1(k), y2(k), ..., yn(k) of the unmanned system's output value Y(k) can be measured using state sensors. n (k).
[0120] Example 1:
[0121] A state encoder for unmanned systems resistant to spoofing attacks, comprising an analog multiplexer and an embedded processor.
[0122] Analog multiplexers, such as Figure 2 As shown, the CD4051 chip is used. The CD4051 is a single 8-channel digitally controlled analog electronic switch. By combining multiple CD4051 chips, the number of channels can be equal to or greater than n, thus ensuring that the n measurement components of the unmanned system's measurement output value Y(k) can meet the analog-to-digital signal conversion requirements. The analog multiplexer receives the n measurement components y1(k), y2(k), ..., y2(k) from the state sensor. n (k) In the kth sampling period, each measurement component is selected sequentially and sent to the embedded processor.
[0123] Embedded processors, such as Figure 3 As shown, the embedded chip GD32F103TxQFN36 is used. This chip uses an ARM Cortex-M3 core, with a maximum operating frequency of 108MHz, and supports zero-wait-state flash memory access. The GD32F103TxQFN36 chip integrates a 12-bit successive approximation analog-to-digital converter (ADC) module, which can sample n measurement components y1(k), y2(k), ..., yn(k) from the unmanned system measurement output value Y(k) provided by the analog multiplexer. n The core processor of the GD32F103TxQFN36 chip encodes the measurement output value Y(k) of the unmanned system by running the computer program stored in the instruction memory. After sampling, quantization, and encoding, the measurement output value Y(k) of the unmanned system is obtained as the code symbol C(k), which is then sent to the transmitter of the unmanned system through the peripheral interface.
[0124] Executable computer programs stored in the instruction memory, such as Figure 4 As shown, it includes a state data sampling module, a differential quantization encoding module, a data encryption encoding module, an error control encoding module, and a data sequence generation module connected in sequence.
[0125] The state data sampling module sets the sampling period according to the specific unmanned system structure and motion characteristics. In the k-th sampling period, it sequentially samples the n measurement components y1(k), y2(k), ..., yn(k) of the unmanned system's output value Y(k). n (k) Sampling is performed to convert the original analog signal into a 12-bit digital signal, obtaining n digital measurement components g1(k), g2(k), ..., gn(k) of the unmanned system's measurement output value Y(k). n (k) is then sent to the differential quantization encoding module.
[0126] The differential quantization encoding module receives n digital measurement components g1(k), g2(k), ..., g from the state data sampling module. n After (k), it is cached; based on the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous sampling period. n (k-1), calculate the predicted state value X of the unmanned system. e (k), and further calculate the predicted value Y of the unmanned system measurement output. e (k), to obtain the predicted value Y of the measurement output of the unmanned system. e The n measurement prediction components h1(k), h2(k), ..., h(k) of (k) n (k); then measure the components g1(k), g2(k), ..., g with n numbers. n (k) are subtracted to obtain n 12-bit digital measurement differential components z1(k), z2(k), ..., zn(k). n (k); Measure the differential components z1(k), z2(k), ..., zn(k) of n 12-bit digital numbers. n (k) Perform quantization encoding to achieve data compression, obtaining n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k) is sent to the data encryption and encoding module, such as Figure 5 As shown, it includes a measurement output buffer submodule, a state prediction submodule, a measurement output prediction submodule, a differential signal generation submodule, and a quantization encoding submodule connected in sequence.
[0127] The measurement output buffer submodule receives n digital measurement components g1(k), g2(k), ..., g from the state data sampling module for the unmanned system's measurement output value Y(k). n(k), cached, and the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous time step are stored. n (k-1) is sent to the state prediction submodule, which sends the n digital measurement components g1(k), g2(k), ..., g at the current time. n (k) is sent to the differential signal generation submodule.
[0128] The state prediction submodule receives n digital measurement components g1(k-1), g2(k-1), ..., g from the measurement output buffer submodule at the previous time step. n (k-1), based on n digital measurement components g1(k-1), g2(k-1), ..., g n (k-1), calculate the estimated state value X of the unmanned system at the previous moment. a (k-1), then further calculate the predicted state value X of the unmanned system at the current moment. e (k). The specific calculation algorithm is as follows:
[0129] (1) Let Y a (k-1) represents the n numerical measurement components g1(k-1), g2(k-1), ..., g n Given a vector consisting of (k-1) vectors, we have:
[0130] Y a (k-1)=[g1(k-1) g2(k-1) … g i (k-1) … g n (k-1)] T , i=1,2,…,n;
[0131] Since W(k-1) and V(k-1) are unknowns for the state prediction submodule, we set W(k-1)=0 and V(k-1)=0 when establishing the state equation of the unmanned system state observer. The state equation of the unmanned system state observer is shown in the following formula:
[0132] X a (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0)+G(Y a (k-1)-Φ(X a (k-1),V(k-1)=0);
[0133] U(k-1)=K(X) a (k-1));
[0134] Where Ψ(·) is about X a Nonlinear functions of (k-1), U(k-1), and W(k-1), where Φ(·) is a function of X.a The nonlinear functions of (k-1) and V(k-1), Ψ(·) and Φ(·) are determined by the specific unmanned system structure and motion characteristics; U(k-1)∈R c Let K(·) represent the c-dimensional control input value of the unmanned system in the (k-1)th sampling period, and let K(·) be the value of X. a The control gain function (k-1) is determined by the specific unmanned system control algorithm; G(·) represents the observer gain function; let X a (0) represents the initial value of the state estimate of the unmanned system, X a (0) = W0, where W0 is a known parameter determined by the specific unmanned system;
[0135] (2) The state equations of the unmanned system state observer above are solved by methods such as extended Kalman filtering and insensitive Kalman filtering, and the state estimate X of the unmanned system is calculated. a (k-1) and control input value U(k-1);
[0136] (3) Based on the obtained X a Given (k-1) and U(k-1), the following formula is used to further calculate the predicted state value X of the unmanned system. e (k):
[0137] X e (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0);
[0138] The calculated unmanned system state prediction value X e (k) is sent to the measurement output prediction submodule.
[0139] The measurement output prediction submodule receives the unmanned system state prediction value X from the state prediction submodule. e (k), based on the unmanned system state prediction value X e (k) Calculate the predicted value of the unmanned system's measurement output. Let Y e (k) represents the predicted value of the unmanned system's measurement output. The predicted value Y of the unmanned system's measurement output is calculated using the following formula. e (k):
[0140] Y e (k)=Φ(X e (k),V(k)=0);
[0141] Y e (k) Use n measurements to predict components h1(k), h2(k), ..., h n (k) represents the following:
[0142] Y e(k)=[h1(k) h2(k) … h i (k) … h n (k)] T , i=1,2,…,n;
[0143] The calculated n measurement prediction components h1(k), h2(k), ..., h n (k) is sent to the differential signal generation submodule.
[0144] The differential signal generation submodule receives n digital measurement components g1(k), g2(k), ..., g from the measurement output buffer submodule. n (k), receiving n measurement prediction components h1(k), h2(k), ..., h from the measurement output prediction submodule. n (k), calculate the n digital measurement difference components z1(k), z2(k), ..., zk of the two. n (k); n digital measurement differential components z1(k), z2(k), ..., z n (k) is calculated as follows:
[0145] z i (k)=g i (k)-h i (k), i=1,2,…,n;
[0146] Because g i (k) and h i (k) are all 12-bit digital signals, so the calculated z i (k) is also a 12-bit digital signal. The calculated n 12-bit digital signals are then measured as differential components z1(k), z2(k), ..., z... n (k) is sent to the quantization encoding submodule.
[0147] The quantization encoding submodule receives n 12-bit digital measurement differential components z1(k), z2(k), ..., z from the differential signal generation submodule. n (k), for n 12-bit digital measurements, the differential components z1(k), z2(k), ..., z n (k) Perform quantization encoding to obtain n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k), to achieve data compression; then measure the compressed encoded components l1(k), l2(k), ..., l of the obtained n 8-bit numbers. n (k) is sent to the data encryption and encoding module.
[0148] The data encryption encoding module receives n 8-bit digital measurement compression encoded components l1(k), l2(k), ..., l from the differential quantization encoding module. n (k) is padded with zeros at intervals, expanding it from 8 bits to 16 bits. Then, 4 bits from the padded 8 bits are randomly selected and flipped to "1", generating n 16-bit digital code components q1(k), q2(k), ..., q n (k); then encode the generated n 16-bit digital components q1(k), q2(k), ..., q n (k), perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); then transpose the n 16-bit coded components s1(k), s2(k), ..., s n (k) are arranged, serial-to-parallel transformed, and recombined into 16 n-bit serial-to-parallel transformed encoded components f0(k), f1(k), ..., f 15 (k) is sent to the error control coding module, such as Figure 6 As shown, it includes a zero-padding and flipping submodule, a cross-transposition submodule, and a serial-to-parallel conversion submodule connected in sequence.
[0149] The zero-padding and flipping submodule receives n 8-bit digital measurement compression coding components l1(k), l2(k), ..., l from the differential quantization encoding module. n (k) is padded with zeros at intervals to expand it from 8 bits to 16 bits, resulting in n 16-bit digital code components q1(k), q2(k), ..., q n (k); The specific encoding algorithm is as follows:
[0150] (1) Let the i-th 8-bit digit be the measurement of the compressed coding component l. i (k) is represented as:
[0151] l i (k): d i,7 (k) d i,6 (k)…d i,j (k)…d i,1 (k) d i,0 (k), d i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,7;
[0152] Where, d i,j (k) represents l i The value of the j-th bit of (k), l i (k) is calculated numerically using the following formula:
[0153] l i (k)=d i,7 (k)×27 + d i,6 (k)×2 6 +…+d i,j (k)×2 j +…+d i,1 (k)×2 1 +d i,0 (k);
[0154] (2) For l i (k) Pad with zeros at intervals to expand from 8 bits to 16 bits, resulting in t. i (k), as shown below:
[0155] t i (k): d i,7 (k) 0 d i,6 (k) 0 d i,5 (k) 0 d i,4 (k) 0 d i,3 (k) 0 d i,2 (k) 0 d i,1 (k) 0d i,0 (k) 0;
[0156] (3) For l i The 8 binary 0s appended after (k) are used to select any 4 bits and flip them to get 1s, resulting in q. i (k); For example, if the selected flip bits are 1, 3, 11, 13, then the corresponding q i (k) can be represented as:
[0157] q i (k): d i,7 (k) 0 d i,6 (k) 1 d i,5 (k) 1 d i,4 (k) 0 d i,3 (k) 0 d i,2 (k) 0 d i,1 (k) 1d i,0 (k) 1;
[0158] The generated n 16-bit digital encoding components q1(k), q2(k), ..., q n (k) is sent to the cross-transposition submodule.
[0159] The interleaving submodule receives n 16-bit coded components q1(k), q2(k), ..., q from the zero-padding and flipping submodule. n (k), perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n(k); The specific encoding algorithm is as follows:
[0160] (1) Define the transposition code value S(k) as n 16-bit transposition code components s1(k), s2(k), ..., s n (k) represents the following:
[0161] S(k) = [s1(k) s2(k) … s i (k) … s n (k)] T ;
[0162] Among them, s i (k) is represented as:
[0163] s i (k): a i,15 (k) a i,14 (k) … a i,j (k) … a i,1 (k) a i,0 (k), a i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,15;
[0164] (2) Determine q i The crossover rules for (k) are as follows: 0⇌5, 1⇌10, 2⇌3, 3⇌7, 4⇌9, 5⇌2, 6⇌0, 7⇌1, 8⇌15, 9⇌11, 10⇌12, 11⇌4, 12⇌6, 13⇌8, 14⇌13, 15⇌14;
[0165] (3) Based on the crossover rules determined above, swap q i The 16-bit value of (k) is assigned to s. i (k), according to the crossover rule in the example above, can be obtained as follows:
[0166] a i,15 (k) = 0; a i,14 (k)= d i,7 (k); a i,13 (k)=0; a i,12 (k)=1; a i,11 (k)= d i,4 (k);
[0167] a i,10 (k)= d i,0 (k); a i,9 (k)=0; a i,8 (k)= d i,6 (k); a i,7 (k)= d i,1(k); a i,6 (k)=1;
[0168] a i,5 (k)=1; a i,4 (k)= d i,5 (k); a i,3 (k)=1; a i,2 (k)= d i,2 (k); a i,1 (k)= d i,3 (k); a i,0 (k)=0;
[0169] The n 16-bit transposed encoded components s1(k), s2(k), ..., sn generated by the above encoding algorithm are... n (k) is sent to the serial-to-parallel conversion submodule.
[0170] The serial-to-parallel conversion submodule receives n 16-bit transposed code components s1(k), s2(k), ..., s from the cross-transposition submodule. n (k), which transposes n 16-bit coded components s1(k), s2(k), ..., s n (k) Arrange them in order, perform serial-to-parallel transformation, and recombine them into 16 n-bit serial-to-parallel transformation encoded components f0(k), f1(k), ..., f 15 (k); The specific encoding algorithm is as follows:
[0171] (1) Define the serial-to-parallel transform code value F(k) as consisting of 16 n-bit serial-to-parallel transform code components f0(k), f1(k), ..., f 15 (k) represents the following:
[0172] F(k) = [f0(k) f1(k) … f j (k) … f 15 (k)] T j=0,1,…,15;
[0173] (2) Receive n 16-bit transpose encoded components s1(k), s2(k), ..., s from the cross-transpose submodule n (k), and arrange them in the order of their subscript numbers, aligning the high bits of all transposed coded components with the high bits and the low bits with the low bits;
[0174] (3) Let f j (k) represents the j-th n-bit string-to-parallel transformation encoded component, then f j The calculation method for (k) is as follows:
[0175] f j (k): a n,j (k) an-1,j (k) … a i,j (k) … a 2,j (k) a 1,j (k), a i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,15;
[0176] The 16 n-bit strings generated by the above encoding algorithm are then transformed into encoded components f0(k), f1(k), ..., f 15 (k) is sent to the error control coding module.
[0177] The error control encoding module receives 16 n-bit strings from the data encryption encoding module and transforms the encoded components f0(k), f1(k), ..., f 15 (k) uses a binary (2n,n,16) convolutional code encoding method to transform the 16 n-bit string into coded components f0(k), f1(k), ..., f 15 (k) Perform error control coding to obtain 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k) is sent to the data sequence generation module.
[0178] The data sequence generation module receives 16 2n-bit code symbol components c0(k), c1(k), ..., c from the error control coding module. 15 (k) are combined into a data sequence to obtain the code symbol C(k), which is then sent to the transmitter, thus completing the state coding of the unmanned system.
[0179] Example 2:
[0180] A state coding method for unmanned systems resistant to spoofing attacks is implemented using the aforementioned state encoder for unmanned systems resistant to spoofing attacks, as follows: Figure 7 As shown, it includes the following steps:
[0181] Step 1: The state data sampling module sets the sampling period according to the specific unmanned system structure and motion characteristics. In the k-th sampling period, it sequentially measures the n measurement components y1(k), y2(k), ..., yn(k) of the unmanned system's output value Y(k). n (k) Sampling is performed to convert the original analog signal into a 12-bit digital signal, obtaining n digital measurement components g1(k), g2(k), ..., gn(k) of the unmanned system's measurement output value Y(k). n (k) is then sent to the differential quantization encoding module.
[0182] Step 2: The differential quantization encoding module receives n digital measurement components g1(k), g2(k), ..., g from the state data sampling module. nAfter (k), it is cached; based on the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous sampling period. n (k-1), calculate the predicted state value X of the unmanned system. e (k), and further calculate the predicted value Y of the unmanned system measurement output. e (k), to obtain the predicted value Y of the measurement output of the unmanned system. e The n measurement prediction components h1(k), h2(k), ..., h(k) of (k) n (k); then measure the components g1(k), g2(k), ..., g with n numbers. n (k) are subtracted to obtain n 12-bit digital measurement differential components z1(k), z2(k), ..., zn(k). n (k); Measure the differential components z1(k), z2(k), ..., zn(k) of n 12-bit digital numbers. n (k) Perform quantization encoding to achieve data compression, obtaining n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k) is sent to the data encryption and encoding module, specifically as follows:
[0183] Step 2.1: The measurement output buffer submodule receives n digital measurement components g1(k), g2(k), ..., g from the state data sampling module of the unmanned system measurement output value Y(k). n (k), cached, and the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous time step are stored. n (k-1) is sent to the state prediction submodule, which sends the n digital measurement components g1(k), g2(k), ..., g at the current time. n (k) is sent to the differential signal generation submodule.
[0184] Step 2.2: The state prediction submodule receives the n digital measurement components g1(k-1), g2(k-1), ..., g from the measurement output buffer submodule at the previous time step. n (k-1), based on n digital measurement components g1(k-1), g2(k-1), ..., g n (k-1), calculate the estimated state value X of the unmanned system at the previous moment. a (k-1), then further calculate the predicted state value X of the unmanned system at the current moment. e (k); The specific calculation algorithm is as follows:
[0185] (1) Let Y a (k-1) represents the n numerical measurement components g1(k-1), g2(k-1), ..., g n Given a vector consisting of (k-1) vectors, we have:
[0186] Y a (k-1)=[g1(k-1) g2(k-1) … g i (k-1) … g n (k-1)] T , i=1,2,…,n;
[0187] Since W(k-1) and V(k-1) are unknowns for the state prediction submodule, we set W(k-1)=0 and V(k-1)=0 when establishing the state equation of the unmanned system state observer. The state equation of the unmanned system state observer is shown in the following formula:
[0188] X a (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0)+G(Y a (k-1)-Φ(X a (k-1),V(k-1)=0);
[0189] U(k-1)=K(X) a (k-1));
[0190] Where Ψ(·) is about X a Nonlinear functions of (k-1), U(k-1), and W(k-1), where Φ(·) is a function of X. a The nonlinear functions of (k-1) and V(k-1), Ψ(·) and Φ(·) are determined by the specific unmanned system structure and motion characteristics; U(k-1)∈R c K represents the c-dimensional control input value of the unmanned system in the (k-1)th sampling period; K(·) is the value of X. a The control gain function (k-1) is determined by the specific unmanned system control algorithm; G(·) represents the observer gain function; let X a (0) represents the initial value of the state estimate of the unmanned system, X a (0) = W0, where W0 is a known parameter determined by the specific unmanned system;
[0191] (2) Solve the state equation of the unmanned system state observer above, and calculate the state estimate X of the unmanned system. a (k-1) and control input value U(k-1);
[0192] (3) Based on the obtained X a Given (k-1) and U(k-1), the following formula is used to further calculate the predicted state value X of the unmanned system. e (k):
[0193] X e(k)=Ψ(X a (k-1),U(k-1),W(k-1)=0);
[0194] The calculated unmanned system state prediction value X e (k) is sent to the measurement output prediction submodule.
[0195] Step 2.3: The measurement output prediction submodule receives the unmanned system state prediction value X from the state prediction submodule. e (k), based on the unmanned system state prediction value X e (k) Calculate the predicted value of the unmanned system's measurement output; let Y e (k) represents the predicted value of the unmanned system's measurement output. The predicted value Y of the unmanned system's measurement output is calculated using the following formula. e (k):
[0196] Y e (k)=Φ(X e (k),V(k-1)=0);
[0197] Y e (k) Use n measurements to predict components h1(k), h2(k), ..., h n (k) represents the following:
[0198] Y e (k)=[h1(k) h2(k) … h i (k) … h n (k)] T , i=1,2,…,n;
[0199] The calculated n measurement prediction components h1(k), h2(k), ..., h n (k) is sent to the differential signal generation submodule.
[0200] Step 2.4: The differential signal generation submodule receives n digital measurement components g1(k), g2(k), ..., g from the measurement output buffer submodule. n (k), receiving n measurement prediction components h1(k), h2(k), ..., h from the measurement output prediction submodule. n (k), calculate the n digital measurement difference components z1(k), z2(k), ..., zk of the two. n (k); n digital measurement differential components z1(k), z2(k), ..., z n (k) is calculated as follows:
[0201] z i (k)=g i (k)-h i(k), i=1,2,…,n;
[0202] Because g i (k) and h i (k) are all 12-bit digital signals, so the calculated z i (k) is also a 12-bit digital signal; the calculated n 12-bit digital signals are measured as differential components z1(k), z2(k), ..., z n (k) is sent to the quantization encoding submodule.
[0203] Step 2.5: The quantization encoding submodule receives n 12-bit digital measurement differential components z1(k), z2(k), ..., z from the differential signal generation submodule. n (k), for n 12-bit digital measurements, the differential components z1(k), z2(k), ..., z n (k) Perform quantization encoding to obtain n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k), to achieve data compression; then measure the compressed encoded components l1(k), l2(k), ..., l of the obtained n 8-bit numbers. n (k) is sent to the data encryption and encoding module.
[0204] Step 3: The data encryption encoding module receives n 8-bit digital measurement compression encoded components l1(k), l2(k), ..., l from the differential quantization encoding module. n (k) is padded with zeros at intervals, expanding it from 8 bits to 16 bits. Then, 4 bits from the padded 8 bits are randomly selected and flipped to "1", generating n 16-bit digital code components q1(k), q2(k), ..., q n (k); then encode the generated n 16-bit digital components q1(k), q2(k), ..., q n (k), perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); then transpose the n 16-bit coded components s1(k), s2(k), ..., s n (k) are arranged, serial-to-parallel transformed, and recombined into 16 n-bit serial-to-parallel transformed encoded components f0(k), f1(k), ..., f 15 (k) is sent to the error control coding module. The specific method is as follows:
[0205] Step 3.1: The zero-padding and flipping submodule receives n 8-bit numbers from the differential quantization encoding module to measure the compressed encoded components l1(k), l2(k), ..., l n(k) is padded with zeros at intervals to expand it from 8 bits to 16 bits, resulting in n 16-bit digital code components q1(k), q2(k), ..., q n (k). The specific encoding algorithm is as follows:
[0206] (1) Let the i-th 8-bit digit be the measurement of the compressed coding component l. i (k) is represented as:
[0207] l i (k): d i,7 (k) d i,6 (k) … d i,j (k) … d i,1 (k) d i,0 (k), d i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,7;
[0208] Where, d i,j (k) represents l i The value of the j-th bit of (k), l i (k) is calculated numerically using the following formula:
[0209] l i (k)= d i,7 (k)×2 7 + d i,6 (k)×2 6 +…+ d i,j (k)×2 j +…+ d i,1 (k)×2 1 + d i,0 (k);
[0210] (2) For l i (k) Pad with zeros at intervals to expand from 8 bits to 16 bits, resulting in t. i (k), as shown below:
[0211] t i (k): d i,7 (k) 0 d i,6 (k) 0 d i,5 (k) 0 d i,4 (k) 0 d i,3 (k) 0 d i,2 (k) 0 d i,1 (k) 0d i,0 (k) 0;
[0212] (3) For l iThe 8 binary 0s appended after (k) are used to select any 4 bits and flip them to get 1s, resulting in q. i (k); For example, if the selected flip bits are 1, 3, 11, 13, then the corresponding q i (k) can be represented as:
[0213] q i (k): d i,7 (k) 0 d i,6 (k) 1 d i,5 (k) 1 d i,4 (k) 0 d i,3 (k) 0 d i,2 (k) 0 d i,1 (k) 1d i,0 (k) 1;
[0214] The generated n 16-bit digital encoded components q1(k), q2(k), ..., q n (k) is sent to the cross-transposition submodule.
[0215] Step 3.2: The interleaving submodule receives n 16-bit coded components q1(k), q2(k), ..., q from the zero-padding and flipping submodule. n (k), perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k). The specific encoding algorithm is as follows:
[0216] (1) Define the transposition code value S(k) as n 16-bit transposition code components s1(k), s2(k), ..., s n (k) represents the following:
[0217] S(k) = [s1(k) s2(k) … s i (k) … s n (k)] T ;
[0218] Among them, s i (k) is represented as:
[0219] s i (k): a i,15 (k) a i,14 (k) … a i,j (k) … a i,1 (k) a i,0 (k), a i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,15;
[0220] (2) Determine qi The crossover rules for (k) are as follows: 0⇌5, 1⇌10, 2⇌3, 3⇌7, 4⇌9, 5⇌2, 6⇌0, 7⇌1, 8⇌15, 9⇌11, 10⇌12, 11⇌4, 12⇌6, 13⇌8, 14⇌13, 15⇌14;
[0221] (3) Based on the crossover rules determined above, swap q i The 16-bit value of (k) is assigned to s. i (k), according to the crossover rule in the example above, can be obtained as follows:
[0222] a i,15 (k) = 0; a i,14 (k)= d i,7 (k); a i,13 (k)=0; a i,12 (k)=1; a i,11 (k)= d i,4 (k);
[0223] a i,10 (k)= d i,0 (k); a i,9 (k)=0; a i,8 (k)= d i,6 (k); a i,7 (k)= d i,1 (k); a i,6 (k)=1;
[0224] a i,5 (k)=1; a i,4 (k)= d i,5 (k); a i,3 (k)=1; a i,2 (k)= d i,2 (k); a i,1 (k)= d i,3 (k); a i,0 (k)=0;
[0225] The n 16-bit transposed encoded components s1(k), s2(k), ..., sn generated by the above encoding algorithm are... n (k) is sent to the serial-to-parallel conversion submodule.
[0226] Step 3.3: The serial-to-parallel conversion submodule receives n 16-bit transposed code components s1(k), s2(k), ..., s from the cross-transposition submodule. n (k), arranged in order, are transformed into 16 n-bit serial-to-parallel transformation encoded components f0(k), f1(k), ..., f 15(k). The specific encoding algorithm is as follows:
[0227] (1) Define the serial-to-parallel transform code value F(k) as consisting of 16 n-bit serial-to-parallel transform code components f0(k), f1(k), ..., f 15 (k) represents the following:
[0228] F(k) = [f0(k) f1(k) … f j (k) … f 15 (k)] T j=0,1,…,15;
[0229] (2) Receive n 16-bit transpose encoded components s1(k), s2(k), ..., s from the cross-transpose submodule n (k), and arrange them in the order of their subscript numbers, aligning the high bits of all transposed coded components with the high bits and the low bits with the low bits;
[0230] (3) Let f j (k) represents the j-th n-bit string-to-parallel transformation encoded component, then f j The calculation method for (k) is as follows:
[0231] f j (k): a n,j (k) a n-1,j (k) … a i,j (k) … a 2,j (k) a 1,j (k), a i,j (k)∈{0,1}, i=1,2,…,n, j=0,1,…,15;
[0232] The 16 n-bit strings generated by the above encoding algorithm are then transformed into encoded components f0(k), f1(k), ..., f 15 (k) is sent to the error control coding module.
[0233] Step 4: The error control encoding module receives 16 n-bit strings from the data encryption encoding module and transforms the encoded components f0(k), f1(k), ..., f 15 (k) uses a binary (2n,n,16) convolutional code encoding method for error control coding, resulting in 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k) is sent to the data sequence generation module.
[0234] Step 5: The data sequence generation module receives 16 2n-bit code symbol components c0(k), c1(k), ..., c from the error control coding module. 15(k) are combined into a data sequence to obtain the code symbol C(k), which is then sent to the transmitter, thus completing the state coding of the unmanned system.
[0235] This invention provides an anti-spoofing unmanned system state encoder and its encoding method, which is mainly applicable to unmanned system state encoding, especially suitable for unmanned system state encoding when communication networks are subjected to spoofing attacks. For control systems of unmanned aerial vehicles, unmanned vehicles, unmanned ships, etc., differential quantization encoding, data encryption encoding, error control encoding and other technologies are adopted to improve the success rate of unmanned systems in detecting network spoofing attacks, reduce or eliminate the impact of network spoofing attacks, and ensure the security of data transmission in data communication networks.
[0236] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope defined by the present invention.
Claims
1. A state encoder for an unmanned system resistant to spoofing attacks, characterized in that: This includes analog multiplexers and embedded processors; The analog multiplexer is used to receive n measurement components y1(k), y2(k), ..., yn(k) of the unmanned system's measurement output value Y(k). n (k), and in the kth sampling period, each measurement component is selected sequentially and sent to the embedded processor; The embedded processor is used to convert the n measurement components of the unmanned system measurement output value Y(k) received by the analog multiplexer into digital signals and store them, and to perform sampling, quantization, and encoding to obtain the code symbol C(k), and send it to the transmitter of the unmanned system. Embedded processors include a core processor, an analog-to-digital converter, data registers, an instruction memory, and peripheral interfaces, and communicate data via a bus architecture. Embedded processors connect to analog multiplexers and unmanned systems via peripheral interfaces; The data register is used to store various data during the encoding process; the instruction memory stores an executable computer program, including a state data sampling module, a differential quantization encoding module, a data encryption encoding module, an error control encoding module, and a data sequence generation module connected in sequence; the core processor runs the computer program stored in the instruction memory to sample, quantize, and encode the unmanned system's measurement output value Y(k) to obtain the code symbol C(k), thus completing the encoding of the unmanned system's measurement output value Y(k), and sending the code symbol C(k) to the unmanned system's transmitter through the peripheral interface; The state data sampling module sets the sampling period according to the specific unmanned system structure and motion characteristics. In the k-th sampling period, it sequentially samples the n measurement components y1(k), y2(k), ..., yn(k) of the unmanned system's output value Y(k). n (k) is sampled and converted into a 12-bit digital signal to obtain n digital measurement components g1(k), g2(k), ..., gn(k) of the unmanned system measurement output value Y(k). n (k), and send it to the differential quantization encoding module; The differential quantization encoding module, based on the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous sampling period... n (k-1), calculate the predicted state value X of the unmanned system. e (k), and further calculate the predicted value Y of the unmanned system measurement output. e (k), to obtain the predicted value Y of the measurement output of the unmanned system. e The n measurement prediction components h1(k), h2(k), ..., h(k) of (k) n (k), and then with n digital measurement components g1(k), g2(k), ..., g n (k) are subtracted to obtain n 12-bit digital measurement differential components z1(k), z2(k), ..., zn(k). n (k); Measure the differential components z1(k), z2(k), ..., zn(k) of n 12-bit digital numbers. n (k) Perform quantization encoding to achieve data compression, obtaining n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k) is sent to the data encryption and encoding module; The data encryption and encoding module measures and compresses the encoding components l1(k), l2(k), ..., ln(k) of n 8-bit numbers. n (k) Pad with "0"s at intervals to expand from 8 bits to 16 bits. Then, randomly select 4 bits from the 8 padded binary values "0"s and flip them to "1". This generates n 16-bit digital code components q1(k), q2(k), ..., q n (k); then encode the generated n 16-bit digital components q1(k), q2(k), ..., q n (k), perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); then transpose the n 16-bit coded components s1(k), s2(k), ..., s n (k) are arranged, serial-to-parallel transformed, and recombined into 16 n-bit serial-to-parallel transformed encoded components f0(k), f1(k), ..., f 15 (k) is sent to the error control coding module; The error control coding module employs a binary (2n,n,16) convolutional code encoding method to perform parallel transformation coding on 16 n-bit string components f0(k), f1(k), ..., f 15 (k) Perform error control coding to obtain 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k) is sent to the data sequence generation module; The data sequence generation module generates 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k) are combined into a data sequence to obtain the code symbol C(k), which is then sent to the transmitter to complete the state coding of the unmanned system.
2. The unmanned system state encoder resistant to spoofing attacks according to claim 1, characterized in that: The differential quantization encoding module includes a measurement output buffer submodule, a state prediction submodule, a measurement output prediction submodule, a differential signal generation submodule, and a quantization encoding submodule connected in sequence. The measurement output buffer submodule stores the n digital measurement components g1(k), g2(k), ..., gn of the unmanned system's measurement output value Y(k). n (k) is cached, and the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous time step are stored. n (k-1) is sent to the state prediction submodule, which sends the n digital measurement components g1(k), g2(k), ..., g at the current time. n (k) is sent to the differential signal generation submodule; The state prediction submodule is based on n digital measurement components g1(k-1), g2(k-1), ..., g n (k-1), calculate the estimated state value X of the unmanned system at the previous moment. a (k-1), then further calculate the predicted state value X of the unmanned system at the current moment. e (k); The specific calculation method is as follows: First, let Y a (k-1) represents the n numerical measurement components g1(k-1), g2(k-1), ..., g n Given a vector consisting of (k-1) vectors, we have: Y a (k-1)=[g1(k-1) g2(k-1) … g i (k-1) … g n (k-1)] T , i=1,2,…,n; The state equation for the unmanned system state observer is established as shown in the following formula: X a (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0)+G(Y a (k-1)-Φ(X a (k-1),V(k-1)=0)); U(k-1)=K(X a (k-1)); Where Ψ(·) is about X a Nonlinear functions of (k-1), U(k-1), and W(k-1), where Φ(·) is a function of X. a The nonlinear functions of (k-1) and V(k-1), Ψ(·) and Φ(·) are determined by the specific unmanned system structure and motion characteristics; G(·) represents the observer gain function; U(k-1)∈R c Let W(k-1) ∈ R be the c-dimensional control input value of the unmanned system in the (k-1)th sampling period. b V(k-1)∈R represents the b-dimensional disturbance input value of the unmanned system in the (k-1)th sampling period. n K(·) represents the n-dimensional measurement noise value of the unmanned system in the (k-1)th sampling period; K(·) is the noise value of X. a The control gain function of (k-1) is determined by the specific unmanned system control algorithm; let X a (0) represents the initial value of the state estimate of the unmanned system, X a (0) = W0, where W0 is a known parameter determined by the specific unmanned system; Then, the state equation of the unmanned system state observer is solved to calculate the unmanned system state estimate X. a (k-1) and control input value U(k-1); Finally, based on the obtained X a Given (k-1) and U(k-1), the predicted state value X of the unmanned system is further calculated using the following formula. e (k): X e (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0); The calculated unmanned system state prediction value X e (k) is sent to the measurement output prediction submodule; The measurement output prediction submodule is based on the unmanned system state prediction value X. e (k) Calculate the predicted value Y of the unmanned system's measurement output. e (k), the formula is as follows: Y e (k)=Φ(X e (k),V(k)=0); Where Φ(·) is about X e Nonlinear functions of (k) and V(k); Y e (k) Use n measurements to predict components h1(k), h2(k), ..., h n (k) represents the following: Y e (k)=[h1(k) h2(k) … h i (k) … h n (k)] T ,i=1,2,…,n; The calculated n measurement prediction components h1(k), h2(k), ..., h n (k) is sent to the differential signal generation submodule; The differential signal generation submodule receives n digital measurement components g1(k), g2(k), ..., g from the measurement output buffer submodule. n (k), receiving n measurement prediction components h1(k), h2(k), ..., h from the measurement output prediction submodule. n (k), calculate the n digital measurement difference components z1(k), z2(k), ..., zk of the two. n (k) is calculated as follows: z i (k)=g i (k)-h i (k),i=1,2,…,n; The calculated n 12-bit numbers are measured as differential components z1(k), z2(k), ..., z n (k) is sent to the quantization encoding submodule; The quantization encoding submodule measures the differential components z1(k), z2(k), ..., zn of n 12-bit numbers. n (k) Perform quantization encoding to obtain n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k) is used to compress the data, and then the obtained n 8-bit digital measurement compressed encoding components are sent to the data encryption encoding module.
3. The unmanned system state encoder resistant to deception attacks according to claim 2, characterized in that: The data encryption and encoding module includes a zero-padding and flipping submodule, a cross-transposition submodule, and a serial-to-parallel transformation submodule connected in sequence. The zero-padding and flipping submodule measures the compressed encoded components l1(k), l2(k), ..., l of n 8-bit numbers. n (k) Pad with "0"s at intervals to expand from 8 bits to 16 bits, resulting in n 16-bit digital code components q1(k), q2(k), ..., q n (k); The specific encoding method is as follows: First, let the i-th 8-bit number be the measurement of the compressed coded component l. i (k) is represented as: l i (k):d i,7 (k) d i,6 (k) … d i,j (k) … d i,1 (k) d i,0 (k),d i,j (k)∈{0,1},i=1,2,…,n,j=0,1,…,7; Where, d i,j (k) represents l i The value of the j-th bit of (k), l i (k) is calculated numerically using the following formula: l i (k)= d i,7 (k)×2 7 + d i,6 (k)×2 6 +…+ d i,j (k)×2 j +…+ d i,1 (k)×2 1 + d i,0 (k); Then, for l i (k) Pad with "0"s at intervals to expand from 8 bits to 16 bits, resulting in t. i (k), as shown below: t i (k):d i,7 (k) 0 d i,6 (k) 0 d i,5 (k) 0 d i,4 (k) 0 d i,3 (k) 0 d i,2 (k) 0 d i,1 (k) 0 d i,0 (k) 0; Finally, regarding l i Take any 4 of the 8 binary 0s appended after (k) and flip them to get 1s to obtain q. i (k); The generated n 16-bit digital encoding components q1(k), q2(k), ..., q n (k) is sent to the cross-transposition submodule; The cross-transposition submodule encodes n 16-bit digital components q1(k), q2(k), ..., q n (k) Perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); The specific encoding method is as follows: First, define the transposition code value S(k), which consists of n 16-bit transposition code components s1(k), s2(k), ..., sn(k). n (k) represents, i.e., S(k) = [s1(k) s2(k) … s i (k) … s n (k)] T , where s i (k) is represented as: s i (k):a i,15 (k) a i,14 (k) … a i,j (k) … a i,1 (k) a i,0 (k),a i,j (k)∈{0,1},i=1,2,…,n,j=0,1,…,15; Then, determine q. i (k) crossover rules; Finally, based on the determined crossover rules, q is swapped. i The 16-bit value of (k) is assigned to s. i (k); The n 16-bit transposed encoded components s1(k), s2(k), ..., sn generated by the above encoding algorithm are... n (k) is sent to the serial-to-parallel conversion submodule; The serial-to-parallel conversion submodule converts n 16-bit transposed encoded components s1(k), s2(k), ..., s n (k) Arrange them in order, perform serial-to-parallel transformation, and recombine them into 16 n-bit serial-to-parallel transformation encoded components f0(k), f1(k), ..., f 15 (k); The specific encoding method is as follows: First, define the string-to-parallel transform code value F(k), which consists of 16 n-bit string-to-parallel transform code components f0(k), f1(k), ..., fk. 15 (k) represents, i.e., F(k) = [f0(k) f1(k) … f j (k) … f 15 (k)] T j=0,1,…,15; Then, the n 16-bit transposed coded components s1(k), s2(k), ..., s n (k) Arranged in numerical order of subscripts, with the high bits of all transposed coded components aligned to the high bits and the low bits aligned to the low bits; Finally, let f j (k) represents the j-th n-bit string-to-parallel transformation encoded component, then f j The calculation method for (k) is as follows: f j (k):a n,j (k) a n-1,j (k) … a i,j (k) … a 2,j (k) a 1,j (k),a i,j (k)∈{0,1},i=1,2,…,n,j=0,1,…,15; The 16 n-bit strings generated by the above encoding algorithm are then transformed into encoded components f0(k), f1(k), ..., f 15 (k) is sent to the error control coding module.
4. A state coding method for unmanned systems resistant to deception attacks, characterized in that: The unmanned system state encoder resistant to deception attacks as described in claim 1 is implemented by including the following steps: Step 1: Set the sampling period according to the specific unmanned system structure and motion characteristics. In the k-th sampling period, sequentially measure the n measurement components y1(k), y2(k), ..., yn(k) of the unmanned system output value Y(k). n (k) Sampling is performed to convert the original analog signal into a 12-bit digital signal, obtaining n digital measurement components g1(k), g2(k), ..., gn(k) of the unmanned system's measurement output value Y(k). n (k); Step 2: Based on the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous sampling period n (k-1), calculate the predicted state value X of the unmanned system. e (k), and further calculate the predicted value Y of the unmanned system measurement output. e (k), to obtain the predicted value Y of the measurement output of the unmanned system. e The n measurement prediction components h1(k), h2(k), ..., h(k) of (k) n (k), and then with n digital measurement components g1(k), g2(k), ..., g n (k) are subtracted to obtain n 12-bit digital measurement differential components z1(k), z2(k), ..., zn(k). n (k); Measure the differential components z1(k), z2(k), ..., zn(k) of n 12-bit digital numbers. n (k) Perform quantization encoding to achieve data compression, obtaining n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k); Step 3: Measure the compressed coded components l1(k), l2(k), ..., l for n 8-bit numbers. n (k) Pad with "0"s at intervals to expand from 8 bits to 16 bits. Then, randomly select 4 bits from the 8 padded binary values "0" and flip them to "1", generating n 16-bit digital code components q1(k), q2(k), ..., q n (k); then encode the generated n 16-bit digital components q1(k), q2(k), ..., q n (k), perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); then transpose the n 16-bit coded components s1(k), s2(k), ..., s n (k) are arranged, serial-to-parallel transformed, and recombined into 16 n-bit serial-to-parallel transformed encoded components f0(k), f1(k), ..., f 15 (k); Step 4: Using a binary (2n,n,16) convolutional code encoding method, perform a parallel transformation on the 16 n-bit string components f0(k), f1(k), ..., f 15 (k) Perform error control coding to obtain 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k); Step 5: Separate the 16 2n-bit code symbol components c0(k), c1(k), ..., c 15 (k) are combined into a data sequence to obtain the code symbol C(k), which is then sent to the transmitter of the unmanned system to complete the state coding of the unmanned system.
5. The unmanned system state coding method against deception attacks according to claim 4, characterized in that: The specific method for step 2 is as follows: Step 2.1: Measure the n digital components g1(k), g2(k), ..., gn of the unmanned system's output value Y(k). n (k) is cached; Step 2.2: Based on the n digital measurement components g1(k-1), g2(k-1), ..., g from the previous time step n (k-1), calculate the estimated state value X of the unmanned system at the previous moment. a (k-1), then further calculate the predicted state value X of the unmanned system at the current moment. e (k); The specific calculation method is as follows: Step 2.2.1: Let Y a (k-1) represents the n numerical measurement components g1(k-1), g2(k-1), ..., g n The vector formed by (k-1), i.e., Y a (k-1)=[g1(k-1) g2(k-1) … g i (k-1) … g n (k-1)] T , i=1,2,…,n; The state equation for the unmanned system state observer is established as shown in the following formula: X a (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0)+G(Y a (k-1)-Φ(X a (k-1),V(k-1)=0)); U(k-1)=K(X a (k-1)); Where Ψ(·) is about X a Nonlinear functions of (k-1), U(k-1), and W(k-1), where Φ(·) is a function of X. a The nonlinear functions of (k-1) and V(k-1), Ψ(·) and Φ(·) are determined by the specific unmanned system structure and motion characteristics; G(·) represents the observer gain function; U(k-1)∈R c Let W(k-1) ∈ R be the c-dimensional control input value of the unmanned system in the (k-1)th sampling period. b V(k-1)∈R represents the b-dimensional disturbance input value of the unmanned system in the (k-1)th sampling period. n K(·) represents the n-dimensional measurement noise value of the unmanned system in the (k-1)th sampling period; K(·) is the noise value of X. a The control gain function of (k-1) is determined by the specific unmanned system control algorithm; let X a (0) represents the initial value of the state estimate of the unmanned system, X a (0) = W0, where W0 is a known parameter determined by the specific unmanned system; Step 2.2.2: Solve the state equation of the unmanned system state observer and calculate the unmanned system state estimate X. a (k-1) and control input value U(k-1); Step 2.2.3: Based on the obtained X a Given (k-1) and U(k-1), the predicted state value X of the unmanned system is further calculated using the following formula. e (k): X e (k)=Ψ(X a (k-1),U(k-1),W(k-1)=0); Step 2.3: Based on the predicted state value X of the unmanned system e (k) Calculate the predicted value Y of the unmanned system's measurement output. e (k), the formula is as follows: Y e (k)=Φ(X e (k),V(k)=0); Y e (k) Use n measurements to predict components h1(k), h2(k), ..., h n (k) represents Y e (k)=[h1(k) h2(k) …h i (k) … h n (k)] T , i=1,2,…,n; Step 2.4: Calculate the n digital measurement components g1(k), g2(k), ..., g n (k), and n measurement prediction components h1(k), h2(k), ..., h n The n numerical measurement difference components z1(k), z2(k), ..., z of (k) n (k) is calculated as follows: z i (k)=g i (k)-h i (k),i=1,2,…,n; Step 2.5: Measure the differential components z1(k), z2(k), ..., zn(k) of the n 12-bit numbers. n (k) Perform quantization encoding to obtain n 8-bit digital measurement compressed encoding components l1(k), l2(k), ..., l n (k), to achieve data compression; then measure the compressed encoded components l1(k), l2(k), ..., l of the obtained n 8-bit numbers. n (k).
6. The unmanned system state coding method against deception attacks according to claim 5, characterized in that: The specific method for step 3 is as follows: Step 3.1: Measure the compressed coded components l1(k), l2(k), ..., l for n 8-bit numbers. n (k) Pad with "0"s at intervals to expand from 8 bits to 16 bits, resulting in n 16-bit digital code components q1(k), q2(k), ..., q n (k); The specific encoding method is as follows: Step 3.1.1: Let the i-th 8-bit number be the compressed encoded component l. i (k) is represented as: l i (k):d i,7 (k) d i,6 (k) … d i,j (k) … d i,1 (k) d i,0 (k),d i,j (k)∈{0,1},i=1,2,…,n,j=0,1,…,7; Where, d i,j (k) represents l i The value of the j-th bit of (k), l i (k) is calculated numerically using the following formula: l i (k)= d i,7 (k)×2 7 + d i,6 (k)×2 6 +…+ d i,j (k)×2 j +…+ d i,1 (k)×2 1 + d i,0 (k); Step 3.1.2: For l i (k) Pad with "0"s at intervals to expand from 8 bits to 16 bits, resulting in t. i (k), as shown below: t i (k):d i,7 (k) 0 d i,6 (k) 0 d i,5 (k) 0 d i,4 (k) 0 d i,3 (k) 0 d i,2 (k) 0 d i,1 (k) 0 d i,0 (k) 0; Step 3.1.3: For l i Take any 4 of the 8 binary 0s appended after (k) and flip them to get 1s to obtain q. i (k); Step 3.2: Encode the n 16-bit number components q1(k), q2(k), ..., q n (k) Perform cross-transposition to generate n 16-bit transposed code components s1(k), s2(k), ..., s n (k); The specific encoding method is as follows: Step 3.2.1: Define the transposition code value S(k), which consists of n 16-bit transposition code components s1(k), s2(k), ..., s... n (k) represents, i.e., S(k) = [s1(k) s2(k) … s i (k) … s n (k)] T , where s i (k) is represented as: s i (k):a i,15 (k) a i,14 (k) … a i,j (k) … a i,1 (k) a i,0 (k),a i,j (k)∈{0,1},i=1,2,…,n,j=0,1,…,15; Step 3.2.2: Determine q i (k) crossover rules; Step 3.2.3: Based on the determined crossover rules, swap q. i The 16-bit value of (k) is assigned to s. i (k); Step 3.3: Transpose the n 16-bit transposed coded components s1(k), s2(k), ..., s n (k) Arrange them in order, perform serial-to-parallel transformation, and recombine them into 16 n-bit serial-to-parallel transformation encoded components f0(k), f1(k), ..., f 15 (k); The specific encoding method is as follows: Step 3.3.1: Define the string-to-parallel transform code value F(k), which consists of 16 n-bit string-to-parallel transform code components f0(k), f1(k), ..., f 15 (k) represents, i.e., F(k) = [f0(k) f1(k) … f j (k) … f 15 (k)] T j=0,1,…,15; Step 3.3.2: Transpose the n 16-bit transposed coded components s1(k), s2(k), ..., s n (k) Arranged in numerical order of subscripts, with the high bits of all transposed coded components aligned to the high bits and the low bits aligned to the low bits; Step 3.3.3: Let f j (k) represents the j-th n-bit string-to-parallel transformation encoded component, then f j The calculation method for (k) is as follows: f j (k):a n,j (k) a n-1,j (k) … a i,j (k) … a 2,j (k) a 1,j (k),a i,j (k)∈{0,1},i=1,2,…,n,j=0,1,…,15。