Turbo fsk receiving processing method and system based on vector DSP
By adopting a vector DSP-based turbo FSK receiver processing method, fast matrix multiplication and sorting are achieved using vector operation library functions. This solves the problem of high computational complexity in Turbo-FSK receivers, improves signal processing efficiency, reduces power consumption, and meets the performance requirements of modern communication systems.
Patent Information
- Application Number
- CN202511788483.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-01
- Publication Date
- 2026-01-02
AI Technical Summary
Traditional Turbo-FSK receivers suffer from high computational complexity, high power consumption, and poor real-time performance, making it difficult to meet the requirements of modern communication systems for high data throughput and low power consumption.
A turbo FSK receiver processing method based on vector DSP is adopted. Data import, state transition probability calculation, forward and backward probability calculation and Log-APP calculation are performed through vector units. Vector operation library functions are used to realize fast matrix multiplication and sorting operations, thereby reducing computational complexity.
It improves signal processing efficiency, significantly reduces decoding processing time, and meets the low power consumption and high data throughput requirements of modern communication systems.
Smart Images

Figure CN121262045A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to the field of signal processing, in particular to a turbo FSK receiving processing method and system based on a vector DSP. BACKGROUND
[0002] Turbo-FSK is a communication technology combining repetition coding, frequency shift keying modulation and Turbo iteration principle, and has application potential in low-power wide-area Internet of Things and other scenarios due to its excellent power spectrum efficiency. The core of the receiver is to perform iterative decoding by using a BCJR algorithm similar to Turbo code.
[0003] The traditional BCJR algorithm and its application in Turbo-FSK have high computational complexity, especially when processing multiple parallel branches and a large number of state transitions, a large number of multiplication, addition and comparison operations are required. If implemented in a high-level language such as C on a general-purpose processor or a conventional DSP, multiple nested loops are usually required, resulting in long instruction cycles, high power consumption and poor real-time performance, which is difficult to meet the requirements of modern communication systems for high data throughput and low power consumption. SUMMARY
[0004] In order to solve the technical problems of energy consumption and efficiency in the prior art, the application provides a turbo FSK receiving processing method and system based on a vector DSP.
[0005] The application is implemented by the following technical solutions: A turbo FSK receiving processing method based on a vector DSP, comprising: S1: data import, reading data based on a vector unit; S2: state transition probability calculation, adding the input signal and the prior information value and then sorting according to the state transition table to obtain the state transition probability; S3: forward and backward probability calculation, obtaining the forward probability and the backward probability based on the comparison result of the state transition probability; S4: Log-APP calculation, completing Log-APP calculation based on the received signal value, the state transition probability, the forward probability and the backward probability.
[0006] Further, the data import reads 32 16-bit data at a time by one vector unit.
[0007] Further, the state transition probability calculation includes reading the row data in the state transition table into one vector, reading the 4 column data of the iteration data into another vector, and repeating the filling 8 times.
[0008] Further, the state transition probability calculation further includes calling a function to multiply 32 data points point by point.
[0009] Further, the state transition probability calculation further includes calling a function to accumulate four adjacent data, that is, to complete matrix multiplication of 1 column and 8 rows at a time.
[0010] Further, the state transition probability calculation further includes adding the input signal to the prior information value, sorting according to the state transition table, and obtaining four maximum values in each of the four groups of eight data in each row to obtain the state transition probability.
[0011] Further, the forward and backward probability calculation includes recursive calculation based on linear growth.
[0012] The application also provides a turbo fsk receiving processing system based on a vector DSP, based on the turbo fsk receiving processing method based on the vector DSP as described above, which comprises: A data import module for reading data based on a vector unit; A state transition probability calculation module for adding the input signal to the prior information value and sorting according to the state transition table to obtain the state transition probability; A forward probability and backward probability calculation module for obtaining the forward probability and the backward probability based on the comparison result of the state transition probability; A Log-APP calculation module for sorting the received signal value, the state transition probability, the forward probability, and the backward probability according to the state table, and then adding and comparing to obtain the maximum value of each row to complete the Log-APP calculation.
[0013] In addition, to achieve the above-mentioned purpose, the application also provides a computer readable storage medium, and the computer readable storage medium stores the program instructions of the turbo fsk receiving processing method based on the vector DSP, and the program instructions of the turbo fsk receiving processing method based on the vector DSP can be executed by one or more processors to realize the steps of the turbo fsk receiving processing method based on the vector DSP as described above.
[0014] Compared with the prior art, the application has the beneficial effects of improving the signal processing efficiency and greatly reducing the processing time of decoding. BRIEF DESCRIPTION OF DRAWINGS
[0015] The drawings described herein are used to provide further understanding of the present application, and form a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application, and do not constitute an improper limitation on the present application. In the drawings: Figure 1is a flow diagram of a turbo fsk receiving processing method based on vector DSP according to an embodiment of the present application.
[0016] Figure 2 is a flow diagram of state transition probability calculation according to an embodiment of the present application.
[0017] Figure 3 is a diagram of vector data rearrangement according to an embodiment of the present application.
[0018] Figure 4 is a diagram of state transition probability extraction according to an embodiment of the present application.
[0019] Figure 5 is a diagram of forward probability recursion according to an embodiment of the present application. DETAILED DESCRIPTION
[0020] The embodiments of the present application will be described in detail below with reference to the drawings.
[0021] The above embodiments are only some of the embodiments of the present application, but not all of them. The present application can be implemented or applied in other different embodiments, and the details in the specification can be modified or changed based on different views and applications without departing from the spirit of the present application. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of the present application.
[0022] It should be noted that the diagrams provided in the following embodiments only schematically illustrate the basic concept of the present application, and only show the components related to the present application in the diagrams, not the number, shape and size of the components in actual implementation. The shape, number and proportion of the components in actual implementation can be randomly changed, and the layout form of the components can be more complex.
[0023] Referring to Figure 1 A turbo fsk receiving processing method based on vector DSP includes the following steps: S1: data import; First, the input signal and state table data are imported into the vector calculation unit. One vector unit can read 32 16-bit data at a time. Before starting the calculation, the data in the variable need to be imported into the vector unit for fast calculation based on the functions in the vector function library. The calculation of the data is completed in one instruction cycle. .
[0024] S2: Calculate the state transition probability; include: S21: The data from the previous iteration is transformed by multiplying it with the state transition table to obtain prior data.
[0025] Two-dimensional iterative data and Performing matrix multiplication using a two-dimensional state transition table would require three nested loops in C, resulting in high time complexity. In a vector implementation, the state transition table can be read in a single operation. Each row of data is stored in a vector. Another vector reads the four columns of iterated data and repeats this process eight times. The next step uses the `vmyp16_v32_v32_v32_low` function to multiply the 32 data points point-to-point. Because the final data needs to be divided by 2, and to prevent overflow, all data is divided by 2 before addition using the `vshiftw_v32_c32_v32_ar` function. Then, the `vswasw_v32_v32_v32_v32` function is called to sum the four adjacent data points, thus completing the matrix multiplication of one column and eight rows in one operation. The specific implementation process is as follows: Figure 2 As shown.
[0026] In the code, only two nested loops are needed to obtain the result. The matrix multiplication result reduces the size and time complexity of the code.
[0027] S22: After adding the input signal and the prior information value, sort them according to the state transition table, and then find the maximum value of the 4 groups of 8 data in each row to obtain the state transition probability.
[0028] Furthermore, the `vpermutew_v32_v32` function can be used to rearrange all elements in a vector cell according to a table, such as... Figure 3 As shown.
[0029] Optional, such as Figure 4 As shown, the two sets of data are first added together using the `vadd16_v32_v32_v32` function. Then, the state transition table is internalized into fixed values using the vector DSP's sorting function `vpermutew_v32_v32`, and then sorted. Next, the function `vmaxintw_v32_c32_v32` performs pairwise comparisons within the eight data points, iterating once to obtain the four largest values. This process is repeated three times in total to obtain the maximum value among the eight data points. State transition probability value.
[0030] S3: Calculate the forward probability and the backward probability; The state transition probability is recursively calculated by comparing values in a predetermined order, and the forward probability and the backward probability are obtained. The calculation process of the forward probability is to compare the four data in each row of the state transition probability table, and then keep the two larger values to the next row, add them and compare again. It is a linearly growing recursive formula, as shown in the following formula (1). Figure 5 In the implementation, the four values in the first row are stored in a vec, the two larger values are obtained by comparing them using the vmaxintw_v32_c32_v32 function, and the two data are added to the data in the next row using the vadd16_v32_c32_v32 function. By repeating the above steps, the forward probability table can be obtained.
[0031] The calculation process of the backward probability table is similar to that of the forward probability, except that the comparison values are calculated from the last row of the state transition probability table to the first row.
[0032] S4: Complete Log-APP calculation; The received signal value, state transition probability, forward probability, and backward probability are sorted according to the state table, and then added, and finally the maximum value of each row is obtained by comparison, thereby completing the Log-APP calculation.
[0033] In the implementation, each type of data is sorted according to a specific state table using the vpermutew_v32_v32 function, then added using the vadd16_v32_v32_v32 function, and finally the maximum value is obtained using the vmaxintw_v32_c32_v32 function.
[0034] Finally, according to the maximum number of iterations, it is determined whether it has been reached, and if so, the decoding is terminated. By using the advantages of vector DSP, the basic operation on 32 16-bit data can be completed in one instruction cycle, greatly reducing the processing time of decoding.
[0035] In the embodiment, the signal processing efficiency is improved, and the processing time of decoding is greatly reduced.
[0036] The embodiment of the application also provides a turbo fsk receiving processing system based on vector DSP, which is based on the turbo fsk receiving processing method based on vector DSP as described above, and includes: A data import module for reading data based on a vector unit; A state transition probability calculation module for sorting the input signal and the prior information value according to a state transition table to obtain the state transition probability; A forward probability and backward probability calculation module for obtaining the forward probability and the backward probability based on the comparison result of the state transition probability. Log-APP calculation module, which is used for arranging the received signal value, the state transition probability, the forward probability and the backward probability according to the state table, adding, comparing and obtaining the maximum value of each row to complete the Log-APP calculation.
[0037] In addition, an embodiment of the present application further provides a computer readable storage medium, and program instructions of a turbo fsk receiving processing method based on a vector DSP are stored on the computer readable storage medium. The program instructions of the turbo fsk receiving processing method based on the vector DSP can be executed by one or more processors to realize steps of the turbo fsk receiving processing method based on the vector DSP.
[0038] The above-described embodiments are only used to describe the preferred embodiments of the present application, and are not used to limit the scope of the present application. Without departing from the design spirit of the present application, various modifications and improvements to the technical solutions of the present application made by those skilled in the art shall fall within the protection scope of the present application defined by the claims.
Claims
1. A turbo FSK receiver processing method based on vector DSP, characterized in that, include: S1: Data import, reading data based on vector units; S2: Calculate the state transition probability by adding the input signal to the prior information value and sorting it according to the state transition table. S3: Calculate the forward and backward probabilities, and obtain the forward and backward probabilities based on the comparison results of the state transition probabilities; S4: Log-APP calculation, which is performed based on the received signal value, state transition probability, forward probability, and backward probability.
2. The turbo FSK receiving and processing method based on vector DSP according to claim 1, characterized in that, During data import, one vector unit reads 32 16-bit data entries at a time.
3. The turbo FSK receiving and processing method based on vector DSP according to claim 1, characterized in that, The state transition probability calculation includes reading the state transition table once. The row data is put into one vector, and the four columns of the iterative data are read from another vector and filled repeatedly eight times.
4. The turbo FSK receiver processing method based on vector DSP according to claim 3, characterized in that, The state transition probability calculation also includes calling a function to multiply the 32 data points one by one.
5. The turbo FSK receiver processing method based on vector DSP according to claim 4, characterized in that, The state transition probability calculation also includes calling a function to accumulate four adjacent data points, thus completing matrix multiplication of 1 column and 8 rows in one operation.
6. The turbo FSK receiver processing method based on vector DSP according to claim 5, characterized in that, In the calculation of the state transition probability, the input signal is added to the prior information value, sorted according to the state transition table, and the four maximum values of the eight data in the four groups of each row are calculated to obtain the state transition probability.
7. The turbo FSK receiver processing method based on vector DSP according to claim 1, characterized in that, The forward and backward probability calculations include iterative calculations based on a linearly increasing recursive formula.
8. The turbo FSK receiving and processing method based on vector DSP according to claim 7, characterized in that, The Log-APP calculation includes sorting the received signal value, state transition probability, forward probability, and backward probability according to the state table, then adding them together, and comparing to obtain the maximum value of each row.
9. A vector DSP-based turbo FSK receiver processing system, based on any one of claims 1 to 8, comprising: The data import module is used to read data based on vector units. The state transition probability calculation module is used to add the input signal to the prior information value and then sort it according to the state transition table to obtain the state transition probability. The forward and backward probability calculation module is used to obtain the forward and backward probabilities based on the comparison results of the state transition probabilities. The Log-APP calculation module is used to sort the received signal value, state transition probability, forward probability, and backward probability according to the state table, then add them together, compare them to obtain the maximum value of each row, and complete the Log-APP calculation.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores program instructions for a vector DSP-based turbo FSK receiver processing method, which can be executed by one or more processors to implement the steps of the vector DSP-based turbo FSK receiver processing method as described in any one of claims 1 to 8.
