Hash algorithm-based low earth orbit satellite voice unloading processing method

Through the low-orbit satellite voice offload processing method based on hash hash algorithm, the problems of insufficient CPU processing performance and high storage demand are solved. Through hash function mapping and conflict processing, storage resource saving and 1,000 voice communication are achieved. Perform correctly.

CN119210558APending Publication Date: 2024-12-27XIAN INSTITUE OF SPACE RADIO TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411202443.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

In low-orbit satellite communication, insufficient CPU processing performance leads to low resource scheduling and data transmission and reception processing speeds, and cannot effectively process voice communications of thousands of users. Moreover, FPGA storage is limited and cannot fully store the addresses of the mapping space corresponding to multiple parameters. This leads to excessive storage demand.

Method used

Using the low-orbit satellite voice unloading processing method based on hash hash algorithm, by designing a hash function and performing conflict processing, the n-dimensional user parameter numbering space is mapped into a linear numbering space, and the hash function is constructed by adding, multiplying and dividing operations. , and open up multiple storage spaces when conflicts occur to reduce storage requirements.

Benefits of technology

It greatly reduces storage requirements, avoids user numbers loss, ensures the correctness of FPGA acceleration unloading function and the implementation of kilogram voice communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119210558A_ABST
    Figure CN119210558A_ABST
Patent Text Reader

Abstract

The invention discloses a low-orbit satellite voice unloading processing method based on a Hash algorithm, and the method comprises the following steps: constructing a Hash function through employing the three operations of addition, multiplication and division; according to the conflict number of the linear numbering space, calculating and opening up a storage space with a corresponding size; and completing a user query based on calculation and comparison. According to the method, a Hash function is constructed by using the sum of products of n-dimensional user parameter numbers and prime numbers and modulo operation, Hash conflicts are processed by using a repeated storage method, an n-dimensional communication user number space uniquely determined by n parameters is mapped into a linear number space by using a Hash function nonlinear transformation method, and the linear number space is mapped into a linear number space. The requirement for storage resources is reduced, and the correctness of the FPGA acceleration unloading function is guaranteed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of satellite communications, and in particular relates to a low-orbit satellite voice unloading processing method based on a hash algorithm. Background Art

[0002] In a certain project, the satellite user link processor mainly uses a multi-beam FDMA / TDMA / CDMA burst communication system to complete user voice, data and other communications. As a low-orbit mobile communication constellation system, the voice communication delay caused by the distance between the satellite and the ground is lower than that of high-orbit communication satellites. In order to further reduce the voice communication delay after the low-orbit mobile communication constellation system is networked, in addition to realizing the processing of the voice communication physical layer, the satellite user link processor also realizes the processing of the voice communication data link layer. Therefore, voice communication does not need to be forwarded to the ground signal gateway station, but can be forwarded directly through the inter-satellite link of the satellite constellation, which greatly reduces the voice communication delay. The processing content of the data link layer is mainly the communication protocol, and the main components used for processing are CPUs. When thousands of users are communicating voice at the same time, the amount of data that the CPU needs to process also increases significantly, which puts high demands on the CPU's resource scheduling and data transmission and reception processing speed. However, the CPU processing performance of the low-orbit satellite is limited, and the resource scheduling and data transmission and reception processing speeds are low. There is a great risk in completing voice communications for thousands of users at the same time. Therefore, the resource scheduling and data transmission and reception processing of these voice communications are "offloaded" by the CPU to the FPGA for processing, using the powerful parallel processing mechanism and capabilities of the FPGA to avoid the CPU processing risk of voice communication performance. In the FPGA offloading process, it is necessary to confirm the route that each voice communication user should go, and each voice communication user is uniquely determined by multiple parameters such as its beam number and sub-band number, so it is necessary to query the route it should go through these parameters. However, due to the limited storage of the FPGA, it is impossible to fully store the addresses of the mapping space corresponding to these multiple parameters, so it is necessary to use an address space compression algorithm to reduce storage requirements and ensure the correct execution of the voice offloading function.

[0003] Reference 1: Tao Chen, Jiawei Zheng, Xingsi Zhang, Shengchang Cai, Yun Chen, A Hardware Accelerator for Speech Recognition Applications. 2011 IEEE 9th International Conference on ASIC, 2011. This reference uses FPGA and microprocessor CPU to implement a speech recognition system, in which the computer perception module is offloaded to the FPGA to achieve processing acceleration and power saving.

[0004] Reference 2: MeiTing Xue, QianJian Xing, Chen Feng, Feng Yu, ZhenGuo Ma, FPGA-Accelerated Hash Join Operation for Relational Databases. IEEE Transactions on Circuits and Systems, 2020. This paper uses a double hash function to calculate the hash value, and then handles the hash conflict by adding access nodes and conflict lists. Finally, the hash processing is offloaded to SRAM and FPGA for implementation, which improves throughput and reduces resource usage.

[0005] Reference 3: Zhao Jun, Common Hash and Symmetric Encryption Algorithms Based on FPGA, Network New Media Technology, 2020. This reference offloads the hash encryption algorithm to FPGA implementation. These encryption algorithms are common algorithms, including SHA1, SHA256, SM3, AES, SM4, etc., and does not include the establishment of hash functions or algorithms and voice processing.

[0006] Reference 4: Yang Wentao, Zhang Shijun, Zhang Jin, Tang Yin, Yu Hongtao, Design and Implementation of Large-Scale Soft-Hard Collaborative Hash Table, Computer System Applications, 2023. This reference proposes a method and system for offloading message processing based on FPGA, which applies a hash search method, but does not establish a hash function or handle hash table conflicts.

[0007] Document 5: Apostolis K. Solkinz, Robert T. Love, Bashid Pour Ahmadi, Using RF energy on an uplink channel to convert a non-powered access point to a powered state, 2018, Motorola Mobility LLC. This patent uses RF energy on an uplink channel to offload a non-powered access point to a powered state. The core of the patent is to receive uplink data from a remote unit through a first uplink channel and determine whether to offload the data service traffic of the remote unit to other access points. The focus is on offloading, and no joint processing with a hash table or hash function is performed.

[0008] Reference 6: Zhou Ke, Wei Jiansheng, Zhang Panfeng, Li Chunhua, Wang Hua, A Streaming Duplicate Data Detection Method, 2011, Huazhong University of Science and Technology. This patent constructs a timing Bloom filter array to flexibly and efficiently detect duplicate data in a sliding window model, where each timing Bloom filter includes a Bloom filter and a separate timer group for storing timestamps. The timer group uses multiple hash functions to calculate data elements to obtain multiple hash values ​​for sliding detection of whether the elements are old elements. At the same time, the timer group can be unloaded to the disk, thereby reducing memory storage overhead.

[0009] It can be seen from the current literature related to hashing and voice offloading that the design of their hash functions all adopts classical algorithms. Summary of the invention

[0010] The technical problem solved by the present invention is: to overcome the deficiencies of the prior art and provide a low-orbit satellite voice unloading processing method based on a hash algorithm, thereby greatly reducing storage requirements.

[0011] The present invention further provides a low-orbit satellite voice unloading processing system based on a hash algorithm.

[0012] The object of the present invention is achieved through the following technical scheme: A low-orbit satellite voice unloading processing method based on a hash algorithm, comprising:

[0013] (1) Hash function design and construction;

[0014] (2) Hash collision processing;

[0015] (3) Real-time query of user communications.

[0016] Preferably, since FPGA is difficult to handle complex calculations, the three operations of addition, multiplication and division are mainly used to implement the hash function required by the algorithm. The constructed hash function is as follows:

[0017]

[0018] Among them, b Hash is the hash value of the mapped linear number space, a i,max , i = 1, 2, ..., n is the maximum value of the n-dimensional communication user number, and the space occupied by the user number space is {A i ,i=1,2,n..,A i ={1,2,...,a i,max}、a i ∈A i , p i , p is a prime number, and MOD is the modulo division operation.

[0019] Preferably, the storage size required for the n-dimensional communication user number space itself is The size of the linear numbering space after dimensionality reduction is p, and the number of conflicts h in each linear numbering space is: That is, in each linear numbering space, h storage spaces are opened to handle conflicting user numbering spaces.

[0020] Preferably, when a user queries, first use a i No., p iThe hash value of the number and the number p is calculated based on the hash function, and then the user's configuration is queried after comparison in the conflict h.

[0021] A low-orbit satellite voice offloading processing system based on a hash algorithm, comprising a CPU+FPGA heterogeneous onboard processor, a ground terminal, and a ground core network; the onboard processor receives configuration information of the ground core network and simultaneously receives voice communication information from the ground terminal;

[0022] In conventional onboard voice communication processing, the CPU in the heterogeneous onboard processor first receives the user resource configuration from the ground core network, and completes the FPGA user physical layer configuration according to the user resource configuration requirements. The FPGA then completes the user voice communication physical layer processing from the ground terminal, and the CPU completes the user voice communication data link layer processing. This processing method requires the CPU to complete the voice packet processing of all users, so it places high demands on the CPU's resource scheduling and data transmission and reception processing speed.

[0023] The main difference between the improved voice offload processing in the heterogeneous onboard processor and the conventional processing is that all voice packets from users of the ground terminal do not pass through the CPU, but are "offloaded" by the FPGA, and the FPGA also needs to add "offload" processing for user resource configuration. This processing method uses FPGA to avoid the problem of insufficient CPU processing performance and can achieve thousands of simultaneous voice communications.

[0024] Preferably, the uninstall processing method includes:

[0025] (1) Hash function design and construction;

[0026] (2) Hash collision processing;

[0027] (3) Real-time query of user communications.

[0028] Preferably, since FPGA is difficult to handle complex calculations, the three operations of addition, multiplication and division are mainly used to implement the hash function required by the algorithm. The constructed hash function is as follows:

[0029]

[0030] Among them, b Hash is the hash value of the mapped linear number space, a i,max , i = 1, 2, ..., n is the maximum value of the n-dimensional communication user number, and the space occupied by the user number space is {A i ,i=1,2,n..,A i ={1,2,...,a i,max}、a i ∈A i , pi , p is a prime number, and MOD is the modulo division operation.

[0031] Preferably, the storage size required for the n-dimensional communication user number space itself is The size of the linear numbering space after dimensionality reduction is p, and the number of conflicts h in each linear numbering space is: That is, in each linear numbering space, h storage spaces are opened to handle conflicting user numbering spaces.

[0032] Preferably, when a user queries, first use a i No., p i The hash value of the number and the number p is calculated based on the hash function, and then the user's configuration is queried after comparison in the conflict h.

[0033] Compared with the prior art, the present invention has the following beneficial effects:

[0034] The n-dimensional voice communication user numbering space uniquely determined by n parameters such as beam number and subband number is mapped into a linear numbering space. At the same time, in order to avoid the loss of user numbers, multiple user numbers are stored under the same linear number, which greatly reduces the storage requirements.

[0035] The voice offloading processing method based on hash algorithm proposed in the present invention constructs a hash function by using the product sum of n-dimensional user parameter number and prime number and modulo, and handles hash collision by using repeated storage method, maps the n-dimensional communication user number space uniquely determined by n parameters into a linear number space by using hash function nonlinear transformation method, and provides a definite user query method, and finally analyzes the advantage of the proposed algorithm in greatly reducing storage requirements, thereby ensuring the correctness of FPGA accelerated offloading function. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present invention. Moreover, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0037] Figure 1 A diagram of a real-time query process for user communications according to an embodiment of the present invention;

[0038] Figure 2 Schematic diagram comparing conventional and “offloaded” satellite-borne voice communication processing according to an embodiment of the present invention. DETAILED DESCRIPTION

[0039] The following will refer to the attached Figure 1-2Exemplary embodiments of the present disclosure are described in more detail. Although exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art. It should be noted that, in the absence of conflict, the embodiments of the present invention and the features described in the embodiments can be combined with each other. The present invention will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0040] A low-orbit satellite voice unloading processing method based on a hash algorithm, comprising:

[0041] (1) Hash function design and construction;

[0042] The three operations of addition, multiplication and division are used to implement the hash function required by the algorithm. The constructed hash function is as follows:

[0043]

[0044] Among them, b Hash is the hash value of the mapped linear number space, a i,max , i = 1, 2, ..., n is the maximum value of the n-dimensional communication user number, and the space occupied by the user number space is {A i ,i=1,2,n..,A i ={1,2,...,a i,max}、a i ∈A i , a i is the i-th dimension parameter of the communication user; p i is the dimension reduction mapping parameter in the hash function, p is the size of the linear numbering space after dimension reduction, and p i , p is a prime number, and MOD is the modulo division operation.

[0045] p i It is selected from prime numbers greater than the number of users.

[0046] p is not larger than the storage size A prime number, a i,max , i=1,2,...,n is the maximum value of the n-dimensional communication user number.

[0047] (2) Hash collision processing;

[0048] The storage size required by the n-dimensional communication user number space is The size of the linear numbering space after dimensionality reduction is p, and the number of conflicts h in each linear numbering space is:

[0049]

[0050] That is, in each linear numbering space, h storage spaces are opened to store the conflicting user numbering spaces, mainly storing the n-dimensional numbering space parameter values ​​(communication user parameter values) and routing parameter values ​​of each conflicting user. Figure 1 The above parameters need to be stored in each storage box on the horizontal axis.

[0051] (3) Real-time query of user communications.

[0052] When a user queries, first use a i No., p i The hash value of the number and p is calculated based on the hash function, and then the user's configuration is queried after comparison in the conflict h, the route that each communication user should go to is determined, and the voice packet is forwarded to realize voice offload processing based on FPGA acceleration. Figure 1 shown.

[0053] A low-orbit satellite voice offloading processing system based on a hash algorithm, comprising a CPU+FPGA heterogeneous onboard processor, a ground terminal, and a ground core network; the onboard processor receives configuration information of the ground core network and simultaneously receives voice packets from the ground terminal;

[0054] In conventional onboard voice communication processing, the CPU in the heterogeneous onboard processor first receives the user resource configuration from the ground core network, and completes the user physical layer configuration of the FPGA according to the user resource configuration requirements. The FPGA then completes the physical layer processing of the user voice packet from the ground terminal, and passes the processed user voice packet to the CPU, which completes the data link layer processing of the user voice packet, and finally sends the processed user voice packet back to the ground core network. This processing method requires the CPU to complete the data link layer processing of all user voice packets, so it places high demands on the CPU's resource scheduling and data transmission and reception processing speed.

[0055] The main difference between the improved voice offloading processing in the heterogeneous onboard processor and the conventional processing is that all voice packets from users of the ground terminal do not pass through the CPU, but are "offloaded" by the FPGA, that is, the data link layer processing of all user voice packets that the original CPU should complete is "offloaded" to the FPGA for processing. The FPGA also needs to add "offloading" processing for user resource configuration, that is, all data link layer processing needs to be performed based on user resource configuration. This processing method uses FPGA to avoid the problem of insufficient CPU processing performance and can achieve thousands of simultaneous voice communications.

[0056] In the FPGA unloading process of the present invention, it is necessary to confirm the route that each communication user should go through multiple communication user parameters such as the beam number and subband number of each communication user. However, due to the limited storage space of the FPGA, it is impossible to completely store the address of the mapping space corresponding to these multiple parameters. Therefore, this article adopts a hash hashing algorithm with address space compression to map the n-dimensional communication user numbering space uniquely determined by multiple parameters such as the beam number and subband number into a linear numbering space. At the same time, in order to avoid the loss of user numbers caused by hash hashing conflicts, multiple storage spaces are opened under the same linear numbering to store multiple user numbers, thereby greatly reducing storage requirements and ensuring the correct execution of the unloading function. The algorithm steps running in the FPGA are as follows:

[0057] (1) Hash function design and construction

[0058] Since FPGA is difficult to handle complex calculations, the three operations of addition, multiplication and division are mainly used to implement the hash function required by the algorithm. For details, see the above formula 1.

[0059] (2) Hash collision handling

[0060] (3) Real-time query of user communications.

[0061] Please refer to the above method for details.

[0062] Algorithm advantage: save storage resources.

[0063] Since in FPGA processing, storage space can only be opened up in powers of 2, although the storage size required by the communication user number space itself is A, the actual size occupied is:

[0064]

[0065] Among them, the actual storage space size of each parameter is c i =2 m , m = min (M) is the power index of the actual storage space size of each parameter, M = [m0, m1, ..., m k ] is a set of power index m, where each power index element m0,m1,...,m k can be used as one of the values ​​of the power index m, and m0,m1,...,m k satisfy j=0,1,…,k, so C≥A.

[0066] The storage size of the linear numbering space reduced by the hash function is: B = p·h. When storing in the FPGA, p and h should also be powers of 2. Therefore, the actual storage space size D = 2 after the hash function is reduced in dimension must be selected first. l, l = min (L) is the power exponent of the actual storage space size after the hash function is reduced in dimension, L = [l0, l1, ..., l k ] is a set of power index l, where each power index element l0,l1,...,l k can be used as one of the values ​​of the power index l, and l0,l1,...,l k satisfy j=0,1,...,k. Secondly, p and h can be written as powers of 2, p' and h', respectively, that is: p'=2 r , h'=2 s , and r+s=l, r and s are the power exponents of p' and h' respectively. The actual storage size after the hash function dimension reduction is obtained:

[0067] D=p'·h' (Formula 4)

[0068] Storage resource D≤C, achieving storage resource saving.

[0069] For example, suppose that in a low-orbit satellite, the beam number a of the voice communication user number space is 1,max =60, subband number a 2,max =60, carrier number a 3,max =3, time slot number a 4,max =6, then the actual storage space size to be occupied is: The hash function designed is given as: b Hash =MOD(10007a1+3853a2+2333a3+2099a4,8179), then B=p·h=8179×8=65, so D=2 16 =65536, resource saving

[0070] The system to which the method of the present invention is applied is a low-orbit satellite communication system or other communication system with limited CPU processing performance. The conventional onboard voice communication processing is shown in the following figure. Figure 2 As shown in a), the CPU in the heterogeneous onboard processor first receives the user resource configuration from the ground core network, and completes the FPGA user physical layer configuration according to the user resource configuration requirements. Then the FPGA completes the user voice communication physical layer processing from the ground terminal, and the CPU completes the user voice communication data link layer processing. This processing method requires the CPU to complete the voice packet processing of all users, so it places high demands on the CPU's resource scheduling and data transmission and reception processing speed.

[0071] The improved voice offload processing in the heterogeneous onboard processor is shown in the figure below: Figure 2As shown in Figure b), the main difference from conventional processing is that all voice packets from users at the ground terminal do not pass through the CPU, but are "unloaded" by the FPGA, and the FPGA also needs to add "unload" processing for user resource configuration. This processing method uses FPGA to avoid the problem of insufficient CPU processing performance and can achieve simultaneous voice communication for thousands of channels.

[0072] Although the present invention has been disclosed as above in the form of a preferred embodiment, it is not intended to limit the present invention. Any person skilled in the art may make possible changes and modifications to the technical solution of the present invention by using the methods and technical contents disclosed above without departing from the spirit and scope of the present invention. Therefore, any simple modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention shall fall within the protection scope of the technical solution of the present invention.

[0073] Parts not described in detail in the present invention belong to common knowledge of those skilled in the art.

Claims

1. A low-orbit satellite voice offloading processing method based on a hash algorithm, characterized in that include: Constructing a hash function; the hash function uses the n-dimensional communication user numbering space uniquely determined by the communication user parameters, and uses the three operations of addition, multiplication and division to reduce the dimension and map it into a linear numbering space; According to the number of conflicts in the linear numbering space, the conflicting user linear numbering space is processed, and a storage space of a corresponding size is calculated and opened up, and the storage space stores the n-dimensional communication user parameter value and routing parameter value of each conflicting user; According to the current communication user parameters, the constructed hash function is used to determine the linear numbering space, and a comparison is performed in the storage space to complete the communication user query, determine the route that each communication user should go, and forward their voice packets to achieve voice offload processing.

2. The low-orbit satellite voice offloading processing method based on the hash algorithm according to claim 1 is characterized in that: The hash function is constructed by using the product sum of the n-dimensional user parameter number and the prime number, and then taking the modulus, and is expressed as: Where b Hash is the hash value of the mapped linear number space, a i is the i-th dimension parameter of the communication user; p i is the dimension reduction mapping parameter in the hash function, p is the size of the linear numbering space after dimension reduction, and p i , p are both prime numbers, and MOD is the modulus division operation.

3. The low-orbit satellite voice offloading processing method based on the hash algorithm according to claim 2 is characterized in that: p i It is selected from prime numbers greater than the number of users.

4. The low-orbit satellite voice offloading processing method based on the hash algorithm according to claim 2 is characterized in that: p is not larger than the storage size A prime number, a i,max , i=1,2,...,n is the maximum value of the n-dimensional communication user number.

5. The low-orbit satellite voice offloading processing method based on the hash algorithm according to claim 1 is characterized in that: The number of conflicts h in each linear numbering space should be calculated as follows: The maximum value of the n-dimensional communication user number.

6. The low-orbit satellite voice offloading processing method based on the hash algorithm according to claim 1 is characterized in that: The communication user parameters include beam number, subband number, carrier number, and time slot number.

7. The low-orbit satellite voice offloading processing method based on the hash algorithm according to claim 1 is characterized in that: For the conflicting user linear numbering space, the number of conflicts should be determined first, and then a storage space of corresponding size should be opened up. The storage space mainly stores the n-dimensional communication user parameter value and routing parameter value of each conflicting user, which is convenient for comparison when querying the conflicting users.

8. A low-orbit satellite voice unloading processing system based on a hash algorithm, comprising a CPU and an FPGA; characterized in that: The low-orbit satellite voice offloading processing method based on the hash algorithm described in claim 1 is implemented in FPGA, the CPU sends the user resources of each communication user to the FPGA, and the FPGA completes the communication user query and determines the route that each communication user should go; the FPGA directly receives the voice packets of all communication users, and completes the forwarding of the voice packets based on the route that each communication user should go.

9. The system according to claim 8, characterized in that: The CPU completes the user resource configuration of each voice packet and sends it to the FPGA. The storage space opened by the FPGA completes the storage of the user resource configuration content, that is, the FPGA completes the unloading processing of the user resource configuration; the content of the user resource configuration refers to the n-dimensional communication user parameter value and routing parameter value of each user.

10. The system according to claim 8, characterized in that: The hash function in the hash algorithm reduces the dimension to the storage size of the linear numbering space, thus saving FPGA storage resources; The hash function is constructed by using the product sum of the n-dimensional user parameter number and the prime number, and then taking the modulus, and is expressed as: Where b Hash is the hash value of the mapped linear number space, a i is the i-th dimension parameter of the communication user; p i is the dimension reduction mapping parameter in the hash function, p is the size of the linear numbering space after dimension reduction, and p i , p are both prime numbers, and MOD is the modulus division operation.