A wireless ranging method and system based on programmable logic architecture
By adopting a programmable logic architecture in the wireless ranging system and utilizing technologies such as synchronous frame header, linear frequency modulation spread spectrum coding and coherent accumulation processing, the problem of multipath false target interference is solved and high-precision indoor positioning is achieved.
Patent Information
- Application Number
- CN202511022305.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-24
- Publication Date
- 2025-09-16
- Estimated Expiration
- 2045-07-24
AI Technical Summary
In wireless ranging systems, traditional algorithms cannot effectively suppress multipath false targets with high amplitudes, resulting in significant time measurement errors and making it difficult to achieve high-precision indoor positioning.
A wireless ranging method based on programmable logic architecture is adopted to establish a communication link between the interface module and the processing module, add synchronous frame headers and frame trailers, perform linear frequency modulation spread spectrum encoding, and combine coherent accumulation processing, interpolation refinement and multipath elimination processing to improve signal energy and time domain resolution and reduce multipath interference.
It effectively suppresses multipath false target interference, improves the measurement accuracy of signal arrival time, achieves centimeter-level positioning accuracy, and reduces the error of traditional methods.
Smart Images

Figure CN120529404B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of indoor positioning technology, and in particular to a wireless ranging method and system based on a programmable logic architecture. Background Art
[0002] In wireless ranging systems, when signals are reflected by multiple paths in indoor environments, it is difficult for the receiver to accurately distinguish between the main signal and the reflected signal. Traditional algorithms cannot effectively suppress multipath false targets with high amplitudes, resulting in significant time measurement errors. Summary of the Invention
[0003] In order to solve the technical problem that the existing technology cannot effectively suppress multipath false targets with high amplitude, resulting in significant time measurement errors, the present invention provides a wireless ranging method and system based on a programmable logic architecture.
[0004] The technical solution adopted in the present invention is:
[0005] A first aspect of the present application provides a wireless ranging method based on a programmable logic architecture, comprising the following steps:
[0006] Step 1: Receive the original data frame sent by the processing module.
[0007] Step 2: Add a synchronization frame header and a frame trailer to the original data frame to generate a data frame with a synchronization identifier.
[0008] Step 3: Perform linear frequency modulation spread spectrum coding on the target code chips in the data frame with synchronization marker to form a ranging request frame.
[0009] Step 4: Record the sending time of the ranging request frame according to the message type, and send the ranging request frame to the target receiving end through the interface module.
[0010] Step 5: Receive the ranging response frame sent by the target receiving end, perform time domain filtering, peak detection, frame synchronization detection and decoding on the ranging response frame, and generate a decoded data frame.
[0011] Step 6: Using the first target symbol in the decoded data frame as a timing reference, perform coherent accumulation processing on the target symbols in the decoded data frame to generate a coherent accumulation signal.
[0012] Step 7: extracting a target array from the coherent accumulation signal, and performing interpolation and refinement processing on the target array to obtain a precise time component.
[0013] Step 8: Perform multipath elimination processing based on the precise time component to obtain the arrival time of the ranging response frame.
[0014] Preferably, the coherent accumulation processing includes adding the complex signals of other target code elements except the first target code element in the decoded data frame to the first target code element, and excluding the synchronous code streams of the frame header and frame tail during the accumulation process.
[0015] Preferably, the extracting target array includes:
[0016] The index corresponding to the maximum value in the coherent accumulation signal is obtained, data of a predetermined length is intercepted with the index as the center to form a target array, and the coarse time corresponding to the index is recorded.
[0017] Preferably, the interpolation refinement processing includes: performing a fast Fourier transform on the target array, swapping the frequency domain array obtained after the transform left and right with the midpoint as the boundary, so that the zero-frequency component is located at the center of the array; adding a preset number of zero values on both sides of the swapped array to form an extended array; performing an inverse fast Fourier transform on the extended array to achieve interpolation refinement of the time domain signal; and calculating the fine time component through the maximum value index of the interpolated signal and its offset from the coarse time index.
[0018] Preferably, performing multipath elimination processing based on the fine time component to obtain the arrival time of the ranging response frame includes: determining, based on the fine time component, a position corresponding to the maximum value of the coherent accumulated signal; calculating the amplitude of each signal in the coherent accumulated signal; determining a signal whose amplitude is not less than a predetermined proportion of the maximum amplitude as a pseudo target; if the pseudo target appears after the position corresponding to the maximum value, ignoring the pseudo target; if the pseudo target appears before the position corresponding to the maximum value, taking the amplitude of the pseudo target as a weight and performing weighted averaging on the pseudo target corresponding times to obtain the arrival time of the ranging response frame.
[0019] Preferably, the sending time recorded in step 4 and the arrival time obtained in step 8 are used to calculate the signal flight time to determine the distance between the sending end and the target receiving end.
[0020] A second aspect of the present application provides a wireless ranging system based on a programmable logic architecture, applying the above-mentioned wireless ranging method based on a programmable logic architecture, including:
[0021] The interface module is used to receive the original data frame sent by the processing module.
[0022] The encoding and decoding module is configured to add a synchronization frame header and a frame trailer to the original data frame to generate a data frame with a synchronization identifier; perform linear frequency modulation spread spectrum encoding on the target code chip in the data frame with the synchronization identifier to form a ranging request frame; record the sending time of the ranging request frame according to the message type, and send the ranging request frame to the target receiving end through the interface module; receive the ranging response frame sent by the target receiving end, perform time domain filtering, peak detection, frame synchronization detection, and decoding on the ranging response frame to generate a decoded data frame.
[0023] A ranging algorithm module is configured to perform coherent accumulation processing on the target symbols in the decoded data frame using the first target symbol in the decoded data frame as a timing reference to generate a coherent accumulation signal; extract a target array from the coherent accumulation signal, perform interpolation and refinement processing on the target array to obtain a precise time component; and perform multipath elimination processing based on the precise time component to obtain an arrival time of the ranging response frame.
[0024] The beneficial effects of the present invention are at least one of the following:
[0025] Through coherent accumulation processing, the complex signal of the target code element is added to the first reference code element, which enhances the main signal energy, effectively suppresses the false target interference caused by multipath reflection, and reduces the time measurement deviation caused by multipath effect.
[0026] Interpolation refinement processing is used to perform frequency domain transformation and time domain expansion on the target array to improve the time domain resolution. Combined with multipath elimination processing, the amplitude weighted averaging of pseudo targets is performed to achieve high-precision measurement of signal arrival time and reduce the error of traditional peak detection methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 Schematic diagram of the method flow in embodiment 1 of the present invention;
[0028] Figure 2 This is a system block diagram in embodiment 2 of the present invention. DETAILED DESCRIPTION
[0029] The embodiments of the present invention are described in detail below with reference to the accompanying drawings.
[0030] The first embodiment provides a wireless ranging method based on a programmable logic architecture, such as Figure 1 As shown, the following steps are included:
[0031] Step 1: Receive the original data frame sent by the processing module.
[0032] It should be noted that the wireless ranging method based on programmable logic architecture in the first embodiment is applied to the wireless ranging system based on programmable logic architecture in the second embodiment.
[0033] Considering that the interfaces of software and hardware modules in traditional solutions are not standardized, which leads to poor data transmission compatibility. Figure 2 As shown in the figure, the programmable logic module (PL) establishes a communication link with the processing module (PS) through the high-speed data interface within the XC7Z020 chip and receives raw data frames sent by the PS module. The raw data frames contain ranging instructions or target information from upper-layer applications, such as ranging request instructions generated by the PS module of the master base station or response data generated by the PS module of the mobile unit (Tag). The data format follows the protocol standard defined by the XC7Z020 interface.
[0034] This step uses the internal high-speed interface and protocol standards of the XC7Z020 chip to solve the problems of format confusion and transmission delay during data interaction.
[0035] Step 2: Add a synchronization frame header and a frame trailer to the original data frame to generate a data frame with a synchronization identifier.
[0036] It should be noted that signals in wireless transmission are susceptible to interference, which can lead to frame synchronization failure. Traditional methods lack a unified synchronization identifier, which makes it impossible for the receiving end to accurately resolve the starting position of the data.
[0037] Exemplarily, the original data frame is preprocessed by adding an 8-bit synchronization header (e.g., the binary sequence "11110000") to the front of the frame and a 4-bit cyclic redundancy check (CRC) code to the tail of the frame. The synchronization header is used for frame synchronization detection at the receiving end, and the CRC code is used for data verification. For example, if the original data frame is "01010101", adding the frame header "11110000" and the frame tail "1010" will generate a data frame with a synchronization marker, "11110000010101011010".
[0038] The synchronization frame header (such as "11110000") enables frame synchronization detection at the receiving end, improving signal analysis efficiency; the CRC code at the end of the frame (such as a 4-bit check code) can detect data transmission errors and improve data reliability.
[0039] Step 3: Perform linear frequency modulation spread spectrum coding on the target code chips in the data frame with synchronization marker to form a ranging request frame.
[0040] Considering that traditional coding suffers from energy dispersion in a multipath environment, it is difficult to accurately identify the signal arrival time through peak detection. Chirp spread spectrum (CSS) coding improves the signal's autocorrelation characteristics by linearly varying the frequency.
[0041] It should be noted that CSS technology relies on the linear frequency variation characteristics of the Chirp signal to achieve spectrum spread.
[0042] For example, a target chip with a value of "1" in a data frame is identified and chirp encoded. Chirp parameters are pre-set by the host computer and synchronized to the master base station. For example, a chirp signal with a frequency linearly increasing from 10 MHz to 20 MHz and a duration of 1 μs is used. For a "1" chip in the data frame, the corresponding chirp waveform is output; for a "0" chip, a fixed low-frequency carrier is output. This encoding forms a ranging request frame, such as a base station ranging frame or a tag ranging frame. The frame structure contains the signal sequence after chirp encoding.
[0043] In this example, chirp coding forms a sharp correlation peak after pulse compression, improving time measurement accuracy. It also distinguishes "1" code chips (chirp waveform) from "0" code chips (fixed carrier), standardizing the signal transmission format.
[0044] Step 4: Record the sending time of the ranging request frame according to the message type, and send the ranging request frame to the target receiving end through the interface module.
[0045] The traditional system's time recording accuracy is insufficient (e.g., millisecond level), which cannot meet the microsecond time accuracy requirements of centimeter-level positioning.
[0046] For example, based on the message type (e.g., base station ranging frame, tag confirmation frame), the PL module triggers the system's high-precision clock (with microsecond accuracy) to record the transmission time, T0. The ranging request frame is then sent to the target receiving end (e.g., a mobile unit or another base station) via the interface module. For example, when the master base station sends a base station ranging frame, the PL module activates the XC7Z020 internal clock counter, records T0, and then sends the base station ranging frame to the tag. This step utilizes the XC7Z020's microsecond-level clock to resolve the time reference issue. The high-precision transmission time, T0, provides an accurate starting point for ToF calculations, enabling distance error to be controlled to the centimeter level. The module supports time recording for multiple frame types (base station ranging frames, tag confirmation frames), adapting to different ranging scenarios.
[0047] Step 5: Receive the ranging response frame sent by the target receiving end, perform time domain filtering, peak detection, frame synchronization detection and decoding on the ranging response frame, and generate a decoded data frame.
[0048] Considering that noise and multipath reflections in wireless transmission cause distortion of the received signal, traditional filtering methods cannot effectively suppress complex interference.
[0049] For example, the ranging response frame received from wireless transmission is first subjected to time domain filtering (pulse compression) through a matched filter to eliminate noise interference; then, the signal peak is identified through a peak detection algorithm (such as setting a threshold to 70% of the maximum amplitude) to complete demodulation; frame synchronization is then achieved through synchronous frame header detection; finally, the frame header and frame tail are removed to generate a decoded data frame.
[0050] Assume that the master base station is executing the above steps, and the target receiver is a mobile tag. The tag hardware also includes an interface module, a codec module, and a ranging algorithm module. The only logical difference between the tag and the master station is the interface module; otherwise, the tag is the same as the master base station.
[0051] After performing pulse compression on the received tag confirmation frame, the master base station finds the energy peak position, determines the frame starting point, and decodes to obtain the valid data "10110011".
[0052] In this example, matched filter time-domain filtering (pulse compression) can enhance the main signal energy and suppress noise; frame synchronization detection ensures the integrity of the decoded data and provides accurate data frames for subsequent coherent accumulation.
[0053] Step 6: Using the first target symbol in the decoded data frame as a timing reference, perform coherent accumulation processing on the target symbols in the decoded data frame to generate a coherent accumulation signal.
[0054] Considering that multipath reflection in indoor environments causes the received signal to contain multiple pseudo peaks with similar amplitudes, traditional algorithms cannot effectively distinguish between the main signal and the reflected signal.
[0055] In a possible implementation, the coherent accumulation processing includes adding complex signals of target symbols other than the first target symbol in the decoded data frame to the first target symbol, and excluding the synchronous code streams of the frame header and frame tail during the accumulation process.
[0056] Exemplarily, the first "1" code element in the decoded data frame is used as the timing reference, and coherent accumulation is performed through the following steps: pulse compression is performed on the decoded data frame to find the position of the first "1" code element; the complex signals (real part + imaginary part) of other "1" code elements in the data are added to the first code element, and the synchronous code stream at the frame header and frame tail are excluded during the accumulation process, and only the code elements of the data part are processed.
[0057] In this example, the complex signals of other target symbols are added to the first reference symbol, and the main signal energy is significantly enhanced; the frame header and frame tail synchronization streams are excluded to avoid interference of non-data signals on the accumulation result.
[0058] Step 7: extracting a target array from the coherent accumulation signal, and performing interpolation and refinement processing on the target array to obtain a precise time component.
[0059] Traditional peak detection can only obtain code element-level coarse time and cannot meet microsecond-level positioning requirements.
[0060] In a possible implementation, extracting the target array includes obtaining an index corresponding to a maximum value in the coherent accumulation signal, intercepting data of a predetermined length with the index as the center to form a target array, and recording the coarse time corresponding to the index.
[0061] For example, find the index corresponding to the maximum value (modulus) in the coherent accumulation signal, intercept 32 bits of data on its left and right, a total of 64 bits to form the target array, and record the coarse time T corresponding to the Index c For example, if the maximum value index is 100, the data of indexes 68-131 will be intercepted.
[0062] In this example, the fast Fourier transform (FFT) and time domain interpolation (e.g., 64-point FFT + 2048-point IFFT) achieve 32-fold refinement, improving time accuracy by 32 times.
[0063] In one possible implementation, the interpolation refinement process includes: performing a fast Fourier transform on the target array, swapping the frequency domain array obtained after the transform left and right with the midpoint as the boundary so that the zero-frequency component is located at the center of the array; adding a preset number of zero values on both sides of the swapped array to form an extended array; performing an inverse fast Fourier transform on the extended array to achieve interpolation refinement of the time domain signal; and calculating the fine time component using the maximum value index of the interpolated signal and its offset from the coarse time index.
[0064] For example, a 64-point fast Fourier transform (FFT) is performed on a 64-bit target array; the zero-frequency component of the frequency domain result is moved to the middle of the array (e.g., the original frequency domain array [F0, F1, ..., F63], the frequency domain array obtained after the transformation is swapped left and right with the midpoint as the boundary, so that the zero-frequency component is located at the center of the array, such as [F32, F33, ..., F63, F0, ..., F31]); 31 × 64 = 1984 zero values are added to the end of the array to form a 2048-point array; a 2048-point inverse fast Fourier transform (IFFT) is performed to achieve 32-fold time domain refinement; the maximum value index of the refined array is found, and its offset Δt from the coarse time index is calculated to obtain the fine time component T G =Tc+Δt.
[0065] Step 8: Perform multipath elimination processing based on the precise time component to obtain the arrival time of the ranging response frame.
[0066] Considering that multipath false targets with higher amplitudes (e.g., up to 50% of the main signal amplitude) are easily misjudged as valid signals, traditional threshold filtering cannot distinguish false targets at front and back positions.
[0067] In one possible implementation, performing multipath cancellation processing based on the fine time component to obtain the arrival time of the ranging response frame includes: determining, based on the fine time component, a position corresponding to a maximum value of the coherent accumulated signal; calculating the amplitude of each signal in the coherent accumulated signal; determining a signal having an amplitude not less than a predetermined proportion of the maximum amplitude as a false target; if the false target appears after the position corresponding to the maximum value, ignoring the false target; and if the false target appears before the position corresponding to the maximum value, performing a weighted average of the times corresponding to the false targets using the amplitude of the false target as a weight to obtain the arrival time of the ranging response frame.
[0068] Exemplarily, the position P corresponding to the maximum value of the coherent accumulation signal is determined based on the fine time component. max ;
[0069] Calculate the amplitude of each signal and make the amplitude greater than or equal to P max ×50% of the signals are judged as false targets;
[0070] If a pseudo target appears in P max After that, ignore it directly; if it appears in P max Previously, the pseudo target amplitude was used as the weight to perform weighted averaging on the corresponding time. For example, if the main signal time is T1 and the pseudo target time is T2 (the amplitude is 60% of the main signal), then the arrival time of the ranging response frame is T a =(T1×1+T2×0.6) / (1+0.6).
[0071] In this example, an amplitude-weighted average is performed on the pseudo targets preceding the main signal (for example, when the main signal amplitude is 1.0 and the pseudo target amplitude is 0.6, Ta = (T1 × 1 + T2 × 0.6) / 1.6) to reduce the time error. Pseudo targets following the main signal are ignored to avoid misjudgment of arrival times due to multipath reflections.
[0072] In a possible implementation, the sending time recorded in step 4 and the arrival time obtained in step 8 are used to calculate the signal flight time to determine the distance between the sending end and the target receiving end.
[0073] It should be noted that in the indoor positioning step, both the main base station and the mobile tag (Tag) serve as the execution entities, but their operating logic differs significantly. The main base station is the active execution entity, actively generating and sending data frames such as "base station ranging frames" and "base station confirmation frames", which are transmitted to the tag through the wireless channel to trigger the ranging process. The main base station adds synchronous frame headers and footers to the original data frames, performs chirp encoding, and uses a high-precision clock to record the transmission time, providing a benchmark for time of flight (ToF) calculation (the core function of the main base station encoding and decoding module and the ranging algorithm module). The main base station receives the ranging response frame returned by the tag, extracts the arrival time through time-domain filtering, coherent accumulation, interpolation and refinement, and completes the distance calculation.
[0074] The mobile tag is a passive execution entity. It only passively starts the decoding and ranging algorithm after receiving the ranging request frame sent by the main base station, and cannot actively initiate ranging. It performs pulse compression, frame synchronization detection and other decoding processing on the signal sent by the base station to generate a ranging response frame (for example, the tag encoding and decoding module processes the "base station ranging frame" and generates the "tag confirmation frame").
[0075] Considering that mobile tags (Tags) are passive ranging devices and are carried on the body, they are susceptible to environmental factors such as static electricity and electromagnetic interference in indoor positioning scenarios. Existing solutions rely on base stations as the active execution entity and do not design protection mechanisms for the passive characteristics of tags. This can lead to signal distortion, hardware damage, and ranging failure in complex environments.
[0076] For example, to detect signal distortion caused by electrostatic discharge (ESD) on the tag interface module, the following steps are also included:
[0077] Step 5.1: After receiving the base station signal, the tag first analyzes the interface current fluctuation characteristics (such as the current mutation threshold ≥ 100mA) to determine whether electrostatic discharge occurs;
[0078] In step 5.2, if static interference is detected, the tag does not actively send a signal, but inserts a protection mode flag in the decoding module (for example, adding the error code 0x01 to the decoded data frame) and transmits it back to the main base station along with the normal response frame;
[0079] In step 5.3, after receiving the response frame containing the protection flag, the master base station actively initiates a retry request (sending a "base station confirmation frame" carrying a retry instruction). After the tag receives the instruction, it re-executes the ranging algorithm (to avoid the tag actively triggering the process).
[0080] For example, considering that in certain complex indoor environments, the continuous operation of the tag results in excessive power consumption and reduced anti-interference capability.
[0081] In one possible implementation, the primary base station pre-processes the ranging frame in the codec module, embeds the environment complexity identifier (such as the indoor dense area identifier 0x04) in the frame header, and sends it to the tag via the wireless channel after being synchronized with the high-precision clock of the interface module; the environment complexity identifier is dynamically generated by the primary base station based on real-time environmental monitoring data (such as signal multipath strength and received signal-to-noise ratio) to ensure that the tag passively triggers the corresponding low-power consumption strategy after receiving it.
[0082] If the ranging frame sent by the master base station contains a complex environment identifier, after receiving the response frame sent back by the tag, the internal timer is started and a wake-up pulse signal carrying a specific code stream is generated through the interface module every 100ms. This pulse is driven by the ranging logic control module of the master base station to forcibly wake up the tag in sleep mode (only the clock module is kept running), ensuring that the tag passively resumes the ranging process.
[0083] Before sending the ranging frame, the master base station writes power consumption control instructions (such as interpolation multiples and coherent accumulation times) into the frame through the codec module based on the environment complexity flag (such as 0x04 in step 5.7); the power consumption control instructions are sent to the tag along with the ranging frame to pre-configure the tag ranging algorithm.
[0084] After receiving the ranging response frame sent back by the tag, the master base station analyzes the signal and triggers the coherent accumulation instruction for the tag: the tag is required to use the first "1" codeword in the data frame as the reference and accumulate the complex energy of other 1 codewords to the reference codeword; the master base station synchronously executes its own coherent accumulation algorithm to double-verify the multipath suppression effect.
[0085] After the coherent accumulation processing, the master base station sends a target array extraction instruction to the tag: it requires the tag to intercept the left and right 64-bit data of the maximum value modulus corresponding to the index in the coherent accumulation signal to form an interpolation array; the master base station synchronously executes the same extraction logic and compares the data of both parties to verify the tag processing result.
[0086] Based on the environmental identifier and preconfigured parameters, the master base station carries interpolation precision control instructions in the ranging frame. Under normal conditions, the tag is instructed to use 32x FFT+IFFT interpolation, and in complex environments, it switches to 16x interpolation (this reduces the tag's power consumption). The interpolation precision control instructions are embedded in the frame header through the master base station's codec module, and the tag passively executes and returns the processing results.
[0087] In this implementation, the master base station actively controls the tag's sleep and wakeup, reducing its power consumption in complex environments. This prevents hardware overheating and rapid battery depletion caused by continuous operation, indirectly improving the stability of the anti-interference circuit. In sleep mode, only the clock module remains operational, ensuring that the tag can quickly resume ranging after waking up, avoiding time synchronization errors caused by restarts and maintaining the real-time performance of the anti-interference algorithm.
[0088] The main base station dynamically adjusts the tag's algorithm parameters (such as the interpolation factor) according to the real-time environment, maintaining high precision at 32x interpolation in normal environments and automatically switching to 16x interpolation in complex environments. Under the premise that the accuracy loss is controllable, the ranging process is prioritized to ensure uninterrupted operation.
[0089] All power consumption control commands are initiated by the master base station, and the tag only executes them passively. This avoids misjudgments that may be introduced when the tag actively detects the environment or adjusts parameters (such as parameter misadjustments caused by electrostatic interference). This complies with the design principle of the tag not actively triggering logic and improves the system's robustness in electromagnetic interference environments.
[0090] The coordinated execution of algorithms between the master base station and the tag (such as coherent accumulation double verification) can effectively suppress the error superposition caused by multipath effects and power consumption fluctuations.
[0091] The second embodiment provides a wireless ranging system based on a programmable logic architecture, and applies the wireless ranging method based on a programmable logic architecture, such as Figure 2 Shown, including:
[0092] The interface module is used to receive the original data frame sent by the processing module.
[0093] The encoding and decoding module is configured to add a synchronization frame header and a frame trailer to the original data frame to generate a data frame with a synchronization identifier; perform linear frequency modulation spread spectrum encoding on the target code chip in the data frame with the synchronization identifier to form a ranging request frame; record the sending time of the ranging request frame according to the message type, and send the ranging request frame to the target receiving end through the interface module; receive the ranging response frame sent by the target receiving end, perform time domain filtering, peak detection, frame synchronization detection, and decoding on the ranging response frame to generate a decoded data frame.
[0094] A ranging algorithm module is configured to perform coherent accumulation processing on the target symbols in the decoded data frame using the first target symbol in the decoded data frame as a timing reference to generate a coherent accumulation signal; extract a target array from the coherent accumulation signal, perform interpolation and refinement processing on the target array to obtain a precise time component; and perform multipath elimination processing based on the precise time component to obtain an arrival time of the ranging response frame.
[0095] The above-described embodiments merely represent specific implementations of the present invention. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the spirit of the present invention, and all such variations and improvements fall within the scope of protection of the present invention.
Claims
1. A wireless ranging method based on a programmable logic architecture, characterized in that: The following steps are involved: Step 1: Receive the original data frame sent by the processing module; Step 2: Add a synchronization frame header and a frame trailer to the original data frame to generate a data frame with a synchronization identifier; Step 3: Perform linear frequency modulation spread spectrum encoding on the target code chip in the data frame with synchronization marker to form a ranging request frame; Step 4: Record the sending time of the ranging request frame according to the message type, and send the ranging request frame to the target receiving end through the interface module; Step 5: Receive the ranging response frame sent by the target receiving end, perform time domain filtering, peak detection, frame synchronization detection and decoding on the ranging response frame, and generate a decoded data frame; Step 6: Using the first target symbol in the decoded data frame as a timing reference, perform coherent accumulation processing on the target symbols in the decoded data frame to generate a coherent accumulation signal; Step 7: extracting a target array from the coherent accumulation signal, and performing interpolation and refinement processing on the target array to obtain a precise time component; The extracting target array comprises: obtaining an index corresponding to a maximum value in the coherent accumulation signal, intercepting data of a predetermined length with the index as the center to form a target array, and recording a coarse time corresponding to the index; The interpolation and refinement process includes: performing a fast Fourier transform on the target array, swapping the frequency domain array obtained after the transform with the midpoint as the boundary so that the zero-frequency component is located at the center of the array; adding a preset number of zero values on both sides of the swapped array to form an extended array; performing an inverse fast Fourier transform on the extended array to achieve interpolation and refinement of the time domain signal; and calculating the fine time component based on the maximum value index of the interpolated signal and its offset from the coarse time index. Step 8: Perform multipath elimination processing based on the precise time component to obtain the arrival time of the ranging response frame.
2. The wireless ranging method based on programmable logic architecture according to claim 1, characterized in that: The coherent accumulation processing includes accumulating complex signals of other target code symbols except the first target code symbol in the decoded data frame to the first target code symbol, and excluding the synchronous code streams of the frame head and frame tail during the accumulation process.
3. The wireless ranging method based on programmable logic architecture according to claim 1, characterized in that: Performing multipath elimination processing based on the precise time component to obtain the arrival time of the ranging response frame includes: Determining a position corresponding to a maximum value of the coherent accumulation signal based on the fine time component; Calculating the amplitude of each signal in the coherent accumulation signal; Determine as a false target a signal whose amplitude is not less than a predetermined proportion of the maximum amplitude; If the pseudo target appears after the position corresponding to the maximum value, the pseudo target is ignored; If the false target appears before the position corresponding to the maximum value, the amplitude of the false target is used as a weight, and the corresponding time of the false target is weighted averaged to obtain the arrival time of the ranging response frame.
4. The wireless ranging method based on programmable logic architecture according to claim 1, characterized in that: The sending time recorded in step 4 and the arrival time obtained in step 8 are used to calculate the signal flight time to determine the distance between the sending end and the target receiving end.
5. A wireless ranging system based on a programmable logic architecture, applying the wireless ranging method based on a programmable logic architecture according to any one of claims 1 to 4, characterized in that: include: An interface module, configured to receive the original data frame sent by the processing module; A coding and decoding module, the coding and decoding module is used to add a synchronization frame header and a frame trailer to the original data frame to generate a data frame with a synchronization identifier; performing linear frequency modulation spread spectrum encoding on the target chips in the data frame with the synchronization identifier to form a ranging request frame; recording the sending time of the ranging request frame according to the message type, and sending the ranging request frame to the target receiving end through the interface module; receiving the ranging response frame sent by the target receiving end, performing time domain filtering, peak detection, frame synchronization detection, and decoding on the ranging response frame to generate a decoded data frame; a ranging algorithm module, the ranging algorithm module being configured to perform coherent accumulation processing on the target symbols in the decoded data frame using the first target symbol in the decoded data frame as a timing reference to generate a coherent accumulation signal; extract a target array from the coherent accumulation signal, and perform interpolation and refinement processing on the target array to obtain a precise time component; Multipath elimination processing is performed based on the precise time component to obtain the arrival time of the ranging response frame.
Citation Information
Patent Citations
High dynamic state spread-spectrum precise distance measurement receiving machine
CN101261318A
WLAN ranging technology based on software radio platform
CN109085563A