Signal time-frequency offset compensation method and device of digital receiver
By performing signal time-frequency offset compensation in the digital receiver, using preset synchronization parameters for coarse and fine synchronization, and decoding the physical frame header into binary form, the problems of poor adaptability and insufficient error correction capability of the digital receiver when the signal format changes are solved, thus improving the accuracy and efficiency of signal processing.
Patent Information
- Application Number
- CN202411315907.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-20
- Publication Date
- 2026-03-20
AI Technical Summary
Digital receivers are poorly adaptable to changes in different signal formats, making it difficult to process received signals correctly. Furthermore, the error correction capability of the physical frame header is insufficient, resulting in a high bit error rate.
By acquiring the received signal and preset synchronization parameters, a preamble detection is performed to obtain the index value, coarse synchronization and fine synchronization are performed, the physical frame header data is decoded into binary form, and coarse frequency offset and fine frequency offset are calculated for compensation.
This improves the applicability and compatibility of digital receivers, reduces the requirements for error correction mechanisms, and decreases the bit error rate.
Smart Images

Figure CN121711219A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method and apparatus for signal time-frequency offset compensation of a digital receiver. Background Technology
[0002] Digital receivers are used to receive wireless signals and convert the received analog signals into digital signals. They then recover the original transmitted information from the received digital signals, including techniques such as signal synchronization and signal demodulation. Because there may be oscillator mismatch or Doppler frequency shift between the transmitter and receiver, digital receivers often need to compensate for time-domain and frequency-domain offsets of the received signals to reduce the bit error rate and ensure accurate data decoding.
[0003] However, the synchronization strategy of digital receivers for received signals is often limited by the fixed communication protocols or standards of the communication system. If the signal sequence or format of the transmitter changes, the corresponding receiver may be unable to process the received signal correctly, resulting in poor adaptability. In addition, the correct decoding of the physical frame header (hereinafter referred to as PHR data) in the received signal places high demands on the receiver's error correction capability. If the error correction capability is insufficient, PHR data decoding errors may occur even in the absence of noise. Summary of the Invention
[0004] This application provides a signal time-frequency offset compensation method and apparatus for a digital receiver, which can improve the applicability and compatibility of the digital receiver and reduce the requirements for the error correction mechanism in the digital receiver.
[0005] In a first aspect, embodiments of this application provide a signal time-frequency offset compensation method for a digital receiver, including:
[0006] Acquire the received signal and the corresponding preset synchronization parameters;
[0007] If the preset synchronization parameter is the ZC sequence parameter, then a preamble detection is performed on the received signal to obtain the first index value and the second index value; coarse synchronization is then performed on the received signal based on the first index value and the second index value.
[0008] If the preset synchronization parameters are FSK modulation parameters or MSK modulation parameters, then the first index value is obtained based on the received signal and the first synchronization sequence; the coarse frequency offset is calculated based on the first index value, and the coarse frequency offset is used to compensate the received signal; the coarse time offset is calculated based on the received signal and the second synchronization sequence, and the coarse time offset is used to compensate the received signal.
[0009] Decode the PHR data in the received signal to obtain PHR data in binary symbol form;
[0010] Obtain each index in the PHR data decoding and calculate the fine frequency offset based on each index;
[0011] The payload data in the received signal is obtained using fine frequency offset compensation.
[0012] Furthermore, the above-mentioned preamble detection of the received signal to obtain the first index value and the second index value includes: calculating the initial index value based on the received signal and the first synchronization sequence;
[0013] Detect consecutive target peaks within a preset detection window to obtain the number of consecutive peaks;
[0014] If the number of consecutive peaks exceeds the preset repetition threshold, the initial index value will be used as the first index value.
[0015] The second index value is calculated based on the received signal and the second synchronization sequence.
[0016] Furthermore, the above-mentioned coarse synchronization of the received signal based on the first index value and the second index value includes: calculating coarse frequency offset and coarse time offset based on the first index value and the second index value;
[0017] Coarse frequency offset and coarse time offset are used to compensate for the PHR data and payload data in the received signal.
[0018] Furthermore, the calculation of the initial index value based on the received signal and the first synchronization sequence includes:
[0019] Perform a conjugate dot product operation between the received signal and the first synchronization sequence to obtain the first time-domain sequence;
[0020] Perform a Fourier transform on the first time-domain sequence to obtain the first complex-valued sequence;
[0021] Take the modulus of the first complex sequence and use the sequence position corresponding to the maximum modulus value as the initial index value.
[0022] Furthermore, the calculation of the second index value based on the received signal and the second synchronization sequence includes:
[0023] Perform a conjugate dot product operation on the received signal and the second synchronization sequence to obtain the second time-domain sequence;
[0024] Perform a Fourier transform on the second time-domain sequence to obtain the second complex-valued sequence;
[0025] Take the modulus of the second complex sequence and use the sequence position corresponding to the maximum modulus value as the second index value.
[0026] Furthermore, obtaining the first index value based on the received signal and the first synchronization sequence includes:
[0027] Calculate the initial index value based on the received signal and the first synchronization sequence;
[0028] Detect consecutive target peaks within a preset detection window to obtain the number of consecutive peaks;
[0029] If the number of consecutive peaks exceeds the preset repetition threshold, the initial index value will be used as the first index value.
[0030] Furthermore, the calculation of the initial index value based on the received signal and the first synchronization sequence includes:
[0031] Operation steps: Perform conjugate dot product operation on the received signal and the first synchronization sequence to obtain the first time-domain sequence; perform Fourier transform on the first time-domain sequence to obtain the first complex-valued sequence;
[0032] Take the modulus of the first complex value sequence and determine whether the maximum modulus value is greater than or equal to a preset threshold.
[0033] If so, the sequence position corresponding to the maximum modulus value will be used as the initial index value;
[0034] If not, then take the next segment of the received signal with a length equal to the first preamble and return to the calculation step. Further, the above calculation of the coarse time offset based on the received signal and the second synchronization sequence includes:
[0035] Perform Fourier operation on the received signal to obtain the preamble frequency domain sequence;
[0036] Perform a Fourier operation on the second synchronization sequence to obtain the synchronization frequency domain sequence;
[0037] Perform conjugate dot product operation on the preamble frequency domain sequence and the synchronization frequency domain sequence to obtain the result;
[0038] Perform an inverse Fourier transform on the result to obtain the target time-domain sequence;
[0039] The sequence position corresponding to the peak of the target time-domain sequence is taken as the coarse time offset.
[0040] Furthermore, the length of the preset detection window is equal to the product of the number of repetitions of the first preamble and the length of the first preamble;
[0041] The above method detects consecutive target peaks within a preset detection window, obtaining the number of consecutive peaks, including:
[0042] Slide the preset detection window to obtain the test signal of the length of the first preamble;
[0043] Judgment steps: Determine whether there is a target peak value in the signal to be tested;
[0044] If it does not exist, the number of consecutive peaks is set to 0, and the detection window is slid to return to the judgment step;
[0045] If it exists, then check if the target peak exists in the previous segment of the signal to be tested;
[0046] If it exists, increment the number of consecutive peaks by 1; if it does not exist, set the number of consecutive peaks to 1.
[0047] Furthermore, the above judgment steps, including determining whether a target peak exists within the signal to be measured, include:
[0048] Perform a conjugate dot product operation between the signal to be tested and the preset training sequence to obtain multiple energy values;
[0049] Determine if any energy value exceeds a preset absolute threshold;
[0050] If so, calculate the peak-to-average power ratio based on each energy value; otherwise, the target peak value does not exist.
[0051] Determine if the peak-to-average ratio (PAR) is greater than a preset relative threshold.
[0052] If so, the maximum energy value is taken as the target peak value; otherwise, there is no target peak value.
[0053] Furthermore, the above calculation of peak-to-average power ratio based on each energy value includes:
[0054] Search for the maximum energy value among all energy values;
[0055] Remove the maximum energy value and a preset number of adjacent energy values;
[0056] The remaining energy values are averaged to obtain the average energy value;
[0057] Divide the maximum energy value by the average energy value to obtain the peak-to-average power ratio (PAPR).
[0058] Furthermore, the calculation of coarse frequency offset and coarse time offset based on the first index value and the second index value includes:
[0059] Calculate the average of the first and second index values and use it as the coarse frequency offset;
[0060] Calculate the difference between the first index value and the second index value;
[0061] Divide the difference by 2 and round up to obtain the coarse time bias.
[0062] Furthermore, the PHR data in the decoded received signal described above is used to obtain PHR data in binary symbol form, including:
[0063] The PHR data is divided into multiple complex sequences according to a first preset length; the first preset length is the product of the length of the spread spectrum sequence of the received signal and the oversampling coefficient.
[0064] Each complex sequence is multiplied by a preset vector, and then a Fourier transform is performed to obtain the frequency domain sequence corresponding to each complex sequence; the preset vector is the conjugate sequence obtained by oversampling and conjugating the spread spectrum sequence of the received signal.
[0065] Take the modulus of each frequency domain sequence and use the position of the sequence corresponding to the maximum modulus value as the index of the frequency domain sequence;
[0066] The binary code elements corresponding to each frequency domain sequence are obtained based on the index and the second preset length.
[0067] Furthermore, the above-mentioned method of obtaining the binary code elements corresponding to each frequency domain sequence based on the index and the second preset length includes:
[0068] Divide the index by the second preset length to obtain the index quotient.
[0069] The index quotient value is rounded to the nearest integer and then converted to binary to obtain binary code.
[0070] Furthermore, the above-mentioned acquisition of each index in the PHR data decoding, and the calculation of the fine frequency offset based on each index, includes:
[0071] The phase of each frequency domain sequence index is subtracted from the phase of the previous frequency domain sequence index to obtain m-1 phase differences, where m is the number of frequency domain sequences. The phase differences are averaged to obtain the fine frequency offset.
[0072] Secondly, embodiments of this application provide a signal time-frequency offset compensation device for a digital receiver, comprising:
[0073] The acquisition module is used to acquire the received signal and the corresponding preset synchronization parameters;
[0074] The first coarse synchronization module is used to perform preamble detection on the received signal when the preset synchronization parameter is ZC sequence parameter, to obtain a first index value and a second index value; and to perform coarse synchronization on the received signal based on the first index value and the second index value.
[0075] The second coarse synchronization module is used to obtain a first index value based on the received signal and the first synchronization sequence when the preset synchronization parameters are FSK modulation parameters or MSK modulation parameters; calculate a coarse frequency offset based on the first index value and use the coarse frequency offset to compensate the received signal; calculate a coarse time offset based on the received signal and the second synchronization sequence and use the coarse time offset to compensate the received signal.
[0076] The decoding module is used to decode the PHR data in the received signal to obtain the PHR data in binary symbol form;
[0077] The fine frequency offset module is used to obtain each index in the PHR data decoding and calculate the fine frequency offset based on each index;
[0078] The compensation module is used to compensate for the payload data in the received signal using fine frequency offset.
[0079] Furthermore, the aforementioned first coarse synchronization module is specifically used for:
[0080] Calculate the initial index value based on the received signal and the first synchronization sequence;
[0081] Detect consecutive target peaks within a preset detection window to obtain the number of consecutive peaks;
[0082] If the number of consecutive peaks exceeds the preset repetition threshold, the initial index value will be used as the first index value.
[0083] Calculate the second index value based on the received signal and the second synchronization sequence;
[0084] Calculate the coarse frequency offset and coarse time offset based on the first index value and the second index value;
[0085] Coarse frequency offset and coarse time offset are used to compensate for the PHR data and payload data in the received signal.
[0086] Furthermore, the decoding module is specifically used for:
[0087] The PHR data is divided into multiple complex sequences according to a first preset length; the first preset length is the product of the length of the spread spectrum sequence of the received signal and the oversampling coefficient.
[0088] Each complex sequence is multiplied by a preset vector, and then a Fourier transform is performed to obtain the frequency domain sequence corresponding to each complex sequence; the preset vector is the conjugate sequence obtained by oversampling and conjugating the spread spectrum sequence of the received signal.
[0089] Take the modulus of each frequency domain sequence and use the position of the sequence corresponding to the maximum modulus value as the index of the frequency domain sequence;
[0090] The binary code elements corresponding to each frequency domain sequence are obtained based on the index and the second preset length.
[0091] Thirdly, embodiments of this application provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it performs the steps of a signal time-frequency offset compensation method for a digital receiver as described in any of the above embodiments.
[0092] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of a signal time-frequency offset compensation method for a digital receiver as described in any of the above embodiments.
[0093] In summary, compared with the prior art, the beneficial effects of the technical solution provided in this application include at least the following:
[0094] This application provides a signal time-frequency offset compensation method for a digital receiver. First, the method identifies whether the received signal uses ZC sequence or FSK / MSK modulation based on preset synchronization parameters, and sets a corresponding coarse synchronization mechanism for the corresponding format of the received signal. This enables the reception and decoding of two signal formats on a single digital receiver, improving the applicability and compatibility of the digital receiver and indirectly reducing the cost of signal reception and decoding. Second, before fine synchronization of the payload data in the received signal, the PHR data preceding the payload data is decoded into binary form. Because of its simple structure, binary data can more easily achieve error detection, thereby reducing the requirements for subsequent error correction mechanisms. Attached Figure Description
[0095] Figure 1 This is a flowchart of a signal time-frequency offset compensation method for a digital receiver provided in one embodiment of this application.
[0096] Figure 2 This is a schematic diagram of the frame format of a received signal provided in one embodiment of this application.
[0097] Figure 3 This is a schematic diagram of the frame format of SHR data in a received signal provided in one embodiment of this application.
[0098] Figure 4 This is a flowchart illustrating the steps of receiving a preamble signal detection for a ZC sequence according to one embodiment of this application.
[0099] Figure 5 This is a flowchart illustrating the decoding of PHR data in a received signal according to one embodiment of this application.
[0100] Figure 6 This is a structural diagram of a signal time-frequency offset compensation device for a digital receiver provided in one embodiment of this application. Detailed Implementation
[0101] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0102] Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0103] Terminology Explanation:
[0104] 1) SHR Data: The Synchronization Header (SHR) is the beginning of a data frame in wireless communication. It helps the receiver perform frame synchronization, AGC (Automatic Gain Control) settings, antenna diversity selection, timing acquisition, frequency recovery, etc. SHR typically uses specific modulation techniques (such as OOK-BPSK) to transmit information, achieving data synchronization and recovery by sending a series of pulses of continuous duration.
[0105] 2) PHR Data: The Physical Header (PHR) follows the SHR and contains information such as data rate, frame length, ranging packet flag, reserved bits, and preamble duration. The PHR may include CRC check bits for detecting errors during data transmission or storage.
[0106] 3) Payload Data: The payload is the part of a data packet that carries the actual transmitted data; it is the substantive content in the data exchange process of a communication system. Payload can include web page content, file data, email text and attachments, audio data segments, etc. In network communication, the payload is the data remaining after removing the header and optional fields; it determines the role and function of the data packet in network communication.
[0107] 4) ZC Sequence: The Zadoff-Chu sequence is a complex sequence with special properties, used for synchronization, channel estimation, random access procedures, etc. The main characteristics of the ZC sequence include: (1) Constant envelope characteristic: The amplitude of the ZC sequence is constant, which means that the signal power is constant, which is conducive to the RF power amplifier signal to achieve maximum efficiency. (2) Ideal periodic autocorrelation characteristic: When the cyclic shift of the ZC sequence is not an integer multiple of its period, it is uncorrelated with the original sequence. (3) Good cross-correlation characteristic: The cross-correlation between different ZC sequences is very low, which helps to distinguish different users or signals. (4) Low peak-to-average power ratio (PAPR) characteristic: The peak power to average power ratio of the ZC sequence is low, which helps to reduce the peak power of the signal and reduce the requirements of the power amplifier.
[0108] 5) FSK: Frequency Shift Keying. In FSK, the frequency of the signal changes according to the input digital data. Typically, two or more frequencies are used to represent binary numbers; for example, one frequency represents binary "0" and another represents binary "1". FSK modulation is simple and has strong anti-interference capabilities. There are two main types of FSK: narrowband FSK and wideband FSK. Narrowband FSK has a smaller frequency interval, while wideband FSK has a larger frequency interval.
[0109] 6) MSK: Minimum Shift Keying. MSK is a special type of FSK that optimizes spectral efficiency and reduces interference from adjacent channels by minimizing the frequency shift factor. In MSK, frequency changes are achieved through phase modulation of the input signal. The exponential law of phase modulation gives MSK continuous phase changes, thus avoiding spectral broadening. MSK is a highly efficient and high-performance modulation technique that combines constant envelope and high spectral efficiency, and is commonly used in digital mobile phone systems and wireless data communications. MSK can be seen as an improvement on FSK, achieving better performance than traditional FSK through specific frequency spacing and phase modulation techniques. MSK has a smaller spectral footprint than conventional FSK and exhibits better spectral characteristics and a lower bit error rate.
[0110] Please see Figure 1 This application provides a method for compensating for the time-frequency offset of a signal in a digital receiver, comprising:
[0111] Step S1: Obtain the received signal and the corresponding preset synchronization parameters.
[0112] Please see Figure 2 The frame format of the received signal in this application includes SHR data and PHR data. Figure 2 In this context, PHR-D indicates that the received signal is a normal frame, which is different from PHR-W in the wake-up frame. However, since this application only synchronizes normal frames, it will be described directly using PHR data in the following descriptions, along with payload data.
[0113] Step S2: If the preset synchronization parameter is the ZC sequence parameter, then perform preamble detection on the received signal to obtain the first index value and the second index value; perform coarse synchronization on the received signal based on the first index value and the second index value.
[0114] Please see Figure 3 SHR data includes multiple Pream1s and two Pream2s. Pream1 is the first preamble, and Pream2 is the second preamble. Repeated Pream1s can improve the sensitivity of the digital receiver. The more times they are repeated, the better the sensitivity.
[0115] The first index value k1 is the first leading sequence, that is, the position of the sequence composed of all Pream1s, and the second index value k2 is the second leading sequence, that is, the position of the sequence composed of all Pream2s.
[0116] Specifically, for received signals using the ZC sequence, the first and second index values can be calculated first, and then coarse frequency offset and coarse time offset compensation can be performed. This is because the ZC sequence has good autocorrelation and cross-correlation properties.
[0117] Step S3: If the preset synchronization parameter is an FSK modulation parameter or an MSK modulation parameter, then obtain the first index value based on the received signal and the first synchronization sequence; calculate the coarse frequency offset based on the first index value, and use the coarse frequency offset to compensate the received signal; calculate the coarse time offset based on the received signal and the second synchronization sequence, and use the coarse time offset to compensate the received signal.
[0118] Among them, "time offset" refers to time domain offset, and "frequency offset" refers to frequency domain offset. The difference between coarse frequency offset and fine frequency offset lies in their different accuracies. The accuracy of coarse frequency offset in coarse synchronization is lower than that of fine frequency offset.
[0119] Specifically, the formula for calculating the coarse frequency offset is Δf:
[0120]
[0121] Where k1 is the first index value, N FFT The Fourier transform length of the first index value during the calculation process.
[0122] Specifically, for FSK or MSK modulated received signals, the coarse synchronization process is more complex. It requires first determining the index value of the first preamble to achieve preliminary synchronization, then calculating the coarse time offset based on the pre-synchronized received signal, and finally using the coarse time offset for preliminary time offset compensation. This is because the autocorrelation and cross-correlation characteristics of the received signal modulated by FSK or MSK may not be as ideal as those of the ZC sequence, thus requiring a two-step approach for more accurate synchronization.
[0123] Step S4: Decode the PHR data in the received signal to obtain PHR data in binary symbol form.
[0124] Specifically, multiple indexes are generated during the PHR data decoding process, so steps S4 and S5 can be considered to be executed synchronously.
[0125] Step S5: Obtain each index in the PHR data decoding and calculate the fine frequency offset based on each index.
[0126] Step S6: Use fine frequency offset compensation to receive payload data in the signal.
[0127] The ultimate goal of this application in performing coarse synchronization and fine frequency offset calculations is to compensate for the payload data, thereby providing a foundation for subsequent decoding and demodulation of the payload data.
[0128] The above embodiment provides a signal time-frequency offset compensation method for a digital receiver. First, this application identifies whether the received signal uses ZC sequence or FSK / MSK modulation based on preset synchronization parameters, and sets a corresponding coarse synchronization mechanism for the corresponding format of the received signal. This enables the reception and decoding of two signal formats on a single digital receiver, improving the applicability and compatibility of the digital receiver and indirectly reducing the cost of signal reception and decoding. Second, before fine synchronization of the payload data in the received signal, the PHR data preceding the payload data is decoded into binary form. Because of its simple structure, binary data can more easily achieve error detection, thereby reducing the requirements for subsequent error correction mechanisms.
[0129] Please see Figure 4 In some embodiments, the above-described preamble detection of the received signal to obtain a first index value and a second index value may specifically include the following steps:
[0130] Step S21: Calculate the initial index value based on the received signal and the first synchronization sequence.
[0131] Step S22: Detect consecutive target peaks within a preset detection window to obtain the number of consecutive peaks.
[0132] Step S23: If the number of consecutive peaks is greater than the preset repetition threshold, then the initial index value is used as the first index value.
[0133] The preset repetition threshold is the number of repetitions obtained from simulation, which is greater than 2 and less than the number of repetitions of the first preamble Pream1.
[0134] Specifically, after calculating the initial index value, it is necessary to detect the existence of consecutive peaks to determine whether the calculated initial index value is the first index value k1 of the first preamble sequence. This is because consecutive peaks indicate that the same characteristics are repeated at different time points in the received signal. In preamble detection of ZC sequences, good autocorrelation characteristics mean that when the ZC sequence is correlated with itself, the correlation values at offsets other than zero are close to zero, while the correlation peak at zero offset is very high. When the receiver detects a high correlation peak, it may indicate that the start point of the preamble has been detected. If another high correlation peak is subsequently detected at the expected position, this increases the confidence in the correctness of the first peak detection.
[0135] Furthermore, the continuous peak detection method can help distinguish valid data from other interference or noise in the received signal. By setting a preset repetition threshold, a valid preamble is considered detected only when the number of consecutive peaks exceeds this threshold. This method can reduce false positives and improve synchronization accuracy.
[0136] Step S24: Calculate the second index value based on the received signal and the second synchronization sequence.
[0137] In some embodiments, the above-mentioned coarse synchronization of the received signal based on the first index value and the second index value includes:
[0138] Step S25: Calculate coarse frequency offset and coarse time offset based on the first index value and the second index value.
[0139] Step S26: Use coarse frequency offset and coarse time offset to compensate for the PHR data and payload data in the received signal.
[0140] In the above embodiment, when calculating the first index value, the judgment of continuous peaks is added considering the repetitive nature of the first preamble, which ensures the accuracy of the first index value and further ensures the accuracy of subsequent coarse synchronization.
[0141] In some embodiments, the calculation of the initial index value based on the received signal and the first synchronization sequence includes:
[0142] Step S211: Perform a conjugate dot product operation between the received signal and the first synchronization sequence to obtain the first time-domain sequence.
[0143] Step S212: Perform a Fourier transform on the first time-domain sequence to obtain the first complex-valued sequence.
[0144] Step S213: Take the modulus of the first complex value sequence and use the sequence position corresponding to the maximum modulus value as the initial index value.
[0145] Specifically, assuming the received signal is r(k), and the first synchronization sequence is a known synchronization sequence P[k1], the conjugate dot product operation is:
[0146] r(k)P[k1] *
[0147] Perform an FFT operation on the first time-domain sequence after correlation, with a computation length equal to the sequence length of Pream1:
[0148] X(k1) = FFT[r(k)P[k1] * ]
[0149] After taking the modulo of the first complex sequence after the FFT operation, select the maximum value to obtain the corresponding initial index value k1:
[0150]
[0151] Similarly, the above calculation of the second index value based on the received signal and the second synchronization sequence includes:
[0152] Step S241: Perform a conjugate dot product operation on the received signal and the second synchronization sequence to obtain the second time-domain sequence.
[0153] Step S242: Perform a Fourier transform on the second time-domain sequence to obtain the second complex-valued sequence.
[0154] Step S243: Take the modulus of the second complex value sequence and use the sequence position corresponding to the maximum modulus value as the second index value.
[0155] Specifically, the second synchronization sequence is the known synchronization sequence P[k2], and the conjugate dot product operation is:
[0156] r(k)P[k2] *
[0157] Perform an FFT operation on the correlated second time-domain sequence, with a computation length equal to the sequence length of Pream2:
[0158] X(k2) = FFT[r(k)P[k2] * ]
[0159] After taking the modulo of the second complex sequence following the FFT operation, select the maximum value to obtain the corresponding second index value k2:
[0160]
[0161] The above embodiments use conjugate dot product, Fourier transform, and modulo operation to quickly obtain the index values of the two preambles.
[0162] In some embodiments, obtaining the first index value based on the received signal and the first synchronization sequence includes:
[0163] Step S31: Calculate the initial index value based on the received signal and the first synchronization sequence.
[0164] Step S32: Detect consecutive target peaks within a preset detection window to obtain the number of consecutive peaks.
[0165] Step S33: If the number of consecutive peaks is greater than the preset repetition threshold, then the initial index value is used as the first index value.
[0166] Specifically, for received signals modulated using FSK or MSK, in order to avoid noise interference, the index value of the first preamble, which has been repeated multiple times, also needs to be determined by the number of consecutive peaks.
[0167] In some embodiments, the calculation of the initial index value based on the received signal and the first synchronization sequence includes:
[0168] Step S311, Calculation steps: Perform conjugate dot product operation between the received signal and the first synchronization sequence to obtain the first time domain sequence.
[0169] Step S312: Perform a Fourier transform on the first time-domain sequence to obtain the first complex-valued sequence.
[0170] Step S313: Take the modulus of the first complex value sequence and determine whether the maximum modulus value is greater than or equal to a preset threshold.
[0171] Step S314: If yes, then the sequence position corresponding to the maximum modulus value is used as the initial index value.
[0172] Step S315: If not, take the next segment of received signal with a length equal to the first preamble and return to the operation step.
[0173] Specifically, the received signal r(k) and the known first synchronization sequence P[k1] are subjected to a time-domain correlation operation, i.e., a conjugate dot product operation, with a calculation length equal to the length of one Pream1:
[0174] r(k)P[k1] *
[0175] Then, an FFT operation is performed on the first time-domain sequence after correlation, with the sequence length being the length of Pream1:
[0176] X(k1) = FFT[r(k)P[k1] * ]
[0177] After taking the modulus of the first complex value sequence following the FFT, the maximum value is selected. When the maximum value is greater than or equal to a preset threshold, Pream1 is considered to have been detected, and its corresponding index k1 is taken. When the maximum value is less than the preset threshold, the received signal slides to the next receiving block, i.e., its length is increased by the length of Pream1, and then the operation step continues to perform detection.
[0178]
[0179] The above embodiments can filter out some false alarms caused by noise or interference by setting a preset threshold. Only when the result of correlation detection is greater than or equal to this preset threshold is the index value of the detected first preamble considered to be correct, thereby reducing the false alarm rate and improving the accuracy of synchronization.
[0180] In practical implementation, the preset threshold is usually set based on the instantaneous power estimation of the signal to adapt to different signal and noise environments. For example, in underwater networks, due to the complexity of the channel, an adaptive thresholding algorithm can be used to adaptively adjust the threshold according to the instantaneous power of the signal, replacing the preset constant threshold in the fixed thresholding algorithm. This adaptive adjustment helps to maintain stable detection performance under changing signal conditions.
[0181] In some embodiments, the calculation of coarse time offset based on the received signal and the second synchronization sequence includes:
[0182] Step S34: Perform Fourier operation on the received signal to obtain the preamble frequency domain sequence.
[0183] Step S35: Perform Fourier operation on the second synchronization sequence to obtain the synchronization frequency domain sequence.
[0184] Step S36: Perform conjugate dot product operation on the preamble frequency domain sequence and the synchronization frequency domain sequence to obtain the operation result.
[0185] Step S37: Perform inverse Fourier operation on the calculation result to obtain the target time domain sequence.
[0186] Step S38: Take the sequence position corresponding to the peak of the target time domain sequence as the coarse time offset.
[0187] Specifically, FFT calculations are performed on the received signal r(k) after coarse frequency offset compensation and the known second synchronization sequence P(k2), respectively. Then, IFFT calculations are performed on the correlation results of the two signals, and the peak position is determined to obtain the coarse timing offset SFO.
[0188] X(f) = FFT[r(k)]
[0189] P(f) = FFT[P(k)]
[0190] Y(f)=X(f)P[f) *
[0191] k i =argmax‖IFFT(Y(f))‖
[0192] Specifically, since the autocorrelation and cross-correlation characteristics of FSK / MSK modulation typically lack the sharp peaks found in ZC sequences, a more complex frequency domain method is required for time offset estimation. Specifically, this application performs a Fourier transform on the received signal after coarse frequency offset compensation, then performs a conjugate multiplication operation with the Fourier transform result of the second synchronization sequence, and finally uses an inverse Fourier transform to return to the time domain to find the peak value, thereby determining the time offset. This method utilizes conjugate multiplication in the frequency domain to enhance the correlation peak, making the time offset estimation more accurate.
[0193] In some embodiments, the length of the preset detection window is equal to the product of the number of repetitions of the first preamble and the length of the first preamble; the above-mentioned detection of continuous target peaks within the preset detection window to obtain the number of continuous peaks includes:
[0194] Step S321: Slide the preset detection window to obtain the test signal of the length of the first preamble.
[0195] Step S322, Judgment step: Determine whether there is a target peak value in the signal to be tested.
[0196] Step S323: If it does not exist, set the number of consecutive peaks to 0, slide the detection window, and return to the judgment step.
[0197] Step S324: If it exists, check if the target peak exists in the previous segment of the signal to be tested.
[0198] Step S325: If it exists, increment the number of consecutive peaks by 1; if it does not exist, set the number of consecutive peaks to 1.
[0199] It is understood that the above peak calculation steps can be used in step S22 or step S32.
[0200] The length of the preset detection window is the same as the length of the entire Pream1 sequence. The distance the preset detection window slides each time is the length of a single Pream1. When performing peak detection, the newly framed portion of the signal to be tested is used.
[0201] The above embodiments, based on the sliding of a preset detection window, can quickly detect whether there are continuous peak values.
[0202] In some embodiments, the above determination step: determining whether a target peak exists in the signal to be measured, includes:
[0203] Step S3221: Perform conjugate dot product operation between the signal to be tested and the preset training sequence to obtain multiple energy values.
[0204] The preset training sequence is a known SHR sequence.
[0205] Step S3222: Determine if there is an energy value higher than a preset absolute threshold.
[0206] Step S3223: If a target peak value exists, calculate the peak-to-average power ratio based on each energy value; otherwise, the target peak value does not exist.
[0207] Step S3224: Determine whether the peak-to-average ratio is greater than the preset relative threshold.
[0208] Step S3225: If yes, then the maximum energy value is taken as the target peak value; otherwise, there is no target peak value.
[0209] Among them, the preset absolute threshold and the preset relative threshold are both thresholds obtained by high-level adjustments based on simulation iterations.
[0210] After calculating multiple energy values, the above embodiments can make a preliminary judgment on the energy of the current signal to be tested by filtering through a preset absolute threshold, thus avoiding the waste of computing resources caused by calculating the peak-to-average power ratio of the signal to be tested with weak energy.
[0211] In some embodiments, the above calculation of peak-to-average power ratio based on each energy value includes:
[0212] Step S32231: Search for the maximum energy value among all energy values.
[0213] Step S32232: Remove the maximum energy value and the adjacent preset number of energy values.
[0214] The preset quantity is pre-configured and is specifically an even number, which means removing the N / 2 energy values to the left and the N / 2 energy values to the right of the maximum energy value.
[0215] Step S32233: Average the remaining energy values to obtain the average energy value.
[0216] Step S32234: Divide the maximum energy value by the average energy value to obtain the peak-to-average power ratio (PAPR).
[0217] Specifically, in actual measurement or signal processing, outliers may occur due to measurement errors, interference, or noise. Removing the maximum value and its neighboring values can reduce the impact of these outliers on the average value calculation, allowing for a more accurate estimation of the signal power distribution and thus obtaining a smoother and more representative average power value.
[0218] The above embodiments remove the maximum value and its neighboring values before calculating the average value, which helps to obtain an index that better reflects the actual average power level of the signal and improves the accuracy of peak-to-average power ratio calculation and target peak value judgment.
[0219] In some embodiments, the calculation of coarse frequency offset and coarse time offset based on the first index value and the second index value includes:
[0220] Step S251: Calculate the average of the first index value and the second index value, and use it as the coarse frequency offset.
[0221] Step S252: Calculate the difference between the first index value and the second index value.
[0222] Step S253: Divide the difference by 2 and round up to obtain the coarse time bias.
[0223] Specifically, by combining the detection results of Pream1 and Pream2, the coarse frequency offset Δf is determined according to the following formula:
[0224]
[0225] Based on the combined detection results of Pream1 and Pream2, the coarse time bias Δt is determined according to the following formula:
[0226]
[0227] Coarse frequency offset and coarse time offset are used to perform coarse time domain and coarse frequency domain compensation on subsequent PHR data and payload data.
[0228] Similarly, because the ZC sequence signal has an idealized periodic autocorrelation characteristic, the time offset can be estimated by calculating the average of the differences between two index values. This is because the autocorrelation of the ZC sequence is close to zero at offsets other than zero offset, while the correlation peak at zero offset is very high. This characteristic allows the time offset to be determined by simple time-domain correlation detection.
[0229] Please see Figure 5 In some embodiments, decoding the PHR data in the received signal to obtain PHR data in binary symbol form may specifically include the following steps:
[0230] Step S41: Divide the PHR data into multiple complex sequences according to a first preset length; the first preset length is the product of the length of the spread spectrum sequence of the received signal and the oversampling coefficient.
[0231] Step S42: Perform dot product operation between each complex sequence and the preset vector, and then perform Fourier transform to obtain the frequency domain sequence corresponding to each complex sequence; the preset vector is the conjugate sequence obtained by oversampling and conjugating the spread spectrum sequence of the received signal.
[0232] Step S43: Take the modulus of each frequency domain sequence and use the sequence position corresponding to the maximum modulus value as the index of the frequency domain sequence.
[0233] Step S44: Obtain the binary code elements corresponding to each frequency domain sequence according to the index and the second preset length.
[0234] First, put the PHR data {r n} Divided into multiple groups of length N C K OS complex sequence r i Then for each sequence r i First, perform time-domain correlation operations, then perform FFT operations:
[0235]
[0236] Where, N C K is the length of the spread spectrum sequence of the received signal. OS r is the oversampling coefficient. i (k) is r i A vector that has been cyclically shifted by k elements. The spread spectrum sequence {x} used for receiving the signal u (n)} passes through K OS The conjugate of the row vectors formed by multiple sampling.
[0237] For the frequency domain sequence after FFT operation, select the index k corresponding to the maximum value after taking the modulus. i :
[0238]
[0239] Finally, divide the index by the second preset length to obtain the index quotient; round the index quotient to the nearest integer and convert it to binary to obtain the binary code; that is... Convert to binary code. This indicates rounding to the nearest integer.
[0240] Among them, K OS N cs N is the second preset length. cs It is a cyclic shift of the spread spectrum sequence of the received signal.
[0241] In some embodiments, the above-mentioned acquisition of each index in PHR data decoding and calculation of the fine frequency offset based on each index includes:
[0242] Step S51: Divide the phase of the index of each frequency domain sequence by the phase of the index of the previous frequency domain sequence to obtain m-1 phase differences; where m is the number of frequency domain sequences.
[0243] Where m is the number of X(k) mentioned above, that is, the number of complex sequences divided.
[0244] Step S52: Average the phase differences to obtain the fine frequency offset.
[0245] Specifically, by taking the phase difference between adjacent frequency domain sequences and iteratively processing all frequency domain sequences, multiple sets of phase differences can be obtained:
[0246] Δθ k =angle{θ k}-angle{θ k-1}
[0247] By averaging the phase differences of each group, the fine frequency offset can be calculated, where N FFTIndicates the length of the IFFT transform.
[0248]
[0249] Please see Figure 6 Another embodiment of this application provides a signal time-frequency offset compensation device for a digital receiver, comprising:
[0250] The acquisition module 101 is used to acquire the received signal and the corresponding preset synchronization parameters.
[0251] The first coarse synchronization module 102 is used to perform preamble detection on the received signal when the preset synchronization parameter is ZC sequence parameter, to obtain a first index value and a second index value; and to perform coarse synchronization on the received signal according to the first index value and the second index value.
[0252] The second coarse synchronization module 103 is used to obtain a first index value based on the received signal and the first synchronization sequence when the preset synchronization parameters are FSK modulation parameters or MSK modulation parameters; calculate a coarse frequency offset based on the first index value and use the coarse frequency offset to compensate the received signal; calculate a coarse time offset based on the received signal and the second synchronization sequence and use the coarse time offset to compensate the received signal.
[0253] Decoding module 104 is used to decode PHR data in the received signal to obtain PHR data in binary symbol form.
[0254] The fine frequency offset module 105 is used to obtain each index in the PHR data decoding and calculate the fine frequency offset based on each index.
[0255] The compensation module 106 is used to compensate for the payload data in the received signal using fine frequency offset.
[0256] In some embodiments, the first coarse synchronization module 102 is specifically used for:
[0257] Calculate the initial index value based on the received signal and the first synchronization sequence; detect consecutive target peaks within a preset detection window to obtain the number of consecutive peaks; if the number of consecutive peaks is greater than a preset repetition threshold, use the initial index value as the first index value; calculate the second index value based on the received signal and the second synchronization sequence; calculate coarse frequency offset and coarse time offset based on the first index value and the second index value; use coarse frequency offset and coarse time offset to compensate for PHR data and payload data in the received signal.
[0258] In some embodiments, the decoding module 104 is specifically used for:
[0259] The PHR data is divided into multiple complex sequences according to a first preset length. The first preset length is the product of the length of the spread spectrum sequence of the received signal and the oversampling coefficient. Each complex sequence is multiplied by a preset vector, and then a Fourier transform is performed to obtain the frequency domain sequence corresponding to each complex sequence. The preset vector is the conjugate sequence obtained by oversampling and conjugating the spread spectrum sequence of the received signal. The modulus of each frequency domain sequence is taken, and the position of the sequence corresponding to the maximum modulus value is used as the index of the frequency domain sequence. The binary code corresponding to each frequency domain sequence is obtained according to the index and the second preset length.
[0260] In some embodiments, the fine frequency offset module 105 includes:
[0261] The phase difference unit is used to differ the phase of the index of each frequency domain sequence from the phase of the index of the previous frequency domain sequence to obtain m-1 phase differences; where m is the number of frequency domain sequences.
[0262] The phase difference averaging unit is used to average the phase differences to obtain the fine frequency offset.
[0263] The specific limitations of the signal time-frequency offset compensation device for a digital receiver provided in this embodiment can be found in the embodiment of the signal time-frequency offset compensation method for a digital receiver described above, and will not be repeated here. Each module in the above-described signal time-frequency offset compensation device for a digital receiver can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0264] This application provides a computer device that may include a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The network interface communicates with external terminals via a network connection. When the computer program is executed by the processor, it causes the processor to perform the steps of a signal time-frequency offset compensation method for a digital receiver as described in any of the above embodiments.
[0265] The working process, working details and technical effects of the computer device provided in this embodiment can be found in the embodiment of a signal time-frequency offset compensation method for a digital receiver described above, and will not be repeated here.
[0266] This application provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the steps of a signal time-frequency offset compensation method for a digital receiver as described in any of the above embodiments. The computer-readable storage medium refers to a data storage medium, which may include, but is not limited to, floppy disks, optical disks, hard disks, flash memory, USB flash drives, and / or Memory Sticks. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The working process, details, and technical effects of the computer-readable storage medium provided in this embodiment can be found in the above embodiments regarding a signal time-frequency offset compensation method for a digital receiver, and will not be repeated here.
[0267] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM).
[0268] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0269] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A method for compensating for signal time-frequency offset in a digital receiver, characterized in that, include: Acquire the received signal and the corresponding preset synchronization parameters; If the preset synchronization parameter is a ZC sequence parameter, then a preamble detection is performed on the received signal to obtain a first index value and a second index value; coarse synchronization is then performed on the received signal based on the first index value and the second index value. If the preset synchronization parameter is an FSK modulation parameter or an MSK modulation parameter, then a first index value is obtained based on the received signal and the first synchronization sequence; a coarse frequency offset is calculated based on the first index value, and the coarse frequency offset is used to compensate the received signal; The coarse time offset is calculated based on the received signal and the second synchronization sequence, and the received signal is compensated using the coarse time offset; Decode the PHR data in the received signal to obtain PHR data in binary symbol form; Obtain each index in the PHR data decoding, and calculate the fine frequency offset based on each index; The payload data in the received signal is compensated using the fine frequency offset.
2. The signal time-frequency offset compensation method for a digital receiver according to claim 1, characterized in that, The step of performing preamble detection on the received signal to obtain a first index value and a second index value includes: Calculate the initial index value based on the received signal and the first synchronization sequence; Detect consecutive target peaks within a preset detection window to obtain the number of consecutive peaks; If the number of consecutive peaks is greater than a preset repetition threshold, then the initial index value is used as the first index value; The second index value is calculated based on the received signal and the second synchronization sequence.
3. The signal time-frequency offset compensation method for a digital receiver according to claim 2, characterized in that, The step of coarsely synchronizing the received signal based on the first index value and the second index value includes: Calculate the coarse frequency offset and coarse time offset based on the first index value and the second index value; The coarse frequency offset and coarse time offset are used to compensate for the PHR data and payload data in the received signal.
4. The signal time-frequency offset compensation method for a digital receiver according to claim 3, characterized in that, The step of calculating the initial index value based on the received signal and the first synchronization sequence includes: Perform a conjugate dot product operation between the received signal and the first synchronization sequence to obtain a first time-domain sequence; Perform a Fourier transform on the first time-domain sequence to obtain the first complex-valued sequence; Take the modulus of the first complex value sequence and use the sequence position corresponding to the maximum modulus value as the initial index value.
5. The signal time-frequency offset compensation method for a digital receiver according to claim 3, characterized in that, The step of calculating the second index value based on the received signal and the second synchronization sequence includes: Perform a conjugate dot product operation on the received signal and the second synchronization sequence to obtain the second time-domain sequence; Perform a Fourier transform on the second time-domain sequence to obtain the second complex-valued sequence; Take the modulus of the second complex sequence and use the sequence position corresponding to the maximum modulus value as the second index value.
6. The signal time-frequency offset compensation method for a digital receiver according to claim 1, characterized in that, The step of obtaining the first index value based on the received signal and the first synchronization sequence includes: Calculate the initial index value based on the received signal and the first synchronization sequence; Detect consecutive target peaks within a preset detection window to obtain the number of consecutive peaks; If the number of consecutive peaks is greater than the preset repetition threshold, then the initial index value is used as the first index value.
7. The signal time-frequency offset compensation method for a digital receiver according to claim 6, characterized in that, The step of calculating the initial index value based on the received signal and the first synchronization sequence includes: Operation steps: Perform a conjugate dot product operation on the received signal and the first synchronization sequence to obtain the first time-domain sequence; Perform a Fourier transform on the first time-domain sequence to obtain the first complex-valued sequence; Take the modulus of the first complex value sequence and determine whether the maximum modulus value is greater than or equal to a preset threshold; If so, the sequence position corresponding to the maximum modulus value is used as the initial index value; If not, then take the next segment of received signal with a length equal to the first preamble and return to the above operation step.
8. The signal time-frequency offset compensation method for a digital receiver according to claim 1, characterized in that, The calculation of the coarse time offset based on the received signal and the second synchronization sequence includes: Perform a Fourier operation on the received signal to obtain a preamble frequency domain sequence; Perform a Fourier operation on the second synchronization sequence to obtain the synchronization frequency domain sequence; Perform a conjugate dot product operation on the preamble frequency domain sequence and the synchronization frequency domain sequence to obtain the operation result; Perform an inverse Fourier operation on the result of the operation to obtain the target time-domain sequence; The sequence position corresponding to the peak of the target time-domain sequence is taken as the coarse time offset.
9. The signal time-frequency offset compensation method for a digital receiver according to claim 2 or 6, characterized in that, The length of the preset detection window is equal to the product of the number of repetitions of the first preamble and the length of the first preamble; The step of detecting consecutive target peaks within a preset detection window to obtain the number of consecutive peaks includes: By sliding the preset detection window, the test signal for the length of the first preamble is obtained; Judgment step: Determine whether the target peak value exists in the signal to be tested; If it does not exist, the number of consecutive peaks is set to 0, and the detection window is slid to return to the judgment step; If it exists, then check whether the target peak value exists in the signal to be tested described in the previous paragraph; If it exists, increment the number of consecutive peaks by 1; if it does not exist, set the number of consecutive peaks to 1.
10. The signal time-frequency offset compensation method for a digital receiver according to claim 9, characterized in that, The judgment step: determining whether there is a target peak value in the signal to be tested, including: Perform a conjugate dot product operation on the signal to be tested and the preset training sequence to obtain multiple energy values; Determine whether the energy value is higher than a preset absolute threshold; If so, calculate the peak-to-average power ratio based on each of the stated energy values; otherwise, the target peak value does not exist. Determine whether the peak-to-average power ratio is greater than a preset relative threshold; If so, the maximum energy value is taken as the target peak value; otherwise, the target peak value does not exist.
11. The signal time-frequency offset compensation method for a digital receiver according to claim 10, characterized in that, The calculation of peak-to-average power ratio based on each of the energy values includes: Search for the maximum energy value among all the energy values described; Remove the maximum energy value and a predetermined number of adjacent energy values; The remaining energy values are averaged to obtain the average energy value; The peak-to-average power ratio (PAPR) is obtained by dividing the maximum energy value by the average energy value.
12. The signal time-frequency offset compensation method for a digital receiver according to claim 3, characterized in that, The calculation of coarse frequency offset and coarse time offset based on the first index value and the second index value includes: Calculate the average of the first index value and the second index value, and use it as the coarse frequency offset; Calculate the difference between the first index value and the second index value; Divide the difference by 2 and round up to obtain the coarse time bias.
13. The signal time-frequency offset compensation method for a digital receiver according to claim 1, characterized in that, Decoding the PHR data in the received signal to obtain PHR data in binary symbol form includes: The PHR data is divided into multiple complex sequences according to a first preset length; the first preset length is the product of the length of the spread spectrum sequence of the received signal and the oversampling coefficient. Each of the complex sequences is multiplied by a preset vector, and then a Fourier transform is performed to obtain the frequency domain sequence corresponding to each complex sequence; the preset vector is the conjugate sequence obtained by oversampling and conjugating the spread spectrum sequence of the received signal. The frequency domain sequences are moduloed, and the sequence position corresponding to the maximum modulus value is used as the index of the frequency domain sequence; The binary code elements corresponding to each frequency domain sequence are obtained according to the index and the second preset length.
14. The signal time-frequency offset compensation method for a digital receiver according to claim 13, characterized in that, The step of obtaining the binary code elements corresponding to each frequency domain sequence according to the index and the second preset length includes: Divide the index by the second preset length to obtain the index quotient; The index quotient value is rounded to the nearest integer and then converted to binary to obtain the binary code.
15. The signal time-frequency offset compensation method for a digital receiver according to claim 13, characterized in that, The step of obtaining each index in the PHR data decoding and calculating the fine frequency offset based on each index includes: The phase of each index of the frequency domain sequence is subtracted from the phase of the index of the previous frequency domain sequence to obtain m-1 phase differences; where m is the number of frequency domain sequences. The fine frequency offset is obtained by averaging the phase differences.
16. A signal time-frequency offset compensation device for a digital receiver, characterized in that, include: The acquisition module is used to acquire the received signal and the corresponding preset synchronization parameters; The first coarse synchronization module is used to perform preamble detection on the received signal when the preset synchronization parameter is the ZC sequence parameter, to obtain a first index value and a second index value; and to perform coarse synchronization on the received signal according to the first index value and the second index value. The second coarse synchronization module is used to obtain a first index value based on the received signal and the first synchronization sequence when the preset synchronization parameter is an FSK modulation parameter or an MSK modulation parameter; calculate a coarse frequency offset based on the first index value; and use the coarse frequency offset to compensate the received signal. The coarse time offset is calculated based on the received signal and the second synchronization sequence, and the received signal is compensated using the coarse time offset; The decoding module is used to decode the PHR data in the received signal to obtain PHR data in binary symbol form; The fine frequency offset module is used to obtain each index in the PHR data decoding and calculate the fine frequency offset based on each index; The compensation module is used to compensate the payload data in the received signal using the fine frequency offset.
17. The signal time-frequency offset compensation device for a digital receiver according to claim 16, characterized in that, The first coarse synchronization module is specifically used for: Calculate the initial index value based on the received signal and the first synchronization sequence; Detect consecutive target peaks within a preset detection window to obtain the number of consecutive peaks; If the number of consecutive peaks is greater than a preset repetition threshold, then the initial index value is used as the first index value; Calculate the second index value based on the received signal and the second synchronization sequence; Calculate the coarse frequency offset and coarse time offset based on the first index value and the second index value; The coarse frequency offset and coarse time offset are used to compensate for the PHR data and payload data in the received signal.
18. The signal time-frequency offset compensation device for a digital receiver according to claim 17, characterized in that, The decoding module is specifically used for: The PHR data is divided into multiple complex sequences according to a first preset length; the first preset length is the product of the length of the spread spectrum sequence of the received signal and the oversampling coefficient. Each of the complex sequences is multiplied by a preset vector, and then a Fourier transform is performed to obtain the frequency domain sequence corresponding to each complex sequence; the preset vector is the conjugate sequence obtained by oversampling and conjugating the spread spectrum sequence of the received signal. The frequency domain sequences are moduloed, and the sequence position corresponding to the maximum modulus value is used as the index of the frequency domain sequence; The binary code elements corresponding to each frequency domain sequence are obtained according to the index and the second preset length.
19. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the signal time-frequency offset compensation method for the digital receiver as described in any one of claims 1 to 15.
20. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the signal time-frequency offset compensation method for the digital receiver as described in any one of claims 1 to 15.
