Frame synchronization method and electronic device

The synchronization code is quickly identified through parallel calculation methods, which solves the problem of large delay and high packet error rate of synchronization code recognition in the IEEE 802.11b standard, and improves the speed and accuracy of data frame acquisition.

CN118449829BActive Publication Date: 2024-12-31HONOR DEVICE CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202311458274.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-02
Publication Date
2024-12-31
Estimated Expiration
2043-11-02

AI Technical Summary

Technical Problem

In the existing IEEE 802.11b standard, the receiving device is delayed when searching for synchronization codes, resulting in slow data frame acquisition and high packet error rate.

Method used

The parallel calculation method is adopted to divide the received data into parallel data groups, and the cross-correlation calculation is performed with reference signals, the synchronization code is quickly identified, the cache needs are reduced, and the real-time and accuracy of the data frame are improved.

Benefits of technology

It significantly improves the synchronization code recognition speed, reduces the packet error rate, saves chip storage space, and improves the accuracy and real-timeness of data frame acquisition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118449829B_ABST
    Figure CN118449829B_ABST
Patent Text Reader

Abstract

The present application provides a method for frame synchronization and an electronic device, and relates to the field of Wi-Fi technology. The present application provides a method for frame synchronization, including: obtaining in parallel the peak value of the cross-correlation between each group of parallel data and a reference signal as the peak value of a corresponding group of detection data, determining whether there is a possible synchronization code in each group of detection data by detecting the peak value of each group of detection data, and obtaining the mth group of detection data and the starting position of the synchronization code in the group of detection data when possible synchronization codes are detected in m consecutive groups of detection data, and the starting positions of the possible synchronization codes in the m groups of detection data are the same in the corresponding detection data, and determining the starting position of the data frame based on the mth group of detection data and the starting position of the synchronization code in the group of detection data. The method in the present application allows the receiving device to quickly and accurately identify the synchronization code in the physical frame, thereby improving the real-time performance of acquiring the data frame.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Wi-Fi technology, and in particular to a frame synchronization method and electronic device. Background Art

[0002] IEEE 802.11b is a wireless local area network standard formulated by IEEE and is an extension of 802.11. The standard stipulates that the WLAN operating frequency band is 2.4~2.4835GHz, the data transmission rate reaches 11Mbps, and the transmission distance is controlled at 15~45m. IEEE 802.11b has four data transmission rates: 11Mbps, 55Mbps, 2Mbps, and 1Mbps. The physical layer protocol data unit of the IEEE 802.11b includes three parts: preamble (PLCP Preamble), header (PLCP Header) and physical layer service data unit (Physical Service Data Unit, PSDU). The preamble includes synchronization preamble (Syncronization, SYNC) and start frame delimiter (Start Frame Delimiter, SFD). SYNC is used by the receiving end device to determine whether there is a data frame (i.e. frame synchronization) in the channel. SFD is used as a frame start identifier to determine the position of the subsequent PLCP Header and the starting position of the PSDU.

[0003] The transmitting device of the wireless signal usually performs scrambling, modulation, spread spectrum, frequency modulation and other operations on the transmitted data before transmitting it to the receiving device. The receiving device uses the local reference signal to perform cross-correlation calculation on the received signal to find the starting position of SYNC. According to the starting position of SYNC, the starting position of PSDU can be determined. However, the delay of finding the starting position of SYNC is large, which leads to the problem that the receiving device receives the payload slowly. Summary of the invention

[0004] In order to solve the above technical problems, the present application provides a frame synchronization method and electronic device, so that the receiving device can quickly and accurately identify the synchronization code in the physical frame, reduce the delay in acquiring data frames; improve the accuracy of acquiring data frames and reduce the packet error rate.

[0005] In a first aspect, the present application provides a frame synchronization method, which is applied to an electronic device, comprising: treating each received data to be processed of a first preset length as a group of detection data, the first preset length being n bits, and n being an integer multiple of 44; generating a group of parallel data corresponding to each group of detection data according to each group of detection data, each group of parallel data comprising at least 2 parallel data, each group of parallel data comprising a current group of detection data, and g-1 data adjacent to the current group of detection data in a next group of detection data, where g is the length of a reference signal; performing the following peak acquisition operation on each group of parallel data: performing cross-correlation calculation on each parallel data and a reference signal in parallel to obtain a peak value of each parallel data; The peak values ​​of the parallel data constitute the peak values ​​of the group of parallel data; the peak value of each group of parallel data is used as the peak value of the corresponding group of detection data; each group of detection data is detected in turn based on the peak value of each group of detection data whether there is a possible synchronization code; when it is detected that there are possible synchronization codes in m consecutive groups of detection data, and the starting positions of the possible synchronization codes in the m groups of detection data are the same in the corresponding detection data, the last group of detection data is obtained from the m groups of detection data as the target data, m is an integer greater than or equal to 2; the starting position of the possible synchronization code in the corresponding target data is obtained as the target position; according to the target data and the target position, the starting position of the data frame in the received data is determined.

[0006] In this way, the receiving end device converts every two groups of detection data received in real time into parallel data, and obtains in parallel the peak value of each parallel data output correlated with the reference signal in each group of parallel data. Since the cross-correlation is calculated in parallel, the calculation speed of the cross-correlation can be greatly improved, and the peak value of each group of detection data can be obtained. The electronic device can determine whether there is a possible synchronization code in each group of detection data by the peak value of each group of detection data. For example, the electronic device can determine whether the maximum peak value in each group of detection data is greater than a preset threshold. When it is detected that the maximum peak value is greater than the preset threshold, it can be determined that there is a possible synchronization code in the group of detection data. In this example, since the electronic device increases the speed of obtaining the peak value of each group of detection data, it also increases the speed of determining whether there is a possible synchronization code in each group of detection data. When the electronic device detects the possible synchronization code m times in a row and the starting position of the determined possible synchronization code in the corresponding detection data is the same, the last group of detection data in the m detections is obtained, that is, the electronic device does not need to cache m groups of detection data, but only caches one group of detection data, which greatly saves the cache space of the chip of the electronic device. In addition, the electronic device only caches one set of detection data. Since there is no need to cache multiple sets of detection data in real time, the cached data is reduced, thereby speeding up the determination of data frames and improving the real-time requirements for acquiring data frames. In this example, the data frame contains a payload. In addition, the electronic device can also avoid the problem of incorrectly judging the starting position of the synchronization code due to noise fluctuations through two judgment conditions. The two judgment conditions in this example include: the possible synchronization code is detected m times in a row, and the starting position of the possible synchronization code in the m sets of detection data is the same as the index position in the corresponding detection data.

[0007] According to the first aspect, based on the peak value of each group of detection data, each group of detection data is detected whether there is a possible synchronization code, including: performing the following processing on the peak value of the i-th group of detection data: obtaining the maximum peak value among the peak values ​​of the i-th group of detection data, where i is an integer greater than 0; detecting whether the peak value of the i-th group of detection data is greater than a preset threshold; determining that there is a possible synchronization code in the i-th group of detection data when it is detected that the maximum peak value of the i-th group of detection data is greater than the preset threshold; determining that there is no possible synchronization code in the i-th group of detection data when it is detected that the maximum peak value of the i-th group of detection data is not greater than the preset threshold.

[0008] In this way, the electronic device can quickly determine whether there is a possible synchronization code in each group of detection data and the starting position of the synchronization code by detecting whether the maximum peak value of each group of detection data exceeds a preset threshold. The starting position of the synchronization code is the index position of the maximum peak value in the group of detection data.

[0009] According to the first aspect, before determining that there is a possible synchronization code in the i-th group of detection data, the method also includes: when it is detected that there is no possible synchronization code in the i-2th group of detection data and it is detected that there is a possible synchronization code in the i-1th group of detection data, obtaining the initial value of the first numerical value, and adding 1 to the first numerical value, the first numerical value is used to indicate the number of times that the maximum peak value greater than a preset threshold is continuously detected and each maximum peak value is at the same position in the respective detection data to which it belongs, and the initial value of the first numerical value is 0; obtaining the index position of the maximum peak value in the i-1th group of detection data in the detection data to which it belongs as the starting position of the possible synchronization code in the i-1th group of detection data in the detection data to which it belongs, and determining whether the detection is executed in the i-1th group of detection data. After determining that there is a possible synchronization code in the i-th group of detection data, the method further includes: when it is detected that the starting position of the possible synchronization code in the i-th group of detection data in the corresponding detection data is the same as the starting position of the possible synchronization code in the i-1-th group of detection data in the corresponding detection data, adding 1 to the first value and detecting whether the first value is equal to m; when it is detected that the first value is equal to m, determining that possible synchronization codes are detected in m consecutive groups of detection data and the starting positions of the possible synchronization codes in the m groups of detection data in the corresponding detection data are the same; when it is detected that the first value is not equal to m, detecting whether there is a possible synchronization code in the i+1-th group of detection data.

[0010] In this way, when the electronic device detects that the detection data satisfies the two judgment conditions, it updates the number of times the two judgment conditions are satisfied (i.e., the first value); timely updating of the first value can obtain the target data in a timely manner, reducing unnecessary detection steps. The two judgment conditions in this example include: the possible synchronization code is detected m times in succession, and the starting position of the possible synchronization code in the m groups of detection data is the same as the index position in the corresponding detection data.

[0011] According to the first aspect, after determining that there is a possible synchronization code in the i-th group of detection data, the method also includes: when it is detected that the starting position of the possible synchronization code in the i-th group of detection data in the corresponding detection data is different from the starting position of the possible synchronization code in the i-1-th group of detection data in the corresponding detection data, setting the first numerical value as the initial value; and detecting whether there is a possible synchronization code in the i+1-th group of detection data.

[0012] In this way, when the electronic device detects that any one of the two judgment conditions is not satisfied, it re-detects whether there is a possible synchronization code in the next set of detection data, thereby speeding up the speed of determining the possible starting position of the synchronization code. The two judgment conditions in this example include: the possible synchronization code is detected m times in succession, and the starting position of the possible synchronization code in the m sets of detection data is the same as the index position in the corresponding detection data. In addition, the first value is set to 0, and the number of times the two judgment conditions are satisfied is updated in time to avoid misjudgment.

[0013] According to the first aspect, after detecting whether there is a possible synchronization code in the i+1th group of detection data, the method further includes: in the case of detecting that there is no possible synchronization code in the i+1th group of detection data, setting the first numerical value to the initial value; detecting whether there is a possible synchronization code in the i+2th group of detection data. In this way, when the electronic device detects that any one of the two judgment conditions is not met, it re-detects whether there is a possible synchronization code in the next group of detection data, thereby speeding up the determination of the possible starting position of the synchronization code. The two judgment conditions in this example include: the possible synchronization code is detected m times in succession, and the starting position of the possible synchronization code in the m groups of detection data is the same as the index position in the corresponding detection data. In addition, the first numerical value is set to 0, and the number of times the two judgment conditions are met is updated in time to avoid misjudgment.

[0014] According to the first aspect, after determining that there is no possible synchronization code in the i-th group of detection data, the method further includes: detecting whether there is a possible synchronization code in the i+1-th group of detection data. In this way, after detecting that any one of the two judgment conditions is not met, the electronic device directly detects whether there is a possible synchronization code in the i+1-th group of detection data, which can reduce the number of detection steps and speed up the determination of the starting position of the data frame.

[0015] According to the first aspect, based on each group of detection data, a group of parallel data corresponding to each group of detection data is generated, including: according to the order in which each group of detection data is received, data of a second preset length is obtained as the data to be converted corresponding to the group detection data, the starting position of each group of data to be converted is the same as the starting position of the corresponding group of detection data, the second preset length is the sum of the first preset length and (g-1), and g is the length of the reference signal; for each group of data to be converted, the following conversion processing is performed: determine to convert the group of data to be converted into L parallel data, L is equal to the ratio of the first preset length to k, k is the preset number of peak values ​​corresponding to each parallel data; determine the starting position of each parallel data according to the starting position of the data to be converted and the number of rows where each parallel data is located; according to the starting position of each parallel data, obtain data of a fourth length from the data to be converted as each parallel data, the fourth length is equal to k+(g-1).

[0016] In this way, the electronic device flexibly converts each group of detection data into L parallel data, the length of each parallel data is the fourth length, the length of each parallel data is fixed and the length is related to the number of peaks, which can ensure that the number of peaks obtained by cross-correlating each parallel data with the reference signal is k, so that the time difference between the peak values ​​of each parallel data cross-correlated with the reference signal obtained by the electronic device is small, thereby reducing the maximum peak time for obtaining each group of detection data.

[0017] According to the first aspect, the starting position of each parallel data is determined according to the starting position of the data to be converted and the number of rows where each parallel data is located, including: obtaining the starting position of the data to be converted and obtaining the number of rows j where the j-th parallel data is located; taking the sum of the starting position of the data to be converted and the second value as the starting position of the j-th parallel data, and the second value is equal to (j-1)*k. In this way, each parallel data obtained in the above manner facilitates the electronic device to shift and obtain a signal that is cross-correlated with a reference signal, avoiding the problem of repeated cross-correlation calculation of the same signal, or omitting the problem of cross-correlation calculation.

[0018] According to the first aspect, the starting position of a data frame in received data is determined based on target data and a target position, including: obtaining the received data to be processed as the first serial data starting from the target position of the target data; downsampling starting from the first index position of the first serial data to obtain the second serial data, the first index position being 1; identifying the position of the start frame delimiter in the second serial data; and determining the starting position of the data frame based on the position of the start delimiter. In this way, the electronic device can identify the position of the start frame delimiter used for fine synchronization based on the first index position and the second index position, and then determine the starting position of the data frame.

[0019] According to the first aspect, when the first preset length is 44 bits, k is 1, 2, 4 or 11.

[0020] According to a first aspect, the electronic device is in a wireless communication network, and the standard of the wireless communication network is 802.11b or 802.11n.

[0021] In a second aspect, the present application provides an electronic device comprising: one or more processors; a memory; and one or more computer programs, wherein the one or more computer programs are stored in the memory, and when the computer programs are executed by the one or more processors, the electronic device executes the frame synchronization method corresponding to the first aspect and any one of the implementation methods of the first aspect.

[0022] The second aspect and any implementation of the second aspect correspond to the first aspect and any implementation of the first aspect respectively. The technical effects corresponding to the second aspect and any implementation of the second aspect can refer to the technical effects corresponding to the above-mentioned first aspect and any implementation of the first aspect, which will not be repeated here.

[0023] In a third aspect, the present application provides a computer-readable medium for storing a computer program. When the computer program runs on an electronic device, the electronic device executes the frame synchronization method corresponding to the above-mentioned first aspect and any one of the implementation methods of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0025] Figure 1 is a schematic diagram of an architecture of a communication system exemplarily shown;

[0026] Figure 2 is a schematic diagram showing the structure of an electronic device;

[0027] Figure 3 is a software structure block diagram of an electronic device exemplarily shown;

[0028] Figure 4 is a schematic diagram showing an exemplary PPDU format under the 802.11b standard;

[0029] Figure 5 is a schematic diagram exemplarily illustrating a frame synchronization;

[0030] Figure 6 is a flowchart of another frame synchronization shown as an example;

[0031] Figure 7a is a schematic diagram showing three groups of detection data as an example;

[0032] Figure 7b is a schematic diagram showing three groups of data to be converted;

[0033] Figure 7c is a schematic diagram of parallel data corresponding to each set of detection data;

[0034] Figure 7d is a schematic diagram exemplarily showing another type of parallel data corresponding to each group of detection data;

[0035] Figure 8 is a diagram showing the correspondence between peak values ​​and the number of peak values;

[0036] Fig. 9 is a flowchart showing an exemplary frame synchronization;

[0037] Fig.10 FIG. 4 is a schematic diagram showing exemplary data used for fine synchronization. DETAILED DESCRIPTION

[0038] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0039] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

[0040] The terms "first" and "second" in the description and claims of the embodiments of the present application are used to distinguish different objects rather than to describe a specific order of objects. For example, a first target object and a second target object are used to distinguish different target objects rather than to describe a specific order of target objects.

[0041] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0042] In the description of the embodiments of the present application, unless otherwise specified, the meaning of "multiple" refers to two or more than two. For example, multiple processing units refer to two or more processing units; multiple systems refer to two or more systems.

[0043] Before explaining the embodiments of the present application in detail, the application scenarios in the present application are first described. Figure 1 Schematic diagram of the architecture of a communication system provided in an embodiment of the present application. The communication system includes an access point device and a site device. The communication system may include one or more access points (APs), Figure 1Only one is shown in FIG. The communication system also includes one or more stations (STA), such as Figure 1 STA1~STA3 shown in the figure.

[0044] Figure 1 The architecture shown can also be extended to the application scenarios of base stations (BS) and user equipment (UE). Among them, AP can be the access point for mobile users to enter the wired network. It is mainly deployed in homes, buildings and parks. The typical coverage radius is tens of meters to hundreds of meters. Of course, it can also be deployed outdoors.

[0045] AP is equivalent to a bridge connecting wired network and wireless network. Its main function is to connect various wireless network clients together and then connect the wireless network to Ethernet. Specifically, AP can be a terminal device or network device with a WiFi chip. AP can be a device that supports 802.11b and its 802.11n format. STA can be a wireless communication chip, a wireless sensor or a wireless communication terminal. For example, a mobile phone that supports WiFi communication function, a tablet computer that supports WiFi communication function, a set-top box that supports WiFi communication function, a smart TV that supports WiFi communication function, a smart wearable device that supports WiFi communication function, a vehicle-mounted communication device that supports WiFi communication function, and a computer that supports WiFi communication function. Optionally, STA can support devices of 802.11b and its 802.11n format.

[0046] The embodiments of the present application are mainly described by taking a network deploying IEEE 802.11b and 802.11n as an example. Those skilled in the art will readily appreciate that various aspects of the present application may be extended to other networks adopting various standards or protocols.

[0047] Figure 2 This is a schematic diagram of the structure of an electronic device 100 shown in an embodiment of the present application. It should be understood that: Figure 2 The electronic device 100 shown is only one example of an electronic device, and the electronic device 100 may have more or fewer components than shown in the drawings, may combine two or more components, or may have a different configuration of components. Figure 2 The various components shown in the figure can be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and / or application specific integrated circuits. In this example, the electronic device 100 is taken as an example of a mobile phone.

[0048] The electronic device 100 may include: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, etc.

[0049] Figure 3 is a software structure diagram of an electronic device in an embodiment of the present application. The layered architecture of the electronic device divides the software into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into three layers, from top to bottom, namely, the application layer, the application framework layer, and the kernel layer. It can be understood that Figure 3 The layers in the software structure and the components contained in each layer do not constitute a specific limitation on the wearable device 200. In other embodiments of the present application, the wearable device 200 may include more or fewer layers than shown in the figure, and each layer may include more or fewer components, which is not limited in the present application.

[0050] like Figure 3 As shown, the application layer can include a series of application packages. The application packages can include WLAN, Bluetooth, camera, gallery, calendar, short message and other applications. The application framework layer provides an application programming interface (API) and programming framework for the applications in the application layer. The application framework layer includes some predefined functions.

[0051] like Figure 3 As shown, the application framework layer may include a window manager, a resource manager, a content provider, a view system, a phone manager, a notification manager, and the like.

[0052] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.

[0053] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.

[0054] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.

[0055] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications.

[0056] The phone manager is used to provide communication functions of the electronic device 200, such as management of call status (including connecting, hanging up, etc.).

[0057] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc.

[0058] The kernel layer is the layer between hardware and software. The kernel layer contains at least Wi-Fi driver, Bluetooth driver, display driver, camera driver, audio driver, sensor driver, etc.

[0059] Before describing the frame synchronization method in the present application, the WLAN standard of 802.11b involved in the present application is described first.

[0060] 802.11b uses high-speed direct sequence spread spectrum (HR / DSSS) transmission technology and 2.4GHz frequency band. Depending on the modulation technology used, there are four transmission rates: 1Mb / s, using Differential Binary Phase Shift Keying (DBPSK) modulation technology; 2Mb / s, using Differential Quadrature Phase Shift Keying (DQPSK) modulation technology; 5.5Mb / s and 11Mb / s, both high-speed transmission modes use Complementary Code Keying (CCK) modulation technology.

[0061] The physical layer of Wi-Fi includes two sublayers, namely the Physical Layer Convergence Protocol (PLCP) layer and the Physical Media Dependent (PMD) layer. The data layer above the physical layer includes: the Logical Link Control (LLC) and the Media Access Control (MAC) layer. The LLC receives data from layers 3 to 7 (i.e. above the network layer), called MAC Service Data Unit (MSDU), and transmits the MSDU to the MAC layer. The MAC layer encapsulates the MSDU into a MAC Payload Unit (MPDU) and transmits it to the physical layer. The PLCP layer in the physical layer encapsulates the MPDU into a Physical Layer Protocol Data Unit (PPDU). The PPDU includes a PLCP Preamble, a PLCP Header, and a Physical Service Data Unit (PSDU), wherein the PSDU in the PPDU is equal to the MPDU. The PMD layer encodes and modulates the encapsulated data (PPDU) and transmits it to the receiving device. The PLCP preamble in the PPDU is used to synchronize the transmitting device and the receiving device to ensure the time relationship between the two, so that the receiving device can synchronize according to the PLCP preamble and receive the actual data (i.e., receive the PSDU). The PLCP preamble includes: long preamble and short preamble.

[0062] Figure 4 This is a schematic diagram of the PPDU format under the 802.11b standard.

[0063] Figure 44a in FIG. 4 is a schematic diagram of the long preamble frame format. As shown in 4a, the long preamble frame includes a PLCP long preamble (length is 144 bits), a PLCP header (length is 48 bits) and a PSDU. The transmission rate of the PSDU can be 1Mb / s, 2Mb / s, 5.5Mb / s and 11Mb / s as shown in 4a. The PLCP long preamble includes a 128-bit synchronization code (SYNC) and a 16-bit start frame delimiter (SFD). The PLCP header includes an 8-bit signaling (SIGNAL), an 8-bit service (SERVICE), a 16-bit length (LENGTH) and a 16-bit check code (CRC). The signaling is used to indicate the transmission rate of the payload (payload) (such as 1Mb / s, 2Mb / s, 5.5Mb / s or 11Mb / s). The length is the time for the payload to be transmitted, in microseconds (us). The check bit is used to determine whether there is an error in the header. The service bit is an additional High Rate (HR) configuration bit.

[0064] Figure 4 4b in FIG. 4 is a schematic diagram of the short preamble frame format. As shown in 4b, the short preamble frame includes a PLCP long preamble code (length is 72 bits), a PLCP header (length is 48 bits) and a PSDU. The transmission rate of the PSDU is shown in 4a, which can be 2Mb / s, 5.5Mb / s and 11Mb / s. The PLCP short preamble code includes a 56-bit synchronization code (Synchronized, SYNC) and a 16-bit start frame delimiter (SFD). The PLCP header includes an 8-bit signaling (SIGNAL), an 8-bit service (SERVICE), a 16-bit length (LENGTH) and a 16-bit check code (CRC). The structure and function of the header of the short preamble frame are the same as those of the header of the long preamble frame, and will not be repeated here.

[0065] In this example, Figure 4 As shown, before the synchronization code in the long preamble frame and the short preamble frame is transmitted by the transmitting device, the PMD can use DBPSK to modulate the PLCP preamble code and use the Barker code to spread the preamble code. The length of the Barker code includes: 2, 3, 4, 5, 7, 11, 13. Among them, under the 802.11b standard, an 11-bit Barker code is used. The transmitting device scrambles, modulates, spreads and upsamples the PLCP preamble code. In addition, the transmitting device also scrambles, modulates, spreads and upsamples the PCLP header and PSDU. The transmitting device transmits the processed PLCP preamble code (PLCP Preamble) together with the processed PLCP header (PLCP header) and PSDU. The scrambling code and the spreading code can be different or the same.

[0066] After the receiving device receives the signal, the physical layer performs matched filtering on the received signal and performs frame synchronization processing on the filtered signal to obtain the PSDU in the signal. Frame synchronization processing includes coarse synchronization and fine synchronization. The coarse synchronization operation is specifically as follows: the receiving device detects whether there is SYNC through a coarse synchronization algorithm. If so, it determines that the received signal includes a data frame. After the receiving device determines that there is a data frame in the signal, it performs a fine synchronization operation, specifically as follows: the receiving device downsamples according to the position of SYNC to obtain fine synchronized data, the receiving device identifies the SFD in the fine synchronized data, and determines the starting position of the data frame according to the SFD. The physical layer can perform subsequent data packet splitting processing on the data frame based on the starting position of the data frame. If the position of the SYNC determined by the receiving device is inaccurate, it may result in the inability to correctly identify the position of the data frame, resulting in packet loss.

[0067] Figure 5 5a in FIG. 5 is a schematic diagram of frame synchronization, as shown in 5a. The receiving end device receives a data stream, and the transmission rate of the data stream is shown in 5a as "44M data stream". The "44M data stream" indicates that the transmission rate of the data stream is 1 / 44M (second) to transmit one bit of signal, and M is 10 6 ,Right now (seconds) transmits a signal of one bit. The receiving device uses the local reference signal to perform cross-correlation calculation with the received signal and outputs multiple peaks. If the receiving device determines that a peak value greater than the peak threshold value has appeared, it detects whether three peak values ​​greater than the peak threshold value have appeared continuously. If it is determined that three peak values ​​greater than the peak threshold value have appeared continuously, the receiving device determines that a data frame has arrived, and the signal position corresponding to the last peak value can be used as the starting position of SYNC (as shown in 5a, the C position where the arrow is located), wherein the data stream moves in the direction shown by the wide arrow in 5a, and the data that first flows into the physical layer of the receiving device is processed first, that is, the first peak value calculated by the physical layer that exceeds the peak threshold value is the A position, and the position of the third peak value is the C position. The local reference signal usually uses a long sequence (such as a 128-bit reference signal) to ensure the accuracy of the detection, but due to the long length of the reference signal, this method consumes a long time for cross-correlation calculation, increases the duration of coarse synchronization, and results in a long time for data frame acquisition.

[0068] In other embodiments, since the length of the local reference signal is too long, resulting in a large amount of calculation for the cross-correlation between the local reference signal and the received signal, the local reference signal may use a shorter reference signal, such as an 11-bit Barker code. The receiving device uses an 11-bit Barker code to perform cross-correlation calculations with the received signal and outputs multiple peaks. If the receiving device detects a peak value greater than the peak threshold, it detects whether three peak values ​​greater than the peak threshold appear consecutively. If it is determined that three peak values ​​greater than the peak threshold appear consecutively and the signal index interval corresponding to each peak value is 11 bits, the receiving device determines that a data frame has arrived. In this example. The electronic device uses a shorter local reference signal to reduce the amount of calculation for the cross-correlation between the local reference and the received signal and speed up the determination of the SYNC position.

[0069] Although this method can increase the speed at which the receiving end device calculates the cross-correlation between the local reference signal and the received signal, the receiving end device uses a method of serially processing the data stream, which still affects the speed of determining the start position of SYNC.

[0070] Figure 5 5b in FIG. 5 is a schematic diagram of another frame synchronization, as shown in 5b. The physical layer of the receiving device receives a data stream with a transmission rate of 44M, which indicates that one bit of signal is transmitted every 1 / 44M (second), and M is 10 6 The physical layer divides the received data stream into 4 parallel data streams. This method converts serial data into parallel data by directly dividing the serial data into 4 parts. For example, the serial data obtained by the physical layer is shown in 5c. Position A is the index position of the data that the physical layer starts to receive. The physical layer can divide every 33 data from the index position A into one detection data. As shown in 5c, the division method generates 4 parallel detection data. Since it is divided into 4 channels, the transmission time of each channel is 1 / 11M (seconds), and M is 10 6 . Figure 5 The 11M data stream shown in 5b means that one bit of signal is transmitted every 1 / 11M (second). The first data stream detects three consecutive peaks greater than the peak threshold at position D, and the signal index corresponding to each peak is separated by 11 bits. The second data stream detects three consecutive peaks greater than the peak threshold at position C, and the signal index corresponding to each peak is separated by 11 bits. The third data stream detects three consecutive peaks greater than the peak threshold at position B, and the signal index corresponding to each peak is separated by 11 bits. The fourth data stream detects three consecutive peaks greater than the peak threshold at position A, and the signal index corresponding to each peak is separated by 11 bits. The data stream moves in the direction indicated by the wide arrow in 5b, and the data that first flows into the physical layer of the receiving device is processed first.

[0071] like Figure 5 As shown in 5b, when the fourth channel determines that there are 3 signal peaks greater than the peak threshold at position A, the third channel, the second channel, and the first channel have not detected 3 signal peaks greater than the peak threshold. That is, the fourth channel first detects 3 consecutive signal peaks greater than the peak threshold, and the first channel detects 3 consecutive signal peaks greater than the peak threshold at the end. Although the fourth channel first detects 3 consecutive signal peaks greater than the peak threshold, it needs to wait for the first channel to detect 3 consecutive signal peaks greater than the peak threshold. The physical layer can obtain the last searched position as the starting position of SYNC, that is, the physical layer needs to detect all 4 channels of data before stopping the search and determining that one of the 4 channels contains SYNC, which results in a long time to determine the starting position of SYNC. It can be seen that the physical layer has different detection speeds for each channel, and there is a large detection difference, which leads to a slow speed for the electronic device to determine the starting position of SYNC.

[0072] Optionally, the physical layer divides the received data stream (such as 256 bits) into 4 parallel data streams of different lengths. For example, the physical layer starts from the A index position and uses the received 33 bits of data as the first detection data. Similarly, the data is extracted to generate the second detection data, the third detection data and the fourth detection data. The second detection data is 44 bits, the third detection data is 88 bits, and the fourth detection data is 44 bits. In this method, since the length of each detection data is different, the detection speed of each detection data is different, which affects the speed of determining the starting position of SYNC.

[0073] An embodiment of the present application provides a frame synchronization method, which is applied to a receiving device, and the electronic device may be a device that can access a wireless communication network, and the wireless communication network may be a standard such as 802.11b or 802.11n. The physical layer of the receiving device receives the data transmitted by the transmitting device in real time. The physical layer of the receiving device uses each received first preset length of to-be-processed data as a group of detection data, where the first preset length is n bits, and n is an integer multiple of 44; based on each group of detection data, a group of parallel data corresponding to each group of detection data is generated, and each group of parallel data includes at least 2 parallel data, and each group of parallel data includes the current group of detection data, and g-1 data adjacent to the current group of detection data in the next group of detection data, where g is the length of the reference signal; the following peak acquisition operation is performed for each group of parallel data: cross-correlation calculation is performed on each parallel data and the reference signal in parallel to obtain the peak value of each parallel data; the peak value of each parallel data is obtained The peak values ​​of each group of parallel data are used as the peak values ​​of a corresponding group of detection data; each group of detection data is detected in turn based on the peak values ​​of each group of detection data to determine whether there is a possible synchronization code; if it is detected that there are possible synchronization codes in m consecutive groups of detection data, and the positions of the possible synchronization codes in the m groups of detection data are the same in the corresponding detection data, then the last group of detection data is obtained from the m groups of detection data as the target data, where m is an integer greater than or equal to 2; the index position of the possible synchronization code in the corresponding target data is obtained as the target position; and the starting position of the data frame in the received data is determined based on the target data and the target position.

[0074] In this example, the receiving device converts every two groups of received detection data into corresponding parallel data in real time, and obtains in parallel the peak value of the output of each parallel data related to the reference signal in each group of parallel data. Since the cross-correlation is calculated in parallel, the calculation speed of the cross-correlation can be greatly improved, and the speed of determining whether there is a possible synchronization code in each group of parallel data can be improved. And when the electronic device detects the possible synchronization code m times in a row and the starting position of the detected possible synchronization code in the corresponding detection data is the same, it obtains the last group of detection data. In other words, the electronic device does not need to cache too much data, and only needs to cache the last group of detection data, which greatly saves the storage space of the chip of the electronic device. The method of determining the starting position of the data frame in this application is adopted. Since there is no need to cache multiple groups of detection data in real time, it also meets the real-time requirements of determining the starting position of the data frame and improves the speed of receiving data frames.

[0075] Figure 6 The following is a flowchart of frame synchronization shown as an example. The frame synchronization process specifically includes:

[0076] Step 601: The electronic device takes each received data to be processed of a first preset length as a group of detection data, where the first preset length is n bits, and n is an integer multiple of 44.

[0077] In this example, the electronic device can be used as a transmitting device or a receiving device, and the access point device can be used as a transmitting device or a receiving device. The physical layer of the transmitting device encapsulates the PPDU, and transmits it to the receiving device after scrambling, modulation, spread spectrum, and upsampling. The physical layer of the receiving device receives the data sent by the transmitting device in real time. In this example, the WLAN standard takes the 802.11b standard as an example. The spread spectrum sequence of the preamble (PLCPPreamble) of the data received in the 802.11b standard is an 11-bit Barker code. The upsampling gain can be a times, where a is an integer greater than 0. In this example, a is taken as 4 as an example.

[0078] When the physical layer of the receiving device receives the data sent by the transmitting device, it needs to perform matched filtering on the received data to reduce the impact of noise signals. The physical layer performs frame synchronization processing on the data after matched filtering to obtain the PSDU in the data. The frame synchronization processing includes coarse synchronization processing and fine synchronization processing. The coarse synchronization processing is used to determine the starting position of the synchronization code, and the fine synchronization processing is used to identify the SFD in the data to determine the starting position of the data frame according to the SFD.

[0079] In this example, the physical layer can use the data processed by matched filtering as the data to be processed. The physical layer uses each received data to be processed of the first preset length as a group of detection data in the order in which the data is received. The first preset length is an integer multiple of 44 bits, and the multiple can be 1, 2, 3, etc.; for example, the first preset length can be 44 bits, 88 bits, 132 bits, etc. In order to increase the frame synchronization processing speed of the electronic device for the data to be processed, the first preset length can be as small as possible. In this example, the first preset length is illustrated by taking 44 bits as an example. For example, Figure 7a As shown, the physical layer forms a set of detection data for every 44 bits of data according to the order of reception. Figure 7a As shown in , the physical layer receives 3 sets of detection data.

[0080] Step 602: Generate a group of parallel data corresponding to each group of detection data according to each group of detection data, each group of parallel data includes at least 2 parallel data, each group of parallel data includes the current group of detection data, and g-1 data adjacent to the current group of detection data in the next group of detection data, where g is the length of the reference signal.

[0081] Exemplarily, the physical layer of the electronic device obtains data of a second preset length as the data to be converted corresponding to each group of detection data in the order in which the detection data is received, the starting position of each group of data to be converted is the same as the starting position of the corresponding group of detection data, the second preset length is the sum of the first preset length and (g-1), and g is the length of the reference signal. For example, the first preset length is 44 bits, the reference signal uses an 11-bit Barker code, g=11, the second preset length=44+10=54 bits, wherein the first 44 bits of the data to be converted corresponding to the i-th group of detection data belong to the i-th group of detection data, and the last 10 bits of data belong to the i+1-th group of detection data, and i is an integer greater than 0.

[0082] Specifically, each group of detection data is serial data. Usually, when the physical layer performs coarse synchronization processing on the serial data, it is necessary to shift and perform cross-correlation calculation in sequence according to the order of data transmission to obtain the peak value of the cross-correlation output. For example, the first group of detection data is "11010101001 11010101001 11010101001 11010101001", and the reference signal is a Barker code. The length of the Barker code includes: 2, 3, 4, 5, 7, 11, 13. In this example, the reference signal uses an 11-bit Barker code. The first group of detection data is 44 bits. The physical layer performs cross-correlation calculation on the first 11-bit signal "11010101001" and the reference signal to obtain the first peak. After the physical layer completes the cross-correlation calculation between the first signal and the reference signal, it shifts 1 bit to obtain the second 11-bit signal "1010101001 1", and cross-correlates the second 11-bit signal with the reference signal to obtain the second peak. The physical layer needs to perform cross-correlation calculations on the acquired signal and the reference signal in the order of shifting. That is, the cross-correlation calculation of the previous signal must be completed before the next signal can be shifted to perform cross-correlation calculation. For example, if the time it takes for the physical layer to acquire a signal and perform cross-correlation calculation is a1 microsecond, then the time it takes to acquire 44 signals and perform cross-correlation calculations is 44*a1 microseconds.

[0083] In this example, the physical layer converts the data to be processed into parallel data. The length of each group of detection data is 44 bits. When the electronic device shifts to obtain 44 signals for cross-correlation calculation, a length of 54 bits is required. The electronic device can obtain data of a second preset length from the starting position of the i-th group of detection data in the order of data reception as the data to be converted corresponding to the i-th group of detection data, where i is an integer greater than 0, and the i-th group of detection data can be understood as any group of detection data. Figure 7bAs shown, the physical layer obtains data of the second preset length from the starting position of the first group of detection data in the receiving order as the data to be converted corresponding to the first group of detection data. The second preset length = 54 bits, as shown Figure 7b As shown, the physical layer obtains the data from the 1st to the 54th bits in the received data as the first group of data to be converted. Similarly, the data of the second preset length is obtained from the starting position of the second group of detection data in the receiving order as the data to be converted corresponding to the second group of detection data, that is, the data from the 44th to the 88th bits is obtained as the data to be converted corresponding to the second group of detection data, and the physical layer obtains the data from the 88th to the 142nd bits in the received data as the data to be converted corresponding to the third group of detection data.

[0084] The physical layer can perform serial-to-parallel conversion on the data to be converted corresponding to each group of detection data. The specific processing process includes: the physical layer determines to convert the group of data to be converted into L parallel data, L = first preset length / k, k is the preset number of peak values ​​corresponding to each parallel data; determines the starting position of each parallel data according to the starting position of the data to be converted and the number of rows where each parallel data is located; according to the starting position of each parallel data, obtains data of a fourth length from the data to be converted as the length of each parallel data, and the fourth length is equal to k+(g-1).

[0085] Specifically, since the length of each group of detection data is an integer multiple of 44 bits, the length of the reference signal adopts an 11-bit Barker code, that is, each 11 bits of data in each group of detection data can be cross-correlated with the reference signal to obtain a peak value. The physical layer can determine the number of parallel data in each group of detection data according to the preset number of peaks corresponding to each parallel data. For example, the number of peaks corresponding to each parallel data is preset to 1, and it is determined that the data to be converted corresponding to each group of detection data can be converted into 44 parallel data, and the length of each parallel data is equal to k+(g-1) bits, g is 11, k is 1, that is, the length of each parallel data is 11 bits. If the number of peaks corresponding to each parallel data is preset to 2, it is determined that the data to be converted corresponding to each group of detection data can be converted into 22 parallel data, and the length of each parallel data is 12 bits; if the number of peaks corresponding to each parallel data is preset to 4, the physical layer determines to convert each group of data to be converted into 11 parallel data, and the length of each parallel data is 14 bits. If the number of peak values ​​corresponding to each parallel data is preset to be 11, the physical layer determines to convert each group of data to be converted into 4 parallel data, and the length of each parallel data is 21 bits.

[0086] After the physical layer determines that each group of data to be converted needs to be converted into 4 parallel data, each of which has a length of 21 bits, it can determine the starting position of each parallel data in the group of data to be converted. Figure 7c As shown, the data corresponding to the starting bit of the first parallel data is the data corresponding to the first bit in the group of data to be converted. The physical layer starts from the first bit of the data to be converted and obtains 21 bits of data as the first parallel data in the order of data reception. The data corresponding to the starting bit of the second parallel data is the data corresponding to the 12th bit in the group of data to be converted, indicating that the physical layer has shifted one bit to the right from the 11th bit in the group of data to be converted. The data measured from the 11th bit to the 21st bit is cross-correlated with the reference signal to form the 11th peak. The physical layer starts from the 12th bit of the data to be converted and obtains 21 bits of data as the second parallel data in the order of data reception. Similarly, the physical layer starts from the 23rd bit of the data to be converted and obtains 21 bits of data as the third parallel data in the order of data reception. Starting from the 34th bit of the data to be converted, the physical layer obtains 21 bits of data as the fourth parallel data in the order of data reception.

[0087] like Figure 7c As shown, the physical layer converts each group of data to be converted into 4 parallel data, and the physical layer can obtain the peak value of the cross-correlation output of each parallel data and the reference signal in parallel.

[0088] Figure 7d FIG. 2 shows a schematic diagram of the physical layer converting each group of data to be converted into two parallel data. Figure 7d As shown, the physical layer determines that each group of conversion data needs to be converted into 2 parallel data, and the length of each parallel data is 32 bits. The physical layer can determine the data corresponding to the starting position of each parallel data based on the peak value required for each parallel data. The data corresponding to the starting bit of the first parallel data is the data corresponding to the first bit in the group of data to be converted. The physical layer starts from the first bit of the data to be converted and obtains 32 bits of data as the first parallel data in the order of data reception. The data of the starting bit of the second parallel data is the data corresponding to the 23rd bit in the group of data to be converted, indicating that the physical layer has shifted one bit to the right from the 22nd bit in the group of data to be converted. The physical layer starts from the 23rd bit of the data to be converted and obtains 32 bits of data as the second parallel data in the order of data reception.

[0089] In this example, it is described by taking the example that the physical layer converts each group of data to be converted into 4 parallel data, and the length of each parallel data is 21 bits.

[0090] After the physical layer converts the data to be converted corresponding to each group of detection data into L parallel data, step 603 is executed.

[0091] Step 603: the physical layer performs the following peak acquisition operation for each group of parallel data: performs cross-correlation calculation on each parallel data and the reference signal in parallel to obtain the peak value of each parallel data; and combines the peak value of each parallel data into the peak value of the group of parallel data.

[0092] Specifically, the physical layer performs cross-correlation processing on each parallel data in a group of parallel data, and each parallel data is cross-correlated with the reference signal to output k peaks. The physical layer can obtain L*k peaks obtained after the correlation processing of each parallel data in parallel, and the physical layer uses L*k peaks as the peaks of the group of detection data. For example, Figure 7c As shown, the first parallel data shift of the first group of detection data is cross-correlated with the reference signal. Assuming that the first parallel data is "11010101001 1101010100", and the first signal is "11010101001", the electronic device obtains the peak value of the cross-correlation output of the first signal and the reference signal. After the cross-correlation calculation of the first signal is completed, the electronic device shifts the starting position of the acquired signal to the right by 1 bit, and the second signal obtained is "1010101001 1", and the second peak value of the cross-correlation output of the second signal and the reference signal is obtained. After the cross-correlation calculation of the second signal is completed, the electronic device continues to move the starting position of the acquired signal until the 11th signal "1 1101010100" is obtained; the physical layer performs cross-correlation calculation on the 11th signal and the reference signal to obtain the 11th peak. The operation of the electronic device obtaining cross-correlation between other parallel data corresponding to the first group of detection data and the reference signal is the same as the operation of cross-correlating the first parallel data with the reference signal, which will not be described again here.

[0093] Step 604: The physical layer uses the peak value of each group of parallel data as the peak value of a corresponding group of detection data.

[0094] Specifically, since each group of parallel data has a corresponding group of detection data, according to the corresponding relationship, the peak value of each group of parallel data can be used as the peak value of the corresponding group of detection data.

[0095] Step 605: The electronic device detects whether there is a possible synchronization code in each group of detection data according to the peak value of each group of detection data.

[0096] In this example, we take the peak value detection corresponding to a set of detection data as an example. Figure 7c, the number of peaks corresponding to the first group of detection data is 44, and the physical layer can sort the 44 peaks to obtain the maximum value of the 44 peaks. The physical layer determines whether the maximum peak is greater than a preset threshold. When the physical layer detects that the maximum peak is greater than the threshold, it can be determined that there is a possible synchronization code in the group of detection data. In this example, the physical layer can use the index position of the maximum peak in the detection data as the starting position of the possible synchronization code, and the possible synchronization code is the data corresponding to the maximum peak of the group of detection data. The existence of a possible synchronization code in the group of detection data can be understood as the probability of the existence of a synchronization code in the group of detection data is greater than 50%.

[0097] In this example, the preset threshold can be preset by the engineer, such as 0.7, 0.8, etc. Optionally, the electronic device can simulate and calculate the peak value obtained by the cross-correlation of each signal with the reference signal, calculate the packet error rate of the receiving device according to the set candidate peak value, and select the peak value corresponding to the minimum packet error rate as the preset threshold. For example, Figure 8 The following is a schematic diagram of the corresponding relationship between the peak value and the number of peaks obtained by simulation. Figure 8 As shown, the horizontal axis is the number of peaks, and the vertical axis is the peak value. In this example, the vertical axis is the normalized peak value; multiple candidate peaks can be selected, such as 0.5, 0.65, 0.7, 0.75, 0.8, etc. The electronic device calculates the starting position of SYNC at different candidate peaks and obtains the data frame based on the starting position of SYNC. The electronic device calculates the packet error rate based on the received data frame. If the electronic device determines that the packet error rate is the smallest when 0.75, the preset threshold is determined to be 0.75.

[0098] Assuming that the current set of detection data is the i-th set of detection data, and the physical layer detects that there is no possible synchronization code in the i-1-th set of detection data and there is a possible synchronization code in the i-th set of detection data, the first value is increased by 1, and the initial value of the first value is 0. The first value is used to indicate the number of times that the maximum peak value greater than the preset threshold is continuously detected and each maximum peak value is at the same position in the detection data to which it belongs. When the first value is 0, it indicates that no maximum peak value greater than the preset threshold is continuously detected and each maximum peak value is at the same position in the detection data to which it belongs.

[0099] Optionally, after detecting the presence of a possible synchronization code in the i-th group of detection data, the physical layer may obtain a first value and detect whether the first value is 0; after detecting that the first value is 0, the first value is increased by 1. In this example, the physical layer can determine through the first value whether no maximum peak values ​​greater than a preset threshold are continuously detected in the i-1th group and each maximum peak value is at the same position in the detection data to which it belongs.

[0100] The physical layer updates the first value and can also obtain the index position of the maximum peak in the i-th group of detection data in the i-th group of detection data, and use the index position of the maximum peak in the i-th group of detection data as the starting position of the possible synchronization code of the i-th group of detection data in the i-th group of detection data.

[0101] After updating the first value, the physical layer can continue to detect whether there is a possible synchronization code in the i+1th group of detection data. The process of the physical layer determining whether there is a possible synchronization code in a group of detection data is the same as the process of detecting whether there is a possible synchronization code in the i-th group of detection data, and the process of determining whether there is a possible synchronization code in the detection data is not repeated here.

[0102] When the physical layer detects that there is a possible synchronization code in the i+1th group of detection data, it can detect whether the starting position of the possible synchronization code of the i+1th group of detection data is the same as the starting position of the possible synchronization code of the i-th group of detection data. When it is detected that they are the same, the physical layer adds 1 to the first value. The physical layer detects whether the current first value is equal to m, where m is an integer greater than or equal to 2; when it is detected that the first value is equal to m, it is determined that possible synchronization codes are detected in all m consecutive groups of detection data, and the positions of the possible synchronization codes in the m groups of detection data are the same in the corresponding detection data. When it is detected that the previous first value is not equal to m, it triggers detection of whether there is a possible synchronization code in the i+2th group of detection data. When the physical layer detects that there is a possible synchronization code in the i+2th group of detection data, it can detect whether the starting position of the possible synchronization code of the i+2th group of detection data is the same as the starting position of the possible synchronization code of the i+1th group of detection data. When it is detected that they are the same, the physical layer adds 1 to the first value (that is, 3 at this time). The physical layer detects whether the current first value is equal to m (assuming that the value of m is 3). If the physical layer detects that the first value is equal to 3, it determines that possible synchronization codes are detected in m consecutive groups of detection data, and the possible synchronization codes in the m groups of detection data are in the same position in the corresponding detection data.

[0103] Optionally, when the physical layer detects the presence of a possible synchronization code in the i+1th group of detection data and detects that the starting position of the possible synchronization code in the i+1th group of detection data is different from the starting position of the possible synchronization code in the i-th group of detection data, the first numerical value is set to the initial value, and triggers detection of whether there is a possible synchronization code in the i+2th group of detection data.

[0104] Optionally, when the physical layer detects that there is no possible synchronization code in the (i+1)th group of detection data, the first value is set to an initial value, and triggers detection of whether there is a possible synchronization code in the (i+2)th group of detection data.

[0105] Step 606: If it is detected that possible synchronization codes exist in m consecutive groups of detection data, and the possible synchronization codes in the m groups of detection data have the same starting position in the corresponding detection data, then the last group of detection data is obtained from the m groups of detection data as the target data, where m is an integer greater than or equal to 2.

[0106] Exemplarily, when it is detected that there are possible synchronization codes in all the consecutive m groups of detection data, and the possible synchronization codes in the m groups of detection data are in the same position in the corresponding detection data, the left rear group of detection data is obtained from the m groups of detection data as the target data, such as Figure 7c As shown, the third group of detection data is obtained as target detection data, and the index position of the maximum peak in the third group of detection data is obtained as the target position.

[0107] Optionally, the physical layer can set a clock, and only process the next set of detection data after completing the detection processing of each set of detection data. The detection data includes the above steps 601-605.

[0108] Step 607: The electronic device obtains the starting position of the possible synchronization code in the corresponding target data as the target position.

[0109] Step 608: The electronic device determines the starting position of the data frame in the received data according to the target data and the target position.

[0110] Specifically, after the physical layer of the receiving end device obtains the target data and the target position, it can obtain the target position as the first index position (denoted as Location) of the cut data stream, and determine the second index position (denoted as Ind) of the downsampling according to the position of the cut data stream. Optionally, the starting index position of the downsampling is the index of the starting data of the target data, that is, 1.

[0111] For example, if Fig.10 As shown, the data received by the physical layer after matched filtering is serial data, the dotted box is the third group of detection data, and the starting position of the possible synchronization code is the index position of the maximum peak value in the third group of detection data (i.e. Fig.10 The physical layer determines the index position of the maximum peak value in the third group of detection data as the target position, that is, the first index position is the 39th bit position of the third group of detection data, and the physical layer sets the second index position to 1. The physical layer starts cutting the data stream according to the first index position, that is, from Fig.10 The black bold line shown starts to acquire data, and the acquired data is used as the first serial data.

[0112] The physical layer starts downsampling from the first bit (i.e., the second index position) of the acquired first serial data to obtain the second serial data. The downsampling rate can be determined according to the upsampling multiple. In this example, the upsampling multiple is 4 and the downsampling rate is 1 / 4. Fig.10 As shown, the first signal obtained by downsampling is "1", the second sampled signal is "1", and the third sampled signal is "0". The physical layer uses the downsampled data for fine synchronization, that is, identifies SFD from the downsampled data, and then determines the position of the data frame based on the identified SFD.

[0113] In this example, the physical layer of the receiving device converts each group of serial data into multiple parallel data, so that the physical layer can process the cross-correlation calculation of each parallel data and the reference signal in parallel. Parallel cross-correlation calculation can greatly improve the speed of cross-correlation processing. When the physical layer continuously detects possible synchronization codes and the possible synchronization codes in the continuous m groups of detection data have the same position in the corresponding detection data, it determines the starting position of the possible synchronization code and determines the number of consecutive times, which can reduce the problem of false alarm rate. And because the physical layer only caches the last group of detection data in the m groups of detection data, it reduces the data that needs to be cached and saves the storage space of the chip. In addition, this method caches less data and has a fast calculation speed, which improves the real-time performance of data processing.

[0114] Fig. 9 FIG. 1 is a flowchart of frame synchronization in the case where the value of m is equal to 3. In this example, the value of m is preset to be equal to 3, and the reference signal adopts an 11-bit Barker code, that is, g=11.

[0115] Step 901: the electronic device starts from the starting position of the i-th group of detection data and obtains 54 bits of data as the data to be converted corresponding to the i-th group of detection data.

[0116] Specifically, the physical layer of the receiving device uses each received data of the first preset length as a set of detection data. The process of the electronic device obtaining each set of detection data can be referred to the description in step 601, which will not be repeated here. In this example, the first preset length is 44 bits.

[0117] The physical layer detects whether there is a possible synchronization code for each group of detection data in the order in which the data is received. In order to increase the processing speed, the physical layer obtains the data to be converted corresponding to each group of detection data, and converts the data to be converted for each group of detection data into parallel data, so that the 44 peak values ​​corresponding to the group of detection data can be obtained in parallel. The i-th group of detection data is a group of detection data currently detected, and i is an integer greater than 0. For example, taking the first group of detection data as an example, if Figure 7bAs shown, the physical layer starts from the first bit of the first group of detection data and obtains 54 bits of data as the data to be converted corresponding to the first group of detection data.

[0118] Step 902: The electronic device converts the data to be converted corresponding to the i-th group of detection data into four parallel data.

[0119] In this example, the process of the electronic device converting the to-be-converted data corresponding to the i-th group of detection data into the corresponding parallel data can refer to the relevant description in step 602, which will not be repeated here. The physical layer of the electronic device obtains 4 parallel data corresponding to the i-th group of detection data. Figure 7c As shown, taking the first group of data to be converted as an example, the length of each parallel data in the first group of data to be converted is 21 bits; the first parallel data includes data from the 1st bit to the 21st bit in the first group of data to be converted; the second parallel data includes data from the 12th bit to the 32nd bit in the first group of data to be converted; the third parallel data includes data from the 23rd bit to the 43rd bit in the first group of data to be converted; and the fourth parallel data includes data from the 34th bit to the 54th bit in the first group of data to be converted.

[0120] Step 903: The electronic device shifts to obtain 44 peak values ​​of the cross-correlation outputs of the 4 parallel data and the reference signal, and uses them as the peak values ​​of the i-th group of detection data.

[0121] In this example, the physical layer performs cross-correlation processing on the i-th group of parallel data corresponding to the i-th group of detection data. Specifically, the physical layer performs cross-correlation calculation on each parallel data in the i-th group of parallel data in parallel to obtain 44 peak values ​​of the i-th group of parallel data.

[0122] Refer to the following Figure 7c , taking the process of the physical layer processing the first parallel data in the first group of parallel data as an example, the process of obtaining 11 peaks of the cross-correlation output of the first parallel data and the reference signal is explained.

[0123] like Figure 7cAs shown, the first parallel data in the first group of parallel data includes data from the 1st bit to the 21st bit, and the physical layer obtains the data from the 1st bit to the 11th bit as the first signal, performs cross-correlation calculation on the first signal and the reference signal, and the obtained peak value is used as the first peak value in the first parallel data. After obtaining the first peak value, the physical layer moves the starting position of the obtained signal to the right by 1 bit, that is, the physical layer obtains data from the 2nd bit to the 12th bit as the second signal, performs cross-correlation calculation on the second signal and the reference signal, and the obtained peak value is used as the second peak value in the first parallel data. After each peak value is obtained, the physical layer moves the starting position of the obtained signal to the right by 1 bit until the 11th signal is obtained, that is, the data from the 11th bit to the 21st bit is obtained as the 11th signal, the 11th signal and the reference signal are cross-correlated, and the obtained peak value is used as the 11th peak value in the first parallel data. The physical layer processes other parallel data in the first group of parallel data in the same way as the first parallel data. The physical layer parallelly obtains 44 peaks of the cross-correlation output of each parallel data and the reference signal, and uses the 44 peaks as the peaks of the first group of detection data.

[0124] Step 904: The electronic device obtains the maximum peak value in the i-th group of detection data.

[0125] Specifically, the physical layer can sort the 44 peaks in the i-th group of detection data, and can sort them in order from small to large values, or can sort them in order from large to small values. By sorting the 44 peaks, the physical layer can accurately obtain the maximum peak among the 44 peaks.

[0126] Step 905: The electronic device detects whether the maximum peak value of the i-th group of detection data is greater than a threshold value. If it is detected that it is, step 906 is executed. If it is detected that it is not, the next group of detection data is directly processed, that is, step 908 is executed.

[0127] Specifically, when the maximum peak value in a group of detection data exceeds a preset threshold, it can be determined that a synchronization code may exist in the detection data. In this example, the synchronization code that may exist in the detection data is referred to as a possible synchronization code. The preset threshold may be pre-set, such as the preset threshold may be 0.7, 0.75, 0.76, 0.8, 0.9, etc. In this example, the preset threshold is illustrated using 0.75 as an example. In this example, the physical layer detects whether the maximum peak value of the first group of detection data is greater than a preset threshold. When the physical layer detects that the maximum peak value of the i-th group of detection data is greater than the preset threshold, it indicates that a synchronization code may exist in the i-th group of detection data. In this example, the position corresponding to the maximum peak value is used as the starting position of the possible synchronization code.

[0128] When the physical layer detects that the maximum peak value of the i-th group of detection data is greater than the preset threshold, a first numerical value can be obtained, and the first numerical value is used to record the number of times that possible synchronization codes are continuously detected and the starting positions of the continuously acquired possible synchronization codes are the same index position in the corresponding detection data. The preset initial value of the first numerical value is 0, indicating that the current situation in which the continuous acquisition of possible synchronization codes and the starting positions of the continuously acquired possible synchronization codes are the same index position in the corresponding detection data is not detected. When the first numerical value is 1, it indicates that there is a possible synchronization code in the current i-th group of detection data, and no possible synchronization code is detected in the i-1th group of detection data, or, a possible synchronization code is detected in the i-1th group of detection data and the starting position is different from that of the possible synchronization code in the i-2th group of detection data.

[0129] When the physical layer detects that the maximum peak value of the i-th group of detection data is not greater than (less than or equal to) the preset threshold, the next group of detection data can be directly processed, that is, step 907 is executed.

[0130] Step 906 : the electronic device obtains a first value, and detects whether the first value is equal to 0. When it is detected that the first value is 0, step 907 is executed.

[0131] Specifically, the electronic device obtains a first value and detects whether the first value is 0; when the first value is detected to be equal to 0, it indicates that before detecting that the maximum peak value in the first group of detection data is greater than a preset threshold, no possible synchronization codes are detected to be continuously obtained and the starting positions of the possible synchronization codes obtained continuously are all the same in the index positions in the corresponding detection data.

[0132] In this example, it is taken that a possible synchronization code is detected in the (i-1)th group of detection data, that is, the first value currently acquired by the electronic device is 0.

[0133] Step 907 : the electronic device adds 1 to the first value and processes the next set of detection data, ie, executes step 908 .

[0134] Step 908: The electronic device starts from the starting position of the i+1th group of detection data and obtains 54 bits of data as the data to be converted corresponding to the i+1th group of detection data.

[0135] Step 909: The electronic device converts the data to be converted corresponding to the (i+1)th group of detection data into 4 parallel data.

[0136] Step 910: The electronic device shifts to obtain 44 peak values ​​of the cross-correlation outputs of the 4 parallel data and the reference signal, and uses them as the peak values ​​of the (i+1)th group of detection data.

[0137] Step 911: The electronic device obtains the maximum peak value in the (i+1)th group of detection data.

[0138] Step 912: The electronic device detects whether the maximum peak value of the i+1th group of detection data is greater than the threshold value. If it is detected that it is, step 913 is executed. If it is detected that it is not, the first value is set to 0 and the next group of detection data is processed, that is, step 917 is executed.

[0139] The process of step 908 to step 912 can refer to the process of step 901 to step 905, and will not be described in detail here.

[0140] In some embodiments, when the electronic device detects that the maximum peak value of the i+1th group of detection data is less than a threshold, the first value is set to 0, and then detects whether there is a possible synchronization code in the first group of detection data. The process of detecting whether there is a possible synchronization code in the next group of detection data can refer to the relevant description in steps 901 to 905.

[0141] Step 913: The electronic device detects whether the first value is equal to 0. When it is detected that the first value is not equal to 0, step 914 is executed.

[0142] Exemplarily, if the first value obtained by the electronic device is equal to 1 and the first value is not equal to 0, it is determined to execute step 914. After detecting that the maximum peak value of the current group of detection data is greater than the threshold, the electronic device detects whether the first value is 0, which is equivalent to detecting whether the previous group of detection data detected a possible synchronization code or whether the index positions of the possible synchronization codes detected continuously are the same; when it is detected that the first value is not 0, it indicates that there is a possible synchronization code in the previous group of detection data, and it can continue to detect whether the starting position of the possible synchronization code in the current group of detection data is the same as the position of the possible synchronization code in the previous group of detection data in the corresponding detection data, that is, executing step 914.

[0143] In some embodiments, when the electronic device detects that the first value is equal to 0, refer to the relevant description in steps 906 to 908, that is, when the electronic device detects that the first value is equal to 0, it adds 1 to the first value and detects whether there is a possible synchronization code in the next set of detection data. The process of detecting whether there is a possible synchronization code in the next set of detection data can refer to steps 901 to 905, or, as described in steps 908 to 912.

[0144] Step 914: The electronic device detects whether the index position of the maximum peak value of the i+1th group of detection data is equal to the index position of the maximum peak value of the ith group of detection data. If it is detected that it is, step 915 is executed, and if it is detected that it is not, step 916 is executed.

[0145] Specifically, the electronic device obtains the index position of the maximum peak value of the i+1th group of detection data and the index position of the maximum peak of the ith group of detection data, and detects whether the two index positions are the same. When the electronic device detects that the two index positions are the same, step 915 is executed; when the electronic device detects that the two index positions are different, the first value is set to 0, that is, step 916 is executed.

[0146] Step 915: The electronic device adds 1 to the first value and detects whether the first value is equal to 3. When it is detected that the first value is not equal to 3, step 917 is executed.

[0147] Specifically, the electronic device adds 1 to the first value, and updates the value of the first value to 2; the electronic device detects whether the first value is equal to 3. In this example, the value of the first value is 2, and the first value is not equal to 3, and the next set of detection data can be continuously detected to see whether there is a possible synchronization code.

[0148] Step 916: The electronic device sets the first value to 0.

[0149] Specifically, the electronic device sets the first value to 0 to indicate that no possible synchronization code is detected to be continuously acquired and the starting positions of the possible synchronization codes acquired to be continuously acquired are all at the same index position in the corresponding detection data. After the electronic device sets the first value to 0, it continues to detect whether there is a possible synchronization code in the next set of detection data, that is, executes step 917.

[0150] Step 917: The electronic device starts from the starting position of the i+2th group of detection data and obtains 54 bits of data as the data to be converted corresponding to the i+1th group of detection data.

[0151] Step 918: The electronic device converts the data to be converted corresponding to the (i+2)th group of detection data into 4 parallel data.

[0152] Step 919: The electronic device shifts to obtain 44 peak values ​​of the cross-correlation outputs of the 4 parallel data and the reference signal, and uses them as the peak values ​​of the i+2th group of detection data.

[0153] Step 920: The electronic device obtains the maximum peak value in the (i+2)th group of detection data.

[0154] Step 921: The electronic device detects whether the maximum peak value of the i+2th group of detection data is greater than a threshold value. If it is detected that it is, step 922 is executed. If it is detected that it is not, the first value is set to 0, and the next group of detection data is detected to see whether there is a possible synchronization code.

[0155] Step 922: The electronic device detects whether the first value is equal to 0. When it is detected that the first value is not equal to 0, step 923 is executed.

[0156] Specifically, when the electronic device detects that the maximum peak value of the i+2 group of detection data is greater than the threshold value, by detecting whether the first value is 0, it can be determined whether the electronic device detected a possible synchronization code or the index positions of the consecutively detected possible synchronization codes are the same before the electronic device detects whether there is a possible synchronization code for the i+2 group of detection data. When the first value is detected to be 0, it can be determined that the electronic device did not detect a possible synchronization code or the index positions of the consecutively detected possible synchronization codes are different before the electronic device detects whether there is a possible synchronization code for the i+2 group of detection data.

[0157] When the electronic device detects that the maximum peak value of the i+2th group of detection data is not greater than the threshold, it sets the first value to 0 and detects whether there is a possible synchronization code in the next group of detection data. The process of detecting whether there is a possible synchronization code in the next group of detection data can refer to steps 901 to 905, or, as described in steps 908 to 912.

[0158] Step 923: The electronic device detects whether the index position of the maximum peak value of the i+2th group of detection data is equal to the index position of the maximum peak value of the i+1th group of detection data. If yes, step 924 is executed.

[0159] Specifically, the electronic device obtains the index position of the maximum peak value of the i+2th group of detection data and the index position of the maximum peak of the ith group of detection data, and detects whether the two index positions are the same. When the electronic device detects that the two index positions are the same, step 924 is executed; when the two index positions are detected to be different, the first value is set to 0, and the next group of detection data is detected to see if there is a possible synchronization code. The process of this step in this example can refer to the relevant description in step 914.

[0160] Step 924: the electronic device adds 1 to the first value, and detects whether the first value is equal to 3. When it is detected that the first value is equal to 3, step 925 is executed.

[0161] The process of step 917 to step 924 can refer to the process of step 908 to step 915, and will not be repeated here.

[0162] It should be noted that in this example, after the electronic device adds 1 to the first value, the first value is updated to 3. After the physical layer detects that the first value is equal to 3, step 925 is executed. If the first value is not equal to 3, the next set of detection data is continuously detected to see if there is a possible synchronization code.

[0163] Step 925: The electronic device determines the starting position of the data frame in the received data according to the index position of the maximum peak value in the (i+2)th group of detection data.

[0164] The physical layer obtains the i+2th group of detection data as the target data, and obtains the index position of the maximum peak of the i+2th group of detection data as the target position. The physical layer can obtain the target position as the first index position (denoted as Location) of the cut data stream, and determine the second index position (denoted as Ind) of the downsampling according to the position of the cut data stream. Optionally, the starting index position of the downsampling is the index of the starting data of the target data, that is, 1. The physical layer uses the downsampled data for fine synchronization, that is, identifies the SFD from the downsampled data, and then determines the position of the data frame according to the identified SFD.

[0165] It is understandable that, in order to realize the above functions, the electronic device includes hardware and / or software modules corresponding to the execution of each function. In combination with the algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments, but such implementation should not be considered to be beyond the scope of the present application.

[0166] This embodiment also provides a computer storage medium, in which computer instructions are stored. When the computer instructions are executed on an electronic device, the electronic device executes the above-mentioned related method steps to implement the frame synchronization method in the above-mentioned embodiment. The storage medium includes: a U disk, a mobile hard disk, a read only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and other media that can store program codes.

[0167] This embodiment further provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the above-mentioned related steps to implement the frame synchronization method in the above-mentioned embodiment.

[0168] Among them, the electronic device, computer storage medium, computer program product or chip provided in this embodiment is used to execute the corresponding method provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method provided above and will not be repeated here.

[0169] Any content of each embodiment of the present application, as well as any content of the same embodiment, can be freely combined. Any combination of the above content is within the scope of the present application.

[0170] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

Claims

1. A frame synchronization method, characterized in that: Used in electronic equipment, including: Taking each received data to be processed of a first preset length as a group of detection data, wherein the first preset length is n bits, and n is an integer multiple of 44; According to each group of detection data, a group of parallel data corresponding to each group of detection data is generated, each group of parallel data includes at least 2 parallel data, each group of parallel data includes a current group of detection data, and g-1 bits of data adjacent to the current group of detection data in the next group of detection data, where g is the length of the reference signal; The following peak acquisition operation is performed for each group of parallel data: cross-correlation calculation is performed on each parallel data and a reference signal in parallel to obtain a peak value of each parallel data; the peak value of each parallel data is combined into a peak value of the group of parallel data; The peak value of each set of parallel data is taken as the peak value of a corresponding set of detection data; According to the peak value of each group of detection data, detect whether there is a possible synchronization code in each group of detection data; When it is detected that there are possible synchronization codes in all the consecutive m groups of detection data, and the starting positions of the possible synchronization codes in the m groups of detection data are all the same in the corresponding detection data, the last group of detection data is obtained from the m groups of detection data as the target data, where m is an integer greater than or equal to 2; Acquire the starting position of the possible synchronization code in the corresponding target data as the target position; Determine the starting position of a data frame in the received data according to the target data and the target position; According to the peak value of each group of detection data, detect whether there is a possible synchronization code in each group of detection data, including: The peak value of the i-th group of detection data is processed as follows: Obtain the maximum peak value among the peak values ​​of the i-th group of detection data, where i is an integer greater than 0; Detecting whether the peak value of the i-th group of detection data is greater than a preset threshold; In the case where it is detected that the maximum peak value of the i-th group of detection data is greater than the preset threshold, determining that there is a possible synchronization code in the i-th group of detection data; When it is detected that the maximum peak value of the i-th group of detection data is not greater than the preset threshold, it is determined that there is no possible synchronization code in the i-th group of detection data.

2. The method according to claim 1, characterized in that: Before determining that there is a possible synchronization code in the i-th group of detection data, the method further includes: When it is detected that there is no possible synchronization code in the i-2th group of detection data and that there is a possible synchronization code in the i-1th group of detection data, an initial value of a first value is obtained, and 1 is added to the first value, the first value is used to indicate the number of times that the maximum peak value is continuously detected to be greater than the preset threshold and each maximum peak value is at the same position in the detection data to which it belongs, and the initial value of the first value is 0; Obtaining the index position of the maximum peak value in the i-1th group of detection data in the corresponding detection data as the starting position of the possible synchronization code in the i-1th group of detection data in the corresponding detection data, and determining to execute the step of detecting whether there is a possible synchronization code in the i-1th group of detection data; After determining that there is a possible synchronization code in the i-th group of detection data, the method further includes: When it is detected that the starting position of the possible synchronization code in the i-th group of detection data in the corresponding detection data is the same as the starting position of the possible synchronization code in the i-1-th group of detection data in the corresponding detection data, adding 1 to the first value, and detecting whether the first value is equal to m; When it is detected that the first value is equal to m, it is determined that possible synchronization codes are detected in all the consecutive m groups of detection data and the possible synchronization codes in the m groups of detection data have the same starting position in the corresponding detection data; When it is detected that the first value is not equal to m, it is detected whether there is a possible synchronization code in the (i+1)th group of detection data.

3. The method according to claim 2, characterized in that After determining that there is a possible synchronization code in the i-th group of detection data, the method further includes: When it is detected that the starting position of the possible synchronization code in the i-th group of detection data in the corresponding detection data is different from the starting position of the possible synchronization code in the i-1-th group of detection data in the corresponding detection data, setting the first value as the initial value; Check whether there is a possible synchronization code in the (i+1)th group of detection data.

4. The method according to claim 2, characterized in that: After detecting whether there is a possible synchronization code in the (i+1)th group of detection data, the method further includes: When it is detected that there is no possible synchronization code in the (i+1)th group of detection data, the first value is set as an initial value; Check whether there is a possible synchronization code in the (i+2)th group of detection data.

5. The method according to claim 1, characterized in that After determining that there is no possible synchronization code in the i-th group of detection data, the method further includes: Check whether there is a possible synchronization code in the (i+1)th group of detection data.

6. The method according to any one of claims 1 to 5, characterized in that The step of generating a set of parallel data corresponding to each set of detection data according to each set of detection data includes: According to the order in which each group of detection data is received, data of a second preset length is obtained as the data to be converted corresponding to the group of detection data, the starting position of each group of data to be converted is the same as the starting position of the corresponding group of detection data, the second preset length is the sum of the first preset length and (g-1), and g is the length of the reference signal; The following conversion processing is performed for each group of data to be converted: Determine to convert the group of data to be converted into L parallel data, where L is equal to the ratio of the first preset length to k, and k is the preset number of peak values ​​corresponding to each parallel data; Determine the starting position of each parallel data according to the starting position of the data to be converted and the number of rows where each parallel data is located; According to the starting position of each parallel data, data of a fourth length is obtained from the data to be converted as each parallel data, and the fourth length is equal to k+(g-1).

7. The method according to claim 6, characterized in that Determining the starting position of each parallel data according to the starting position of the data to be converted and the number of rows where each parallel data is located includes: Obtain the starting position of the data to be converted and obtain the row number j where the j-th parallel data is located; The sum of the starting position of the data to be converted and a second value is used as the starting position of the j-th parallel data, and the second value is equal to (j-1)*k.

8. The method according to claim 1, characterized in that Determining a starting position of a data frame in the received data according to the target data and the target position includes: Acquire the received data to be processed as first serial data starting from the target position of the target data; Starting from a first index position of the first serial data, down-sampling is performed to obtain second serial data, where the first index position is 1; identifying a position of a start frame delimiter in the second serial data; The starting position of the data frame is determined according to the position of the start frame delimiter.

9. The method according to claim 6, characterized in that When the first preset length is 44 bits, k is 1, 2, 4 or 11.

10. The method according to claim 1, characterized in that The electronic device is in a wireless communication network, and the standard of the wireless communication network is 802.11b or 802.11n.

11. An electronic device, characterized in that: include: a memory and a processor, the memory being coupled to the processor; The memory stores program instructions, and when the program instructions are executed by the processor, the electronic device executes the frame synchronization method according to any one of claims 1 to 10.

12. A computer-readable storage medium comprising a computer program, characterized in that: When the computer program is executed on an electronic device, the electronic device is enabled to execute the frame synchronization method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Frame synchronization method and realizing device based on paralleling tactic

    CN101252390A

  • Method and system for parallel frame synchronization detection

    CN103475616A

  • Parallel frame synchronization method, sending end, receiving end and low earth orbit satellite communication system

    CN112532371A

  • Signal processing method and device

    CN112615803A

  • WLAN preamble detection apparatus, its preambledetection and timing detection method

    KR1020060068422A