A highway construction site internet of things positioning tracking system

By calculating the fundamental frequency of engine vibration of construction machinery and the blocking bandwidth of dynamic filters, and combining the Runge-Kutta algorithm, the positioning error problem of the construction site positioning system in the case of weak satellite signal coverage and high vibration environment was solved, and accurate positioning coordinate output was achieved.

CN121632118BActive Publication Date: 2026-05-12CHINA RAILWAY BEIJING ENG GRP CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA RAILWAY BEIJING ENG GRP CO LTD
Filing Date
2026-02-02
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing construction site positioning technologies struggle to maintain continuous tracking in areas with weak satellite signal coverage. Furthermore, the high-intensity engine vibrations of construction machinery introduce noise into the angular velocity data of the inertial measurement unit, resulting in accumulated errors in the heading angle and failing to accurately reflect the real-time operating status of the machinery.

Method used

By collecting mechanical engine speed data and combining it with cylinder ignition factor to calculate vibration fundamental frequency, a dynamic filter blocking bandwidth is constructed. The vibration noise is accurately stripped away using an infinite impulse response filter and Runge-Kutta algorithm, generating purified angular velocity values, and the position coordinates are calculated by combining them with real-time driving speed.

Benefits of technology

In environments with strong vibrations, the system accurately outputs positioning coordinates that match the actual trajectory, effectively eliminating heading drift and ensuring the stability and accuracy of the positioning system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121632118B_ABST
    Figure CN121632118B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of construction site management, in particular to a highway construction site Internet of Things positioning tracking system, the system comprises: a fundamental frequency calculation module, which collects engine speed and angular velocity signals, calculates the vibration fundamental frequency of the engine in combination with the ignition factor, a parameter generation module, which generates the center frequency based on the harmonic constant, sets the bandwidth and calculates the weighting coefficient, a dynamic filtering module, which configures the weighting coefficient as the parameter of the difference equation, convolves to filter out the energy of the blocking bandwidth, generates the purified angular velocity, a trajectory tracking module, which calculates the purified angular velocity and the zero deviation value, calls the Runge-Kutta algorithm integral to generate the heading angle, and generates the position coordinates in combination with the driving speed.In the present application, the vibration fundamental frequency is inversely calculated through the collection of engine speed, the blocking bandwidth is dynamically constructed according to the interference frequency, the frequency characteristics are mapped as the coefficients of the difference equation, the vibration noise is accurately stripped, the heading drift is eliminated, and the output positioning coordinates that agree with the actual trajectory are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of construction site management technology, and in particular to an Internet of Things (IoT) positioning and tracking system for highway construction sites. Background Technology

[0002] The field of construction site management technology mainly involves the organization, planning, supervision, control, and overall scheduling of human resources, machinery and equipment, building materials, and construction progress during the implementation of construction projects. Traditionally, IoT-based location tracking systems used in highway construction sites involve installing GPS receiver modules on construction machinery such as excavators and pavers, and embedding RFID tags or Bluetooth Low Energy beacons in the safety helmets of construction workers. Signals transmitted by the positioning terminals are received through wireless communication base stations or data acquisition gateways deployed along the construction route. The latitude and longitude coordinate data is then transmitted to a remote central server via mobile cellular networks, and the real-time locations of personnel and machinery are marked on an electronic map displayed on a screen in the monitoring center.

[0003] Existing construction site positioning technologies rely on the Global Positioning System (GPS) and wireless base stations for coordinate transmission. When facing areas with weak satellite signal coverage, it is difficult to maintain continuous tracking. If an inertial measurement unit (IMU) is introduced to assist in positioning, the high-intensity engine vibration of the construction machinery will be directly coupled to the sensor. Moreover, as the working conditions change, the vibration frequency exhibits nonlinear drift. Conventional fixed-frequency filtering cannot effectively eliminate interference in specific frequency bands, resulting in noise mixed into the angular velocity data. After integration, a serious cumulative error in the heading angle occurs, causing the positioning trajectory at the monitoring end to deviate from the actual route and failing to accurately reflect the real-time operating status of the machinery. Summary of the Invention

[0004] The purpose of this invention is to overcome the shortcomings of existing technologies and propose an Internet of Things (IoT) positioning and tracking system for highway construction sites.

[0005] To achieve the above objectives, the present invention adopts the following technical solution: an Internet of Things (IoT) positioning and tracking system for highway construction sites, comprising:

[0006] The base frequency calculation module collects engine speed values ​​through the controller local area network bus, synchronously collects the raw angular velocity signal output by the microelectromechanical inertial measurement unit, reads the preset cylinder ignition factor, and calculates and generates the engine vibration base frequency based on the engine speed value, 60 and the cylinder ignition factor.

[0007] The parameter generation module multiplies the fundamental frequency of engine vibration by a preset harmonic order constant to calculate and generate multiple harmonic center frequencies. Based on the harmonic center frequencies, it sets the blocking bandwidth, calls the infinite impulse response filter design algorithm, and calculates and generates filter weighting coefficients based on the blocking bandwidth.

[0008] The dynamic filtering module constructs a time-domain difference equation, configures the filtering weighting coefficients as the operation parameters of the time-domain difference equation, inputs the original angular velocity signal into the time-domain difference equation to perform convolution operation, filters out energy components whose frequency is within the blocking bandwidth from the original angular velocity signal, and generates a purified angular velocity value.

[0009] The trajectory tracking module obtains the static zero bias value, calculates the difference between the purification angular velocity value and the static zero bias value, calls the Runge-Kutta algorithm to perform numerical integration on the difference, generates the mechanical heading angle, and calculates the position coordinate information by combining the real-time driving speed.

[0010] As a further aspect of the present invention, the baseband calculation module specifically includes:

[0011] The bus data parsing submodule is configured to monitor the controller voltage network bus communication port of the construction machinery in real time, parse the data frame according to the preset communication protocol, extract the engine speed value containing the engine operating status, and synchronously record the timestamp of the data acquisition time to generate a speed data stream with time stamp.

[0012] The signal synchronization acquisition submodule is configured to send a trigger command to the microelectromechanical inertial measurement unit to acquire the raw angular velocity signal output by the three-axis gyroscope, and use a hardware interrupt mechanism to align the sampling time of the raw angular velocity signal with the timestamp of the engine speed value to generate a time-synchronized inertial measurement data sequence.

[0013] The frequency synthesis calculation submodule is configured to read the preset cylinder ignition factor in the memory, divide the aligned engine speed value by a constant of sixty to convert it into revolutions per second, multiply the revolutions per second by half of the cylinder ignition factor, calculate the main vibration frequency of the construction machinery engine at the current moment, and generate the engine vibration fundamental frequency.

[0014] As a further aspect of the present invention, the parameter generation module specifically includes:

[0015] The harmonic mapping submodule is configured to obtain the calculated fundamental frequency of the engine vibration, sequentially call multiple pre-stored harmonic order constants, and map the fundamental frequency of the engine vibration to multiple frequency points covering the fundamental wave and higher harmonics through multiplication operations, thereby generating the harmonic center frequency corresponding to different order vibration energies.

[0016] The bandwidth definition submodule is configured to calculate the cutoff frequency boundaries on the left and right sides of each harmonic center frequency based on a preset quality factor or relative bandwidth ratio coefficient, determine the frequency range of signal energy that needs to be suppressed, and generate the blocking bandwidth corresponding to each harmonic point.

[0017] The coefficient calculation submodule is configured to select the prototype of the transfer function of the notch filter based on the determined blocking bandwidth and the preset sampling frequency, convert the transfer function in the analog domain into discrete coefficients in the digital domain using the bilinear transform method, calculate the numerator and denominator coefficients used to configure the digital filter, and generate the filter weighting coefficients.

[0018] As a further aspect of the present invention, the dynamic filtering module specifically includes:

[0019] The equation construction submodule is configured to establish a linear difference equation describing the recursive relationship between the input signal and the output signal based on the structural characteristics of the infinite impulse response filter, and to map the generated filter weighting coefficients to the weighting factors of the input terms and the regression factors of the feedback output terms in the difference equation, thereby constructing the time-domain difference equation.

[0020] The convolution operation submodule is configured to take the real-time acquired raw angular velocity signal as the input sequence into the time-domain difference equation, combine the historical input data and historical output data stored in the register, perform multiplication and accumulation operation logic, and calculate the numerical result of the filter response at the current moment.

[0021] The spectrum purification submodule is configured to perform weighted reconstruction of the signal in the time domain through the convolution operation, attenuate the vibration noise components in the original angular velocity signal whose frequencies fall within the blocking bandwidth, retain the low-frequency angular motion information caused by the actual movement of the construction machinery, and generate the purified angular velocity value.

[0022] As a further aspect of the present invention, the trajectory tracking module specifically includes:

[0023] The zero bias correction submodule is configured to read the static zero bias value measured during the system static initialization phase, subtract the static zero bias value from the dynamically output purified angular velocity value, eliminate the inherent zero-point drift error of the gyroscope instrument, and generate an effective angular velocity increment for attitude calculation.

[0024] The integral derivation submodule is configured to take the effective angular velocity increment as the differential term, set the time step of numerical integration, use the fourth-order Runge-Kutta algorithm to estimate the weighted average slope of the rate of change of angular velocity, and gradually accumulate the angle change at the current moment relative to the previous moment to generate the mechanical heading angle.

[0025] The coordinate update submodule is configured to obtain the real-time travel speed of the construction machinery, decompose the real-time travel speed into displacement components along the direction of the machinery's heading angle, combine the position coordinate information of the previous moment, calculate the absolute position in the plane coordinate system of the construction site at the current moment through vector superposition, and generate the updated position coordinate information.

[0026] As a further aspect of the present invention, the bandwidth definition submodule performs the following calculations during the generation of blocking bandwidth:

[0027] The harmonic center frequency and preset bandwidth adjustment coefficient at the current moment are obtained. Based on the vibration characteristics of the construction machinery engine in different speed ranges, the frequency span of the blocking bandwidth is determined by an adaptive bandwidth calculation formula.

[0028] The adaptive bandwidth calculation formula is as follows:

[0029] ;

[0030] in, This represents the frequency width value of the calculated blocking bandwidth. This represents the center frequency of the harmonic being processed. This represents the preset basic relative bandwidth coefficient. This represents the preset dynamic speed compensation factor. This represents the currently collected engine speed value. This represents the engine's idle speed constant.

[0031] As a further aspect of the present invention, the process by which the coefficient solving submodule generates the filter weighting coefficients specifically includes:

[0032] Based on the upper and lower cutoff frequencies of the blocking bandwidth, the intermediate process variable, i.e., the pre-distortion frequency, is calculated, and the poles and zeros of the simulated notch filter are mapped onto the unit circle plane.

[0033] The preset second-order system transfer function template is invoked, and the pre-distortion frequency is substituted into the template parameters for analytical solution. The feedforward coefficient vector and the feedback coefficient vector are calculated respectively, and the two sets of vectors are combined to construct the filter weighting coefficients that can be directly called by the digital signal processor.

[0034] As a further aspect of the present invention, the specific logic for the convolution operation submodule to perform convolution operations is as follows:

[0035] Within each sampling period, a circular shift register queue is created to store the raw angular velocity signals of the most recent N time moments and the purified angular velocity values ​​generated in the most recent M time moments;

[0036] Based on the order requirement of the time-domain difference equation, historical data corresponding to the time step are extracted from the circular shift register queue and multiplied by the corresponding numerator and denominator coefficients in the filter weighting coefficients respectively.

[0037] The results of all products are summed to obtain the filtered output value at the current time, and the output value is immediately updated to the head of the circular shift register queue for use in the iterative calculation of the next sampling period.

[0038] Where N represents the total number of historical sampling points of the input signal corresponding to the numerator coefficient, and M represents the total number of historical feedback points of the output signal corresponding to the denominator coefficient.

[0039] As a further aspect of the present invention, the process by which the integral derivation submodule generates the mechanical heading angle using the Runge-Kutta algorithm specifically includes:

[0040] Based on the difference between the current mechanical heading angle and the input angular velocity, calculate the four characteristic slope values: starting point slope, midpoint estimated slope, midpoint corrected slope, and ending point slope.

[0041] Based on the preset Runge-Kutta weighting, the four feature slope values ​​are weighted and averaged to obtain the average rate of change within the current integration step.

[0042] Multiply the average rate of change by the integral time step to obtain the angle increment, and add the angle increment to the heading angle value of the previous moment to complete the single-step update of the mechanical heading angle.

[0043] As a further aspect of the present invention, the process by which the coordinate update submodule generates the position coordinate information specifically includes:

[0044] Acquire the auxiliary positioning data output by the Global Navigation Satellite System, and calculate the Euclidean distance between the auxiliary positioning data and the currently estimated position coordinates;

[0045] Determine whether the Euclidean distance exceeds a preset confidence interval threshold. If it does not exceed the threshold, directly output the position coordinate information obtained from dead reckoning.

[0046] If the confidence interval threshold is exceeded, a Kalman filter observation equation is constructed, and the auxiliary positioning data is used as the observation value. The coordinates obtained from dead reckoning are weighted and corrected to generate the fused and corrected position coordinate information.

[0047] Compared with the prior art, the advantages and positive effects of the present invention are as follows:

[0048] In this invention, by collecting real-time engine speed data and combining it with cylinder ignition factors, the fundamental frequency and multiple harmonic frequencies of mechanical vibration are accurately calculated. Based on the real-time changing interference frequencies, filter blocking bandwidth parameters are dynamically constructed. The vibration frequency characteristics are mapped to time-domain difference equation operation coefficients. Targeted convolution operations are performed on the original signal from the inertial sensor to accurately remove vibration noise synchronized with the engine speed. The Runge-Kutta algorithm is used to numerically integrate the purified angular velocity, effectively eliminating heading drift caused by mechanical noise and ensuring that the output positioning coordinates match the actual trajectory in a strong vibration environment. Attached Figure Description

[0049] Figure 1 This is a block diagram illustrating the principle of an IoT-based positioning and tracking system for highway construction sites according to the present invention.

[0050] Figure 2 This is a detailed flowchart of the fundamental frequency calculation module of the present invention;

[0051] Figure 3 A detailed flowchart of the parameter generation module of this invention is provided.

[0052] Figure 4 This is a detailed flowchart of the dynamic filtering module of the present invention;

[0053] Figure 5 The detailed operation flowchart of the trajectory tracking module of this invention is provided. Detailed Implementation

[0054] To make the objectives, technical solutions, and advantages of this invention clearer, the software-based technical solution is described in detail below with reference to system architecture diagrams and embodiments. It should be understood that the specific embodiments described herein are only for explaining the technical solutions of this invention and do not constitute a limitation on the scope of protection.

[0055] In the description of this invention, the system architecture relationships or data processing flows indicated by terms such as "layer," "module," "interface," "data flow," "client," and "server" are all defined based on the architecture diagram or flowchart corresponding to the embodiments. This way of describing is only used to clearly illustrate the logical relationships between the elements in the technical solution, and not to limit the physical deployment form. The term "multiple" includes two or more technical units, including but not limited to multiple data nodes, processing threads, service instances, or functional components and other scalable elements. The specific number is determined according to the actual business scenario and needs to be specifically specified.

[0056] Please see Figure 1 and Figure 2 This invention provides a technical solution: an Internet of Things (IoT) positioning and tracking system for highway construction sites, comprising:

[0057] The base frequency calculation module collects engine speed values ​​through the controller local area network bus, synchronously collects the raw angular velocity signal output by the microelectromechanical inertial measurement unit, reads the preset cylinder ignition factor, and calculates and generates the engine vibration base frequency based on the engine speed value, 60 and the cylinder ignition factor.

[0058] The baseband calculation module specifically includes:

[0059] The bus data parsing submodule is configured to monitor the controller voltage network bus communication port of the construction machinery in real time, parse the data frame according to the preset communication protocol, extract the engine speed value containing the engine operating status, and synchronously record the timestamp of the data acquisition time to generate a speed data stream with time stamp.

[0060] The signal synchronization acquisition submodule is configured to send a trigger command to the microelectromechanical inertial measurement unit to acquire the raw angular velocity signal output by the three-axis gyroscope, and use a hardware interrupt mechanism to align the sampling time of the raw angular velocity signal with the timestamp of the engine speed value to generate a time-synchronized inertial measurement data sequence.

[0061] The frequency synthesis calculation submodule is configured to read the preset cylinder ignition factor in the memory, divide the aligned engine speed value by a constant of sixty to convert it into revolutions per second, and then multiply the revolutions per second by half of the cylinder ignition factor to calculate the main vibration frequency of the construction machinery engine at the current moment and generate the engine vibration fundamental frequency.

[0062] The baseband calculation module, serving as the system's sensing front end, is constructed as a high-real-time embedded hardware subsystem. Its core logic lies in aligning and fusing vehicle bus data and inertial sensor data on a microsecond-level timescale. Specifically, this module is configured to connect to the CAN bus network of construction machinery (such as the XG6262H vibratory roller) via the bus data parsing submodule.

[0063] The aforementioned CAN bus network refers to Controller Area Network, a serial communication protocol bus used for real-time applications. It uses twisted-pair cables to transmit signals, allowing microcontrollers and devices to communicate with each other without a host.

[0064] The bus data parsing submodule uses a TJA1050 high-speed CAN transceiver at the physical layer, connected to the CAN-H and CAN-L pins of the OBD-II diagnostic interface. Its baud rate is set to 250kbps to match the SAE J1939 communication standard. At the data link layer, this submodule has a built-in hardware filter configured to only process data frames with the Parameter Group Number (PGN) of 61444 in the Extended Frame ID (corresponding to Electronic Engine Controller 1, EEC1). In the parsing logic, the submodule does not perform general full-frame parsing, but instead directly locks the 4th and 5th bytes of the data field. According to the J1939-71 protocol standard, these two bytes form a 16-bit unsigned integer representing the engine speed, with a resolution of 0.125 RPM / bit. For example, when the acquired hexadecimal value is 0x3600 (decimal 13824), the arithmetic logic unit (ALU) inside the parsing submodule performs a multiplication operation. The current physical rotation speed is 1728 RPM. At this time, the submodule will immediately read the high-precision timer register (TIM2) of the main control chip (such as STM32F407), obtain the current system clock count value (with an accuracy of 1 microsecond), and append this count value as a timestamp to the rotation speed data packet header to generate a rotation speed data stream with nanosecond-level time stamps and write it to the first-level buffer.

[0065] The signal synchronization acquisition submodule is configured to operate in a "hardware-triggered-interrupt-response" mode to eliminate latency jitter caused by software polling. This submodule utilizes the microcontroller's external interrupt pin (EXTI) to connect to the DataReady (DRDY) pin of the microelectromechanical inertial measurement unit (IMU, model ASM330LHH). After the IMU completes a sampling and analog-to-digital conversion of the three-axis gyroscope, the DRDY pin goes high, triggering the signal synchronization acquisition submodule to immediately perform a direct memory access (DMA) transfer, directly transferring the raw angular velocity signals of the X, Y, and Z axes from the IMU's output registers to memory. Crucially, at the interrupt response entry point, the submodule is hardwired to latch the current system timestamp. Subsequently, the submodule's internal alignment logic compares this timestamp with the most recent engine RPM timestamp in the L1 buffer. If the time difference between the two is less than the preset synchronization tolerance (e.g., 5ms, which is one cycle at a sampling rate of 200Hz), they are determined to be data from the same moment. If the time difference exceeds the limit, the instantaneous rotational speed of the IMU at the sampling moment is calculated based on the rotational speed data of the two moments before and after using the Lagrange interpolation method, thereby generating a strictly time-synchronized inertial measurement data sequence.

[0066] The frequency synthesis calculation submodule is primarily responsible for converting physical rotational speed into vibrational frequency. This submodule first accesses non-volatile memory (Flash) and reads the preset "cylinder ignition factor." For the six-cylinder four-stroke diesel engine in this embodiment, this factor is set to a constant of 6. The calculation logic is not a simple algebraic operation, but is based on the physical characteristics of the engine's power stroke: in a four-stroke engine, each cylinder ignites once for every two revolutions of the crankshaft. Therefore, the primary vibrational fundamental frequency is caused by the ignition pulse. The submodule executes the following computational chain: first, it converts the aligned engine speed value... (For example, 1728 RPM) Divide by a constant 60 to normalize it to the rotational frequency. Hz; subsequently, the cylinder ignition factor is read. According to the formula Perform a multiplication operation. Divide by 2 here because a four-stroke engine completes one working cycle every two revolutions. The final calculated fundamental engine vibration frequency is then determined. Hz. This fundamental frequency value is encapsulated as floating-point data and passed as a core control variable to the subsequent parameter generation module.

[0067] Experimental data shows that during the process of accelerating the construction machinery from idle speed (800 RPM) to rated operating speed (2200 RPM), the frequency response delay output by the base frequency calculation module is less than 10 ms, and the frequency calculation error deviates from the measured value of the high-precision optical tachometer by less than 0.5%, ensuring the accuracy of subsequent filter parameter settings.

[0068] Please see Figure 1 and Figure 3 The parameter generation module multiplies the engine vibration fundamental frequency by preset harmonic order constants to calculate and generate multiple harmonic center frequencies. Based on the harmonic center frequencies, the blocking bandwidth is set, and the infinite impulse response filter design algorithm is called to calculate and generate filter weighting coefficients based on the blocking bandwidth.

[0069] The parameter generation module specifically includes:

[0070] The harmonic mapping submodule is configured to obtain the calculated engine vibration fundamental frequency, sequentially call multiple pre-stored harmonic order constants, and map the engine vibration fundamental frequency to multiple frequency points covering the fundamental wave and higher harmonics through multiplication operations, thereby generating harmonic center frequencies corresponding to different order vibration energies.

[0071] The bandwidth definition submodule is configured to calculate the cutoff frequency boundaries on the left and right sides of each harmonic center frequency based on a preset quality factor or relative bandwidth ratio coefficient, determine the frequency range of signal energy that needs to be suppressed, and generate the blocking bandwidth corresponding to each harmonic point.

[0072] The bandwidth definition submodule performs the following calculations during the generation of blocking bandwidth:

[0073] The harmonic center frequency at the current moment and the preset bandwidth adjustment coefficient are obtained. Based on the vibration characteristics of the construction machinery engine in different speed ranges, the frequency span of the blocking bandwidth is determined by an adaptive bandwidth calculation formula.

[0074] The specific formula for calculating adaptive bandwidth is as follows:

[0075] ;

[0076] in, This represents the frequency width value of the calculated blocking bandwidth. This represents the center frequency of the harmonics currently being processed. This represents the preset basic relative bandwidth coefficient. This represents the preset dynamic speed compensation factor. This represents the currently collected engine speed value. Represents the engine's idle speed constant;

[0077] The coefficient solving submodule is configured to select the prototype of the transfer function of the notch filter based on the determined blocking bandwidth and the preset sampling frequency, convert the transfer function in the analog domain into discrete coefficients in the digital domain using the bilinear transform method, calculate the numerator and denominator coefficients used to configure the digital filter, and generate the filter weighting coefficients.

[0078] The process of generating filter weighting coefficients by the coefficient solving submodule specifically includes:

[0079] Based on the upper and lower cutoff frequencies of the blocking bandwidth, the intermediate process variable, i.e., the pre-distortion frequency, is calculated, and the poles and zeros of the simulated notch filter are mapped onto the unit circle plane.

[0080] The preset second-order system transfer function template is invoked, and the pre-distortion frequency is substituted into the template parameters for analytical solution. The feedforward coefficient vector and the feedback coefficient vector are calculated respectively, and the two sets of vectors are combined to construct the filter weighting coefficients that can be directly called by the digital signal processor.

[0081] The parameter generation module, as the core control unit of the filter, is responsible for dynamically calculating the core coefficients of the filter based on the real-time changing engine fundamental frequency. This module is designed to handle non-stationary random vibration environments. It first performs multi-order mapping on the input engine vibration fundamental frequency through a harmonic mapping submodule. Considering that the energy of mechanical vibration is mainly concentrated at the fundamental frequency and its integer harmonics, this submodule pre-stores an array of harmonic order constants. Taking an input fundamental frequency of 86.4Hz as an example, the submodule simultaneously calculates the three harmonic center frequencies using a parallel multiplier: the first-order fundamental frequency of 86.4Hz, the second-order harmonic frequency of 172.8Hz, and the third-order harmonic frequency of 259.2Hz. These frequency points constitute the noise centers that need to be filtered out.

[0082] The bandwidth definition submodule is the core innovation of this section. Instead of using a fixed notch bandwidth, it introduces a rotational speed adaptive mechanism. This submodule is configured to perform an adaptive bandwidth calculation formula for each harmonic center frequency.

[0083] The specific formula for calculating adaptive bandwidth is as follows:

[0084] ;

[0085] in, This represents the frequency width value of the calculated blocking bandwidth, in Hertz (Hz), and is used to determine the bandwidth of the filter at the -3dB attenuation point. The center frequency of the harmonic being processed is represented by 172.8Hz, which is the second harmonic with the strongest energy in this example. This represents the preset base relative bandwidth coefficient, with a value of 0.04, used to set the base bandwidth ratio; This represents the preset dynamic speed compensation factor, with a value of 0.35, used to compensate for spectral diffusion caused by combustion instability at high speeds. This represents the currently collected engine speed value, which is 1728 RPM. The idle speed constant of the engine is set to 800 RPM.

[0086] The bandwidth definition submodule performs the following specific calculations based on the above formula: First, it calculates the speed ratio. Next, calculate the natural logarithm. Multiply the logarithmic result by the dynamic compensation factor. ,Right now Then, a constant of 1 is added to obtain the dynamic broadening factor. Simultaneously calculate the basic relative bandwidth. Hz; finally, multiply the base relative bandwidth by the dynamic widening factor, i.e. Hz. Therefore, the calculated blocking bandwidth The result indicates that the filter will create an attenuation band of 8.775Hz around the center frequency of 172.8Hz, within which signal energy will be significantly suppressed.

[0087] The coefficient calculation submodule calculates the center frequency. Hz and bandwidth Hz, combined with the system sampling frequency Hz, generating the coefficients of the second-order IIR notch filter. The submodule first calculates the pre-distortion frequency, mapping the analog frequency onto the digital domain unit circle, using the formula: Next, the standard second-order notch transfer function prototype is retrieved from memory, and the bilinear transform method is used to convert the analog domain transfer function into discrete coefficients in the digital domain. Finally, the submodule outputs a set of double-precision floating-point coefficient vectors: numerator coefficients... Denominator coefficient (Note: This is a schematic value calculated based on the above parameters; the actual value is calculated in real time by the DSP), which can be directly called by the next-level filtering module.

[0088] The aforementioned bilinear transform method refers to a mathematical transformation method used to design digital filters. It transforms the transfer function of a continuous-time system into the transfer function of a discrete-time system by mapping the entire imaginary axis of the analog S-plane onto the unit circle of the digital Z-plane, while avoiding frequency aliasing.

[0089] Please see Figure 1 and Figure 4 The dynamic filtering module constructs a time-domain difference equation, configures the filtering weighting coefficients as the operation parameters of the time-domain difference equation, inputs the original angular velocity signal into the time-domain difference equation to perform convolution operation, filters out energy components whose frequency is within the blocking bandwidth from the original angular velocity signal, and generates purified angular velocity values.

[0090] The dynamic filtering module specifically includes:

[0091] The equation construction submodule is configured to establish a linear difference equation describing the recursive relationship between the input and output signals based on the structural characteristics of the infinite impulse response filter. The generated filter weighting coefficients are mapped to the weighting factors of the input terms and the regression factors of the feedback output terms in the difference equation, respectively, to construct the time-domain difference equation.

[0092] The convolution operation submodule is configured to take the real-time acquired raw angular velocity signal as the input sequence and input it into the time-domain difference equation. It combines the historical input data and historical output data stored in the register, performs multiplication and accumulation operation logic, and calculates the numerical result of the filter response at the current moment.

[0093] The specific logic for performing convolution operations in the convolution operation submodule is as follows:

[0094] Within each sampling period, a circular shift register queue is created to store the raw angular velocity signals of the most recent N time moments and the purified angular velocity values ​​generated in the most recent M time moments;

[0095] Based on the order requirement of the time-domain difference equation, historical data corresponding to the time step are extracted from the circular shift register queue and multiplied by the corresponding numerator and denominator coefficients in the filter weighting coefficients respectively.

[0096] The results of all products are summed to obtain the filtered output value at the current time, and the output value is immediately updated to the head of the circular shift register queue for use in the iterative calculation of the next sampling period.

[0097] Where N represents the total number of historical sampling points of the input signal corresponding to the numerator coefficient, and M represents the total number of historical feedback points of the output signal corresponding to the denominator coefficient.

[0098] The spectrum purification submodule is configured to perform weighted reconstruction of the signal in the time domain through convolution operations, attenuating vibration noise components in the original angular velocity signal whose frequencies fall within the blocking bandwidth, retaining low-frequency angular motion information caused by the actual movement of the construction machinery, and generating purified angular velocity values.

[0099] The dynamic filtering module is instantiated as a high-priority computation task inside the digital signal processor (DSP, such as TITMS320C6748). Its core function is to perform convolution operations based on time-domain difference equations to eliminate noise at specific frequencies with extremely low latency.

[0100] The equation construction submodule is configured to allocate a dedicated parameter area in memory for real-time updates of the filter weighting coefficients generated by the previous module. This submodule employs a DirectFormII Transposed structure to construct the time-domain difference equations. This structure offers better numerical stability compared to the standard form and effectively resists quantization noise caused by finite word length effects. The specific difference equation expression is as follows:

[0101] ;

[0102] in, This represents the purification angular velocity value generated at the current moment; Represents the current input raw angular velocity signal; , Represents historical input data; , This represents historical output feedback data; as well as This represents the filter weighting coefficients that are dynamically calculated and written by the parameter generation module.

[0103] The convolution operation submodule is the execution engine of this module. Within each 1ms sampling period, when a new raw angular velocity signal... (For example, the raw value of the gyroscope's Z-axis output is 3.5 rad / s, which includes 172.8 Hz high-frequency vibration noise.) When this value is reached, the submodule initiates the multiply-accumulate operation logic (MAC). This submodule maintains a circular shift register queue, whose physical structure is a continuous floating-point memory space of length 5, storing... to The operational logic is as follows: First, the state variable from the previous moment is read from the register; then, the DSP's internal hardware multiplier performs five multiplication operations in parallel, converting the previous state variable into the current state variable. and Multiply by the historical state and the feedback coefficient. Multiply; then feed all the products into an accumulator. Assume the current input... After calculation using the difference equation of the notch filter, the high-frequency vibration components are canceled out by the coefficient combinations during the convolution process, resulting in the final output. The value is 0.02 rad / s. This value of 0.02 represents the actual turning angular velocity of the construction machinery, while the vibration noise of amplitude 3.48 contained in 3.5 was successfully filtered out. Finally, the submodule will calculate the... Immediately write to the head of the circular queue, and shift the old data in the queue backward or update the pointer to prepare for the next iteration.

[0104] The aforementioned circular shift register queue refers to a data storage structure in which data elements are stored according to the first-in, first-out (FIFO) principle. When new data enters the head of the queue, the existing data in the queue are shifted one position to the right, and the last data is removed, thus keeping the queue length unchanged. It is often used for historical data caching in real-time signal processing.

[0105] The spectrum cleanup submodule monitors the effectiveness of the entire filtering process. To verify the filtering performance, the system recorded a 10-second comparison data segment. Table 1 below shows the signal quality comparison before and after enabling the dynamic filtering module:

[0106] Table 1. Comparison of Dynamic Filtering Effects Based on Measured Data:

[0107] ;

[0108] As shown in Table 1, through the above convolution operation, the huge noise (peak-to-peak value of 12.85 rad / s) caused by the high-frequency vibration of the engine in the original signal is effectively removed, and the remaining purified angular velocity value (peak-to-peak value of 0.42 rad / s) truly reflects the slow turning motion of the road roller. This spectrum purification process ensures that the subsequent integration operation is no longer affected by high-frequency noise, prevents the rapid divergence of angle drift, and ensures the long-term stability of the positioning system.

[0109] Please see Figure 1 and Figure 5 The trajectory tracking module obtains the static zero bias value, calculates the difference between the purification angular velocity value and the static zero bias value, calls the Runge-Kutta algorithm to perform numerical integration on the difference, generates the mechanical heading angle, and calculates the position coordinate information by combining the real-time driving speed.

[0110] The trajectory tracking module specifically includes:

[0111] The zero bias correction submodule is configured to read the static zero bias value measured during the system static initialization phase, subtract the static zero bias value from the dynamically output purified angular velocity value, eliminate the inherent zero-point drift error of the gyroscope instrument, and generate an effective angular velocity increment for attitude calculation.

[0112] The integral derivation submodule is configured to take the effective angular velocity increment as the differential term, set the time step of numerical integration, use the fourth-order Runge-Kutta algorithm to estimate the weighted average slope of the rate of change of angular velocity, and gradually accumulate the calculation of the angle change at the current moment relative to the previous moment to generate the mechanical heading angle.

[0113] The integral derivation submodule uses the Runge-Kutta algorithm to generate the machine heading angle, specifically including:

[0114] Based on the difference between the current mechanical heading angle and the input angular velocity, calculate the four characteristic slope values: starting point slope, midpoint estimated slope, midpoint corrected slope, and ending point slope.

[0115] Based on the preset Runge-Kutta weighting, the four feature slope values ​​are weighted and averaged to obtain the average rate of change within the current integration step.

[0116] Multiply the average rate of change by the integral time step to obtain the angle increment, and add the angle increment to the heading angle value of the previous moment to complete the single-step update of the mechanical heading angle;

[0117] The coordinate update submodule is configured to obtain the real-time travel speed of the construction machinery, decompose the real-time travel speed into displacement components along the direction of the machinery's heading angle, combine the position coordinate information of the previous moment, calculate the absolute position in the plane coordinate system of the construction site at the current moment through vector superposition, and generate updated position coordinate information.

[0118] The process of generating position coordinate information by the coordinate update submodule specifically includes:

[0119] Acquire the auxiliary positioning data output by the Global Navigation Satellite System, and calculate the Euclidean distance between the auxiliary positioning data and the currently estimated position coordinates;

[0120] Determine whether the Euclidean distance exceeds the preset confidence interval threshold. If it does not exceed the threshold, directly output the position coordinate information calculated from dead reckoning.

[0121] If the confidence interval threshold is exceeded, a Kalman filter observation equation is constructed, and the auxiliary positioning data is used as the observation value. The coordinates obtained from dead reckoning are weighted and corrected to generate the fused and corrected position coordinate information.

[0122] The trajectory tracking module runs at the application layer and is responsible for converting the purified angular velocity data into specific spatial coordinates. This module integrates loosely coupled algorithms for dead reckoning (DR) and satellite positioning (GNSS).

[0123] The zero-bias correction submodule operates during the first 10 seconds of system power-on initialization, during which time the construction machinery must remain stationary. The submodule collects 10,000 purified angular velocity samples at a frequency of 1000Hz and calculates their arithmetic mean as the static zero-bias value (Bias). rad / s. In subsequent dynamic operation, the submodule performs subtraction in real time: Assuming the current input purification angular velocity value... The effective angular velocity increment is 0.02 rad / s (from the aforementioned module). rad / s. This step is crucial because even a tiny zero bias of 0.0015 rad / s will result in a heading error of approximately 50 degrees after 10 minutes of integration.

[0124] The integral derivation submodule is configured to use the fourth-order Runge-Kutta (RK4) algorithm for processing. Let the current time be... Step length seconds, current heading angle is Instead of simply using linear integrals, the submodule computes four slope eigenvalues: The angular velocity at the current moment; For midpoint angular velocity estimation based on Euler's prediction; Based on Corrected midpoint angular velocity; The angular velocity at the final moment is predicted. Finally, it is calculated using the weighted formula. Calculate the angle increment. Experiments show that, compared with the traditional first-order Euler integral, the RK4 algorithm reduces the heading calculation error by about 15% when dealing with nonlinear motions such as S-shaped lane changes by road rollers.

[0125] The aforementioned fourth-order Runge-Kutta algorithm is a high-precision iterative method for solving numerical solutions of ordinary differential equations. It achieves higher truncation error accuracy than lower-order methods (such as the Euler method) by calculating the slope multiple times within each integration step and performing a weighted average. It is particularly suitable for state extrapolation of nonlinear systems.

[0126] The coordinate update submodule first obtains the real-time travel speed of the construction machinery measured by wheel speed sensors or millimeter-wave radar. (e.g., 2.5 m / s). Based on the currently calculated heading angle. (For example, 45 degrees), calculate the displacement components: , To address the accumulated errors in long-term dead reckoning, this submodule introduces a Kalman filter observation equation. The submodule first acquires auxiliary positioning data output from RTK-GNSS. , and calculate the Euclidean distance D between it and the dead reckoning coordinates. Set the confidence interval threshold to 0.5 meters. If The system determines that the GNSS signal is good and the DR calculation is accurate, and directly outputs the DR coordinates to ensure a smooth trajectory. If... If the GNSS is at a distance of meters (e.g., at a tunnel entrance or in an obstructed area), the submodule determines that the GNSS may have severe multipath effects or DR drift. At this point, the submodule checks the GNSS's HDOP (Horizontal Accuracy Factor). If HDOP < 1.5, the submodule considers the accumulated DR error to be too large and initiates the Kalman filter update step. , .

[0127] in, This represents the Kalman gain matrix, used to determine the trust weights between the observed and predicted values; H represents the prediction error covariance matrix; H represents the observation matrix; R represents the observation noise covariance matrix. This represents the position and state vector after fusion correction; The state prediction value obtained from dead reckoning; This represents GNSS observations. Through this fusion, the system can still control the positioning error within 20 centimeters even when the GNSS signal is lost for 5 seconds, effectively meeting the stringent requirements of highway construction for compaction trajectory accuracy.

[0128] The above embodiments illustrate preferred embodiments of the present invention. Any equivalent adjustments to the technical solution based on software engineering methods are within the scope of protection, including but not limited to: implementing algorithm logic using different programming languages, refactoring functional modules into services, adjusting data interaction protocols, and optimizing resource scheduling strategies. Any implementation scheme derived from reasonable modifications to the data processing flow, service call chain, or system architecture layer without departing from the core technology of the present invention should be considered within the protection scope defined by the technical solution of the present invention.

Claims

1. An Internet of Things (IoT) positioning and tracking system for highway construction sites, characterized in that, The system includes: The base frequency calculation module collects engine speed values ​​through the controller local area network bus, synchronously collects the raw angular velocity signal output by the microelectromechanical inertial measurement unit, reads the preset cylinder ignition factor, and calculates and generates the engine vibration base frequency based on the engine speed value, 60 and the cylinder ignition factor. The parameter generation module multiplies the fundamental frequency of engine vibration by a preset harmonic order constant to calculate and generate multiple harmonic center frequencies. Based on the harmonic center frequencies, it sets the blocking bandwidth, calls the infinite impulse response filter design algorithm, and calculates and generates filter weighting coefficients based on the blocking bandwidth. The dynamic filtering module constructs a time-domain difference equation, configures the filtering weighting coefficients as the operation parameters of the time-domain difference equation, inputs the original angular velocity signal into the time-domain difference equation to perform convolution operation, filters out energy components whose frequency is within the blocking bandwidth from the original angular velocity signal, and generates a purified angular velocity value. The trajectory tracking module obtains the static zero bias value, calculates the difference between the purification angular velocity value and the static zero bias value, calls the Runge-Kutta algorithm to perform numerical integration on the difference, generates the mechanical heading angle, and calculates the position coordinate information by combining the real-time driving speed.

2. The Internet of Things (IoT) positioning and tracking system for highway construction sites according to claim 1, characterized in that, The fundamental frequency calculation module specifically includes: The bus data parsing submodule is configured to monitor the controller voltage network bus communication port of the construction machinery in real time, parse the data frame according to the preset communication protocol, extract the engine speed value containing the engine operating status, and synchronously record the timestamp of the data acquisition time to generate a speed data stream with time stamp. The signal synchronization acquisition submodule is configured to send a trigger command to the microelectromechanical inertial measurement unit to acquire the raw angular velocity signal output by the three-axis gyroscope, and use a hardware interrupt mechanism to align the sampling time of the raw angular velocity signal with the timestamp of the engine speed value to generate a time-synchronized inertial measurement data sequence. The frequency synthesis calculation submodule is configured to read the preset cylinder ignition factor in the memory, divide the aligned engine speed value by a constant of sixty to convert it into revolutions per second, multiply the revolutions per second by half of the cylinder ignition factor, calculate the main vibration frequency of the construction machinery engine at the current moment, and generate the engine vibration fundamental frequency.

3. The Internet of Things (IoT) positioning and tracking system for highway construction sites according to claim 1, characterized in that, The parameter generation module specifically includes: The harmonic mapping submodule is configured to obtain the calculated fundamental frequency of the engine vibration, sequentially call multiple pre-stored harmonic order constants, and map the fundamental frequency of the engine vibration to multiple frequency points covering the fundamental wave and higher harmonics through multiplication operations, thereby generating the harmonic center frequency corresponding to different order vibration energies. The bandwidth definition submodule is configured to calculate the cutoff frequency boundaries on the left and right sides of each harmonic center frequency based on a preset quality factor or relative bandwidth ratio coefficient, determine the frequency range of signal energy that needs to be suppressed, and generate the blocking bandwidth corresponding to each harmonic point. The coefficient calculation submodule is configured to select the prototype of the transfer function of the notch filter based on the determined blocking bandwidth and the preset sampling frequency, convert the transfer function in the analog domain into discrete coefficients in the digital domain using the bilinear transform method, calculate the numerator and denominator coefficients used to configure the digital filter, and generate the filter weighting coefficients.

4. The Internet of Things (IoT) positioning and tracking system for highway construction sites according to claim 1, characterized in that, The dynamic filtering module specifically includes: The equation construction submodule is configured to establish a linear difference equation describing the recursive relationship between the input signal and the output signal based on the structural characteristics of the infinite impulse response filter, and to map the generated filter weighting coefficients to the weighting factors of the input terms and the regression factors of the feedback output terms in the difference equation, thereby constructing the time-domain difference equation. The convolution operation submodule is configured to take the real-time acquired raw angular velocity signal as the input sequence into the time-domain difference equation, combine the historical input data and historical output data stored in the register, perform multiplication and accumulation operation logic, and calculate the numerical result of the filter response at the current moment. The spectrum purification submodule is configured to perform weighted reconstruction of the signal in the time domain through the convolution operation, attenuate the vibration noise components in the original angular velocity signal whose frequencies fall within the blocking bandwidth, retain the low-frequency angular motion information caused by the actual movement of the construction machinery, and generate the purified angular velocity value.

5. The Internet of Things (IoT) positioning and tracking system for highway construction sites according to claim 1, characterized in that, The trajectory tracking module specifically includes: The zero bias correction submodule is configured to read the static zero bias value measured during the system static initialization phase, subtract the static zero bias value from the dynamically output purified angular velocity value, eliminate the inherent zero-point drift error of the gyroscope instrument, and generate an effective angular velocity increment for attitude calculation. The integral derivation submodule is configured to take the effective angular velocity increment as the differential term, set the time step of numerical integration, use the fourth-order Runge-Kutta algorithm to estimate the weighted average slope of the rate of change of angular velocity, and gradually accumulate the angle change at the current moment relative to the previous moment to generate the mechanical heading angle. The coordinate update submodule is configured to obtain the real-time travel speed of the construction machinery, decompose the real-time travel speed into displacement components along the direction of the machinery's heading angle, combine the position coordinate information of the previous moment, calculate the absolute position in the plane coordinate system of the construction site at the current moment through vector superposition, and generate the updated position coordinate information.

6. The Internet of Things (IoT) positioning and tracking system for highway construction sites according to claim 3, characterized in that, The bandwidth definition submodule performs the following calculations during the generation of blocking bandwidth: The harmonic center frequency and preset bandwidth adjustment coefficient at the current moment are obtained. Based on the vibration characteristics of the construction machinery engine in different speed ranges, the frequency span of the blocking bandwidth is determined by an adaptive bandwidth calculation formula. The adaptive bandwidth calculation formula is as follows: ; in, This represents the frequency width value of the calculated blocking bandwidth. This represents the center frequency of the harmonic being processed. This represents the preset basic relative bandwidth coefficient. This represents the preset dynamic speed compensation factor. This represents the currently collected engine speed value. This represents the engine's idle speed constant.

7. The Internet of Things (IoT) positioning and tracking system for highway construction sites according to claim 3, characterized in that, The process by which the coefficient solving submodule generates the filter weighting coefficients specifically includes: Based on the upper and lower cutoff frequencies of the blocking bandwidth, the intermediate process variable, i.e., the pre-distortion frequency, is calculated, and the poles and zeros of the simulated notch filter are mapped onto the unit circle plane. The preset second-order system transfer function template is invoked, and the pre-distortion frequency is substituted into the template parameters for analytical solution. The feedforward coefficient vector and the feedback coefficient vector are calculated respectively, and the two sets of vectors are combined to construct the filter weighting coefficients that can be directly called by the digital signal processor.

8. The Internet of Things (IoT) positioning and tracking system for highway construction sites according to claim 4, characterized in that, The specific logic for performing convolution operations in the convolution operation submodule is as follows: Within each sampling period, a circular shift register queue is created to store the raw angular velocity signals of the most recent N time moments and the purified angular velocity values ​​generated in the most recent M time moments; Based on the order requirement of the time-domain difference equation, historical data corresponding to the time step are extracted from the circular shift register queue and multiplied by the corresponding numerator and denominator coefficients in the filter weighting coefficients respectively. The results of all products are summed to obtain the filtered output value at the current time, and the output value is immediately updated to the head of the circular shift register queue for use in the iterative calculation of the next sampling period. Where N represents the total number of historical sampling points of the input signal corresponding to the numerator coefficient, and M represents the total number of historical feedback points of the output signal corresponding to the denominator coefficient.

9. The Internet of Things (IoT) positioning and tracking system for highway construction sites according to claim 5, characterized in that, The process by which the integral derivation submodule generates the mechanical heading angle using the Runge-Kutta algorithm specifically includes: Based on the difference between the current mechanical heading angle and the input angular velocity, calculate the four characteristic slope values: starting point slope, midpoint estimated slope, midpoint corrected slope, and ending point slope. Based on the preset Runge-Kutta weighting, the four feature slope values ​​are weighted and averaged to obtain the average rate of change within the current integration step. Multiply the average rate of change by the integral time step to obtain the angle increment, and add the angle increment to the heading angle value of the previous moment to complete the single-step update of the mechanical heading angle.

10. The Internet of Things (IoT) positioning and tracking system for highway construction sites according to claim 5, characterized in that, The process by which the coordinate update submodule generates the position coordinate information specifically includes: Acquire the auxiliary positioning data output by the Global Navigation Satellite System, and calculate the Euclidean distance between the auxiliary positioning data and the currently estimated position coordinates; Determine whether the Euclidean distance exceeds a preset confidence interval threshold. If it does not exceed the threshold, directly output the position coordinate information obtained from dead reckoning. If the confidence interval threshold is exceeded, a Kalman filter observation equation is constructed, and the auxiliary positioning data is used as the observation value. The coordinates obtained from dead reckoning are weighted and corrected to generate the fused and corrected position coordinate information.