CN113660023B - System and method for user selection in multi-satellite cooperative communication based on FPGA - Google Patents
System and method for user selection in multi-satellite cooperative communication based on FPGA Download PDFInfo
- Publication number
- CN113660023B CN113660023B CN202110638640.5A CN202110638640A CN113660023B CN 113660023 B CN113660023 B CN 113660023B CN 202110638640 A CN202110638640 A CN 202110638640A CN 113660023 B CN113660023 B CN 113660023B
- Authority
- CN
- China
- Prior art keywords
- memory
- calculation module
- output
- thirty
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
- H04B7/18519—Operations control, administration or maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/19—Earth-synchronous stations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Mathematical Optimization (AREA)
- Computer Networks & Wireless Communication (AREA)
- Astronomy & Astrophysics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Aviation & Aerospace Engineering (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Radio Relay Systems (AREA)
- Radio Transmission System (AREA)
Abstract
本发明涉及一种基于FPGA的多卫星协同通信中用户选择系统与方法。该系统包括若干存储器以及若干计算模块。该方法采用穷举法遍历每一种用户组合,直至搜索到信道容量最大的一种组合方式。本发明的基于FPGA的多卫星协同通信中用户选择系统与方法,有效的避免了求解高阶复杂的数学运算公式,在兼顾实时性和高精度的同时,解决多卫星协同通信中用户选择算法的工程实现问题。
The invention relates to a user selection system and method in FPGA-based multi-satellite cooperative communication. The system includes several memories and several computing modules. The method uses an exhaustive method to traverse each user combination until a combination with the largest channel capacity is found. The system and method for user selection in the FPGA-based multi-satellite cooperative communication of the present invention effectively avoids solving high-order complex mathematical operation formulas, and solves the problem of user selection algorithm in multi-satellite cooperative communication while taking into account real-time performance and high precision. Engineering implementation issues.
Description
技术领域technical field
本发明涉及一种基于FPGA的多卫星协同通信中用户选择系统与方法,属于FPGA设计领域技术领域。The invention relates to a user selection system and method in FPGA-based multi-satellite cooperative communication, and belongs to the technical field of FPGA design.
背景技术Background technique
地球同步轨道(GEO)是一种稀缺的“自然资源”,轨道上只能包含有限数量的卫星。为了在高传输容量下更加有效地利用GEO轨道,有研究人员提出了多卫星协同通信技术。相较于地面无线通信领域,多卫星协同通信的信道环境复杂,存在着传输路径长,绝对延时长和衰减大的特点。并且卫星点波束内设置有大量用户站,多卫星协同通信系统的处理器需要处理规模庞大的数据。同时,为了高精度的计算每个用户站的信道状态信息,多卫星协同通信系统的处理器需要具备强大的浮点数处理能力。Geosynchronous orbit (GEO) is a scarce "natural resource" that can only contain a limited number of satellites. In order to utilize the GEO orbit more effectively under high transmission capacity, some researchers have proposed a multi-satellite cooperative communication technology. Compared with the field of terrestrial wireless communication, the channel environment of multi-satellite cooperative communication is complex, and has the characteristics of long transmission path, long absolute delay and large attenuation. In addition, a large number of user stations are set in the satellite spot beam, and the processor of the multi-satellite cooperative communication system needs to process a huge amount of data. At the same time, in order to calculate the channel state information of each subscriber station with high precision, the processor of the multi-satellite cooperative communication system needs to have a strong floating-point number processing capability.
FPGA内部具有充足的逻辑资源,可编程例化出多个接口和计算单元,其并行加速能力能低耗时的运算处理大量数据。并且在可靠性以及能效比方面,FPGA都要优于CPU与GPU。因此,通常采用FPGA作为多卫星协同通信系统的核心逻辑处理器件。其中,用户选择是多卫星协同通信过程中的重要环节,实现对不同用户组合信道容量的评估,并以此为指标匹配用户站进行通信。The FPGA has sufficient logic resources inside, and can programmatically instantiate multiple interfaces and computing units, and its parallel acceleration capability can process large amounts of data in a low-cost and time-consuming operation. And in terms of reliability and energy efficiency ratio, FPGA is better than CPU and GPU. Therefore, FPGA is usually used as the core logic processing device of the multi-satellite cooperative communication system. Among them, user selection is an important link in the multi-satellite cooperative communication process, which realizes the evaluation of the combined channel capacity of different users, and uses this as an index to match user stations for communication.
现有技术中,CN101340724A利用投影信道向量计算的正交系数修正接收信噪比,并使用修正信噪比依次选择用户,从而可以利用少量计算来提供大的多用户分集效应。In the prior art, CN101340724A uses the orthogonal coefficient calculated by the projection channel vector to correct the received signal-to-noise ratio, and uses the corrected signal-to-noise ratio to sequentially select users, so that a small amount of calculation can be used to provide a large multi-user diversity effect.
CN101499837A在贪婪用户选择的基础上,提供了一种多用户MIMO广播信道中低复杂度用户选择方法。该方法将信道响应分解为信道模值和信道间角度,并根据两者在信道模型的概率分布构造指数型效用函数,以效用函数最大化为准则迭代进行用户选择。简化了信道矩阵的相关运算,从而在一定程度下降低了用户选择算法的运算复杂度。CN101499837A provides a low-complexity user selection method in a multi-user MIMO broadcast channel on the basis of greedy user selection. The method decomposes the channel response into channel modulus value and inter-channel angle, constructs an exponential utility function according to the probability distribution of the two in the channel model, and iteratively performs user selection based on the utility function maximization criterion. The correlation operation of the channel matrix is simplified, thereby reducing the computational complexity of the user selection algorithm to a certain extent.
CN102970116A提出了最大化等效信道增益乘积用户选择方法。该方法在保障与全空间搜索法性能相近的前提下,利用MPECG算法选择最优的用户子集。避免了对集合内的每一个用户信道信息进行计算,以达到提升速率、降低复杂度的目的。CN102970116A proposes a user selection method that maximizes the equivalent channel gain product. Under the premise of ensuring similar performance to the full-space search method, this method uses the MPEG algorithm to select the optimal user subset. It is avoided to calculate the channel information of each user in the set, so as to achieve the purpose of increasing the rate and reducing the complexity.
然而,以上现有技术的用户选择算法不专门针对卫星通信领域,尤其是多卫星协同通信。因此,在算法设计之初未对FPGA实现做出相应的优化。CN101340724A中算法涉及GS正交化和QR分解运算;CN101499837A中算法使用了根据信道模型概率分布构造的指数型效用函数;CN102970116A中的MPECG算法包含施密特正交化、LU分解,都很不利于用FPGA进行计算和实现。However, the above user selection algorithm in the prior art is not specifically aimed at the field of satellite communication, especially multi-satellite cooperative communication. Therefore, the FPGA implementation was not optimized accordingly at the beginning of the algorithm design. The algorithm in CN101340724A involves GS orthogonalization and QR decomposition operations; the algorithm in CN101499837A uses an exponential utility function constructed according to the probability distribution of the channel model; the MPECG algorithm in CN102970116A includes Schmitt orthogonalization and LU decomposition, which are all unfavorable. Compute and implement with FPGA.
发明内容SUMMARY OF THE INVENTION
本发明要解决技术问题是:克服上述技术的缺点,提供一种多卫星协同通信中用户选择的FPGA实现系统与方法。The technical problem to be solved by the present invention is to overcome the shortcomings of the above technologies, and to provide a user-selected FPGA implementation system and method in multi-satellite cooperative communication.
为了解决上述技术问题,本发明提出的第一种技术方案是: 一种基于FPGA的多卫星协同通信中用户选择系统,包括:第一存储器、第一组存储器、第二组存储器、CSISO计算模块、第八存储器、HHH计算模块、 det(I+SNR*HH ) )计算模块、log2计算模块、第十二存储器、比较器和增益计算模块;所述第一存储器存储当前信道环境信噪比,其输出连接所述CSISO计算模块和det(I+SNR*HH H )计算模块;所述第一组存储器与第二组存储器存储用户到卫星之间的信道响应;所述第一组存储器的输出连接所述CSISO计算模块与HHH计算模块;所述第二组存储器的输出连接所述HHH计算模块;所述CSISO计算模块的输出连接所述第八存储器;所述第八存储器的输出连接所述增益计算模块;所述HHH计算模块的输出连接所述det(I+ SNR*HH H )计算模块;所述det(I+SNR*HH H )计算模块的输出连接所述log2计算模块;所述log2计算模块连接所述第十二存储器;所述第十二存储器的输出连接所述比较器;所述比较器的输出连接所述增益计算模块;所述增益计算模块输出增益值;所述比较器还输出最优信道容量值和最优用户组合值。In order to solve the above-mentioned technical problems, the first technical solution proposed by the present invention is: an FPGA-based multi-satellite cooperative communication user selection system, comprising: a first memory, a first group of memories, a second group of memories, a CSISO calculation system module, eighth memory, HH H calculation module, det (I+SNR*HH ) ) calculation module, log 2 calculation module, twelfth memory, comparator and gain calculation module; the first memory stores current channel environment information. Noise ratio, its output is connected to the C SISO calculation module and the det (I+SNR*HH H ) calculation module; the first group of memories and the second group of memories store the channel response between the user and the satellite; the first The output of the group memory is connected to the CSISO calculation module and the HH H calculation module; the output of the second group of memory is connected to the HH H calculation module; the output of the CSISO calculation module is connected to the eighth memory; the The output of the eighth memory is connected to the gain calculation module; the output of the HH H calculation module is connected to the det (I+ SNR*HH H ) calculation module; the output of the det (I+SNR*HH H ) calculation module is connected the log 2 calculation module; the log 2 calculation module is connected to the twelfth memory; the output of the twelfth memory is connected to the comparator; the output of the comparator is connected to the gain calculation module; the The gain calculation module outputs the gain value; the comparator also outputs the optimal channel capacity value and the optimal user combination value.
上述方案进一步的改进在于:所述第一组存储器和第二组存储器均包含两个存储器,分别用来存储用户到卫星的信道响应的实部和虚部。A further improvement of the above solution is that: the first group of memories and the second group of memories each include two memories, which are respectively used to store the real part and the imaginary part of the channel response from the user to the satellite.
上述方案进一步的改进在于:所述CSISO计算模块用于计算信道容量,计算公式为:C SISO =log2(1+SNR*|h SISO |2);其中,h SISO表示用户和卫星之间的信道响应,SNR表示当前信道环境信噪比;A further improvement of the above scheme is: the C SISO calculation module is used to calculate the channel capacity, and the calculation formula is: C SISO =log 2 (1+SNR*| h SISO | 2 ); wherein, h SISO represents the distance between the user and the satellite The channel response of , SNR represents the signal-to-noise ratio of the current channel environment;
包括,能够存储第一组数据的第三十一存储器、第三十二存储器,能够存储第二组数据的第三十三存储器、第三十四存储器;所述第三十一存储器、第三十二存储器、第三十三存储器和第三十四存储器的输出均连接平方运算器;所述第三十一存储器和第三十二存储器所连接的平方运算器的输出连接第三十六加法器;所述第三十三存储器和第三十四存储器所连接的平方运算器的输出连接第三十七加法器;所述第三十六加法器和第三十七加法器的输出连接第三十八加法器;所述第三十八加法器与第一存储器的输出连接第三十九加法器;第三十九加法器的输出连接加1加法器;所述加1加法器的输出连接对数运算器。Including, the thirty-first memory and the thirty-second memory that can store the first group of data, the thirty-third memory and the thirty-fourth memory that can store the second group of data; the thirty-first memory, the third memory The outputs of the twelfth memory, the thirty-third memory and the thirty-fourth memory are all connected to the square operator; the output of the square operator connected to the thirty-first memory and the thirty-second memory is connected to the thirty-sixth adder The output of the square operator connected to the thirty-third memory and the thirty-fourth memory is connected to the thirty-seventh adder; the outputs of the thirty-sixth adder and the thirty-seventh adder are connected to the third Thirty-eight adders; the output of the thirty-eighth adder is connected with the output of the first memory to the thirty-ninth adder; the output of the thirty-ninth adder is connected to an adder adder; the output of the adder adder Connect the logarithm operator.
上述方案进一步的改进在于:所述HHH计算模块是矩阵乘法运算模块,用于信道矩阵H与自身共轭转置HH的相乘运算,包括若干交叉计算输入实部和虚部的第一层乘法器、用于储存第一层乘法器计算结果的若干存储器、用于交叉计算所述存储器中数据的第二层加法器和减法器;用于计算第二层加法器和减法器结果并输入结果的第三层加法器;所述第三层加法器包括4个加法器输出4个矩阵,即为所述HHH计算模块的输出。The further improvement of the above scheme is: the HH H calculation module is a matrix multiplication operation module, which is used for the multiplication operation of the channel matrix H and the self-conjugate transpose H H , including the first cross calculation input real part and imaginary part. layer multipliers, a number of memories for storing the calculation results of the first layer multipliers, second layer adders and subtractors for cross-computing data in said memories; for calculating the second layer adder and subtractor results and The third-layer adder that inputs the result; the third-layer adder includes 4 adders and outputs 4 matrices, which are the outputs of the HH H calculation module.
上述方案进一步的改进在于:所述det(I+SNR*HH H )计算模块用于进行det(I+SNR* HH H )运算;包括4个输入、4个输入分别与当前信道环境信噪比进行乘法运算的乘法器;其中两个乘法器的输出分别通过加一加法器后再通过加法器相加,另外两个乘法器再分别通过平方运算器进行平方运算后再通过加法器相加;两个加法器的结果再通过减法器进行减法运算后输出。The further improvement of the above scheme is: the det (I+SNR*HH H ) calculation module is used to carry out det (I+SNR* HH H ) operation; including 4 inputs, 4 inputs and the current channel environment signal-to-noise ratio respectively A multiplier for multiplication; the outputs of the two multipliers are respectively added by an adder and then added by the adder, and the other two multipliers are respectively squared by a square operator and then added by the adder; The results of the two adders are then subtracted by the subtractor and output.
为了解决上述技术问题,本发明提出的第二种技术方案是:一种如上述的基于FPGA的多卫星协同通信中用户选择系统的用户选择方法,包括如下步骤:In order to solve the above-mentioned technical problems, the second technical solution proposed by the present invention is: a user selection method for a user selection system in the above-mentioned FPGA-based multi-satellite cooperative communication, comprising the following steps:
(1)初始化数据,按序存储用户集合内每个用户分别到各卫星的信道响应;(1) Initialize data, store the channel responses of each user in the user set to each satellite in sequence;
(2)任意选取一组未被配对测试的用户,即从各组信道响应中索引数据;(2) Arbitrarily select a group of users who have not been paired for testing, that is, index data from each group of channel responses;
(3)将步骤(2)中索引出来的数据组装成信道矩阵,即用户组与协同卫星视为MIMO 系统进行配对测试,将信道矩阵代入香农公式,利用香农公式计算当前信道容量,并进行存储;(3) Assemble the data indexed in step (2) into a channel matrix, that is, the user group and the cooperative satellite are regarded as a MIMO system for pairing test, and the channel matrix is substituted into the Shannon formula, and the current channel capacity is calculated and stored using the Shannon formula. ;
(4)判断是否已经完成了所有可能的用户组合方式;若是则进行下一步,否则返回步骤(2),直至遍历所有的组合方式;(4) Determine whether all possible user combinations have been completed; if so, proceed to the next step, otherwise return to step (2) until all combinations are traversed;
(5)利用比较器选出所有用户组合中信道容量最大的一个;(5) Use the comparator to select the one with the largest channel capacity among all user combinations;
(6)输出最大信道容量对应的索引值,作为本轮用户选择的结果。(6) Output the index value corresponding to the maximum channel capacity as the result of this round of user selection.
上述方案进一步的改进在于:所述步骤(3)中的香农公式为CMIMO=log2 {det(I+ SNR*HH H ) };其中,CMIMO为信道容量,H表示信道矩阵,信道矩阵内包含有用户集合中各用户分别到各卫星之间信道响应,HH表示信道矩阵的共轭转置,SNR表示当前信道环境下的信噪比,I代表单位矩阵。A further improvement of the above scheme is that: the Shannon formula in the step (3) is C MIMO =log 2 {det (I+ SNR*HH H ) }; wherein, C MIMO is the channel capacity, H represents the channel matrix, and in the channel matrix It includes the channel response between each user in the user set to each satellite, H H represents the conjugate transpose of the channel matrix, SNR represents the signal-to-noise ratio under the current channel environment, and I represents the identity matrix.
本发明提供的基于FPGA的多卫星协同通信中用户选择系统与方法;采用穷举法遍历每一种用户组合,直至搜索到信道容量最大的一种组合方式。这种方法有效的避免了求解高阶复杂的数学运算公式,在兼顾实时性和高精度的同时,解决多卫星协同通信中用户选择算法的工程实现问题。针对信道容量计算过程,提出基于并行存储器设计的复矩阵乘结构,有效的完成信道响应中实部与虚部的独立存储与交叉运算。其采用逐级流水的层次化结构可以同时计算出方阵与自身共轭转置相乘结果的各元素。利用流水线技术的优化了多卫星协同通信中用户选择算法的FPGA实现系统中计算信道容量的硬件结构,每个用户组合CMIMO值的计算被拆解为三个子过程,每个子过程结束后即可进行下一用户组合的计算子过程,并且可同时进行多个用户组合的计算子过程,进一步提升系统运行的实时性。The system and method for user selection in the FPGA-based multi-satellite cooperative communication provided by the present invention traverse each user combination by an exhaustive method until a combination mode with the largest channel capacity is searched. This method effectively avoids solving high-order complex mathematical formulas, and solves the engineering implementation problem of user selection algorithm in multi-satellite cooperative communication while taking into account real-time performance and high precision. Aiming at the channel capacity calculation process, a complex matrix multiplication structure based on parallel memory design is proposed, which can effectively complete the independent storage and crossover operation of the real and imaginary parts of the channel response. It adopts the hierarchical structure of step-by-step flow to calculate each element of the result of multiplying the square matrix and its own conjugate transpose at the same time. The hardware structure of the FPGA implementation system for calculating the channel capacity in the FPGA implementation system of the user selection algorithm in the multi-satellite cooperative communication is optimized by using the pipeline technology. The calculation of the C MIMO value of each user combination is disassembled into three sub-processes. The calculation sub-process of the next user combination is performed, and the calculation sub-process of a plurality of user combinations can be performed at the same time, which further improves the real-time performance of the system operation.
附图说明Description of drawings
下面结合附图对本发明作进一步说明。The present invention will be further described below in conjunction with the accompanying drawings.
图1是本发明一个优选的实施例结构示意图。FIG. 1 is a schematic structural diagram of a preferred embodiment of the present invention.
图2为图1中CSISO计算模块的硬件结构。FIG. 2 is the hardware structure of the CSISO computing module in FIG. 1 .
图3为图1中HHH计算模块的硬件结构。FIG. 3 is the hardware structure of the HH H calculation module in FIG. 1 .
图4为图1中det(I+SNR*HHH)计算模块的硬件结构。FIG. 4 is the hardware structure of the det(I+SNR*HH H ) calculation module in FIG. 1 .
图5为图1的输入数据时序。FIG. 5 is the input data timing sequence of FIG. 1 .
图6为本发明一个优选的实施例的用户选择方法流程图。FIG. 6 is a flowchart of a user selection method according to a preferred embodiment of the present invention.
图7为本发明一个优选的实施例的流水线技术优化前后的效果展示。FIG. 7 shows the effect before and after optimization of the pipeline technology in a preferred embodiment of the present invention.
图8为本发明一个优选的实施例的计算结果输出时序仿真图。FIG. 8 is a simulation diagram of a calculation result output timing sequence according to a preferred embodiment of the present invention.
具体实施方式Detailed ways
实施例Example
本实施例的基于FPGA的多卫星协同通信中用户选择系统,如图1所示,包括:存储器201、第一组存储器、第二组存储器、CSISO计算模块206、存储器208、HHH计算模块207、det(I +SNR*HH H )计算模块209、log2计算模块213、存储器212、比较器211和增益计算模块210;存储器201存储当前信道环境信噪比SNR,其输出连接CSISO计算模块206和det(I+SNR*HH H )计算模块209;第一组存储器与第二组存储器存储用户到卫星之间的信道响应;第一组存储器的输出连接CSISO计算模块206与HHH计算模块207;第二组存储器的输出连接HHH计算模块207;CSISO计算模块206的输出连接存储器;存储器208的输出连接增益计算模块210;HHH计算模块207的输出连接det(I+SNR*HH H )计算模块209;det(I+SNR*HH H )计算模块209的输出连接log2计算模块213;log2计算模块213连接存储器212;存储器212的输出连接比较器211;比较器211的输出连接增益计算模块210;增益计算模块210输出增益值;比较器211还输出最优信道容量值和最优用户组合值。The user selection system in the FPGA-based multi-satellite cooperative communication of this embodiment, as shown in FIG. 1 , includes: a memory 201, a first group of memories, a second group of memories, a CSISO
其中,第一组存储器包含存储器202和存储器203;第二组存储器包含存储器204和存储器205,存储器202和存储器204用来存储用户到卫星的信道响应的实部,存储器203和存储器205用来存储用户到卫星的信道响应的虚部。Among them, the first group of memory includes memory 202 and memory 203; the second group of memory includes
本实施例以双卫星协同通信为例。设定双卫星协同通信中其中一颗为卫星m,某个用户到卫星m的信道响应命名为S_m。另一颗为卫星n,某个用户到卫星n的信道响应命名为S_n。S_m_re表示集合内N个用户分别与卫星m的信道响应的实部,S_m_im表示集合内N个用户分别与卫星m的信道响应的虚部。S_n_re表示集合内N个用户分别与卫星n的信道响应的实部,S_n_im表示集合内N个用户分别与卫星n的信道响应的虚部。This embodiment takes the dual-satellite cooperative communication as an example. It is assumed that one of the satellites in the dual-satellite cooperative communication is satellite m, and the channel response from a user to satellite m is named S_m. The other is satellite n, and the channel response from a user to satellite n is named S_n. S_m_re represents the real part of the channel responses between the N users in the set and the satellite m respectively, and S_m_im represents the imaginary part of the channel responses between the N users in the set and the satellite m respectively. S_n_re represents the real part of the channel responses between the N users in the set and the satellite n respectively, and S_n_im represents the imaginary part of the channel responses between the N users in the set and the satellite n respectively.
CSISO计算模块206用于计算信道容量,计算公式为:C SISO =log2(1+SNR*|h SISO |2);其中,hSISO表示用户和卫星之间的信道响应,SNR表示当前信道环境信噪比。The C SISO calculation module 206 is used to calculate the channel capacity, and the calculation formula is: C SISO =log 2 (1+SNR*| h SISO | 2 ); wherein, h SISO represents the channel response between the user and the satellite, and SNR represents the current channel Ambient signal-to-noise ratio.
如图2所示,CSISO计算模块206包括,能够存储第一组数据的存储器301、存储器302,能够存储第二组数据的存储器303、存储器304;存储器301、存储器302、存储器303和存储器304的输出均连接有平方运算器;存储器301和存储器302所连接的平方运算器的输出连接加法器306;存储器303和存储器304所连接的平方运算器的输出连接加法器307;加法器306和加法器307的输出连接加法器308;加法器308与存储器201的输出连接加法器309,也即是加法器308与SNR相加;加法器309的输出连接加1加法器310;加1加法器310的输出连接对数运算器311,对数运算器311是以2为底。As shown in FIG. 2 , the CSISO
HHH计算模块207是矩阵乘法运算模块,用于信道矩阵H与自身共轭转置HH的相乘运算。The HH H calculation module 207 is a matrix multiplication operation module, which is used for the multiplication operation of the channel matrix H and the self-conjugate transpose H H.
如图3所示,HHH计算模块207包括8个交叉计算输入实部和虚部的第一层乘法器401、用于储存第一层乘法器计算结果的8个存储器、用于交叉计算存储器中数据的第二层加法器和减法器410;用于计算第二层加法器和减法器410结果并输入结果的第三层加法器411;第三层加法器411包括4个加法器输出4个矩阵,即为HHH计算模块的输出。As shown in FIG. 3 , the HH H calculation module 207 includes 8 first-
存储器202, 存储器203, 存储器204, 存储器205的数据经第一层乘法器401后,运算得到的中间结果存储在存储器402,存储器403,存储器404,存储器405,存储器406,存储器407,存储器408,存储器409中,再按照不同的索引值将中间结果输出至第二层加法器和减法器410,第三层加法器411的输入来自第二层加法器和减法器410。结果矩阵元素412,413,414,415为第三层加法器411的输出。该模块计算结果(1,1)表示HHH中的元素(1,1),计算结果(1,2)_re表示HHH中的元素(1,2)的实部,计算结果(2,1)_re表示HHH中的元素(2,1)的实部,计算结果(1,2)_im表示HHH中的元素(1,2)的虚部,计算结果(2,1)表示HHH中的元素(2,1)的虚部,计算结果(2,2)表示HHH中的元素(2,2)。After the data of the memory 202, the memory 203, the
det(I+SNR*HH H )计算模块209用于进行det(I+SNR*HH H )运算。如图4所示,det(I+ SNR*HH H )计算模块209包括4个输入、4个输入分别与当前信道环境信噪比SNR进行乘法运算的乘法器501;其中两个乘法器的输出分别通过加一加法器502后再通过加法器504相加,另外两个乘法器再分别通过平方运算器503进行平方运算后再通过加法器505相加;加法器504和加法器505的结果再通过减法器506进行减法运算后输出。det(I+SNR*HH H )计算模块209的4个输入与HHH计算模块207的4个输出一一对应连接。The det (I+SNR*HH H ) calculation module 209 is used to perform the det (I+SNR*HH H ) operation. As shown in FIG. 4 , the det (I+ SNR*HH H ) calculation module 209 includes 4 inputs and a
log2计算模块213完成对det(I+SNR*HH H )的log2运算,其输入来自det(I+SNR*HH H )计算模块209。log2计算模块213输出结果为各用户组合组成信道矩阵的CMIMO的计算结果。The log 2 calculation module 213 performs the log 2 operation on det (I+SNR*HH H ) , whose input is from the det (I+SNR*HH H ) calculation module 209 . The output result of the log 2 calculation module 213 is the calculation result of C MIMO in which each user is combined to form a channel matrix.
存储器212中按序存储来自log2计算模块213的所有用户组合CMIMO的计算结果。比较器211的输入连接至存储器212,其功能为从存储器212中选取一个最大值CMIMO-max作为最优信道容量,并记录寄存器组中最大值的用户组合序号。将上述的两个结果作为用户选择模块的两个输出值。The memory 212 stores the calculation results of all user combinations C MIMO from the log 2 calculation module 213 in sequence. The input of the
增益计算模块210计算双卫星协同通信系统最优信道容量相较于单卫星相比的信道容量增益。该模块的两个输入分别为来自存储器208的CSISO值和来自比较器211的CMIMO-max值,利用(CMIMO-max-CSISO)/CSISO计算增益,并作为用户选择模块的第三个输出值。The gain calculation module 210 calculates the channel capacity gain of the optimal channel capacity of the dual-satellite cooperative communication system compared with that of the single satellite. The two inputs to this module are the C SISO value from the
以双卫星协同通信为例,本发明提供的多卫星协同通信中用户选择算法的FPGA实现系统的输入数据时序如图5所示。Taking dual-satellite cooperative communication as an example, the input data sequence of the FPGA implementation system of the user selection algorithm in the multi-satellite cooperative communication provided by the present invention is shown in FIG. 5 .
本实施例的基于FPGA的多卫星协同通信中用户选择系统的用户选择方法,如图6所示,包括如下步骤:The user selection method of the user selection system in the FPGA-based multi-satellite collaborative communication of the present embodiment, as shown in FIG. 6 , includes the following steps:
(1)初始化数据S_m与S_n,按序存储用户集合内每个用户分别到卫星m与卫星n的信道响应;(1) Initialize the data S_m and S_n, and store the channel responses of each user in the user set to satellite m and satellite n in sequence;
(2)任意选取一对未被配对测试的用户,即从S_m中索引一个数据,从S_n中索引一个数据;(2) Arbitrarily select a pair of users who have not been paired and tested, that is, index one data from S_m and one data from S_n;
(3)步骤(2)索引出来的两个数据组装成信道矩阵,即用户组与两颗卫星视为 2x2MIMO 系统进行配对测试,将信道矩阵代入CMIMO=log2 {det(I+SNR*HH H ) }利用香农公式计算当前信道容量,并进行存储;(3) The two data indexed in step (2) are assembled into a channel matrix, that is, the user group and the two satellites are regarded as a 2x2MIMO system for pairing test, and the channel matrix is substituted into C MIMO =log 2 {det (I+SNR*HH H ) } using the Shannon formula to calculate the current channel capacity and store it;
(4)判断是否已经完成了所有可能的用户组合配对方式。若是则进行下一步,否则返回步骤(2),直至遍历所有的组合方式;(4) Determine whether all possible user combination pairing methods have been completed. If so, go to the next step, otherwise return to step (2) until all combinations are traversed;
(5)利用比较器选出所有用户配对组合中信道容量最大的一个;(5) Use the comparator to select the one with the largest channel capacity among all user pairing combinations;
(6)输出最大信道容量对应的S_m索引值与S_n索引值,作为本轮用户选择的结果。(6) Output the S_m index value and S_n index value corresponding to the maximum channel capacity as the result of the current round of user selection.
图7展示了流水线技术优化前后的时序对比,流水线子模块1的运行耗时为,流水线子模块2的运行耗时为T det ,流水线子模块3的运行耗时为T log 。若没有采用流水线技术优化,则上述三个子模块的计算逻辑为一个整体,同一个时间只能完成一个用户组合的CMIMO计算过程,必须等一个用户组合的CMIMO计算完毕后才能开始下一个用户组合的CMIMO计算过程。Figure 7 shows the timing comparison before and after pipeline technology optimization. The running time of
本发明提供的多卫星协同通信中用户选择算法的FPGA实现系统采用流水线技术优化了香农公式的计算过程。经过优化后HHH、det(I+SNR*HH H )和log2三个主要计算逻辑被独立开,分别由流水线子模块1、流水线子模块2和流水线子模块3完成。在此种设计结构下,每个用户组合CMIMO值的计算被拆解为三个子过程,每个子过程结束后即可进行下一用户组合的计算子过程,可同时进行多个用户组合的计算子过程,以达到缩短硬件运行耗时的目的。The FPGA implementation system of the user selection algorithm in the multi-satellite cooperative communication provided by the invention adopts the pipeline technology to optimize the calculation process of the Shannon formula. After optimization, the three main calculation logics, HH H , det (I+SNR*HH H ) and log 2 are independently opened, which are completed by
为保证计算精度,本实施例中包含的存储器、加法器、乘法器、减法器、log2对数运算器、比较器、增益计算模块等均应支持的数据精度为32位单精度浮点数,符合IEEE-754标准。图8为本设计例计算结果输出仿真时序图。In order to ensure the calculation accuracy, the memory, adder, multiplier, subtractor, log 2 logarithmic operator, comparator, gain calculation module, etc. included in this embodiment should all support data accuracy of 32-bit single-precision floating-point numbers, Compliant with IEEE-754 standard. Figure 8 is a simulation timing diagram of the calculation result output of this design example.
本发明不局限于上述实施例。凡采用等同替换形成的技术方案,均落在本发明要求的保护范围。The present invention is not limited to the above-described embodiments. All technical solutions formed by equivalent replacements fall within the protection scope of the present invention.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110638640.5A CN113660023B (en) | 2021-06-08 | 2021-06-08 | System and method for user selection in multi-satellite cooperative communication based on FPGA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110638640.5A CN113660023B (en) | 2021-06-08 | 2021-06-08 | System and method for user selection in multi-satellite cooperative communication based on FPGA |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113660023A CN113660023A (en) | 2021-11-16 |
CN113660023B true CN113660023B (en) | 2022-06-21 |
Family
ID=78477050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110638640.5A Active CN113660023B (en) | 2021-06-08 | 2021-06-08 | System and method for user selection in multi-satellite cooperative communication based on FPGA |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113660023B (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8077691B2 (en) * | 2004-03-05 | 2011-12-13 | Qualcomm Incorporated | Pilot transmission and channel estimation for MISO and MIMO receivers in a multi-antenna system |
US9065690B2 (en) * | 2011-05-02 | 2015-06-23 | Mediatek Inc. | Method and apparatus for performing channel shortening equalization with frequency notch mitigation |
CN105978609A (en) * | 2016-04-25 | 2016-09-28 | 东南大学 | Massive MIMO linear detection hardware architecture and method under correlated channels |
CN112019245B (en) * | 2020-08-26 | 2021-11-16 | 上海科技大学 | Channel information real-time prediction and measurement method, device, equipment and medium |
-
2021
- 2021-06-08 CN CN202110638640.5A patent/CN113660023B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN113660023A (en) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Peng et al. | A 1.58 Gbps/W 0.40 Gbps/mm2 ASIC Implementation of MMSE Detection for $128\times 8~ 64$-QAM Massive MIMO in 65 nm CMOS | |
CN104954056B (en) | The hardware architecture and method of matrix inversion in extensive MIMO linearity tests | |
Yin et al. | Deep CSI compression for massive MIMO: A self-information model-driven neural network | |
CN109474388A (en) | Signal detection method for low-complexity MIMO-NOMA system based on improved gradient projection method | |
Khoso et al. | A low-complexity data detection algorithm for massive MIMO systems | |
CN105915477A (en) | Large-scale MIMO detection method based on GS method, and hardware configuration | |
CN101917368A (en) | Soft Output Method for MIMO Detection Based on Lattice Reduction | |
CN108964725A (en) | The sparse estimation method of channel parameter in the extensive MIMO network of time-varying | |
Chen et al. | Stochastic iterative MIMO detection system: Algorithm and hardware design | |
Cui et al. | IALNet: An integration attention lightweight neural network for massive MIMO CSI feedback | |
CN113660023B (en) | System and method for user selection in multi-satellite cooperative communication based on FPGA | |
CN102882579B (en) | Parallel matrix inversion method for multi-antenna system | |
CN115022134B (en) | Millimeter wave massive MIMO system channel estimation method and system based on non-iterative reconstruction network | |
CN114567359B (en) | A CSI feedback method based on multi-resolution fusion convolutional feedback network in massive MIMO system | |
CN101541023A (en) | Joint iterative detection decoding method and device thereof | |
Chen et al. | A joint update parallel MCMC-method-based sparse code multiple access decoder | |
CN107222246B (en) | Efficient large-scale MIMO detection method and system with approximate MMSE performance | |
CN106209189A (en) | Signal detection device and method in massive MIMO system | |
Sun et al. | A low complexity expectation propagation detector for extra-large scale massive MIMO | |
CN118534510A (en) | Beidou satellite-based intelligent positioning method and system | |
CN107346985B (en) | An Interference Alignment Method Combined with Transmit Antenna Selection Technology | |
Borlenghi et al. | An FPGA-accelerated testbed for hardware component development in MIMO wireless communication systems | |
CN113359161B (en) | High dynamic satellite communication signal capturing method, device, medium and computing equipment | |
Tian et al. | Pilot-aided channel estimation for massive MIMO systems in TDD-mode using Walsh-Hadamard transformed subsampled data at the base station | |
Liu et al. | A maximum logarithmic maximum a posteriori probability based soft-input soft-output detector for the coded spatial modulation systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |