Synchronization signal detection method and device
By extracting multiple sets of sequences in the 5G NR system and using the center value of the training group for correlation calculation, the problem of high computational complexity of traditional PSS signal detection algorithms is solved, which improves detection accuracy and reduces the computing power consumption of the device.
Patent Information
- Application Number
- CN202311352711.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-18
- Publication Date
- 2025-04-18
AI Technical Summary
In 5G NR systems, the traditional PSS signal detection algorithm has high computational complexity, resulting in large computing power consumption of equipment and affecting the accuracy of detection results.
Multiple groups of sequences are extracted from the received synchronization signal sequence through a preset sliding window, and the training group to which the sequence value belongs is determined based on the position index vectors of multiple training groups, and the correlation calculation is performed using the center value of each training group to reduce the calculation complexity.
The calculation complexity of detection synchronization signals is reduced, the accuracy of detection is improved, and the computing power consumption of the equipment is reduced.
Smart Images

Figure CN119854847A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method and device for detecting a synchronization signal. Background Art
[0002] In the 5G (New Radio, NR) system, the primary synchronization signal (PSS), the secondary synchronization signal (SSS), and the physical broadcast channel (PBCH) together constitute the synchronization signal block (SSB). When the terminal synchronizes with the base station, it is necessary to detect the SSB at the possible frequency point and demodulate the relevant information of the cell system. When the terminal detects the SSB, it first detects the PSS signal to obtain the cell group identifier. and timing synchronization point, and then detect the SSS signal according to the result value to obtain the cell group identifier Final basis and The physical cell identifier (PCI) is calculated.
[0003] It can be seen that the PSS signal is the first step in the downlink synchronization process. The accuracy of its detection results will directly affect whether the terminal can obtain the correct cell information. In the traditional PSS signal detection algorithm, the pre-generated local signal sequence is slidingly correlated with the actual received signal sequence, and the peak point of the correlation result is obtained through maximum likelihood judgment and estimated. The calculation process of this algorithm requires correlation of each sampling point, which is highly complex and consumes a lot of computing power of the device. Summary of the invention
[0004] The embodiments of the present application provide a method and device for detecting a synchronization signal, which are used to reduce the computational complexity of detecting a synchronization signal and improve the accuracy of detecting a synchronization signal.
[0005] In a first aspect, an embodiment of the present application provides a method for detecting a synchronization signal, the method comprising:
[0006] Extracting multiple groups of sequences from the received synchronization signal sequence through a preset sliding window;
[0007] Based on the position index vectors of the plurality of training groups, determining the training groups to which the sequence values included in the plurality of groups of sequences belong; the plurality of training groups belong to at least one training set, and the at least one training set is configured according to an intra-cell group identifier; the position index vector is used to indicate the position of the corresponding sequence value in the sequence to which it belongs;
[0008] The central value of each training group is used to perform correlation calculation on the sequence values included in each training group to obtain the correlation result of each group of sequences;
[0009] The maximum value among the multiple correlation results calculated is determined, and the intra-cell group identifier of the synchronization signal sequence corresponding to the training set used to calculate the correlation result as the maximum value is determined.
[0010] In some embodiments, the plurality of training groups are obtained by clustering sequence values included in a plurality of pre-configured local sequences, any local sequence in the plurality of local sequences includes N sequence values, and the training groups are predetermined in the following manner:
[0011] Based on the values of the first (N / 2+1) sequence values included in any local sequence, clustering the first (N / 2+1) sequence values to obtain a first half training group set; the first half training group set includes at least one training group;
[0012] Determine the position index vectors of the training groups included in the first half training group set; wherein the position index vector of any training group includes the position index of the sequence value of any training group in any local sequence;
[0013] The last (N / 2-1) sequence values included in any local sequence are grouped according to at least one position index vector to determine the second half training group set and the position index vectors of at least one training group included in the second half training group set.
[0014] In some embodiments, the determining, based on the position index vectors of the plurality of training groups, the training groups to which the sequence values included in the plurality of groups of sequences belong specifically includes:
[0015] querying a corresponding sequence value from any group of sequences according to the position index included in the position index vector of the first training group, and determining that the queried sequence value belongs to the first training group;
[0016] The first training group is any one of a plurality of training groups obtained based on a plurality of local sequences.
[0017] In some embodiments, the correlation calculation of the sequence values included in each training group is performed using the central value of each training group to obtain the correlation result of each group of sequences, specifically including:
[0018] The sum of the sequence values included in the second training group is conjugate-multiplied by the center value of the second training group to obtain the product result of the second training group; wherein the second training group is any one of the training groups to which the sequence value of any group of sequences belongs;
[0019] The correlation result of any group of sequences is determined according to the product result of the training group to which the sequence values of any group of sequences belong.
[0020] In some embodiments, the above-mentioned determining the correlation result of any group of sequences according to the product result of the training group to which the sequence values of any group of sequences belong includes:
[0021] The product results of the training groups belonging to the first half of the training group set in the training groups to which the sequence values of any group of sequences belong are taken as the first type of product results, and the sum of the first type of product results is determined;
[0022] The product results of the training groups belonging to the second half of the training group set in the training groups to which the sequence values of any group of sequences belong are taken as the second type of product results, and the sum of the second type of product results is determined;
[0023] The sum of the modulo results of the sum of the first type of product results and the sum of the second type of product results is taken as the correlation result of any group of sequences.
[0024] In some embodiments, the above method further comprises:
[0025] The timing synchronization point of the synchronization signal sequence is determined according to the position index of the maximum value in the synchronization signal sequence.
[0026] In a second aspect, an embodiment of the present application provides a synchronization signal detection device, the device comprising:
[0027] An extraction module extracts multiple groups of sequences from the received synchronization signal sequence through a preset sliding window;
[0028] A processing module, configured to determine, based on position index vectors of multiple training groups, the training groups to which the sequence values included in the multiple groups of sequences belong; the multiple training groups belong to at least one training set, and the at least one training set is configured according to an intra-cell group identifier; the position index vector is used to indicate the position of the corresponding sequence value in the sequence to which it belongs;
[0029] The processing module is further used to use the central value of each training group to perform correlation calculation on the sequence values included in each training group to obtain the correlation result of each group of sequences;
[0030] The determination module is used to determine the maximum value among the multiple correlation results calculated, and to determine the intra-cell group identifier of the synchronization signal sequence corresponding to the training set used to calculate the correlation result as the maximum value.
[0031] In a third aspect, an embodiment of the present application further provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the computer program is executed by the processor, the processor implements any one of the synchronization signal detection methods described in the first aspect above.
[0032] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, any one of the synchronization signal detection methods in the first aspect is implemented.
[0033] In a fifth aspect, an embodiment of the present application further provides a computer program product, including a computer program, which is executed by a processor to implement any method for detecting a synchronization signal as described in the first aspect above.
[0034] The technical effects brought about by any one of the implementation methods in the second to fifth aspects can refer to the technical effects brought about by the corresponding implementation method in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0036] Figure 1 A schematic diagram of an application scenario of a synchronization signal detection method provided in an embodiment of the present application;
[0037] Figure 2 A flow chart of a synchronization signal detection method provided in an embodiment of the present application;
[0038] Figure 3 A flowchart for determining a training group provided in an embodiment of the present application;
[0039] Figure 4 A flowchart of determining the correlation result of a sequence provided in an embodiment of the present application;
[0040] Figure 5 Another schematic diagram of gain effect provided in an embodiment of the present application;
[0041] Figure 6 Another schematic diagram of gain effect provided in an embodiment of the present application;
[0042] Figure 7 Another schematic diagram of gain effect provided in an embodiment of the present application;
[0043] Figure 8 Another schematic diagram of gain effect provided in an embodiment of the present application;
[0044] Fig. 9 A schematic diagram of a synchronization signal detection device provided in an embodiment of the present application;
[0045] Fig.10 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0046] Below, some terms in the embodiments of the present application are explained to facilitate understanding by those skilled in the art.
[0047] 1. "And / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the related objects are in an "or" relationship.
[0048] 2. The k-means clustering algorithm is an iterative clustering analysis algorithm. Its steps are: divide the data into K groups in advance, randomly select K objects as the initial cluster centers, and then calculate the distance between each object and each seed cluster center, and assign each object to the cluster center closest to it. The cluster centers and the objects assigned to them represent a cluster. Each time a sample is assigned, the cluster center of the cluster will be recalculated based on the existing objects in the cluster. This process will be repeated until a certain termination condition is met. The termination condition can be that no (or the minimum number) of objects are reassigned to different clusters, no (or the minimum number) of cluster centers change again, and the sum of squared errors is locally minimized.
[0049] 3. Mean-Shift Clustering Algorithm. The mean-shift clustering algorithm is based on a sliding window. It updates the candidate box of the center point by calculating the mean in the sliding window, so as to find the center point of each cluster. This is done by updating the candidate point of the center point to the mean of the points in the sliding window. Then, in the post-processing stage, these candidate windows are filtered to eliminate near-duplicates and form the final set of center points and their corresponding groups.
[0050] 4. Downsampling, in the field of digital signal processing, downsampling is also called acquisition reduction. Downsampling is a multi-rate digital signal processing technique or the process of reducing the signal sampling rate, usually used to reduce the data transmission rate or data size.
[0051] 5. Terminal equipment, including equipment that provides voice and / or data connectivity to users, such as a handheld device with wireless connection function, or a processing device connected to a wireless modem. The terminal equipment can communicate with the core network via the Radio Access Network (RAN) and exchange voice and / or data with the RAN. The terminal equipment may include user equipment (UE), wireless terminal equipment, mobile terminal equipment, device-to-device communication (D2D) terminal equipment, V2X terminal equipment, machine-to-machine / machine-type communication (M2M / MTC) terminal equipment, Internet of Things (IoT) terminal equipment, subscriber unit (Subscriber Unit), subscriber station (Subscriber Station), mobile station (Mobile Station), remote station (Remote Station), access point (Access Point, AP), remote terminal (remote terminal), access terminal (access terminal), user terminal (user terminal), user agent (user agent), or user equipment (user device), etc. For example, it may include mobile phones (or "cellular" phones), computers with mobile terminal devices, portable, pocket-sized, handheld, and computer-built-in mobile devices, etc. For example, Personal Communication Service (PCS) phones, cordless phones, Session Initiation Protocol (SIP) phones, Wireless Local Loop (WLL) stations, Personal Digital Assistants (PDAs), and other devices. It also includes limited devices, such as devices with low power consumption, or devices with limited storage capacity, or devices with limited computing power, etc. For example, it includes information sensing devices such as barcodes, Radio Frequency Identification (RFID), sensors, Global Positioning System (GPS), laser scanners, etc.
[0052] As an example but not limitation, in the embodiments of the present application, the terminal device may also be a wearable device. Wearable devices may also be referred to as wearable smart devices or smart wearable devices, etc., which are a general term for the application of wearable technology to intelligently design and develop wearable devices for daily wear, such as glasses, gloves, watches, clothing and shoes. A wearable device is a portable device that is worn directly on the body or integrated into the user's clothes or accessories. Wearable devices are not only hardware devices, but also powerful functions achieved through software support, data interaction, and cloud interaction. Broadly speaking, wearable smart devices include full-featured, large-size, and independent of smartphones to achieve complete or partial functions, such as smart watches or smart glasses, etc., as well as those that only focus on a certain type of application function and need to be used in conjunction with other devices such as smartphones, such as various types of smart bracelets, smart helmets, and smart jewelry for vital sign monitoring.
[0053] The various terminal devices introduced above, if located on a vehicle (eg, placed in or installed in a vehicle), can be considered as vehicle-mounted terminal devices, which are also called on-board units (OBU).
[0054] 6. Network equipment may refer to equipment in the access network that communicates with wireless terminal equipment through one or more cells at the air interface. Network equipment may be a node in the wireless access network, which may also be called a base station, or a radio access network (RAN) node (or equipment). At present, some examples of network equipment are: gNB, Transmission Reception Point (TRP), evolved Node B (evolved Node B, eNB), Radio Network Controller (RNC), Node B (NB), Base Station Controller (BSC), Base Transceiver Station (BTS), home base station (e.g., homeevolved NodeB, or home Node B, HNB), Base Band Unit (BBU), or Wireless Fidelity (WiFi) Access Point (AP), etc. In addition, in a network structure, network equipment may include a centralized unit (CU) node and a distributed unit (DU) node. This structure splits the protocol layer of the eNB in the Long Term Evolution (LTE) system, places some of the functions of the protocol layer in the CU for centralized control, and distributes some or all of the remaining functions of the protocol layer in the DU, which is centrally controlled by the CU.
[0055] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0056] The application scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. It is known to those skilled in the art that with the emergence of new application scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems. In the description of the present application, unless otherwise specified, the meaning of "multiple" is two or more.
[0057] In the 5G (New Radio, NR) system, the primary synchronization signal (PSS), the secondary synchronization signal (SSS), and the physical broadcast channel (PBCH) together constitute the synchronization signal block (SSB). When the terminal synchronizes with the base station, it is necessary to detect the SSB at the possible frequency point and demodulate the relevant information of the cell system. When the terminal detects the SSB, it first detects the PSS signal to obtain the cell group identifier. and timing synchronization point, detect the SSS signal according to the value to obtain the cell group identifier Final basis and The physical cell identifier (PCI) is calculated.
[0058] It can be seen that the PSS signal is the first step in the downlink synchronization process. The accuracy of its detection results will directly affect whether the terminal can obtain the correct cell information. In the traditional PSS signal detection algorithm, the pre-generated local signal sequence is slidingly correlated with the actual received signal sequence, and the peak point of the correlation result is obtained through maximum likelihood judgment and estimated. The calculation process of this algorithm requires correlation of each sampling point, which is highly complex and consumes a lot of computing power of the device.
[0059] In order to solve the above problems, an embodiment of the present application provides a method and device for detecting a synchronization signal. For example, multiple groups of sequences are extracted from the received synchronization signal sequence through a preset sliding window. Based on the position index vectors of multiple training groups, the training groups to which the sequence values included in the multiple groups of sequences belong are determined; multiple training groups belong to at least one training set. Among them, the at least one training set is configured according to an intra-cell group identifier; the position index vector is used to indicate the position of the corresponding sequence value in the sequence to which it belongs. The central value of each training group is used to perform correlation calculation on the sequence values included in each training group to obtain the correlation result of each group of sequences. The maximum value among the multiple correlation results calculated is determined, and the intra-cell group identifier of the synchronization signal sequence corresponding to the training set used to calculate the correlation result as the maximum value is determined.
[0060] In this way, compared with the sliding cross-correlation scheme in the traditional technology, which determines the correlation result by correlating each sampling point one by one, the present application divides the synchronization signal sequence into training groups, and then determines the correlation result by correlating the sum of the sequence values included in the training group with the central value of the training group, which can reduce the computational complexity and the consumption of computing resources.
[0061] The following introduces the application scenarios of the embodiments of the present application.
[0062] Figure 1 A schematic diagram of a possible application scenario of an embodiment of the present application is shown, in which a network device and a terminal device are included, wherein the functions of the network device and the terminal device have been described above and will not be repeated here. The terminal device is wirelessly connected to the network device, and data can be transmitted between the terminal device and the network device. For example, data sent from the network device to the terminal device is called downlink transmission, and data sent from the terminal device to the network device is called uplink transmission. Figure 1 The application scenario shown may be an application scenario in an NR system, or may be an application scenario in an LTE system, etc. For example, Figure 1 The application scenario shown is an application scenario in the NR system, so the network device therein can be a gNB in the NR system, and the terminal device therein can be a terminal device in the NR system.
[0063] It should be noted that Figure 1 The scenarios shown should not limit the application scenarios of the embodiments of the present application. In actual applications, multiple network devices and multiple terminal devices may be included. For example, a terminal device may only transmit data with one network device or multiple network devices, or a network device may transmit data with one terminal device or multiple terminal devices. In other words, Figure 1 The number of terminal devices and network devices is only an example. In actual applications, one network device can provide services for multiple terminal devices, and the embodiments of the present application do not specifically limit this.
[0064] like Figure 2 As shown, a flowchart of a synchronization signal detection method provided in an embodiment of the present application may specifically include the following steps.
[0065] S201. Extract multiple groups of sequences from a received synchronization signal sequence using a preset sliding window.
[0066] In an optional embodiment, the received synchronization signal sequence is slid point by point in a preset window manner to obtain multiple groups of sequences.
[0067] For example, the preset sliding window slides the synchronization signal sequence with a step length of 1, and the sliding window length is N. Starting from the Lth sequence value of the synchronization signal sequence, sliding with a step length of 1 is performed. At the Lth sequence value, N sequence values are extracted to obtain a set of sequences including N point sequence values. L is a positive integer. N is a positive integer.
[0068] It is understandable that the present application does not specifically limit the synchronization signal sequence to be detected. The synchronization signal sequence may be a PSS, or a SSS.
[0069] In a possible case, before sliding the received synchronization signal sequence point by point to obtain multiple groups of sequences, the synchronization signal sequence may be downsampled.
[0070] For example, when downsampling the synchronization signal sequence, filtering can be performed first, and then downsampling. Take the captured 20ms time domain data as an example. Its Fast Fourier Transform (FFT) point number is 4096 points, the subcarrier interval is 30kHz, and the sampling rate is 122.88MHz. There are a total of 2457600 synchronization signal sequences. After 16 times downsampling filtering, the FFT point number is 256 points, and the sampling rate becomes 7.68MHz, then there are a total of 153600 synchronization signal sequences after downsampling.
[0071] In the above method, by performing downsampling processing on the synchronous sampling sequence, the data samples of the synchronous signal sequence can be reduced and the calculation speed can be improved.
[0072] S202: Determine, based on the position index vectors of the multiple training groups, the training groups to which the sequence values included in the multiple groups of sequences belong.
[0073] The multiple training groups belong to at least one training set. The at least one training set is configured based on an intra-cell group identifier. The position index vector is used to indicate the position of the corresponding sequence value in the sequence to which it belongs. The multiple training groups are obtained by clustering the sequence values included in the pre-configured multiple local sequences. Each local sequence is for an intra-cell group identifier. Configured.
[0074] The following is an explanation of the method of predetermining the training group:
[0075] In an optional embodiment, based on the values of the first (N / 2+1) sequence values included in the local sequence 1, the first (N / 2+1) sequence values are clustered to obtain the first half training group set. The first half training group set includes at least one training group. The position index vectors of the training groups included in the first half training group set are determined; wherein the position index vector of any training group includes the position index of the sequence value of any training group in any local sequence. The last (N / 2-1) sequence values included in any local sequence are grouped according to at least one position index vector, and the second half training group set and the position index vectors of at least one training group included in the second half training group set are determined. wherein any local sequence among the multiple local sequences includes N sequence values.
[0076] It can be understood that the number of sequence values included in the multiple groups of sequences extracted from the received synchronization signal sequence is the same as the number of sequence values included in the local sequence. For example, the number of sequence values included in the multiple groups of sequences and the number of sequence values included in the local sequence can both be N sequence values. For example, N can be 200. Or N can also be 129.
[0077] Optionally, when performing group clustering training on local sequences, a single or The PSS or SSS local sequence generated by the value is used as the training local sequence. or The PSS or SSS local sequences generated by the different values are superimposed, and the superimposed sequence is used as the training local sequence. or When the PSS or SSS local sequence generated by the value is superimposed and the superimposed sequence is used as the training local sequence, the subsequent detection of the synchronization signal can obtain or value.
[0078] It is understandable that the present application does not specifically limit the clustering algorithm. For example, the K-means mean clustering algorithm can be used to cluster the first (N / 2+1) sequence values to obtain the first half training group set. For another example, the mean shift (Mean-Shift) clustering algorithm can be used to cluster the first (N / 2+1) sequence values to obtain the first half training group set.
[0079] For example, the training group is obtained by clustering the sequence values included in the three pre-configured local sequences. The local sequence is for a cell group identifier. Assume that for a cell group ID The local sequence of this application embodiment can use K-Means clustering algorithm to Clustering of local sequences.
[0080] The first (N / 2+1) sequence values included in the local sequence are taken as training values. At the same time, the grouping value M is determined. The local sequence is divided into M training groups. Then the first half training group set of the local sequence includes M / 2 training groups, and the second half training group set includes M / 2 training groups. According to the training value, an initial value is assigned to each of the first M / 2 groups as the center value. Among them, M is an even number. The initial value can be the average value of the training group or the median of the training group. This application does not make specific restrictions on this.
[0081] The square error value between each training value and the center value of each training group is calculated. The training value corresponding to the smallest square error value among multiple square error values is added to the training group. At the same time, the position index of the training value corresponding to the smallest square error value among multiple square error values is added to the position index vector of the training group.
[0082] Specifically, for the mth training group, the server can determine the squared error between the center value of the mth training group and each training value in the (N / 2)+1 training values. Assume that for the mth training group, the squared error between the nth training value and the mth training group is the smallest. Then the nth training value can be added to the mth training group. At the same time, n is added as a new position index to the position index vector corresponding to the mth training group.
[0083] Assume that the 4th training group is (125, 185, 285, 321). The position index vector of the 4th training group is (1, 3, 4, 6). The server can determine the squared error value between the center value of the 4th training group and each of the 20 training values. Assume that for the 4th training group, the squared error value of the 5th training value 178 and the above 4th training group is the smallest. Then the 5th training value can be added to the 4th training group to obtain a new 4th training group (125, 185, 285, 321, 178). At the same time, the position index 5 of the 5th training value is added as a new position index to the position index vector corresponding to the 4th training group to obtain a new position index vector of the 4th training group (1, 3, 4, 5, 6).
[0084] Optionally, when clustering sequence values, an iteration termination rule may also be set. It is understandable that the above iteration termination condition may be preset by a person skilled in the art. The iteration termination condition may also be changed by a person skilled in the art according to a specific application scenario. For example, the iteration termination condition may be that the number of iterations reaches a set threshold. For another example, the iteration termination condition may also be that the center value of all training groups no longer changes.
[0085] Optionally, after clustering the first (N / 2+1) sequence values to obtain the first half training group set, the second (N / 2-1) sequence values included in any local sequence can be grouped according to at least one position index vector to determine the second half training group set and the position index vectors of at least one training group included in the second half training group set.
[0086] For example, the position index in the position index vector of the mth training group can be assigned to the position index vector of the m+M / 2th training group. When the position index vector after the assignment includes the position indexes n=1 and, or n=N / 2+1, the two position indexes n=1 and n=N / 2+1 are deleted. Then all the position indexes in the position index vector after the assignment are multiplied by -1, and then the value of N+2 is added to obtain the position index vector of the m+M / 2th group.
[0087] Assume that N is 48. m is 4, and M is 12. The position index vector of the second training group is (1,4,5). Then the server can assign the position index (1,4,5) in the position index vector of the second training group to the m+M / 2th training group, that is, the 10th training group. Since n=1 exists in the position index vector after assignment, n=1 is deleted, and the position index vector is (4,5). Then multiply all the position indexes in (4,5) by -1, and add N+2, that is, the value of 50, to obtain (46,45) as the position index vector (46,45) of the 10th training group.
[0088] Optionally, after determining the position index vector of at least one training group included in the second half training group set, the second half training group set can be determined by grouping the last (N / 2-1) sequence values included in any local sequence according to the at least one position index vector.
[0089] Specifically, after the position index vector of the second half training group set is obtained, the corresponding sequence value is determined from any local sequence according to the position index in the position index vector of each training group.
[0090] For example, suppose the position index vector of the 7th training group is (48, 46, 45). Suppose the sequence value of position index element 48 in the local sequence is 156. The sequence value of position index element 46 in the local sequence is 253. The sequence value of position index element 45 in the local sequence is 125. Then the elements of the 7th training group are (156, 253, 125).
[0091] After clustering the sequence values included in the local sequence 1 to obtain multiple training groups, the training set of the local sequence 1 can be determined. That is, the training set includes the first half training group set and the second half training group set of the local sequence 1.
[0092] Optionally, after clustering the sequence values included in the pre-configured multiple local sequences to obtain the training groups, the average value of all the sequence values in each training group may be calculated as the central value of any of the above training groups.
[0093] like Figure 3 As shown, a flowchart for determining a training group provided in an embodiment of the present application may specifically include the following steps.
[0094] S301, extracting the first (N / 2+1) sequence values included in the local sequence as training values;
[0095] S302, grouping the local sequence according to the grouping number M to obtain M training groups, and assigning an initial value to the first M / 2 training groups as the center value of the training group;
[0096] S303, for the nth training value, traversing and calculating the squared error between the nth training value and the center value of the M / 2 training groups;
[0097] S304, adding the nth training value to the training group with the minimum square error, and adding n to the position index vector of the training group with the small square error;
[0098] S305, determine whether n is equal to N / 2+1, if yes, execute 307, if no, execute S306;
[0099] S306, set n=n+1, and return to execute S303;
[0100] S307, calculating the average value of all sequence values in each training group in the first half of the training group set, and taking the average value as the central value of the training group;
[0101] S308, determine whether the iteration number reaches the condition, if yes, execute 309, if not, execute S306;
[0102] S309, assign the position index in the position index vector of the mth training group to the position index vector of the m+M / 2th training group. And when the position index in the position index vector includes n=1 and, or n=N / 2+1, delete the two position indexes n=1 and n=N / 2+1;
[0103] S310, multiply all position indexes in the assigned position index vector by -1, and add the value of N+2 to obtain the position index vector of the m+M / 2th group;
[0104] S311, grouping the last (N / 2-1) sequence values included in any local sequence according to the position index vector to determine a second half training group set;
[0105] S312, calculating the average value of all sequence values in each training group in the second half of the training group set, and taking the average value as the central value of the training group.
[0106] In the above scheme, the present application is based on the characteristics of the conjugate symmetry of the synchronization signal in the time domain in the 5G NR system. First, only the first half of the sequence value is trained, and then the position index vector of the second half of the training group set and at least one training group included in the second half of the training group set can be directly determined based on the position index vector of the first half of the training group set, thereby achieving while ensuring the training effect. The computational complexity required for training is greatly reduced and the computational efficiency is improved. Compared with the scheme based on machine learning, when training the local sequence, the present application only needs to determine the local sequence and the number of groups, and then determine the training group through basic simple calculations. Moreover, in the subsequent process of detecting the synchronization signal, the training group can be reused multiple times.
[0107] In an optional embodiment, after sliding the received synchronization signal sequence point by point to obtain multiple groups of sequences, a corresponding sequence value is queried from any group of sequences according to the position index included in the position index vector of the first training group, and it is determined that the queried sequence value belongs to the first training group. The first training group is any one of the multiple training groups obtained based on the multiple local sequences.
[0108] For example, assuming that the position index vector of the first training group is (4, 28, 19). Assuming that when the corresponding sequence value is queried from a group of sequences according to the position index included in the position index vector of the first training group, the sequence value of position index 4 is 156, the sequence value of position index 28 is 324, and the sequence value of position index 19 is 274. It can be determined that (156, 324, 274) belongs to the first training group.
[0109] S203: Use the central value of each training group to perform correlation calculation on the sequence values included in each training group to obtain the correlation result of each group of sequences.
[0110] The correlation calculation is used to measure the central value of each training group and the degree of correlation between the sequence values included in each training group.
[0111] In an optional embodiment, the present application may use conjugate multiplication to perform correlation calculation. After determining the training group to which the sequence value of any sequence belongs, the sum of the sequence values included in the second training group is conjugate multiplied with the center value of the second training group to obtain the product result of the second training group. The correlation result of any group of sequences is determined according to the product result of the training group to which the sequence value of any group of sequences belongs. The second training group is any one of the training groups to which the sequence value of any group of sequences belongs.
[0112] Optionally, when determining the correlation result of any group of sequences according to the product result of the training group to which the sequence value of any group of sequences belongs, the product result of the training group belonging to the first half of the training group set in the training group to which the sequence value of any group of sequences belongs is taken as the first type of product result, and the sum of the first type of product results is determined. The product result of the training group belonging to the second half of the training group set in the training group to which the sequence value of any group of sequences belongs is taken as the second type of product result, and the sum of the second type of product results is determined. The sum of the modulo results of the sum of the first type of product results and the sum of the second type of product results is taken as the correlation result of any group of sequences.
[0113] For example, it is assumed that the sequence values included in the pre-configured multiple local sequences are clustered to obtain 8 training groups. Then the first half training group set includes the first 4 training groups, and the second half training group set includes the second 4 training groups. For the training groups to which the sequence values of the first group of sequences belong, the third training group belongs to the first half training group set. Then the product result of the third training group is used as the first type of product result. The seventh training group belongs to the second half training group set. The product result of the seventh training group is used as the second type of product result. After determining all the first type of product results in the training group, the sum y1 of the first type of product results is determined. That is, the sum of the product results of the first to fourth training groups. After determining all the second type of product results in the training group, the sum y1 of the second type of product results is determined. That is, the sum of the product results of the fifth to eighth training groups. Modulo values are calculated for y1 and y2 respectively and then summed to obtain the correlation result of the first group of sequences.
[0114] Compared with the sliding cross-correlation scheme in the traditional technology, which determines the correlation result by correlating each sampling point one by one, the above method can reduce the computational complexity and the consumption of computing resources by dividing the synchronization signal sequence into training groups and then correlating the sum of the sequence values included in the training group with the center value of the training group to determine the correlation result.
[0115] like Figure 4 As shown, a flowchart of determining the correlation result of a sequence provided in an embodiment of the present application may specifically include the following steps.
[0116] S401, extracting an N-point sequence starting from the L-th point of the synchronization signal sequence;
[0117] S402, querying a corresponding sequence value from any group of sequences according to the position index included in the position index vector of the mth training group, and determining that the queried sequence value belongs to the mth training group;
[0118] S403, conjugate multiplying the sum of the sequence values included in the mth training group by the center value of the mth training group to obtain a product result of the mth training group;
[0119] S404, determine whether m is greater than M / 2, if not, execute step S405, if yes, execute step S406;
[0120] S405, adding the product of the mth training group to the first type of product result;
[0121] S406, adding the product of the mth training group to the second type of product result;
[0122] S407, determine whether m is equal to M, if so, execute step S409, if not, execute step S408;
[0123] S408, set m=m+1, and return to execute S402;
[0124] S409, taking the sum of the modulo results of the sum of the first-type product results and the sum of the second-type product results as the correlation result of the sequence;
[0125] S410, set L=L+1, and return to execute S401.
[0126] In the above method, due to the time domain mirror conjugate symmetry of the synchronization signal in 5G NR. That is, the local sequence for training the training group is mirror conjugate symmetric and can be divided into the first half and the second half. In the process of detecting the synchronization signal, it is also necessary to divide the sequence into the first half and the second half for correlation to reduce the impact of frequency deviation. That is, the conditions for using segmented correlation detection coincide with the characteristics of the time domain synchronization sequence itself. In the detection of synchronization signals, the present application utilizes the conditions of segmented correlation detection, which coincides with the characteristics of the time domain synchronization sequence itself. By taking the modulus of the first type of product result and the second type of product result and then summing them, the correlation result of the sequence is obtained, which greatly improves the anti-frequency deviation performance.
[0127] S204: Determine a maximum value among the multiple correlation results obtained by calculation, and determine the intra-cell group identifier of the synchronization signal sequence corresponding to the training set used to calculate the correlation result serving as the maximum value.
[0128] For example, suppose that through 3 groups The respectively configured local sequences are clustered to obtain 3 training sets, each of which contains 8 training groups. Each training set can be divided into a first half training group set and a second half training group set, each with 4 training groups. It is assumed that multiple groups of sequences are extracted from the received synchronization signal sequence through a preset sliding window. The above multiple groups of sequences include sequence 1, sequence 2, and sequence 3. Each group of sequences is grouped by multiple groups of position index vectors in the training set. Then the sequence sum value in each training group is conjugate multiplied with the center value of its training group. The product result in the first half training group set is used as the first type of product result. The product result in the second half training group set is used as the second type of product result. The sum of the modulo results of the sum of the first type of product results and the sum of the second type of product results is used as the correlation result of the sequence. It is assumed that the correlation results of the multiple groups of sequences obtained through the synchronization signal sequence include 112566, 253344, and 452211, wherein the correlation result as the maximum value among the multiple correlation results calculated is 452211. Calculate the cell group identification training set of the synchronization signal sequence corresponding to the training set used by the maximum value 452211 is an estimate.
[0129] Optionally, the timing synchronization point of the synchronization signal sequence may be determined according to a position index of the maximum value in the synchronization signal sequence.
[0130] For example, the position index of the maximum value in the synchronization signal sequence can be used as the timing synchronization point of the synchronization signal sequence.
[0131] Below Figure 2 The following examples are used to illustrate:
[0132] First, the process of grouping and clustering sequence values included in the local sequence is given as an example:
[0133] For example, suppose the UE captures 20ms of time domain data after frequency scanning, the FFT point number is 4096 points, the subcarrier spacing is 30kHz, the sampling rate is 122.88MHz, and there are a total of 2457600 time domain sampling signals. After 16 times downsampling filtering, the FFT point number is 256 points, the sampling rate becomes 7.68MHz, and there are a total of 153600 downsampled time domain signals.
[0134] make The values are 0, 1, and 2 respectively, and the corresponding 127-point frequency domain data are generated. Then the frequency domain data is zero-filled, flipped, IFFT, and downsampled by 16 times to obtain 3 groups of 256-point local sequences P i ,in
[0135] Let the number of groups M = 16, extract any group of 256-point local sequence P iThe first 129 sequence values in are used as training values, and the (m-1)*16+1th point in these 129 sequence values are used as the center value of the first 8 training groups, that is,
[0136] μ m =P i ((m-1)*16+1), m=1,2,…,8
[0137] Among them, μ m Represents the center value of the mth training group.
[0138] Set the iteration termination condition to complete 100 center value updates. Let n = 1, and calculate the square error between the nth training value and the center value of the mth training group, that is,
[0139] ε n,m =ω m ‖P i (n)-μ m ‖ 2 ,m=1,2,…,8
[0140] Among them, ε n,m Represents the squared error between the nth training value and the center value of the mth training group. m represents the weight of the mth training group. In this embodiment, ω m All are configured to 1, ‖‖ represents the modulus value.
[0141] Assume ε nm The group number corresponding to the minimum value in (m=1,…,8) is Then put the nth training value into the In the training set, put n into the The position index vector corresponding to the training groups.
[0142] Let n=n+1, and return to calculate the squared error between the nth training value and the center value of the mth training group until all 129 training values are trained.
[0143] After all 129 training values are trained, the average values of all sequence values in the first 8 training groups are calculated as the center value of the training group. At the same time, it is determined whether the number of updates of the center value meets the iteration condition when all 129 training values are trained. The center value is updated 100 times.
[0144] If not satisfied, return to calculate the squared error between the nth training value and the center value of the mth training group, and perform the next round of iteration.
[0145] If satisfied, complete all iterative calculation processes to obtain the center values and position index vectors of the first 8 training groups. Assign the position index vectors of the first 8 training groups to the position index vectors of the last 8 groups. The assignment method is to assign the first training group to the ninth group, the second training group to the tenth group, ..., and the eighth training group to the sixteenth group. If there is a position index of 1 and / or a position index of 129 in the position index vector of any of the last 8 training groups, delete the position index.
[0146] The assigned position index vector is multiplied by -1, then added to 258 to obtain the result value, and the above result value is used as the position index vector of the training group. According to the position index vectors of the last 8 training groups, the local sequence P is input. i After determining the sequence values of the last 8 training groups, calculate the average values of all sequence values in the last 8 training groups as the center value of the training group. Determine the center value and position index vector of 16 training groups.
[0147] because The values are 0, 1, and 2 respectively. There are 3 groups of local sequences P in total. i , then each group P i Cluster training is required to obtain multiple training groups.
[0148] Next, the process of detecting synchronization information is given as an example:
[0149] For 153600 downsampled time domain signals, the total number of correlations to be detected is 153600-256+1=153345. Let L=1, starting from the Lth point, select a 256-point downsampled time domain sequence, denoted as r l .
[0150] Assume that the position index vector of the mth training group contains q m values, denoted as {pos1,pos2,…,pos qm}. According to the position index vector of the mth training group, the position index from r l The corresponding sequence value in the query is {r l (pos1),r l (pos2),…,r l (pos qm )}.
[0151] The training values in the mth training group are summed to obtain the result value Then conjugate the result value with the center value of the group, that is
[0152]
[0153] Among them, y tmp is the product result of the mth training group. m is the center value of the mth training group.
[0154] Determine whether m is greater than 8. If m is less than 8, determine that the product result of the mth training group is the first type of product result. Add the product result of the mth training group to the sum y1 of the first type of product results. If m is greater than 8, determine that the product result of the mth training group is the second type of product result. Add the product result of the mth training group to the sum y2 of the second type of product results. That is,
[0155]
[0156] Among them, y 11 is the initial value of y1, which is 0. 12 is the initial value of y2, which is 0.
[0157] Determine whether m is less than 16. If m is less than 16, set m=m+1 and return to execute the position index included in the position index vector of the mth training group from r l Steps to query the corresponding sequence value in .
[0158] If m is not less than 16, then y1 and y2 are modulo-valued and then summed to obtain the Lth determined sequence r. l The correlation results.
[0159] Determine whether L is greater than 153345. If L is greater than 153345, stop the detection. If L is less than 153345, set L=L+1, and return to the step of selecting a 256-point down-sampled time domain sequence starting from the Lth point.
[0160] In the detection of three groups of P i After the correlation results are obtained, the maximum value in the correlation results is determined as P i max Assume P i max The sequence is Right now
[0161]
[0162] but The estimated value is The maximum value is P i max Position Index Recorded as the timing synchronization point.
[0163] The synchronization signal detection method provided in the embodiment of the present application can reduce the amount of calculation and has a better anti-frequency deviation effect, which is explained below through actual simulation verification.
[0164] In the AWGN channel with normalized frequency offsets of 0.8 and 1.2, respectively, Figure 5 The figure is a schematic diagram of a gain effect provided in an embodiment of the present application. Figure 5 It is the detection accuracy of NID2 under the AWGN channel when the normalized frequency deviation is 0.8 using the traditional cross-correlation algorithm, the original clustering algorithm, the original clustering segmentation algorithm, the improved segmentation clustering algorithm (the technical solution of the present application), and the improved clustering algorithm.
[0165] like Figure 6 , which is another schematic diagram of gain effect provided in an embodiment of the present application. Figure 6 It is the detection accuracy of the timing point when the normalized frequency deviation is 0.8 for the traditional cross-correlation algorithm, the original clustering algorithm, the original clustering segmentation algorithm, the improved segmentation clustering algorithm (the technical solution of the present application), and the improved clustering algorithm under the AWGN channel.
[0166] like Figure 7 , which is another schematic diagram of gain effect provided in an embodiment of the present application. Figure 7 It is the detection accuracy of NID2 under the AWGN channel when the normalized frequency deviation is 1.2 using the traditional cross-correlation algorithm, the original clustering algorithm, the original clustering segmentation algorithm, the improved segmentation clustering algorithm (the technical solution of the present application), and the improved clustering algorithm.
[0167] like Figure 8 , which is another schematic diagram of gain effect provided in an embodiment of the present application. Figure 8 It is the detection accuracy of the timing point when the normalized frequency deviation is 1.2 for the traditional cross-correlation algorithm, the original clustering algorithm, the original clustering segmentation algorithm, the improved segmentation clustering algorithm (the technical solution of the present application), and the improved clustering algorithm under the AWGN channel.
[0168] Fig. 9 A schematic diagram of a synchronization signal detection device provided in an embodiment of the present application is shown in FIG. Fig. 9 As shown, the device includes: an extraction module 901, a processing module 902, and a determination module 903.
[0169] An extraction module 901 is used to extract multiple groups of sequences from the received synchronization signal sequence through a preset sliding window;
[0170] The processing module 902 is used to determine the training groups to which the sequence values included in the multiple groups of sequences belong based on the position index vectors of the multiple training groups; the multiple training groups belong to at least one training set, and the at least one training set is configured according to an intra-cell group identifier; the position index vector is used to indicate the position of the corresponding sequence value in the sequence to which it belongs;
[0171] The processing module 902 is further configured to use the central value of each training group to perform correlation calculation on the sequence values included in each training group to obtain a correlation result of each group of sequences.
[0172] The determination module 903 is used to determine the maximum value among the multiple correlation results calculated, and determine the intra-cell group identifier of the synchronization signal sequence corresponding to the training set used to calculate the correlation result as the maximum value.
[0173] Optionally, the multiple training groups are obtained by clustering sequence values included in multiple pre-configured local sequences, any local sequence in the multiple local sequences includes N sequence values, and the training groups are predetermined in the following manner, and the processing module 902 is further used for:
[0174] Based on the values of the first (N / 2+1) sequence values included in any local sequence, clustering the first (N / 2+1) sequence values to obtain a first half training group set; the first half training group set includes at least one training group;
[0175] The determination module 903 is further used for:
[0176] Determine the position index vectors of the training groups included in the first half training group set; wherein the position index vector of any training group includes the position index of the sequence value of any training group in any local sequence;
[0177] The last (N / 2-1) sequence values included in any local sequence are grouped according to at least one position index vector to determine the second half training group set and the position index vectors of at least one training group included in the second half training group set.
[0178] Optionally, based on the position index vectors of the multiple training groups, determining the training groups to which the sequence values included in the multiple groups of sequences belong, the determining module 903 is specifically configured to:
[0179] querying a corresponding sequence value from any group of sequences according to the position index included in the position index vector of the first training group, and determining that the queried sequence value belongs to the first training group;
[0180] The first training group is any one of a plurality of training groups obtained based on a plurality of local sequences.
[0181] Optionally, the central value of each training group is used to perform correlation calculation on the sequence values included in each training group to obtain the correlation result of each group of sequences. The processing module 902 is specifically used to:
[0182] The sum of the sequence values included in the second training group is conjugate-multiplied by the center value of the second training group to obtain the product result of the second training group; wherein the second training group is any one of the training groups to which the sequence value of any group of sequences belongs;
[0183] The correlation result of any group of sequences is determined according to the product result of the training group to which the sequence values of any group of sequences belong.
[0184] Optionally, the correlation result of any group of sequences is determined according to the product result of the training group to which the sequence values of any group of sequences belong, and the determination module 903 is specifically used to:
[0185] The product results of the training groups belonging to the first half of the training group set in the training groups to which the sequence values of any group of sequences belong are taken as the first type of product results, and the sum of the first type of product results is determined;
[0186] The product results of the training groups belonging to the second half of the training group set in the training groups to which the sequence values of any group of sequences belong are taken as the second type of product results, and the sum of the second type of product results is determined;
[0187] The sum of the modulo results of the sum of the first type of product results and the sum of the second type of product results is taken as the correlation result of any group of sequences.
[0188] Optionally, the subscription information is obtained and the determination module 903 is further used to:
[0189] The timing synchronization point of the synchronization signal sequence is determined according to the position index of the maximum value in the synchronization signal sequence.
[0190] Fig.10 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
[0191] At least one processor 1001, and a memory 1002 connected to the at least one processor 1001. The specific connection medium between the processor 1001 and the memory 1002 is not limited in the embodiment of the present application. Fig.10 In the example, the processor 1001 and the memory 1002 are connected via the bus 1000. Fig.10 The connections between other components are shown in bold lines, and are not intended to be limiting. The bus 1000 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.10 Only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus. Alternatively, the processor 1001 can also be called a controller, and there is no limitation on the name.
[0192] In the embodiment of the present application, the memory 1002 stores instructions that can be executed by at least one processor 1001. The at least one processor 1001 can execute the synchronization signal detection method discussed above by executing the instructions stored in the memory 1002. The processor 1001 can implement Fig.10 or Fig.10The functions of each module in the device shown.
[0193] Among them, processor 1001 is the control center of the device, and can use various interfaces and lines to connect various parts of the entire control device. By running or executing instructions stored in memory 1002 and calling data stored in memory 1002, various functions of the device and processing data, the device can be monitored as a whole.
[0194] In one possible design, the processor 1001 may include one or more processing units, and the processor 1001 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a driver interface, and application programs, and the modem processor mainly processes wireless communications. It is understood that the modem processor may not be integrated into the processor 1001. In some embodiments, the processor 1001 and the memory 1002 may be implemented on the same chip, and in some embodiments, they may also be implemented separately on separate chips.
[0195] Processor 1001 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the detection method of the synchronization signal disclosed in the embodiments of the present application can be directly embodied as a hardware processor to be executed, or a combination of hardware and software modules in the processor can be executed.
[0196] The memory 1002 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 1002 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory 1002 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 1002 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0197] By designing and programming the processor 1001, the code corresponding to the detection method of the synchronization signal introduced in the above embodiment can be fixed into the chip, so that the chip can execute the code when running. Figure 2 The detection method of the synchronization signal in the embodiment shown in the figure. How to design and program the processor 1001 is a technology well known to those skilled in the art and will not be described in detail here.
[0198] It should be noted here that the above-mentioned electronic device provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as the method embodiment will not be described in detail here.
[0199] An embodiment of the present application further provides a computer-readable storage medium, which stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the synchronization signal detection method in the above embodiment.
[0200] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0201] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 Flow or flows and / or boxes Figure 1 A device that performs the functions specified in a box or multiple boxes.
[0202] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 Flow or flows and / or boxes Figure 1 The functions specified in one or more boxes.
[0203] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 Flow or flows and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0204] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A method for detecting a synchronization signal, characterized in that: The method comprises: Extracting multiple groups of sequences from the received synchronization signal sequence through a preset sliding window; Based on position index vectors of multiple training groups, determining the training groups to which the sequence values included in the multiple groups of sequences belong; the multiple training groups belong to at least one training set, and the at least one training set is configured according to an intra-cell group identifier; the position index vector is used to indicate the position of the corresponding sequence value in the sequence to which it belongs; The central value of each training group is used to perform correlation calculation on the sequence values included in each training group to obtain the correlation result of each group of sequences; A maximum value among the multiple correlation results calculated is determined, and an intra-cell group identifier of a synchronization signal sequence corresponding to a training set used to calculate the correlation result of the maximum value is determined.
2. The method according to claim 1, characterized in that The multiple training groups are obtained by clustering sequence values included in multiple pre-configured local sequences, any local sequence in the multiple local sequences includes N sequence values, and the training groups are predetermined in the following manner: Based on the values of the first (N / 2+1) sequence values included in any local sequence, clustering the first (N / 2+1) sequence values to obtain a first half training group set; the first half training group set includes at least one training group; Determine the position index vectors of the training groups included in the first half training group set; wherein the position index vector of any training group includes the position index of the sequence value of any training group in any local sequence; The latter (N / 2-1) sequence values included in any local sequence are grouped according to at least one position index vector, and the position index vectors of the second half training group set and at least one training group included in the second half training group set are determined.
3. The method according to claim 1, characterized in that The determining, based on the position index vectors of the plurality of training groups, the training groups to which the sequence values included in the plurality of groups of sequences belong specifically includes: querying a corresponding sequence value from any one of the groups of sequences according to the position index included in the position index vector of the first training group, and determining that the queried sequence value belongs to the first training group; The first training group is any one of a plurality of training groups respectively obtained based on the plurality of local sequences.
4. The method according to claim 2 or 3, characterized in that: The method of using the central value of each training group to perform correlation calculation on the sequence values included in each training group to obtain the correlation result of each group of sequences specifically includes: Conjugate multiplying the sum of the sequence values included in the second training group by the center value of the second training group to obtain a product result of the second training group; wherein the second training group is any one of the training groups to which the sequence value of any group of sequences belongs; The correlation result of any group of sequences is determined according to the product result of the training group to which the sequence value of any group of sequences belongs.
5. The method according to claim 4, characterized in that The determining the correlation result of any group of sequences according to the product result of the training group to which the sequence values of any group of sequences belong comprises: Taking the product results of the training groups belonging to the first half of the training group set in the training groups to which the sequence values of any group of sequences belong as the first type of product results, and determining the sum of the first type of product results; taking the product results of the training groups belonging to the second half of the training group set in the training groups to which the sequence values of any group of sequences belong as the second type of product results, and determining the sum of the second type of product results; The sum of the modulo results of the sum of the first type of product results and the sum of the second type of product results is taken as the correlation result of any group of sequences.
6. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: The timing synchronization point of the synchronization signal sequence is determined according to the position index of the maximum value in the synchronization signal sequence.
7. A synchronization signal detection device, characterized in that: The device comprises: An extraction module extracts multiple groups of sequences from the received synchronization signal sequence through a preset sliding window; A processing module, configured to determine, based on position index vectors of multiple training groups, the training groups to which the sequence values included in the multiple groups of sequences belong; the multiple training groups belong to at least one training set, and the at least one training set is configured according to an intra-cell group identifier; the position index vector is used to indicate the position of the corresponding sequence value in the sequence to which it belongs; The processing module is further used to use the central value of each training group to perform correlation calculation on the sequence values included in each training group to obtain the correlation result of each group of sequences; The determination module is used to determine the maximum value among the multiple correlation results calculated, and to determine the intra-cell group identifier of the synchronization signal sequence corresponding to the training set used to calculate the correlation result as the maximum value.
8. A communication device, characterized in that: The communication device comprises: A memory for storing program instructions; A processor is used to call the program instructions stored in the memory, and execute the steps included in any one of the methods described in claims 1-6 according to the obtained program instructions.
9. A storage medium, characterized in that: The storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the steps included in any one of the methods described in claims 1-6.