A LoRa signal identification method, device, equipment and medium
By determining the target threshold and cyclic autocorrelation sequence, an ideal chirped signal is generated. Combining point multiplication and sliding conjugate cross-correlation calculations, the problem of low efficiency and accuracy in LoRa signal recognition is solved, achieving efficient and accurate LoRa signal recognition and parameter output.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 成都华日通讯技术股份有限公司
- Filing Date
- 2025-12-03
- Publication Date
- 2026-06-16
AI Technical Summary
Existing LoRa signal identification methods suffer from low identification efficiency and accuracy. Deep learning cannot estimate the parameters of LoRa signals, and the round-robin method is extremely inefficient due to too many combinations of spreading factors and bandwidths.
By determining the target threshold and cyclic autocorrelation sequence, the signal bandwidth and spreading factor are accurately extracted, an ideal chirped signal is generated, and LoRa signal identification is achieved by combining point multiplication and sliding conjugate cross-correlation calculations.
It improves the efficiency and accuracy of LoRa signal identification, ensures the effective identification of legitimate LoRa signals and the accurate monitoring of illegitimate LoRa signals, and can output key parameters to support demodulation in subsequent application scenarios.
Smart Images

Figure CN121567274B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of radio monitoring technology, and in particular to a LoRa signal identification method, apparatus, device, and medium. Background Technology
[0002] Long Range Radio (LoRa) is a Low Power Wide Area Wireless Network (LPWAN) technology with many advantages, including long-range communication, low power consumption, strong anti-interference capability, low cost, resistance to frequency offset, and wide-area coverage. Due to the transmission advantages of LoRa technology, it is widely used in smart city construction, industrial automation, agriculture, and other fields. However, due to the technical advantages of LoRa signals and the configurable parameters, such as bandwidth and spreading factor, the monitoring, parameter estimation, and identification of LoRa signals have become a challenge in the field of radio monitoring.
[0003] Existing LoRa signal identification methods generally rely on deep learning or polling the LoRa signal spreading factor and bandwidth. Both methods have drawbacks. Deep learning methods cannot estimate LoRa signal parameters such as spreading factor and bandwidth. Polling methods are inefficient because there are too many combinations of spreading factor and bandwidth (7 spreading factors and 10 bandwidths).
[0004] Therefore, existing LoRa signal identification methods suffer from low identification efficiency and accuracy. Summary of the Invention
[0005] This application provides a LoRa signal identification method, apparatus, device, and medium to solve the problems of low identification efficiency and accuracy in existing LoRa signal identification methods.
[0006] Firstly, this application provides a LoRa signal identification method, the method comprising:
[0007] Based on the initial signal to be identified and its corresponding target power spectrum, the corresponding target threshold and cyclic autocorrelation sequence are determined. Based on the target threshold, target power spectrum, and sequence peak position point, the target bandwidth and target spreading factor are determined. The sequence peak position point is the position point corresponding to the first peak in the cyclic autocorrelation sequence.
[0008] Based on the target bandwidth and target spreading factor, corresponding rising and falling chirp signals are generated, and the target signal to be identified is successively truncated based on the symbol sampling length to obtain multiple target signal segments to be identified; the target signal to be identified is the signal after resampling the initial signal to be identified.
[0009] Based on the peak signal position points corresponding to each of the multiple point-multiplied signal segments, the last position point of the preset position point sequence, and the preset threshold, the target position point sequence and the number of corresponding position points are determined. Based on the number of position points and the preset number of position points, it is determined whether there is a preamble in the target signal to be identified. The point-multiplied signal segments are obtained by multiplying each target signal segment to be identified by a falling chirp signal.
[0010] If a preamble exists in the target signal to be identified, the delimiter identification signal is extracted from the remaining signal based on the sliding conjugate cross-correlation calculation result of the rising chirped signal and the remaining signal, and the corresponding LoRa signal identification result is determined according to the delimiter identification signal; wherein, the remaining signal is the signal located after the preamble in the target signal to be identified.
[0011] In some embodiments of this application, the corresponding target threshold and cyclic autocorrelation sequence are determined based on the initial signal to be identified and its corresponding target power spectrum, including:
[0012] According to the preset sampling rate, the original signal to be identified is sampled to obtain the initial signal to be identified, and the power spectrum of the initial signal to be identified is estimated to determine the initial power spectrum.
[0013] The initial power spectrum is smoothed to obtain the target power spectrum;
[0014] Based on the power spectrum values in the target power spectrum, the power spectrum value with the highest probability of occurrence is determined as the first noise value, and the target power spectrum is segmented to obtain multiple power spectrum segments;
[0015] Based on the power mean value corresponding to each power spectrum segment, the power spectrum segments are sorted to obtain a power spectrum sequence. Then, based on the multiple target power spectrum values in the power spectrum sequence, the corresponding average value is calculated to obtain the second noise value.
[0016] The target threshold is determined based on the smaller of the first noise value and the second noise value, and the cyclic autocorrelation is calculated on the initial signal to be identified to obtain the cyclic autocorrelation sequence.
[0017] In some embodiments of this application, the target bandwidth and target spreading factor are determined based on the target threshold, the target power spectrum, and the sequence peak location, including:
[0018] Based on the target threshold, the target frequency points in the target power spectrum whose power values are higher than the target threshold are determined, and the resolution is obtained by dividing by the preset sampling rate and the number of targets; where the number of targets is the total number of frequency points in the target power spectrum.
[0019] The signal bandwidth is calculated by multiplying the number of target frequency points by the resolution. The minimum difference between the signal bandwidth and the bandwidth of each LoRa signal is determined and its corresponding LoRa signal bandwidth is obtained to obtain the target bandwidth.
[0020] Based on the peak position of the sequence and the preset sampling rate, the period value is calculated, and based on the multiplication of the period value and the target bandwidth, the logarithm of the multiplication value is calculated to obtain the signal spreading factor.
[0021] The target spreading factor is determined based on the difference between the signal spreading factor and the spreading factors of each LoRa signal.
[0022] In some embodiments of this application, determining the target position point sequence and the number of its corresponding position points based on the peak signal position points corresponding to each of the multiple point-multiplied signal segments, the last position point of a preset position point sequence, and a preset threshold includes:
[0023] Based on the target signal segment to be identified, each segment is multiplied by the falling chirp signal to obtain multiple initial multiplied signal segments. Then, each initial multiplied signal segment is subjected to FFT transformation and modulus taking to obtain its corresponding multiplied signal segment.
[0024] Based on the peak signal position point corresponding to the peak signal in each multiplied signal segment, calculate the difference between the peak signal position point and the last position point of the preset position point sequence, and determine whether the difference is less than the preset threshold.
[0025] If it is less than the target position, the peak signal position point is added to the end of the preset position point sequence to obtain the target position point sequence, and the corresponding number of position points is determined.
[0026] If the value is not less than the target value, clear all position points in the preset position point sequence and add the peak signal position point to the preset position point sequence to obtain the target position point sequence and the number of position points.
[0027] In some embodiments of this application, determining whether a preamble exists in the target signal to be identified based on the number of location points and a preset number of location points includes:
[0028] Compare the number of location points with the preset number of location points to obtain the corresponding comparison results;
[0029] If the comparison result shows that the number of location points is greater than the preset number of location points, it is determined that a preamble exists in the target signal to be identified.
[0030] If the comparison result shows that the number of location points is not greater than the preset number of location points, then it is determined that there is no preamble in the target signal to be identified.
[0031] In some embodiments of this application, based on the sliding conjugate cross-correlation calculation results of the rising chirped signal and the remaining signal, the delimiter identification signal is extracted from the remaining signal, including:
[0032] Based on the symbol sampling length, the rising chirped signal and the remaining signal are successively subjected to sliding conjugate cross-correlation calculation to obtain multiple cross-correlation values, and the target cross-correlation value with the largest value and the target signal position point corresponding to the target cross-correlation value are determined.
[0033] Based on the target signal location, the remaining signal is truncated to obtain the separator recognition signal.
[0034] In some embodiments of this application, the corresponding LoRa signal identification result is determined based on the delimiter-identified signal segment, including:
[0035] Determine the target up-frequency position point sequence corresponding to the delimiter identification signal segment and the number of its corresponding up-frequency position points, and compare the number of up-frequency position points with the preset up-frequency threshold to obtain the corresponding comparison result;
[0036] If the comparison result shows that the number of up-frequency location points is less than the preset up-frequency threshold, then the corresponding LoRa signal identification result is determined to be the initial signal to be identified as a LoRa signal.
[0037] If the comparison result shows that the number of up-frequency positions is not less than the preset up-frequency threshold, then the corresponding LoRa signal identification result is determined to be that the initial signal to be identified is not a LoRa signal.
[0038] Secondly, this application provides a LoRa signal identification device, the device comprising:
[0039] The determination module is used to determine the corresponding target threshold and cyclic autocorrelation sequence based on the initial signal to be identified and its corresponding target power spectrum, and to determine the target bandwidth and target spreading factor based on the target threshold, target power spectrum and sequence peak position point; the sequence peak position point is the position point corresponding to the first peak in the cyclic autocorrelation sequence;
[0040] The generation module is used to generate corresponding rising chirp signals and falling chirp signals according to the target bandwidth and target spreading factor, and to successively truncate the target signal to be identified based on the symbol sampling length to obtain multiple target signal segments to be identified; the target signal to be identified is the signal after resampling the initial signal to be identified.
[0041] The judgment module is used to determine the target position point sequence and the number of corresponding position points based on the peak signal position points corresponding to each of the multiple point-multiplied signal segments, the last position point of the preset position point sequence, and a preset threshold. Based on the number of position points and the preset number of position points, it determines whether there is a preamble in the target signal to be identified. The point-multiplied signal segments are obtained by multiplying each target signal segment to be identified by a falling chirp signal.
[0042] The interception module is used to intercept the delimiter identification signal in the remaining signal based on the sliding conjugate cross-correlation calculation result of the rising chirped signal and the remaining signal if a preamble exists in the target signal to be identified, and to determine the corresponding LoRa signal identification result based on the delimiter identification signal; wherein, the remaining signal is the signal located after the preamble in the target signal to be identified.
[0043] Thirdly, this application provides a computer device, including: a processor, and a memory communicatively connected to the processor;
[0044] The memory stores the instructions that the computer executes;
[0045] The processor executes computer execution instructions stored in memory to implement the method of this application.
[0046] Fourthly, this application provides a computer-readable storage medium storing program code, which, when executed by a processor, is used to implement the method of this application.
[0047] Compared with existing technologies, the method in this application, based on the initial signal to be identified and its target power spectrum, determines the target threshold value through noise floor statistics and offset calibration. Simultaneously, it captures the signal's time-domain periodicity through cyclic autocorrelation (COR) calculation, accurately extracts the symbol period using the position point corresponding to the first peak in the COR sequence, and then, combined with the target threshold value, selects effective signal frequency domain sampling points in the target power spectrum to derive the signal bandwidth and match the ideal bandwidth of the LoRa protocol. Finally, the target spreading factor is calculated and calibrated using the ideal bandwidth and symbol period. This method solves the inefficiency problem caused by the numerous parameter combinations in traditional round-robin methods and overcomes the deficiency of deep learning methods in outputting core parameters such as spreading factor, bandwidth, and symbol period, achieving high efficiency and accuracy in blind parameter estimation. Furthermore, based on the target bandwidth and target spreading factor, it generates ideal rising chirp and falling chirp signals conforming to the LoRa protocol rules. ChiRp), and based on the symbol sampling length, segments of the standardized target signal to be identified are extracted one by one, providing a structured processing object for subsequent signal matching, ensuring the targeting and effectiveness of signal matching; through point-to-point multiplication of the target signal segment with the ideal falling chirp signal, FFT despreading, and peak position statistics, combined with a preset threshold, a target position point sequence is constructed. The presence of a preamble is determined by the sequence length, thereby utilizing the LoRa preamble for continuous Down ChiRp's features enable initial signal screening, quickly eliminating non-LoRa signals and significantly reducing subsequent processing computation time, effectively improving recognition efficiency. For signals with identified preambles, symbol synchronization is achieved through sliding conjugate cross-correlation between the ideal rising chirp signal and the remaining signal after the preamble. This accurately extracts the start-of-frame delimiter (SFD) segment and verifies it against the ideal rising chirp signal, thus achieving accurate identification of the LoRa signal. The dual-stage recognition (preamble + SFD) mechanism significantly improves the anti-interference capability and accuracy of recognition, ensuring effective identification of legitimate LoRa signals and accurate monitoring of illegitimate LoRa signals. Simultaneously, it can output key parameters of the LoRa signal, namely bandwidth and spreading factor, improving demodulation of LoRa signals in subsequent application scenarios and enabling rapid acquisition of information carried in the signal. Attached Figure Description
[0048] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0049] Figure 1 A flowchart illustrating a LoRa signal identification method provided in an embodiment of this application;
[0050] Figure 2A schematic diagram illustrating the framework of a LoRa signal identification method provided in this application embodiment;
[0051] Figure 3 This is a schematic diagram of the structure of a LoRa signal identification device provided in an embodiment of this application;
[0052] Figure 4 This is a structural block diagram of a device for performing a LoRa signal identification method according to an embodiment of this application. Detailed Implementation
[0053] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0054] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0055] Figure 1 This is a flowchart illustrating a LoRa signal identification method provided in an embodiment of this application. Figure 1 As shown, this LoRa signal identification method may include the following steps:
[0056] S110. Based on the initial signal to be identified and its corresponding target power spectrum, determine the corresponding target threshold and cyclic autocorrelation sequence, and determine the target bandwidth and target spreading factor based on the target threshold, target power spectrum and sequence peak position point; the sequence peak position point is the position point corresponding to the first peak in the cyclic autocorrelation sequence.
[0057] The initial signal to be identified refers to the signal obtained by sampling the acquired signal to be identified according to a preset sampling rate. In practical applications, the sampling bandwidth should be greater than the signal bandwidth, that is, the signal must be completely contained within the sampling bandwidth range.
[0058] The target power spectrum refers to the frequency domain power distribution sequence obtained after estimating the power spectrum of the initial signal to be identified and performing corresponding data preprocessing. Data preprocessing is used to smooth the power spectrum, thereby reducing noise interference in the original power spectrum.
[0059] The target threshold is a decision threshold used to distinguish the signal power in the target power spectrum from the background noise power. For example, the target threshold can be A, and the signal power value corresponding to a certain frequency point in the target power spectrum is B. If B is greater than A, it indicates that the frequency point is an effective frequency point in the target power spectrum. This is so that the number of frequency domain sampling points higher than the target threshold can be counted, thereby calculating the signal bandwidth.
[0060] Cyclic autocorrelation (CAC) sequences are time-domain sequences obtained by performing CAC operations on an initial signal to be identified. These sequences describe the similarity between the signal and itself under different time delays and period offsets. The CAC sequence is obtained by first performing an FFT (Fast Fourier Transform) on the signal, then multiplying it by the complex conjugate of the FFT result, and finally performing an IFFT (Inverse Fast Fourier Transform) on the product and taking its absolute value. In practical applications, LoRa signals use linear frequency modulation spread spectrum (CSS) technology. The ChiRp signals (Up ChiRp / Down ChiRp) within a symbol period have strict time-domain periodicity. CAC, by calculating the similarity between the signal and its delayed counterpart, accurately highlights this periodicity. The position with the highest similarity (spectral peak) corresponds to the periodic feature point of the signal, ensuring that the subsequently determined signal bandwidth is realistic.
[0061] The target bandwidth refers to the initial bandwidth estimated based on the target power spectrum. It is the closest value to the ideal value determined by matching multiple ideal bandwidth values (7.8KHz, 10.4KHz, ..., 500KHz, a total of 10) preset by the LoRa protocol. Essentially, it is the protocol-defined bandwidth parameter that the LoRa signal actually follows. For example, if the current estimated bandwidth is 10.1KHz, which is closest to 10.4KHz among the multiple ideal bandwidth values preset by the LoRa protocol, then 10.4KHz is considered to be the target bandwidth corresponding to the current signal.
[0062] The target spreading factor refers to the initial spreading factor calculated based on the target bandwidth and symbol period. It is the closest value to the ideal value determined by matching the ideal spreading factor range (6~12) of the LoRa protocol. For example, if the current estimated spreading factor is 6.1, which is closest to 6 among the multiple ideal spreading factors preset by the LoRa protocol, then 6 is considered to be the target spreading factor corresponding to the current signal.
[0063] Based on this, bandwidth and spreading factor are the core parameters of LoRa signals, directly determining their physical transmission characteristics and communication performance. Bandwidth defines the frequency variation range of the LoRa signal. By determining the target power spectrum, the effective frequency points in the target power spectrum are further determined based on the target threshold value corresponding to the target power spectrum, so as to estimate the bandwidth. The spreading factor defines the spreading modulation gain of the LoRa signal. By determining the cyclic autocorrelation sequence corresponding to the initial signal to be identified, the spreading factor is further estimated based on the position point corresponding to the first peak in the cyclic autocorrelation sequence, i.e., the sequence peak position point. This allows the estimated bandwidth and spreading factor to be matched with the ideal bandwidth and spreading factor given by the protocol to obtain the target bandwidth and target spreading factor.
[0064] S120. Based on the target bandwidth and target spreading factor, generate corresponding rising chirp signals and falling chirp signals, and based on the symbol sampling length, successively truncate the target signal to be identified to obtain multiple target signal segments to be identified; the target signal to be identified is the signal after resampling the initial signal to be identified.
[0065] Among them, the rising chirp signal refers to a linear frequency modulation pulse whose frequency increases linearly with time; in the LoRa protocol, it corresponds to the ideal Up ChiRp signal.
[0066] A down-chirp signal is a linear frequency modulated pulse whose frequency decreases linearly over time; in the LoRa protocol, it corresponds to the ideal Down Chirp signal.
[0067] Symbol sampling length refers to the number of sampling points corresponding to a complete LoRa symbol, that is, the number of IQ data sampling points contained in a single LoRa symbol period. Subsequent preamble recognition and SFD recognition are based on this length as a window, extracting data segment by segment from the long signal stream for analysis, thereby ensuring consistent length characteristics and ensuring effective matching.
[0068] The target signal to be identified refers to the signal after resampling the initial signal to be identified. The purpose of resampling is to make the new sampling rate f_s0 an integer multiple of the target bandwidth (BW0). Resampling ensures that the number of sampling points for each symbol (i.e., the symbol sampling length) is an integer, avoiding the computational complexity and performance degradation caused by sampling at non-integer multiples. This allows subsequent operations such as truncation, dot product, and FFT to accurately align with symbol boundaries, improving the robustness and accuracy of the identification.
[0069] Based on this, in practical applications, LoRa signals employ linear frequency modulation spread spectrum (CSS) technology. Their preamble and SFD (Start of Frame Delimiter) have fixed and unique ChiRp characteristics, serving as the core identifiers distinguishing LoRa signals from other signals. The preamble consists of multiple consecutive Down ChiRp symbols (as specified in the LoRa protocol), its function being to synchronize signal timing at the receiver, with the frequency decreasing linearly over time. The SFD is one Up ChiRp symbol, with its frequency increasing linearly over time. Therefore, by determining the target bandwidth and target spreading factor, corresponding rising and falling chirp signals are further generated. These rising and falling chirp signals can be understood as the signal characteristics corresponding to the estimated standard LoRa signal. If the signal characteristics of the signal to be identified match the signal characteristics of the rising and falling chirp signals, then the signal to be identified is consistent with the LoRa signal, i.e., the signal to be identified is a LoRa signal.
[0070] S130. Based on the peak signal position points corresponding to each of the multiple point-multiplied signal segments, the last position point of the preset position point sequence, and the preset threshold, determine the target position point sequence and the number of position points corresponding to it, and determine whether there is a preamble in the target signal to be identified based on the number of position points and the preset number of position points; wherein, the point-multiplied signal segments are obtained by multiplying each target signal segment to be identified by the falling chirp signal.
[0071] The preamble is a specific sequence of consecutive Down Chip symbols in the header of a LoRa data packet. It is part of the frame structure specified by the LoRa protocol and can be understood as a feature identifier of the LoRa signal. If the signal to be identified contains a preamble, it is likely a LoRa signal and further judgment is required; if the preamble does not exist, the signal is determined not to be a LoRa signal and no further judgment is needed, thereby improving the efficiency of identification.
[0072] The peak signal location point is the time-domain location index corresponding to the point with the largest amplitude in the multiplied signal segment, that is, the time-series coordinate of the peak value within the signal segment. It can be understood as the quantized identifier of the most similar position after a single target signal segment to be identified is matched with an ideal falling chirp signal. In practical applications, if the signal segment contains the Down ChiRp feature (preamble component) of the LoRa signal, a significant peak value will appear, and its position is the peak signal location point, which is used to identify whether the signal is a LoRa signal.
[0073] The preset position point sequence refers to a dynamic array or list used to temporarily store and track the position points of peak signals. It is empty in the initial state; that is, the preset position point sequence is an empty set in the initial state. By determining the peak signal position points corresponding to the signal segments multiplied by points in turn, it is further determined whether to add the peak signal position point to the end of the preset position point sequence as the new last position point based on each peak signal position point and the last position point of the current preset position point sequence.
[0074] The preset threshold is a pre-set tolerance threshold used to determine whether two consecutive peak signal positions are close enough. In practical applications, if the deviation between a peak signal position and the last position in the preset position sequence is less than the preset threshold, the peak is determined to be a valid peak and meets the timing characteristics of the preamble; otherwise, it is an invalid peak.
[0075] The target position point sequence refers to the preset position point sequence that is constantly updated. That is, if the peak signal position point needs to be added to the end of the preset position point sequence as the new last position point, the corresponding target position point sequence is obtained. The length of the target position point sequence is the direct basis for determining whether a preamble is detected in the signal. By further determining the number of position points in the preset position point sequence, it is possible to determine whether a preamble exists in the signal.
[0076] The preset number of position points is a pre-set threshold for the number of position points, representing the minimum number of consecutive symbols required for the preamble. It is the final decision condition for preamble recognition. When the length of the target position point sequence (i.e., the number of position points) is greater than or equal to the preset number of position points, the preamble is successfully recognized, thus ensuring the reliability of the detection and avoiding misjudgment due to a few coincidental symbols.
[0077] Based on this, it can be quickly determined whether a signal is a LoRa signal by identifying the presence of a preamble. This is done by multiplying each target signal segment to be identified by the falling chirp signal, thus determining the multiplied signal segment and the corresponding peak signal position. Then, by comparing the peak signal position with the last position of a preset position sequence, it can be determined whether to add the peak signal position to the last position of the preset position sequence, thereby obtaining the target position sequence. The number of position points in the target position sequence is then compared with the preset number of position points to determine whether a preamble exists in the target signal to be identified. If the number of position points is less than the preset number of position points, a preamble is considered to exist; otherwise, it is not.
[0078] 140. If a preamble exists in the target signal to be identified, the delimiter identification signal in the remaining signal is extracted based on the sliding conjugate cross-correlation calculation result of the rising chirped signal and the remaining signal, and the corresponding LoRa signal identification result is determined according to the delimiter identification signal; wherein, the remaining signal is the signal located after the preamble in the target signal to be identified.
[0079] The sliding conjugate cross-correlation calculation result refers to taking the rising chirped signal (ideal Up ChiRp) as a fixed template, selecting a signal segment from the remaining signal (i.e., the signal after the preamble), and sliding it point-by-point according to the sliding window length, which can be determined by the symbol sampling length. The result is a sequence of values where each value represents the degree of matching between the received signal and the ideal template at that time point. The cross-correlation value can be calculated using... This indicates that the rising chirp signal is used If it means:
[0080]
[0081]
[0082] n is the sliding step index. Here, n is the symbol sampling length, and conj represents the complex conjugate. The sliding step index is also n. Let be the cross-correlation value of the nth point, j be the index within the sliding window, and the sliding window length be . X is the IQ sequence value of the remaining signal.
[0083] The delimiter identification signal refers to the continuous signal segment extracted from the remaining signal, starting from the synchronization point found based on the sliding conjugate cross-correlation calculation, used to identify the start of frame delimiter (SFD). It is the "most suspicious" signal segment located from the entire signal stream that is most likely to contain the SFD. By demodulating and analyzing this small segment of signal, it is determined whether it contains the SFD, i.e., whether the signal is a LoRa signal.
[0084] The LoRa signal identification result refers to the final judgment result of the signal to be identified, that is, whether the signal is a LoRa signal or not.
[0085] Based on this, if a preamble exists in the target signal to be identified, the remaining signal is further segmented according to the symbol sampling length, and the rising chirped signal and the signal segment are truncated one by one. Then, the sliding conjugate cross-correlation calculation is performed on each rising chirped signal and the signal segment. Based on the calculation results, the delimiter identification signal most likely to contain SFD in the signal to be identified is determined. In order to determine whether the signal to be identified is a LoRa signal based on the delimiter identification signal, the LoRa signal identification result is determined.
[0086] Based on the feasible implementation of S110 described above, this application further provides a method for determining a corresponding target threshold and cyclic autocorrelation sequence based on an initial signal to be identified and its corresponding target power spectrum, including:
[0087] According to the preset sampling rate, the original signal to be identified is sampled to obtain the initial signal to be identified, and the power spectrum of the initial signal to be identified is estimated to determine the initial power spectrum.
[0088] The initial power spectrum is smoothed to obtain the target power spectrum;
[0089] Based on the power spectrum values in the target power spectrum, the power spectrum value with the highest probability of occurrence is determined as the first noise value, and the target power spectrum is segmented to obtain multiple power spectrum segments;
[0090] Based on the power mean value corresponding to each power spectrum segment, the power spectrum segments are sorted to obtain a power spectrum sequence. Then, based on the multiple target power spectrum values in the power spectrum sequence, the corresponding average value is calculated to obtain the second noise value.
[0091] The target threshold is determined based on the smaller of the first noise value and the second noise value, and the cyclic autocorrelation is calculated on the initial signal to be identified to obtain the cyclic autocorrelation sequence.
[0092] The preset sampling rate refers to the sampling frequency of the receiver's acquisition of signals, which is a core parameter for converting signals from the analog domain to the digital domain. It must meet the requirement that the sampling bandwidth is not less than the actual bandwidth of the original signal to be identified and follow the Nyquist criterion.
[0093] The original signal to be identified refers to the source signal that has not undergone any digital processing and may contain interference components such as environmental noise and other modulated signals.
[0094] Power spectrum estimation is a digital signal processing method that converts the initial signal to be identified (IQ complex signal) in the time domain into the power distribution in the frequency domain, so as to intuitively reflect the energy strength of the signal at different frequencies, such as Welch power spectrum estimation.
[0095] Smoothing refers to denoising and smoothing the power distribution in the frequency domain, thereby eliminating high-frequency fluctuations (caused by noise) in the initial power spectrum and highlighting the continuous frequency domain characteristics of the effective signal; for example, it may include applying a moving average window to the original power spectrum.
[0096] The first noise value is the power spectrum value with the highest probability of appearing in the target power spectrum. It is essentially the mode power level of the background noise and can reflect the concentrated distribution range of noise power. Noise usually presents a uniform distribution in the frequency domain, and its power value will repeat at high frequencies. Therefore, the mode can represent the typical level of noise.
[0097] A power spectrum segment refers to the sub-power spectrum sequence obtained after splitting the target power spectrum, which can be divided by a preset number of segments and a preset length of each segment.
[0098] The target power spectrum value refers to the key power mean value selected from the sorted power spectrum segment sequence for calculating the average value. For example, it could be the average value of the first two smallest power segments after sorting.
[0099] The second noise value refers to the average value corresponding to multiple target power spectrum values, which is used to characterize the local mean power level of background noise. Thus, by filtering the mean value of pure noise frequency bands, the influence of effective signal power on noise estimation is avoided, making it more accurate than a single global mean value.
[0100] Cyclic autocorrelation calculation refers to performing cyclic autocorrelation operations on the initial signal to be identified in the time domain, thereby calculating the similarity between the signal and itself under different time delays.
[0101] Based on this, by determining the target power spectrum, the mode, i.e. the power spectrum value with the highest probability, is determined as the first noise value. The target power spectrum is then segmented so that the power spectrum segments can be sorted according to the power mean value corresponding to each power spectrum segment to obtain a power spectrum sequence. The second noise value is then calculated so that the target threshold value can be determined based on the smaller value between the first noise value and the second noise value. Finally, cyclic autocorrelation is calculated on the initial signal to be identified to obtain a cyclic autocorrelation sequence.
[0102] Based on the feasible implementation of S110 described above, this application further provides a method for determining the target bandwidth and target spreading factor based on the target threshold value, target power spectrum, and sequence peak position points, including:
[0103] Based on the target threshold, the target frequency points in the target power spectrum whose power values are higher than the target threshold are determined, and the resolution is obtained by dividing by the preset sampling rate and the number of targets; where the number of targets is the total number of frequency points in the target power spectrum.
[0104] The signal bandwidth is calculated by multiplying the number of target frequency points by the resolution. The minimum difference between the signal bandwidth and the bandwidth of each LoRa signal is determined and its corresponding LoRa signal bandwidth is obtained to obtain the target bandwidth.
[0105] Based on the peak position of the sequence and the preset sampling rate, the period value is calculated, and based on the multiplication of the period value and the target bandwidth, the logarithm of the multiplication value is calculated to obtain the signal spreading factor.
[0106] The target spreading factor is determined based on the difference between the signal spreading factor and the spreading factors of each LoRa signal.
[0107] The signal bandwidth refers to the actual frequency coverage of the signal to be identified, derived from the analysis of the target power spectrum. It characterizes the energy distribution span of the signal to be identified in the frequency domain. It is the original estimated bandwidth derived statistically from frequency domain sampling points, rather than the standard value of the LoRa protocol.
[0108] The period value refers to the symbol period of the signal to be identified, which represents the duration of a single symbol (ChiRp signal) of the LoRa signal. The symbol period of the LoRa signal has strict stability. If the derived period value has no clear pattern (or does not match the spreading factor), it can help to determine that it is not a LoRa signal.
[0109] Based on this, the estimated signal bandwidth corresponding to the signal to be identified is calculated by using the target threshold value. Then, based on the difference between the estimated signal bandwidth and each ideal bandwidth, the bandwidth with the smallest difference, that is, the closest bandwidth, is selected as the target bandwidth. Similarly, by calculating the period value and based on the period value and the target bandwidth, the signal spreading factor is calculated, thereby determining the closest target spreading factor among multiple ideal spreading factors.
[0110] Based on the feasible implementation of S130 described above, this application further provides a method for determining a target position point sequence and the number of its corresponding position points based on the peak signal position points corresponding to each of multiple point-multiplied signal segments, the last position point of a preset position point sequence, and a preset threshold, including:
[0111] Based on the target signal segment to be identified, each segment is multiplied by the falling chirp signal to obtain multiple initial multiplied signal segments. Then, each initial multiplied signal segment is subjected to FFT transformation and modulus taking to obtain its corresponding multiplied signal segment.
[0112] Based on the peak signal position point corresponding to the peak signal in each multiplied signal segment, calculate the difference between the peak signal position point and the last position point of the preset position point sequence, and determine whether the difference is less than the preset threshold.
[0113] If it is less than the target position, the peak signal position point is added to the end of the preset position point sequence to obtain the target position point sequence, and the corresponding number of position points is determined.
[0114] If the value is not less than the target value, clear all position points in the preset position point sequence and add the peak signal position point to the preset position point sequence to obtain the target position point sequence and the number of position points.
[0115] Among them, FFT refers to Fast Fourier Transform (FastFouRieRTRansfoRm), which is used to convert time-domain signals into frequency-domain signals. LoRa signals use linear frequency modulation spread spectrum (CSS) technology. The energy of the ChiRp signal is dispersed in the time domain and concentrated in the frequency domain. Through FFT transformation, the dispersed spread spectrum signal energy in the time domain can be focused into a significant peak in the frequency domain (i.e., the "despreading" process), thereby highlighting the signal matching characteristics: if the target signal segment to be identified contains features that match the falling chirp signal (ideal DownChiRp), a sharp peak will appear at a specific frequency point after FFT transformation, which is convenient for subsequent peak extraction; if it is noise or a mismatched signal, the energy is dispersed after FFT and there is no significant peak.
[0116] Modulus taking refers to calculating the "complex amplitude" (i.e., the modulus of the complex signal) corresponding to each frequency point of the frequency domain complex signal output by FFT transformation, converting the two-dimensional "real part + imaginary part" data into one-dimensional "amplitude" data. Noise and time delay during signal transmission can cause phase distortion, but modulus taking can eliminate phase influence and retain only energy-related amplitude information, thereby improving the anti-interference capability of matching.
[0117] Based on this, by determining the peak signal position point corresponding to the peak signal in the point-multiplied signal segment, the difference between the peak signal position point and the last position point of the preset position point sequence is calculated, and it is determined whether the difference is less than the preset threshold. For example, the peak signal of the first point-multiplied signal segment A appears at point 50, that is, the peak signal position point is 50. At this time, the preset position point sequence is an empty set, so 50 is directly stored in the sequence. The sequence can be represented by maxPosList. At this time, maxPosList=
[50] , and the number of position points is 1. The peak signal position point of the next point-multiplied signal segment B is at point 51, and the difference with the last value (50) in the list is 1. If the preset threshold is 2, the difference is less than the threshold, and the peak signal position point needs to be appended to the end of the preset position point sequence. maxPosList=[50,51], and the number of position points is 2.
[0118] Based on the feasible implementation of S130 described above, this application further provides a method for determining whether a preamble exists in a target signal to be identified based on the number of location points and a preset number of location points, including:
[0119] Compare the number of location points with the preset number of location points to obtain the corresponding comparison results;
[0120] If the comparison result shows that the number of location points is greater than the preset number of location points, it is determined that a preamble exists in the target signal to be identified.
[0121] If the comparison result shows that the number of location points is not greater than the preset number of location points, then it is determined that there is no preamble in the target signal to be identified.
[0122] The preset number of position points refers to the minimum number of valid peak position points required to determine the presence of a preamble, which can be 8. If the number of position points is greater than the preset number of position points, it indicates that the signal contains complete preamble features, thereby avoiding misjudgment caused by a small number of accidental matches.
[0123] Based on the feasible implementation of S140 described above, this application further provides a method for extracting the delimiter identification signal from the remaining signal based on the sliding conjugate cross-correlation calculation results of the rising chirped signal and the residual signal, including:
[0124] Based on the symbol sampling length, the rising chirped signal and the remaining signal are successively subjected to sliding conjugate cross-correlation calculation to obtain multiple cross-correlation values, and the target cross-correlation value with the largest value and the target signal position point corresponding to the target cross-correlation value are determined.
[0125] Based on the target signal location, the remaining signal is truncated to obtain the separator recognition signal.
[0126] The cross-correlation value refers to the quantized similarity value obtained by cross-correlation operation between the rising chirped signal and the sub-signal segments within the current sliding window of the remaining signal. The symbol sampling length is the sliding window in the actual operation process.
[0127] Based on this, in practical applications, the preamble can appear at point 1000 of the signal, and the symbol sampling length can be 256 points. A sliding window of 256 points is used to extract points 1001-1256 (segment A) of the remaining signal. The cross-correlation value between segment A and the rising chirped signal is calculated, for example, a cross-correlation value of 25. The window is then moved one point to the right, extracting points 1002-1257 (segment B), and the cross-correlation value is calculated, for example, 30. This process continues until all cross-correlation values are calculated. If the cross-correlation value reaches 100 at points 1201-1456 (segment X), which is the maximum target cross-correlation value, the corresponding target signal position is recorded as point 201. Using point 201 as a reference, the remaining signal time is aligned. This means that when determining whether a separator is present, the time starts from point 1201 of the actual signal, which is taken as the 0th point of the ideal template. This completes symbol synchronization, and subsequent SFD separator recognition begins from this aligned position.
[0128] Based on the feasible implementation of S140 described above, this application further provides a method for identifying signal segments based on delimiters and determining the corresponding LoRa signal identification result, including:
[0129] Determine the target up-frequency position point sequence corresponding to the delimiter identification signal segment and the number of its corresponding up-frequency position points, and compare the number of up-frequency position points with the preset up-frequency threshold to obtain the corresponding comparison result;
[0130] If the comparison result shows that the number of up-frequency location points is less than the preset up-frequency threshold, then the corresponding LoRa signal identification result is determined to be the initial signal to be identified as a LoRa signal.
[0131] If the comparison result shows that the number of up-frequency positions is not less than the preset up-frequency threshold, then the corresponding LoRa signal identification result is determined to be that the initial signal to be identified is not a LoRa signal.
[0132] Among them, the target up-frequency position point sequence refers to the frequency domain position index sequence corresponding to the effective peak value with an amplitude higher than the preset peak threshold extracted from the amplitude sequence after multiplying the separator identification signal segment with the ideal rising chirp signal point-to-point, performing FFT despreading and modulo operation.
[0133] The number of up-frequency position points refers to the total number of valid peak position points contained in the target up-frequency position point sequence.
[0134] The preset upsampling threshold refers to the maximum number of valid peak values allowed for a signal segment that is identified as a valid SFD by a pre-set delimiter.
[0135] Based on this, the process of identifying delimiters is similar to that of identifying preambles. If the signal to be identified contains a preamble, it is necessary to further determine whether the remaining signal segment contains delimiters. If it does, the signal is identified as a LoRa signal; if it does not, it is not a LoRa signal, thus obtaining the corresponding identification result.
[0136] Please refer to Figure 2 , Figure 2 This is a schematic diagram illustrating the framework of a LoRa signal identification method provided in an embodiment of this application; as shown below. Figure 2 As shown, the acquisition receiver first acquires IQ data, and the initial parameters are obtained by estimating the signal bandwidth and symbol period. Then, the parameters are calibrated by matching the ideal bandwidth and spreading factor of the LoRa protocol. Subsequently, potential LoRa signals are screened out by preamble recognition, and finally, the legal LoRa signals are confirmed by SFD code recognition. This realizes blind identification of unknown signals into LoRa signals: starting from the original IQ data, blind parameter estimation and calibration are first completed, and then legal LoRa signals are accurately identified by two-stage feature matching of preamble and SFD.
[0137] Based on the above steps, it can be seen that this application, based on the initial signal to be identified and its target power spectrum, determines the target threshold value through noise floor statistics and offset calibration. Simultaneously, it captures the signal's time-domain periodicity through cyclic autocorrelation calculation, accurately extracts the symbol period using the position point corresponding to the first peak in the cyclic autocorrelation sequence, and then, combined with the target threshold value, filters the effective signal frequency domain sampling points in the target power spectrum, derives the signal bandwidth, and matches the ideal bandwidth of the LoRa protocol. Finally, the target spreading factor is obtained by calculating and calibrating using the ideal bandwidth and symbol period. This solves the inefficiency problem caused by the numerous parameter combinations in traditional round-robin methods and compensates for the deficiency of deep learning methods in outputting core parameters such as spreading factor, bandwidth, and symbol period, achieving high efficiency and accuracy in blind parameter estimation. Furthermore, based on the target bandwidth and target spreading factor, it generates ideal rising chirp and falling chirp signals conforming to the LoRa protocol rules. ChiRp), and based on the symbol sampling length, segments of the standardized target signal to be identified are extracted one by one, providing a structured processing object for subsequent signal matching, ensuring the targeting and effectiveness of signal matching; through point-to-point multiplication of the target signal segment with the ideal falling chirp signal, FFT despreading, and peak position statistics, combined with a preset threshold, a target position point sequence is constructed. The presence of a preamble is determined by the sequence length, thereby utilizing the LoRa preamble for continuous Down ChiRp's features enable initial signal screening, quickly eliminating non-LoRa signals and significantly reducing subsequent processing computation time, effectively improving recognition efficiency. For signals with identified preambles, symbol synchronization is achieved through sliding conjugate cross-correlation between the ideal rising chirp signal and the remaining signal after the preamble. This accurately extracts the start-of-frame delimiter (SFD) segment and verifies it against the ideal rising chirp signal, thus achieving accurate identification of the LoRa signal. The dual-stage recognition (preamble + SFD) mechanism significantly improves the anti-interference capability and accuracy of recognition, ensuring effective identification of legitimate LoRa signals and accurate monitoring of illegitimate LoRa signals. Simultaneously, it can output key parameters of the LoRa signal, namely bandwidth and spreading factor, improving demodulation of LoRa signals in subsequent application scenarios and enabling rapid acquisition of information carried in the signal.
[0138] Figure 3 This is a schematic diagram of the structure of a LoRa signal identification device provided in an embodiment of this application. Figure 3 As shown, the LoRa signal identification device includes: a determining module, a generating module, a judging module, and an intercepting module; wherein:
[0139] The determination module is used to determine the corresponding target threshold and cyclic autocorrelation sequence based on the initial signal to be identified and its corresponding target power spectrum, and to determine the target bandwidth and target spreading factor based on the target threshold, target power spectrum and sequence peak position point; the sequence peak position point is the position point corresponding to the first peak in the cyclic autocorrelation sequence;
[0140] The generation module is used to generate corresponding rising chirp signals and falling chirp signals according to the target bandwidth and target spreading factor, and to successively truncate the target signal to be identified based on the symbol sampling length to obtain multiple target signal segments to be identified; the target signal to be identified is the signal after resampling the initial signal to be identified.
[0141] The judgment module is used to determine the target position point sequence and the number of corresponding position points based on the peak signal position points corresponding to each of the multiple point-multiplied signal segments, the last position point of the preset position point sequence, and a preset threshold. Based on the number of position points and the preset number of position points, it determines whether there is a preamble in the target signal to be identified. The point-multiplied signal segments are obtained by multiplying each target signal segment to be identified by a falling chirp signal.
[0142] The interception module is used to intercept the delimiter identification signal in the remaining signal based on the sliding conjugate cross-correlation calculation result of the rising chirped signal and the remaining signal if a preamble exists in the target signal to be identified, and to determine the corresponding LoRa signal identification result based on the delimiter identification signal; wherein, the remaining signal is the signal located after the preamble in the target signal to be identified.
[0143] In this embodiment of the application, the determining module can also be specifically used for:
[0144] According to the preset sampling rate, the original signal to be identified is sampled to obtain the initial signal to be identified, and the power spectrum of the initial signal to be identified is estimated to determine the initial power spectrum.
[0145] The initial power spectrum is smoothed to obtain the target power spectrum;
[0146] Based on the power spectrum values in the target power spectrum, the power spectrum value with the highest probability of occurrence is determined as the first noise value, and the target power spectrum is segmented to obtain multiple power spectrum segments;
[0147] Based on the power mean value corresponding to each power spectrum segment, the power spectrum segments are sorted to obtain a power spectrum sequence. Then, based on the multiple target power spectrum values in the power spectrum sequence, the corresponding average value is calculated to obtain the second noise value.
[0148] The target threshold is determined based on the smaller of the first noise value and the second noise value, and the cyclic autocorrelation is calculated on the initial signal to be identified to obtain the cyclic autocorrelation sequence.
[0149] In this embodiment of the application, the determining module can also be specifically used for:
[0150] Based on the target threshold, the target frequency points in the target power spectrum whose power values are higher than the target threshold are determined, and the resolution is obtained by dividing by the preset sampling rate and the number of targets; where the number of targets is the total number of frequency points in the target power spectrum.
[0151] The signal bandwidth is calculated by multiplying the number of target frequency points by the resolution. The minimum difference between the signal bandwidth and the bandwidth of each LoRa signal is determined and its corresponding LoRa signal bandwidth is obtained to obtain the target bandwidth.
[0152] Based on the peak position of the sequence and the preset sampling rate, the period value is calculated, and based on the multiplication of the period value and the target bandwidth, the logarithm of the multiplication value is calculated to obtain the signal spreading factor.
[0153] The target spreading factor is determined based on the difference between the signal spreading factor and the spreading factors of each LoRa signal.
[0154] In this embodiment of the application, the determination module can also be specifically used for:
[0155] Based on the target signal segment to be identified, each segment is multiplied by the falling chirp signal to obtain multiple initial multiplied signal segments. Then, each initial multiplied signal segment is subjected to FFT transformation and modulus taking to obtain its corresponding multiplied signal segment.
[0156] Based on the peak signal position point corresponding to the peak signal in each multiplied signal segment, calculate the difference between the peak signal position point and the last position point of the preset position point sequence, and determine whether the difference is less than the preset threshold.
[0157] If it is less than the target position, the peak signal position point is added to the end of the preset position point sequence to obtain the target position point sequence, and the corresponding number of position points is determined.
[0158] If the value is not less than the target value, clear all position points in the preset position point sequence and add the peak signal position point to the preset position point sequence to obtain the target position point sequence and the number of position points.
[0159] In this embodiment of the application, the determination module can also be specifically used for:
[0160] Compare the number of location points with the preset number of location points to obtain the corresponding comparison results;
[0161] If the comparison result shows that the number of location points is greater than the preset number of location points, it is determined that a preamble exists in the target signal to be identified.
[0162] If the comparison result shows that the number of location points is not greater than the preset number of location points, then it is determined that there is no preamble in the target signal to be identified.
[0163] In this embodiment of the application, the interception module can also be specifically used for:
[0164] Based on the symbol sampling length, the rising chirped signal and the remaining signal are successively subjected to sliding conjugate cross-correlation calculation to obtain multiple cross-correlation values, and the target cross-correlation value with the largest value and the target signal position point corresponding to the target cross-correlation value are determined.
[0165] Based on the target signal location, the remaining signal is truncated to obtain the separator recognition signal.
[0166] In this embodiment of the application, the interception module can also be specifically used for:
[0167] Determine the target up-frequency position point sequence corresponding to the delimiter identification signal segment and the number of its corresponding up-frequency position points, and compare the number of up-frequency position points with the preset up-frequency threshold to obtain the corresponding comparison result;
[0168] If the comparison result shows that the number of up-frequency location points is less than the preset up-frequency threshold, then the corresponding LoRa signal identification result is determined to be the initial signal to be identified as a LoRa signal.
[0169] If the comparison result shows that the number of up-frequency positions is not less than the preset up-frequency threshold, then the corresponding LoRa signal identification result is determined to be that the initial signal to be identified is not a LoRa signal.
[0170] Figure 4 This is a schematic diagram of the structure of a device for performing a LoRa signal identification method according to an embodiment of this application. Figure 4 As shown, the device includes:
[0171] The device may include one or more processors with processing cores, one or more computer-readable storage media such as memory, communication components, etc. The processor, memory, and communication components are connected via a bus.
[0172] In the specific implementation process, at least one processor executes computer execution instructions stored in memory, causing at least one processor to execute the LoRa signal recognition method described above.
[0173] The specific implementation process of the processor can be found in the above method embodiments, and its implementation principle and technical effect are similar, so it will not be repeated here.
[0174] Furthermore, the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this application can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0175] The memory may include Random Access Memory (RAM) and may also include Non-volatile Memory (NVM), such as at least one disk storage device.
[0176] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0177] In some embodiments, a computer program product is also provided, including a computer program or instructions that, when executed by a processor, implement the steps in any of the LoRa signal identification methods described above.
[0178] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0179] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0180] Therefore, embodiments of this application provide a computer-readable storage medium storing a plurality of program codes, which can be loaded by a processor to execute the steps in any of the LoRa signal identification methods provided in embodiments of this application.
[0181] The storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.
[0182] According to one aspect of this application, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium.
[0183] Since the instructions stored in the storage medium can execute the steps of any of the LoRa signal identification methods provided in the embodiments of this application, the beneficial effects that any of the LoRa signal identification methods provided in the embodiments of this application can achieve can be realized. For details, please refer to the previous embodiments, which will not be repeated here.
[0184] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the appended claims.
[0185] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope.
Claims
1. A LoRa signal identification method, characterized in that, The method includes: Based on the initial signal to be identified and its corresponding target power spectrum, the corresponding target threshold and cyclic autocorrelation sequence are determined. Based on the target threshold, the target power spectrum, and the peak position point of the sequence, the target bandwidth and the target spreading factor are determined. The peak position point of the sequence is the position point corresponding to the first peak in the cyclic autocorrelation sequence. Based on the target bandwidth and the target spreading factor, corresponding rising chirp signals and falling chirp signals are generated, and the target signal to be identified is successively truncated based on the symbol sampling length to obtain multiple target signal segments to be identified; the target signal to be identified is the signal after resampling the initial signal to be identified. Based on the peak signal position points corresponding to each of the multiple point-multiplied signal segments, the last position point of the preset position point sequence, and a preset threshold, the target position point sequence and its corresponding number of position points are determined. Then, based on the number of position points and the preset number of position points, it is determined whether a preamble exists in the target signal to be identified. The point-multiplied signal segments are obtained by performing point multiplication of each of the target signal segments to be identified with the falling chirp signal. If the preamble exists in the target signal to be identified, then based on the sliding conjugate cross-correlation calculation result of the rising chirped signal and the remaining signal, the delimiter identification signal in the remaining signal is extracted, and the corresponding LoRa signal identification result is determined according to the delimiter identification signal; wherein, the remaining signal is the signal in the target signal to be identified located after the preamble.
2. The method of claim 1, wherein, The step of determining the corresponding target threshold and cyclic autocorrelation sequence based on the initial signal to be identified and its corresponding target power spectrum includes: According to the preset sampling rate, the original signal to be identified is sampled to obtain the initial signal to be identified, and the power spectrum of the initial signal to be identified is estimated to determine the initial power spectrum. The initial power spectrum is smoothed to obtain the target power spectrum; Based on each power spectrum value in the target power spectrum, the power spectrum value with the highest probability of occurrence is determined as the first noise value, and the target power spectrum is segmented to obtain multiple power spectrum segments; Based on the power mean value corresponding to each power spectrum segment, the power spectrum segments are sorted to obtain a power spectrum sequence. Then, based on multiple target power spectrum values in the power spectrum sequence, the corresponding average value is calculated to obtain the second noise value. The target threshold is determined based on the smaller of the first noise value and the second noise value, and the cyclic autocorrelation is calculated on the initial signal to be identified to obtain the cyclic autocorrelation sequence.
3. The method according to claim 2, characterized in that, The step of determining the target bandwidth and target spreading factor based on the target threshold, the target power spectrum, and the sequence peak position points includes: Based on the target threshold, the target frequency points in the target power spectrum whose power values are higher than the target threshold are determined, and the resolution is obtained by dividing the preset sampling rate by the target number; wherein, the target number is the total number of frequency points in the target power spectrum; The signal bandwidth is calculated based on the product of the number of target frequency points and the resolution. The smallest difference between the signal bandwidth and the bandwidth of each LoRa signal is determined and its corresponding LoRa signal bandwidth is obtained to obtain the target bandwidth. Based on the peak position of the sequence and the preset sampling rate, the period value is calculated, and based on the multiplication of the period value and the target bandwidth, the logarithm of the multiplication value is calculated to obtain the signal spreading factor; The target spreading factor is determined based on the difference between the signal spreading factor and the spreading factors of each LoRa signal.
4. The method according to claim 1, characterized in that, The determination of the target position point sequence and its corresponding number of position points based on the peak signal position points corresponding to each of the multiple multiplied signal segments, the last position point of the preset position point sequence, and a preset threshold includes: Based on the target signal segment to be identified, each segment is multiplied by the falling chirp signal to obtain multiple initial multiplied signal segments. Then, each initial multiplied signal segment is subjected to FFT transformation and modulus taking to obtain the corresponding multiplied signal segment. Based on the peak signal position point corresponding to the peak signal in each of the multiplied signal segments, the difference between the peak signal position point and the last position point of the preset position point sequence is calculated sequentially, and it is determined whether the difference is less than the preset threshold. If it is less than, then the peak signal position point is added to the last position of the preset position point sequence to obtain the target position point sequence, and the corresponding number of position points is determined; If the value is not less than the target value, then clear all the position points in the preset position point sequence and add the peak signal position point to the preset position point sequence to obtain the target position point sequence and the number of position points.
5. The method according to claim 1, characterized in that, The step of determining whether a preamble exists in the target signal to be identified based on the number of location points and the preset number of location points includes: By comparing the numerical values of the number of location points with the preset number of location points, the corresponding comparison result is obtained; If the comparison result shows that the number of location points is greater than the preset number of location points, then it is determined that the preamble exists in the target signal to be identified; If the comparison result is that the number of location points is not greater than the preset number of location points, then it is determined that the preamble does not exist in the target signal to be identified.
6. The method according to claim 1, characterized in that, The step of extracting the delimiter identification signal from the remaining signal based on the sliding conjugate cross-correlation calculation results of the rising chirped signal and the remaining signal includes: Based on the symbol sampling length, the rising chirped signal and the remaining signal are successively subjected to sliding conjugate cross-correlation calculation to obtain multiple cross-correlation values, and the target cross-correlation value with the largest value and the target signal position point corresponding to the target cross-correlation value are determined. Based on the target signal location point, the remaining signal is truncated to obtain the separator recognition signal.
7. The method according to claim 1, characterized in that, The step of identifying the signal segment based on the delimiter and determining the corresponding LoRa signal identification result includes: Determine the target up-frequency position point sequence corresponding to the delimiter identification signal segment and the number of its corresponding up-frequency position points, and compare the number of up-frequency position points with a preset up-frequency threshold to obtain the corresponding comparison result; If the comparison result is that the number of upsampling points is less than the preset upsampling threshold, then the corresponding LoRa signal identification result is determined to be that the initial signal to be identified is a LoRa signal; If the comparison result indicates that the number of upsampling points is not less than the preset upsampling threshold, then the corresponding LoRa signal identification result is determined to be that the initial signal to be identified is not a LoRa signal.
8. A LoRa signal identification device, characterized in that, The device includes: The determination module is used to determine the corresponding target threshold and cyclic autocorrelation sequence based on the initial signal to be identified and its corresponding target power spectrum, and to determine the target bandwidth and target spreading factor based on the target threshold, the target power spectrum and the peak position point of the sequence; the peak position point of the sequence is the position point corresponding to the first peak in the cyclic autocorrelation sequence; The generation module is used to generate corresponding rising chirp signals and falling chirp signals according to the target bandwidth and the target spreading factor, and to successively truncate the target signal to be identified based on the symbol sampling length to obtain multiple target signal segments to be identified; the target signal to be identified is the signal after resampling the initial signal to be identified. The judgment module is used to determine the target position point sequence and its corresponding number of position points based on the peak signal position points corresponding to each of the multiple point-multiplied signal segments, the last position point of the preset position point sequence, and a preset threshold, and to determine whether there is a preamble in the target signal to be identified based on the number of position points and the preset number of position points; wherein, the point-multiplied signal segments are obtained by performing point multiplication of each of the target signal segments to be identified with the falling chirp signal respectively; The interception module is used to, if the preamble exists in the target signal to be identified, intercept the delimiter identification signal in the remaining signal based on the sliding conjugate cross-correlation calculation result of the rising chirped signal and the remaining signal, and determine the corresponding LoRa signal identification result according to the delimiter identification signal; wherein, the remaining signal is the signal located after the preamble in the target signal to be identified.
9. A computer device, characterized in that, include: One or more processors; Memory; One or more programs, wherein the one or more programs are stored in memory and configured to be executed by one or more processors, the one or more programs being configured to perform the method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores program code that can be called by a processor to perform the method as described in any one of claims 1 to 7.