Signal detection method of large-scale MIMO system and electronic equipment
By introducing a first memory window and offline estimation of the channel matrix in a large-scale MIMO system, the computation of the linear estimator is simplified, the problem of high iterative complexity is solved, and the signal detection efficiency is improved.
Patent Information
- Application Number
- CN202511587926.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-31
- Publication Date
- 2026-01-13
AI Technical Summary
In large-scale MIMO systems, the high iterative complexity of existing signal detection algorithms leads to low signal detection efficiency, which cannot meet the deployment requirements of complex scenarios.
By introducing a "first memory window," the calculation of the mean and variance of the linear estimator in the MAMP algorithm is simplified. Only the estimation results of the most recent preset number of iterations are used. By leveraging the characteristics of offline estimation of the large-scale MIMO channel matrix, the computational complexity of parameter λ* is reduced. At the same time, a unified truncation strategy is adopted to reduce the quantization bit width and improve the computational efficiency of the influence coefficient.
This reduces iteration complexity, improves signal detection efficiency, avoids the need to use memory information from all previous iterations for computation, and enhances the detection efficiency of transmitted signals.
Smart Images

Figure CN121333852A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless communication technology, and in particular to a signal detection method and electronic device for a large-scale MIMO system. Background Technology
[0002] In the field of wireless communication technology, massively multi-input multiple-output (MIMO) systems, with their diversity and multiplexing gains from multiple antennas, have become a key technology for improving spectral efficiency. Uplink signal detection in MIMO systems requires accurate recovery of the transmitted signal under complex channel conditions, directly impacting system performance. Currently, the Maximum Likelihood (ML) and Maximum A Posteriori (MAP) algorithms are theoretically optimal for uplink signal detection. However, the complexity of both methods increases exponentially with the number of antennas and the modulation order. Therefore, low signal detection efficiency remains a problem in MIMO systems. Summary of the Invention
[0003] This application provides a signal detection method and electronic device for a large-scale MIMO system, which solves the technical problem of high iterative complexity in the prior art and achieves the technical effect of reducing iterative complexity and improving signal detection efficiency.
[0004] To achieve the above objectives, the main technical solutions adopted in this application include:
[0005] In a first aspect, embodiments of this application provide a signal detection method for a large-scale MIMO system, comprising:
[0006] Based on the channel model parameters of the MIMO system and the memory information recorded during the iteration of the preset algorithm in the signal detection process, the linear parameters of the preset algorithm in the current iteration round are generated.
[0007] Using a preset first memory window, valid information is determined based on the linear parameters; and based on the valid information, data corresponding to the previous iteration round number is extracted from the linear parameters and the memory information, and the influence coefficient of the previous iteration round on the current iteration round is calculated.
[0008] Based on the linear parameter and the influence coefficient, the posterior mean and posterior variance of each channel in the MIMO system as the estimated channel are calculated iteratively, and the memory information is updated; based on the posterior mean when the maximum number of iterations is reached, the detection value of the transmitted signal of the MIMO system is determined.
[0009] In this example, linear parameters are generated based on the MIMO system channel model parameters and iterative memory information. Effective information is extracted from the linear parameters using a preset first memory window. Influence coefficients are then generated based on the effective information, linear parameters, and memory information. Finally, the posterior mean and posterior variance of the estimated channel are iteratively calculated based on the linear parameters and influence coefficients. The posterior mean at the maximum number of iterations is used as the transmitted signal detection value. This method achieves the extraction of effective information from previous iteration rounds, avoids using the memory information of all previous iteration rounds to calculate the image coefficients, improves the calculation efficiency of influence coefficients, and improves the detection efficiency of transmitted signals.
[0010] Secondly, embodiments of this application provide a signal detection device for a large-scale MIMO system, comprising:
[0011] The first processing module is used to generate the linear parameters of the preset algorithm in the current iteration round based on the channel model parameters of the MIMO system and the memory information recorded during the iteration of the preset algorithm in the signal detection process.
[0012] The second processing module is used to determine valid information based on the linear parameters using a preset first memory window; and to extract data corresponding to the previous iteration round number from the linear parameters and the memory information based on the valid information, and to calculate the influence coefficient of the previous iteration round on the current iteration round.
[0013] The third processing module is used to iteratively calculate the posterior mean and posterior variance of each channel in the MIMO system as the estimated channel based on the linear parameters and the influence coefficients, and update the memory information; and determine the detection value of the transmitted signal of the MIMO system based on the posterior mean when the maximum number of iterations is reached.
[0014] In this example, linear parameters are generated based on the MIMO system channel model parameters and iterative memory information. Effective information is extracted from the linear parameters using a preset first memory window. Influence coefficients are then generated based on the effective information, linear parameters, and memory information. Finally, the posterior mean and posterior variance of the estimated channel are iteratively calculated based on the linear parameters and influence coefficients. The posterior mean at the maximum number of iterations is used as the transmitted signal detection value. This method achieves the extraction of effective information from previous iteration rounds, avoids using the memory information of all previous iteration rounds to calculate the image coefficients, improves the calculation efficiency of influence coefficients, and improves the detection efficiency of transmitted signals.
[0015] Thirdly, embodiments of this application provide an electronic device, including: a memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to perform the method described in any of the above embodiments.
[0016] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer instructions, which are used to cause a computer to perform the method described in any one of the above embodiments.
[0017] Fifthly, embodiments of this application provide a computer program product, including computer instructions, which are used to cause a computer to perform the method described in any of the above embodiments. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the specific embodiments of this application or the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0019] Figure 1 This is a flowchart of a signal detection method for a large-scale MIMO system according to an embodiment of this application;
[0020] Figure 2 This is a schematic diagram illustrating the calculation process of the influence coefficient in an embodiment of this application;
[0021] Figure 3 This is a flowchart of a signal detection method for a large-scale MIMO system according to an embodiment of this application;
[0022] Figure 4 This is a schematic diagram of the module interaction of the signal detection system in a large-scale MIMO system according to an embodiment of this application;
[0023] Figure 5 This is a schematic diagram of the computational logic of the signal detection system in a large-scale MIMO system according to an embodiment of this application;
[0024] Figure 6 This is a block diagram of the signal detection device of a large-scale MIMO system according to an embodiment of this application;
[0025] Figure 7 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation
[0026] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0027] In the current era of rapid development in wireless communication technology, massively multi-input multiple-output (MIMO) systems, with their multi-antenna configurations, have achieved significant improvements in spectral efficiency and data transmission rates. In MIMO systems, uplink signal detection is a crucial step in improving system performance and reliability. Uplink signals are susceptible to various adverse factors during transmission, such as noise, interference, and channel fading, leading to a decline in signal quality at the receiver. Therefore, how to perform efficient and accurate signal detection to ensure the reliability and stability of uplink transmission in wireless communication systems has become a research hotspot.
[0028] Currently, the Maximum Likelihood (ML) algorithm and the Maximum Aposterior (MAP) algorithm are theoretically optimal uplink signal detection algorithms. However, the complexity of both methods increases exponentially with the number of antennas and the modulation order. Therefore, these two methods cannot meet the deployment requirements of complex scenarios.
[0029] Traditional uplink signal detection algorithms, such as Zero Forcing (ZF) and Minimum Mean Square Error (MMSE), offer suboptimal performance with relatively low complexity. However, since both ZF and MMSE require matrix inversion operations, they suffer from excessive hardware overhead in complex scenarios.
[0030] Traditional uplink signal detection algorithms may also include Approximate Message Passing (AMP), Belief Propagation (BP), Expectation Propagation (EP), and Channel-Hardening Exploiting Message Passing (CHEMP).
[0031] Among them, the Approximate Message Passing (AMP) algorithm has Bayesian optimal computational complexity under the condition of independent and identically distributed Gaussian channels. Therefore, the AMP algorithm is widely used in MIMO uplink signal detection. However, the AMP algorithm has obvious limitations in practical communication scenarios. When the channel matrix has strong correlation, the detection performance of the AMP algorithm will significantly decrease, or even diverge.
[0032] To address the performance shortcomings of the AMP algorithm, several improvement schemes have been proposed in existing technologies.
[0033] The improved unitary-transformation-based approximate message passing (UTAMP) algorithm maintains stable detection performance under correlated channel conditions by introducing unitary-transformation preprocessing.
[0034] While the Orthogonal Approximate Message Passing (OAMP) algorithm extends the applicability of AMP to handle general unitary invariant matrices, it relies on a computationally complex Linear Minimum Mean Square Error (LMMSE) estimator. This limits its practical application value to some extent. The Convolutional Approximate Message Passing (CAMP) algorithm reduces complexity by optimizing the computational structure, but it suffers from performance instability when the matrix condition number is large.
[0035] The Memory Approximate Message Passing (MAMP) algorithm replaces the LMMSE estimator in OAMP with a long memory matched filter, which can effectively reduce computational overhead while maintaining detection performance, but there is still room for further optimization.
[0036] However, in the Memory Approximate Message Passing (MAMP) algorithm, the calculation of the estimation result in the current iteration requires the estimation results from all previous iterations. This leads to significant time and space overhead in hardware implementation, and this problem becomes increasingly pronounced with the number of iterations. Furthermore, in the MAMP preprocessing stage, the parameter λ needs to be pre-calculated based on the eigenvalues of the channel Gram matrix. *And χ. The computational complexity of the eigenvalues of the channel Gram matrix is quite high. Furthermore, some values in the MAMP algorithm become quite large during iteration, leading to a large requirement for quantization bit width and increasing the risk of overflow.
[0037] To address the aforementioned issues, this application proposes a MAMP-based signal detector for large-scale MIMO systems, optimizing the current MAMP algorithm. This detector can perform uplink signal detection in large-scale MIMO systems.
[0038] The detector in this application simplifies the calculation of the mean and variance of the linear estimator in the current MAMP algorithm by introducing a "first memory window." Since estimation results from distant iterations have little impact on the current iteration, the calculation of the estimation result for the current iteration only utilizes the estimation results from the most recent preset number of iterations. Setting this preset number of iterations is equivalent to "windowing" the memory, reducing complexity.
[0039] Furthermore, regarding the parameter λ in the MAMP preprocessing stage... * In the calculation process, this application, based on the characteristics of the large-scale MIMO channel matrix, directly performs offline estimation based on the number of transmit and receive antennas, which greatly improves the efficiency of parameter λ. * This improves computational efficiency, avoids the calculation of eigenvalues of the channel Gram matrix, and reduces complexity.
[0040] Furthermore, to address the issue that some variables in the MAMP algorithm require a large quantization bit width during the iteration process, this application reduces the overall required bit width while ensuring performance by setting a uniform truncation strategy for the weight parameters within the linear estimator.
[0041] According to an embodiment of this application, a method for detecting large-scale MIMO is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0042] This embodiment provides a large-scale MIMO detection method that can be used in the aforementioned electronic devices. For example, the electronic device can be a mobile terminal, mobile phone, tablet computer, personal computer, server, etc. Figure 1 A flowchart illustrating a signal detection method for a large-scale MIMO system according to an embodiment of this application is shown, such as... Figure 1 As shown, the process includes the following steps:
[0043] S101. Based on the channel model parameters of the MIMO system and the memory information recorded during the iteration of the preset algorithm in the signal detection process, generate the linear parameters of the preset algorithm in the current iteration round.
[0044] For example, the electronic device can first acquire the channel model parameters of the MIMO system. The electronic device can then use a preset algorithm to iteratively calculate based on these channel model parameters to obtain the final detected signal value. During the iterative process using the algorithm, the electronic device can record the data generated during the iteration, obtaining memory information. Based on the channel model parameters and the memory information, the electronic device can generate the linear parameters of the preset algorithm for the current iteration round.
[0045] In one implementation, within a MIMO system, channel model parameters describe the characteristics of signal transmission among multiple input and output antennas. These parameters include the channel matrix, noise variance, number of receive antennas, number of transmit antennas, received signal, and transmitted signal. The channel model parameters reflect factors such as fading and interference during signal transmission.
[0046] In one implementation, the preset algorithm is a specific computational method used for signal detection or estimation. For example, the preset algorithm could be the Memory Approximate Message Passing (MAMP) algorithm. This preset algorithm continuously updates and adjusts relevant parameters during the iteration process.
[0047] In one implementation, the memory information consists of intermediate results or historical data recorded during algorithm iteration. This memory information is used for reference and direct access in subsequent iterations. Recording this memory information can improve the efficiency of data utilization during iteration, thereby increasing iteration efficiency.
[0048] In one implementation, the memory information may include the posterior mean and posterior variance of the estimated channel obtained in each iteration, the first symbol mean and first covariance matrix calculated by the nonlinear estimator, the second symbol mean and second covariance matrix calculated by the damping module, and the linear mean vector and linear variance calculated by the linear estimator.
[0049] S102. Using a preset first memory window, extract the valid information from the linear parameters; and based on the valid information, extract the data corresponding to the previous iteration round number from the linear parameters and memory information, and calculate the influence coefficient of the previous iteration round on the current iteration round.
[0050] For example, during this iteration process, the electronic device needs to introduce the influence coefficient of the previous iteration on the current iteration in the current iteration round.
[0051] The electronic device has a pre-set first memory window. It can select the previous iteration round based on this first memory window. Based on the selected previous iteration round number, the electronic device can extract data corresponding to that number from the linear parameters and memory information. The electronic device can then calculate the influence coefficient of the current iteration round based on this data.
[0052] In one implementation, the preset first memory window is a range or rule used to filter and extract key data, which can select the part that has an important impact on subsequent calculations from the large amount of data contained in the linear parameters.
[0053] In one implementation, the electronic device can extract valid information from the linear parameters using a preset first memory window. Based on the valid information, the linear parameters, and the memory information, the influence coefficient of the current iteration round is calculated.
[0054] In one implementation, this effective information can be used to indicate the data for the selected previous iteration round. The data contained in this effective information is a subset of data that has a significant impact on the current iteration round. This effective information is data obtained after being filtered through a preset first memory window and has a direct effect on calculating the influence coefficient.
[0055] In one implementation, the electronic device can determine, based on linear parameters, several iterations with significant influence in previous iterations. The electronic device can then determine valid information based on these iterations. Furthermore, based on the iterations indicated in this valid information, the electronic device can retrieve the data corresponding to that iteration from memory and calculate the final influence coefficient based on the weight determined by the linear parameters.
[0056] In one implementation, the number of iterations selected by the preset first memory window can be determined based on a combination of data precision and computational efficiency. For example, this number can be 3, 4, 5, etc.
[0057] S103. Based on the linear parameters and influence coefficients, iteratively calculate the posterior mean and posterior variance of each channel in the MIMO system when it is used as the estimated channel, and update the memory information. Then, based on the posterior mean at the maximum number of iterations, determine the detected value of the transmitted signal of the MIMO system.
[0058] For example, the electronic device can calculate the posterior mean and posterior variance of each iteration based on the linear parameters and influence coefficients. During this iterative calculation, the electronic device can record the posterior mean and posterior variance into memory. When the maximum number of iterations is reached, the electronic device obtains the calculated posterior mean and calculates the detected value of the transmitted signal based on this posterior mean.
[0059] In one implementation, the electronic device can directly use the posterior mean at the maximum number of iterations as the detection value of the transmitted signal.
[0060] In one implementation, the iterative calculation process involves continuously updating linear parameters and influence coefficients, using a specific algorithm formula to gradually approximate the true value of the estimated channel. Iteration stops when the maximum number of iterations is reached, and the resulting posterior mean is considered the closest estimate to the true value of the transmitted signal. Therefore, this is used as the detected value of the transmitted signal.
[0061] In one implementation, the electronic device can use a linear estimator to calculate a linear mean vector and a linear variance based on linear parameters and influence coefficients. Then, the electronic device can filter this linear mean vector and linear variance using MMSE to calculate the posterior mean and posterior variance.
[0062] In one implementation, the channel being estimated is the original signal that needs to be detected and estimated during signal transmission. The posterior mean is the expected value of the channel being estimated after considering known information. The posterior variance reflects the uncertainty of the channel being estimated.
[0063] In this example, linear parameters are generated based on the MIMO system channel model parameters and iterative memory information. Effective information is extracted from these linear parameters using a preset first memory window. Influence coefficients are then generated based on this effective information, the linear parameters, and the memory information. Finally, the posterior mean and posterior variance of the estimated channel are iteratively calculated based on the linear parameters and influence coefficients. The posterior mean at the maximum number of iterations is used as the detected value of the transmitted signal, achieving a more accurate detection of the transmitted signal. Furthermore, by using a preset first memory window, effective information from previous iterations is extracted, avoiding the use of memory information from all previous iterations to calculate the image coefficients. This improves the calculation efficiency of the influence coefficients and the detection efficiency of the transmitted signal.
[0064] In one example, the linear parameters may include orthogonal vectors. The memory information includes the second symbolic mean of the output from the previous iteration. In step S102 above, a preset first memory window is used to determine valid information based on the linear parameters, and based on the valid information, data corresponding to the previous iteration number is extracted from the linear parameters and the memory information to calculate the influence coefficient of the previous iteration on the current iteration. The specific implementation process may include:
[0065] S1021. Based on the preset first memory window, determine the preset number of preceding round numbers to be obtained from the valid information.
[0066] For example, the electronic device stores a preset first memory window. The size of the preset first memory window determines a preset number of preceding iterations that need to be acquired. The electronic device can first determine this preset number based on the preset first memory window.
[0067] In one implementation, a preset first memory window includes a window size and a window selection strategy. The window size limits the number of preceding iterations to be considered in subsequent data processing. The selection strategy determines the rules for selecting all required iterations. The size of this first memory window can be denoted as τ, where τ is a pre-defined parameter.
[0068] In one implementation, the size of the first memory window can be a fixed value. For example, τ can be 3.
[0069] In one implementation, the size of the first memory window can be a dynamic value. Optionally, the electronic device can segment the number of iterations, with each stage corresponding to a different first memory window size. For example, τ can be 3 for iterations 1-10, τ can be 4 for iterations 10-50, and τ can be 5 for iterations 50-100.
[0070] S1022. For each element in the orthogonal vector, determine the sequence number of the preceding iteration round corresponding to the element with the largest absolute value in a preset number of iterations.
[0071] For example, after obtaining an orthogonal vector, the electronic device can calculate the absolute value of each element in the orthogonal vector to obtain the absolute value of each element. The electronic device can then select a preset number of elements with the largest absolute values. The electronic device can determine the previous iteration round number corresponding to each preset number of elements with the largest absolute values.
[0072] In one implementation, each element may include its index. The electronic device can obtain the indices of the elements with the largest absolute values in the orthogonal vector according to a predetermined number of such indices. The electronic device can then determine the previous iteration cycle number corresponding to that element based on the index.
[0073] Optionally, the subscript is the sequence number of the preceding iteration round.
[0074] In one implementation, the orthogonal vector p of the current iteration... t It is a vector. This vector can contain t elements. The value of t can be the same as the index of the current iteration round. Each element in the orthogonal vector can be denoted as p. t,i Where i represents the i-th element. Optionally, i can also be used to represent a subscript. Optionally, i can also be used to represent the previous iteration number corresponding to the element.
[0075] In one implementation, orthogonal vectors are a set of mutually perpendicular vectors, widely used in signal processing, mathematical computation, and other fields. Each element in an orthogonal vector represents a specific feature or direction. The absolute value of each element reflects its "magnitude" within the vector.
[0076] In one implementation, such as Figure 2 As shown, the electronic device can calculate p t The absolute value of each element in |p t,i Subsequently, the electronic device can sort the t absolute values in the orthogonal vector. Finally, the electronic device can obtain the first τ absolute values in the sorted sequence. The electronic device can then obtain the indices of these τ absolute values.
[0077] In one implementation, the sorting method can be from largest to smallest. For example, such as... Figure 2 As shown, this sorting can be |p t,5 |>|p t,2 |>|p t,3 At this point, when τ is 3, the electronic device can acquire |p. t,5 |,|p t,2 |,|p t,3 The three absolute values are used to obtain the three subscripts 5, 2, and 3.
[0078] S1023. The set consisting of a preset number of previous iteration round numbers is taken as valid information.
[0079] For example, the electronic device can use the set of multiple preceding iteration round numbers obtained in step S1022. This set of preceding iteration round numbers is the valid information.
[0080] In one implementation, the multiple subscripts can be arranged in an ordered manner within the set. For example, based on... Figure 2 The three subscripts 5, 2, and 3 obtained shown can form a set A = {2, 3, 5}.
[0081] In another implementation, the multiple subscripts can be arranged in descending order of their absolute values. For example, based on... Figure 2 The three subscripts 5, 2, and 3 obtained shown can form a set A = {5, 3, 2}. This set A is the valid information.
[0082] S1024, the sequence number of the previous iteration in the valid information.
[0083] For example, an electronic device can obtain the previous iteration round number in the set of valid information by traversing the valid information. The electronic society can use this previous iteration round number to perform the following steps S1025 and S1026 to calculate the influence coefficient.
[0084] S1025. Calculate the product of the element value in the orthogonal vector corresponding to the previous iteration number and the element value in the second symbol mean corresponding to the previous iteration number to obtain the product corresponding to the previous iteration number.
[0085] For example, the electronic device can obtain the sequence number of each preceding iteration round and determine the value of the element corresponding to that preceding iteration round sequence number in the orthogonal vector. Furthermore, the electronic device can also determine the value of the element corresponding to each preceding iteration round sequence number in the second symbolic mean. The electronic device can calculate the product of the element value in the orthogonal vector corresponding to a preceding iteration round sequence number and the element value in the second symbolic mean corresponding to that preceding iteration round sequence number.
[0086] In one implementation, the element value in the orthogonal vector corresponding to the subscript can be denoted as p. t,i The element value in the second sign mean can be denoted as x. i The product can be denoted as p. t,t x i .
[0087] S1026. Accumulate the product corresponding to the sequence number of each preceding iteration to obtain the influence coefficient.
[0088] For example, when an electronic device indexes information in a convenient and effective information section, it accumulates the product corresponding to each index to obtain an influence coefficient.
[0089] In one implementation, the accumulation operation can be performed by calculating the absolute value of the product corresponding to each index and then adding the absolute values together.
[0090] In one implementation, such as Figure 2 As shown, this formula can be written as: ∑ (i∈A) |p t,i x i | Where A is the set of valid information, and i is the sequence number of the previous iteration obtained by traversing the set of valid information. p t,i x is the value of the i-th element in an orthogonal vector. i Let i be the value of the i-th element in the mean of the second symbol.
[0091] In this example, by determining a preset number of indices based on a preset first memory window, taking the absolute value of the elements in the orthogonal vector, and selecting the indices of the preset number of elements with the largest absolute values to form valid information, then traversing the indices in the valid information and calculating the product of the element value in the orthogonal vector corresponding to each index and the element value in the second symbol mean, and finally accumulating the various products to obtain the influence coefficient, the method of accurately extracting the iterations with larger images in the previous iterations is achieved, so as to reduce the amount of computation while maintaining the accuracy of the influence coefficient.
[0092] In one example, in step S101 above, the linear parameters of the preset algorithm in the current iteration are generated based on the channel model parameters of the MIMO system and the memory information recorded during the iteration of the preset algorithm in the signal detection process. The specific process includes the following steps.
[0093] The channel model parameters of a MIMO system include at least the channel matrix, the number of receive antennas, and the number of transmit antennas.
[0094] In one implementation, the electronic device can offline estimate the characteristic coefficients and eigenvectors after acquiring the channel model parameters of the MIMO system. The characteristic coefficients and eigenvectors are mathematical quantities used to characterize key properties of the channel model. The characteristic coefficients reflect the overall transmission performance of the channel. The eigenvector can be denoted as λ. * The eigenvectors reflect the statistical characteristics of the channel power gain. The channel model parameters can be denoted as λ. t .
[0095] The specific process includes:
[0096] S1011. Based on the number of receiving antennas and the number of transmitting antennas, determine the maximum and minimum eigenvalues of the channel model of the MIMO system.
[0097] For example, the electronic device can obtain the number of receive antennas and the number of transmit antennas in the MIMO system. The electronic device can then calculate the maximum and minimum eigenvalues of the channel model based on these receive and transmit antenna numbers.
[0098] In one implementation, the maximum and minimum eigenvalues are important characteristic parameters of the channel model matrix, which can reflect the energy distribution and transmission characteristics of the channel.
[0099] In one implementation, the maximum and minimum eigenvalues are specifically represented by matrix HH. H The eigenvalues of HH. H Let H be the MIMO channel matrix and its conjugate transpose H. H The product of.
[0100] In one implementation, in a MIMO system, the number of receive antennas refers to the number of antennas used by the receiver to receive signals, while the number of transmit antennas refers to the number of antennas used by the transmitter to transmit signals.
[0101] In one implementation, the channel model is used to describe the characteristics of signal transmission between the transmitting and receiving antennas, including signal fading, interference, and other conditions.
[0102] In one implementation, the largest eigenvalue can be denoted as λ. max The smallest eigenvalue can be denoted as λ. min . λ max and λ min The calculation formula can be:
[0103]
[0104] Where M is the number of receiving antennas and N is the number of transmitting antennas.
[0105] S1012. Based on the mean of the largest and smallest eigenvalues, the characteristic coefficients are estimated offline.
[0106] For example, the electronic device estimates the characteristic coefficients offline based on the mean of the largest and smallest eigenvalues.
[0107] In one implementation, the eigenvalues can be denoted as λ. * . λ * The calculation formula can be:
[0108] λ * =[λ max +λ min ] / twenty three)
[0109] Where, λ max and λ min Matrix HH H The maximum and minimum eigenvalues.
[0110] S1013. Based on the number of transmitting antennas and the channel matrix, the eigenvector is calculated using trace operation.
[0111] For example, the electronic device can also calculate an eigenvector based on the number of transmitting antennas and the channel matrix. Specifically, this eigenvector can be obtained from the trace operation of the channel matrix.
[0112] In one implementation, the eigenvector can be denoted as λ. t . λ t The calculation formula can be:
[0113]
[0114] Where, λ t This represents the result of the channel matrix H-trace operation. λ t Let be a vector. The elements of this vector can be t. N is the number of transmit antennas. tr{·} represents the trace of the matrix. HH H Let H be the channel matrix and its conjugate transpose H H The product of.
[0115] Among them, the combination formula The calculation formula may include:
[0116]
[0117] Where i! is the factorial of i, and (ti)! is the factorial of (ti).
[0118] S1014. Based on the characteristic coefficients, characteristic vectors, channel model parameters, and memory information, generate the linear parameters of the preset algorithm in the current iteration round.
[0119] For example, the electronic device can use an initialization module to calculate the feature coefficients, feature vectors, and channel model parameters to obtain the initialization parameters for the current iteration round. Subsequently, based on these initialization parameters, the channel model parameters, and memory information, the electronic device can use a linear estimator to generate the linear parameters for the current iteration round using a preset algorithm.
[0120] In one implementation, within a MIMO system, channel model parameters are used to describe the characteristics of signal transmission between multiple transmit antennas and multiple receive antennas. These parameters characterize information such as channel gain, phase, delay, and noise. Channel model parameters are crucial for accurately simulating and predicting signal transmission processes.
[0121] In one implementation, the channel model parameters may further include noise variance. This noise variance is used in the calculation of the linear parameters in this step.
[0122] In one implementation, the initialization parameters include a first weight, a second weight, and the initial variance of the linear estimator. The electronic device can obtain the initialization parameters for the current iteration by initializing the feature coefficients, feature vectors, and channel model parameters. These initialization parameters provide the parameter basis for this iteration technique.
[0123] In one implementation, the linear parameter estimator uses intermediate parameters in calculating the linear mean vector and linear variance. The calculation of these intermediate parameters directly affects the accuracy of the linear mean vector and linear variance calculations.
[0124] In this example, the maximum and minimum eigenvalues of the MIMO system channel model are determined based on the number of receive and transmit antennas. Then, the eigenvalues are calculated based on these maximum and minimum eigenvalues. Finally, the eigenvectors are calculated by combining the number of transmit antennas and the channel matrix. Based on these eigenvalues and eigenvectors, the linear parameters of the linear estimator are calculated. This method achieves offline extraction of the eigenvalues and eigenvectors of the MIMO system, improving the efficiency of eigenvalue and eigenvector calculation and the iteration efficiency.
[0125] In one example, in step S1014 above, the linear parameters of the preset algorithm in the current iteration are generated based on the feature coefficients, feature vectors, channel model parameters, and memory information. The specific process can be as follows. The channel model parameters include at least the noise variance.
[0126] The process includes:
[0127] S10141. The initialization module calculates the characteristic coefficients, characteristic vectors, and channel model parameters to obtain the initialization parameters for the current iteration round.
[0128] For example, the electronic device can use the pre-calculated feature coefficients and feature vectors, combined with the channel model parameters, to calculate the initial parameters of the preset algorithm for the current iteration round in each iteration round.
[0129] In one implementation, the channel model parameters may include the received signal, the number of transmit antennas, the number of receive antennas, and the noise variance. The received signal can be denoted as y. The number of transmit antennas can be denoted as M, and the number of receive antennas can be denoted as N. The noise variance can be denoted as...
[0130] In one implementation, the initial parameters may include a first weight, a second weight, and an initial variance. The first weight can be denoted as w. t The second weight can be denoted as... The initial variance can be denoted as
[0131] In one implementation, the formula for calculating the first weight w can be:
[0132] w t =λ * b t -b t+1 (6)
[0133] Among them, w t Let w be the first weight in the t-th iteration. t is the iteration number. t Let λ be a vector whose data length can be t. * is the characteristic coefficient. tb represents the parameters related to the matrix channel eigenvalues obtained during the t-th iteration. t+1 To estimate the relevant parameters of the channel matrix H in the (t+1)th iteration.
[0134] In one implementation, b i The calculation formula can be:
[0135]
[0136] Among them, b t These are the relevant parameters of the channel matrix obtained in the t-th iteration. t is the sequence number of the current iteration. i is the sequence number during the accumulation process. This is the formula for combinations. (-1) i λ is the sign of the i-th value during accumulation. t,i The eigenvector λ is calculated based on the channel matrix H. t The i-th value in.
[0137] In one implementation, the second weight The calculation formula can be:
[0138]
[0139] in, This is the second weight. The second weight can be a feature matrix. The elements of this feature matrix can be t×t, where 0≤i,j≤t-1, and i+j≤t-1.
[0140] In one implementation, the formula for calculating the initial variance of the nonlinear estimator required in the MAMP algorithm is as follows:
[0141]
[0142] in, Let be the initial variance of the nonlinear estimator. Let y be the received signal. H Let y be the conjugate transpose of the received signal y. δ is the ratio of the number of receive antennas to the number of transmit antennas in the MIMO system. Here, w represents the noise variance. N is the number of transmit antennas. w0 is the first weight w t The value at index 0 in a vector.
[0143] In this example, by offline estimation of characteristic coefficients and eigenvectors based on the MIMO system channel model parameters, and by combining these with the channel model parameters to calculate the initial parameters of the current iteration round of the preset algorithm, the work of calculating characteristic coefficients and eigenvectors in advance based on the channel model parameters is realized, which reduces the amount of computation in the iteration process and improves the efficiency of the iteration calculation.
[0144] S10142. Based on the channel model parameters, memory information, and initialization parameters, generate the linear parameters of the preset algorithm in the current iteration round.
[0145] For example, the electronic device can call the preset formula in the linear estimator based on the initialization parameters calculated in step S1012 to calculate the multiple linear parameters required for calculating the linear mean vector and linear variance in the linear estimator.
[0146] In one implementation, the linear parameter may include a relaxation parameter θ, a weight parameter ξ, an orthogonal vector p, a normalization parameter ε, and a contribution parameter. Auxiliary parameters c0, c1, c2, c3, etc.
[0147] In one implementation, the relaxation parameter θ is calculated using the following formula:
[0148]
[0149] Where, θ t Let λ be the relaxation parameter for the t-th iteration. t is the iteration number of the current iteration. * λ is the characteristic coefficient. * The calculation formula can be shown in formula (3). This represents the noise variance. This is the expected variance of the output of the nonlinear estimator 203 for the next iteration at the (t-1)th iteration.
[0150] In one implementation, the formula for calculating the weight parameter ξ is:
[0151] ξ t =(c2c0+c3) / (c1c0+c2) (11)
[0152] Where, ξ t Let c be the weight parameters for the t-th iteration. c0, c1, c2, and c3 are auxiliary parameters used internally by the linear estimator to assist in calculations.
[0153] In one implementation, the weight parameter is prone to instability during iteration, leading to very large values. Therefore, this application uses a preset range to limit the weight parameter. For example, the preset range can be between [-30, +30]. Optionally, the preset range can be a range where experiments verify that the impact on algorithm performance is less than a preset threshold.
[0154] In one implementation, the formula for calculating the orthogonal vector p can be:
[0155]
[0156] Where, p t,iLet be the i-th value in the orthogonal vectors of the t-th iteration. w is the i-th value among the contribution parameters in the t-th iteration. t-i The first weight w t The ti-th value in the equation.
[0157] In one implementation, the formula for calculating the normalization parameter ε can be:
[0158]
[0159] Where ε is the normalization parameter. t,i Let be the i-th value in the orthogonal vectors of the t-th iteration.
[0160] In one implementation, contribution parameters The calculation formula is:
[0161]
[0162] in, ξ is the i-th value among the contribution parameters in the t-th iteration. t Let be the weight parameters for the t-th iteration. And, ξ i Let θ be the weight parameter for the i-th iteration. j Let be the relaxation parameter for the j-th iteration.
[0163] In one implementation, the calculation formulas for the four auxiliary parameters c0, c1, c2, and c3 can be as follows:
[0164]
[0165] Among them, in the auxiliary parameter c0, p t,i Let be the i-th value in the orthogonal vector of the t-th iteration. w0 is the value at index 0 in the vector of the first weight w. In the auxiliary parameter c1, This represents the noise variance. Let be the value at position (t,t) in the second covariance matrix of the memory information in the t-th iteration. This is the value corresponding to the (0,0) position in the matrix with the second weight. Let be the value corresponding to position (i,j) in the second covariance matrix of the memory information in the t-th iteration. w is the i-th value among the contribution parameters in the t-th iteration. t-i The first weight w t In the context, the ti-th value. Let be the value corresponding to position (t, i) in the second covariance matrix of the memory information in the t-th iteration. To obtain The real part. Second weight The value corresponding to the position (0, ti) in the matrix. In the auxiliary parameter c3, This is the j-th value among the contribution parameters in the t-th iteration. 2t-i-j The first weight w t The value at the position with index 2t-ij in the vector. Second weight The value corresponding to the position (ti, tj) in the matrix.
[0166] In this example, initial parameters are obtained by initializing the channel model parameters of the MIMO system. Then, by combining the channel model parameters, memory information, and initial parameters, linear parameters are generated. This provides accurate starting parameters for the iterative calculation of the preset algorithm and generates reasonable linear parameters, thereby improving the algorithm's calculation accuracy and convergence.
[0167] In one example, if the current iteration number is greater than the preset number of iterations, the electronic device can also use a preset second memory window to optimize the calculation process of auxiliary parameters, thereby improving the calculation efficiency of auxiliary parameters.
[0168] In one implementation, the linear parameter may include a contribution parameter and multiple auxiliary parameters. The contribution parameter is used to calculate the auxiliary parameters.
[0169] In one implementation, when the current iteration number is greater than a preset iteration number, the electronic device can use a second memory window to process the second covariance matrix in the memory information and select a portion of the data for the calculation of auxiliary parameters c2 and c3. This specific process can be illustrated by steps S10121 to S10213. However, when the current iteration number is less than or equal to the preset iteration number, the electronic device can use the above formulas (8) and (9) to calculate the auxiliary parameters c2 and c3. The memory information includes the damped second covariance matrix output from the previous iteration.
[0170] The specific process may include:
[0171] S101421. Based on the channel model parameters, memory information, and initial parameters, the contribution parameters are calculated.
[0172] For example, the electronic device calculates the contribution parameter based on the channel model parameters, memory information, and initial parameters through specific computational logic. The specific calculation formula for this contribution parameter can be shown in formula (14).
[0173] S101422. Use the preset second memory window to extract the effective element values from the second covariance matrix.
[0174] For example, when calculating auxiliary parameters, the electronic device needs to use the second covariance matrix in the memory information. Therefore, the electronic device can use a preset second memory window to process the second covariance matrix and extract the valid element values.
[0175] In one implementation, when the second covariance matrix is extracted without using a preset second memory window, the calculation formula for the auxiliary parameter can be as shown in formulas (17) and (18).
[0176] In formula (17), the electronic device uses the t-th element value in the (t+1)-th row of the second covariance matrix to calculate the accumulated value t times, and then performs the accumulation. The accumulated value in this example is... Partial values.
[0177] In formula (18), the electronic device uses each value in the second covariance matrix to calculate and accumulate the accumulated value t*t times. The accumulated value in this example is... Partial values.
[0178] In one implementation, the index of a valid element value is greater than or equal to the difference between the current iteration number and the preset iteration number.
[0179] That is, the electronic device can directly omit the element values in the second covariance matrix whose indices are less than the difference between the current iteration number and the preset iteration number. Discarding these element values can reduce the number of times the accumulated value is calculated and reduce the amount of accumulated data.
[0180] Furthermore, the selection process for valid element values controls the number of valid element values, making the number of valid element values directly related to the preset number of iterations, rather than increasing with the number of iterations. This ensures a stable amount of computation during the iteration process, thereby improving iteration efficiency.
[0181] In one implementation, when extracting the second covariance matrix using a preset second memory window, the calculation formula for the auxiliary parameter can be as shown in formulas (19) and (20).
[0182] In formula (19), the electronic device uses the (t-η) to (t-1)th element values in the (t+1)th row of the second covariance matrix to calculate and accumulate the (η-1)th cumulative value. The accumulated value in this example is... Partial values.
[0183] In formula (20), the electronic device uses i and j from t-η in the second covariance matrix to achieve (η-1). 2 The accumulated value is calculated and summed. The accumulated value in this example is... Partial values.
[0184] S10123. Using the effective element values, contribution parameters, channel model parameters, and initial parameters, the auxiliary parameters are calculated.
[0185] For example, the electronic device uses valid element values, contribution parameters, channel model parameters, and initial parameters to calculate auxiliary parameters through a specific calculation method.
[0186] If the current iteration number is greater than η, the calculation of c2 can be simplified to the following formula:
[0187]
[0188] If the current iteration number is greater than η, the calculation of c3 can be simplified to the following formula:
[0189]
[0190] Where η is the preset iteration number. For example, η can be a natural number such as 3, 4, or 5.
[0191] The setting of η enables the optimization of the calculation of auxiliary parameters c2 and c3 using the first memory window. That is, the electronic device can reduce the second covariance matrix based on a preset number of iterations η. The amount of data used for calculating auxiliary parameters c2 and c3 is reduced, thereby improving the calculation efficiency of auxiliary parameters c3 and c3.
[0192] For example, in the calculation of the auxiliary parameter c2, formula (17) needs to be based on the second covariance matrix. The t-th element in the (t+1)th row is used to calculate the accumulated value t times, and then the sum is accumulated. After optimization based on the preset iteration number η, the electronic device can be based on the second covariance matrix. The values of the (t-η)th to (t-1)th elements in the (t+1)th row are used to calculate and accumulate the summation η-1 times. This reduces the number of calculations required for the accumulated value. The accumulated value in this example is... Partial values.
[0193] For example, in the calculation of the auxiliary parameter c3, formula (18) needs to be based on the second covariance matrix. Each value in the matrix is used to calculate and accumulate t*t cumulative values. After optimization based on a preset number of iterations η, the electronic device can then optimize based on the second covariance matrix. Given i and j starting from t-η, implement (η-1). 2 The cumulative value is calculated and accumulated. This reduces the number of calculations required for the cumulative value. The cumulative value in this example is... Partial values.
[0194] In this example, by using a preset second memory window to extract effective element values from the second covariance matrix in the memory information, and combining the effective element values with the channel model parameters and initial parameters to calculate auxiliary parameters, the computational workload of auxiliary parameters is reduced, the computational efficiency of auxiliary parameters is improved, and the computational efficiency of this iteration is improved.
[0195] In one example, in step S103 above, the posterior mean and posterior variance of the estimated channel are iteratively calculated based on the linear parameters and influence coefficients. This process may include:
[0196] S1031. Based on the linear parameters and influence coefficients, determine the linear mean vector and linear variance of the estimated channel in the current iteration round.
[0197] For example, the electronic device can first calculate the linear mean vector and linear variance of the estimated channel in the current iteration round by using a linear estimator of a preset model based on the linear parameters and influence coefficients.
[0198] In one implementation, the linear mean vector describes the average trend of the estimated channel across all possible values in the current iteration round. The linear mean vector is in vector form.
[0199] In one implementation, the linear variance reflects the dispersion of the estimated channel values. The elements in the linear variance represent the variance relationship between different values.
[0200] In one implementation, the linear mean vector can be denoted as r. t The linear variance can be denoted as...
[0201] In one implementation, the formula for the linear mean vector is:
[0202]
[0203] Where, r t ε is the linear mean vector of the estimated channel in the current iteration round. ε is the normalization parameter. Let be the first intermediate variable in the t-th iteration. ∑ i∈A p t,i x i This is the influence parameter of the estimated channel mean in the current iteration round. In this influence parameter, x... i p is the value of the i-th element in the mean of the second symbol. t,i Let be the i-th value in the orthogonal vectors of the t-th iteration. Let A be the set of valid information.
[0204] In one implementation, the formula for linear variance is:
[0205]
[0206] in, ξ represents the linear variance of the estimated channel in the current iteration round. ε is the normalization parameter. c1, c2, and c3 are auxiliary parameters used internally by the linear estimator to assist in calculations. t Let be the weight parameters for the t-th iteration.
[0207] In one implementation, the first intermediate variable The calculation formula can be:
[0208]
[0209] in, Let u be the first intermediate variable in the t-th iteration. t H is the second intermediate variable in the t-th iteration. H It is the conjugate transpose of the channel matrix H.
[0210] In one implementation, the second intermediate variable u t The formula can be:
[0211]
[0212] Among them, u t θ is the second intermediate variable in the t-th iteration. t Let λ be the relaxation parameter for the t-th iteration. * These are the characteristic coefficients. and u t-1 Let ξ be the first and second intermediate variables in the (t-1)th iteration. t Let be the weight parameters for the t-th iteration. Let y be the received signal. Let H be the channel matrix. t Let be the mean of the second symbol in the memory information of the t-th iteration.
[0213] S1032. Based on the linear mean vector and linear variance, the posterior mean and posterior variance of the estimated channel are expected to be obtained in the next iteration.
[0214] For example, the electronic device uses a nonlinear estimator to calculate the posterior mean and posterior variance of the estimated channel for the next iteration based on the linear mean vector and the linear variance.
[0215] In one implementation, the posterior mean is the average expectation of the value of the estimated channel after considering new observation information.
[0216] In one implementation, the posterior variance reflects the degree of dispersion of the expected channel value after considering new observation information.
[0217] In one implementation, the posterior mean can be denoted as... The calculation formula is as follows:
[0218]
[0219] in, Let be the posterior mean. Let x be the actual transmitted signal. r t It is the linear mean vector of the channel estimated in the current iteration round. The linear variance of the channel estimated in the current iteration round. This indicates that in the current iteration round t, the linear mean vector of the estimated channel is r. t And the linear variance of the estimated channel is Under the given conditions, the expected value of the transmitted signal is calculated.
[0220] In one implementation, the posterior variance can be denoted as... The calculation formula is as follows:
[0221]
[0222] in, Let be the posterior variance. Let x be the actual transmitted signal. r t It is the linear mean vector of the channel estimated in the current iteration round. The linear variance of the channel estimated in the current iteration round. This indicates that in the current iteration round t, the linear mean vector of the estimated channel is r. t And the linear variance of the estimated channel is Under the given conditions, the expected value of the transmitted signal is calculated. It represents the square of the expected value of the transmitted signal under given conditions.
[0223] In this example, the linear mean vector and linear variance of the channel being estimated in the current iteration are determined based on linear parameters and influence coefficients. Then, the posterior mean and posterior variance of the channel being estimated in the next iteration are predicted accordingly. This method achieves gradual optimization of the output signal during the iteration process of the preset algorithm, providing more accurate parameters for the signal detection algorithm and improving the detection effect.
[0224] In one example, before reaching the maximum number of iterations, after each calculation of the posterior mean and posterior variance, the electronic device also needs to calculate the first symbolic mean and the first covariance matrix using a nonlinear estimator. Furthermore, based on this first symbolic mean and the first covariance matrix, the electronic device can also estimate the second symbolic mean and the second covariance matrix using the damping module of the preset algorithm. In the next iteration, the electronic device can apply this second symbolic mean and the second covariance matrix to the linear estimator of the preset algorithm to optimize the linear estimator. This process may include:
[0225] S1033. Determine the first symbolic mean and the first covariance matrix based on the posterior mean and posterior variance.
[0226] For example, after calculating the posterior mean and posterior variance, the electronic device can use a nonlinear estimator to calculate the first symbolic mean and the first covariance matrix based on the posterior mean and posterior variance.
[0227] In one implementation, the first sign mean represents the weighted average of the expected values of the sign estimates. This first sign mean can be denoted as... The calculation formula is as follows:
[0228]
[0229] in, Let be the second mean vector expected for the next iteration, calculated in the current iteration. Let be the posterior variance of the expected next iteration calculated in the current iteration. This represents the variance of the estimated channel in the current iteration. Let r be the posterior mean of the expected next iteration calculated in the current iteration. t It is the linear mean vector of the estimated channel in the current iteration.
[0230] In one implementation, the first covariance matrix characterizes the correlation between the symbol estimates. This first covariance matrix can be denoted as... The first covariance matrix The formula for calculating each element in the matrix can be:
[0231]
[0232] in, It is the undamped covariance matrix. The size is (t+1)×(t+1). Let be the value at position (t,t) in the (t+1)×(t+1) covariance matrix. Let t' be the first t data points in the (t+1)×(t+1)×covariance matrix, where t' represents the value from 0 to t-1. for Take the conjugate value. This represents the first t data points in the (t+1)th column of the covariance matrix. Therefore, and The data in the (t+1)×(t+1)×covariance matrix can be used to construct the (t+1)th row and (t+1)th column of the covariance matrix. The covariance matrix... The remaining elements and same. This is the covariance matrix output by the nonlinear estimator in the previous iteration. δ is the ratio of the number of receive antennas to the number of transmit antennas in the MIMO system. Here, w represents the noise variance. N is the number of transmit antennas. w0 is the first weight w t In a vector, the value at index 0. t+1 It is the (t+1)th value of the residual vector. For z t+1 The conjugate transpose of . These are the first t data points of the residual vector.
[0233] In one implementation, z t+1 Calculation formula The calculation formulas are as follows:
[0234]
[0235] Where y is the received signal and H is the channel matrix. It is the undamped sign mean. x t′ t represents the first t values in the received signal. t′ can represent values from 0 to t-1.
[0236] In one implementation, the electronic device can record the residual in memory.
[0237] S1034. The first symbol mean and the first covariance matrix are processed using the damping matrix to obtain the second symbol mean and the second covariance matrix.
[0238] For example, after calculating the first symbol mean and the first covariance matrix, the electronic device can input these two matrices into a damping module of a preset algorithm. The electronic device can then output a second symbol mean and a second covariance matrix through this damping module. This damping module specifically implements the process of processing the first symbol mean and the first covariance matrix using a damping matrix. The use of this damping module, by introducing controllable parameterization, balances the convergence and stability of the iterative process, thereby improving the robustness of the algorithm in complex channel or noisy environments.
[0239] In one implementation, the mean of the second sign can be denoted as x. t+1 The calculation formula can be:
[0240]
[0241] Where, x t+1 This is the expected third mean vector for the next iteration. t-1 x is the third mean vector from the previous iteration. t This is the third mean vector in this iteration. The second mean vector without damping treatment This is the damping vector. The magnitude of this damping vector is 1×3.
[0242] In one implementation, the damping vector The formula is:
[0243]
[0244] in, For matrix The submatrix consists of the (t+1), (t), and (t-1)th rows and the (t+1), (t), and (t-1)th columns. 1 represents a vector consisting entirely of 1s.
[0245] In one implementation, the electronic device can calculate the optimal damping factor ζ by performing a single 2×2 small matrix inversion operation.
[0246] In one implementation, the second covariance matrix can be denoted as... The second covariance matrix The update formulas for the (t+1)th row and (t+1)th column are:
[0247]
[0248] Wherein, the second covariance matrix The size is (t+1)×(t+1). The second covariance matrix In the vector, the value at position (t, t). 1 represents a vector consisting entirely of 1s. is the damping vector. The second covariance matrix In the text, the value of column t+1. The second covariance matrix In the diagram, the value of row t+1 is given. Here, k ranges from 0 to t-1. for Take the conjugate value. t is the value of the t-th column in the first covariance matrix. This represents the value of the (t+1)th column in the first covariance matrix. This is the transpose of the damping vector.
[0249] In this example, by determining the first symbolic mean and the first covariance matrix based on the posterior mean and the posterior variance, and then processing them with the damping matrix to obtain the second symbolic mean and the second covariance matrix, the preset algorithm can optimize the linear estimator based on the calculated second symbolic mean and the second covariance matrix, thereby improving the accuracy and reliability of the prediction results.
[0250] Figure 3 A flowchart illustrating a signal detection method for a large-scale MIMO system according to an embodiment of this application is shown. Figure 1 and Figure 2 Based on the illustrated embodiments, as Figure 3 The diagram illustrates the flow of an implementation example. It may include the following steps:
[0251] S301. The electronic device can obtain the channel model parameters of the MIMO system. The channel model parameters of the MIMO system may include the received signal, the MIMO channel matrix, and the noise variance.
[0252] S302. The electronic device can calculate the two weight parameters required in the MAMP algorithm and the initial variance of the nonlinear estimator based on the received signal, the MIMO channel matrix, and the noise variance. These two weight parameters are the first weight and the second weight. These two weight parameters and the initial variance of the nonlinear estimator constitute the initial parameters.
[0253] S303. The electronic device can calculate the linear estimator based on two system parameters and the initial variance of the nonlinear estimator, and finally calculate the linear mean vector and linear variance of the estimated channel output by the linear estimator in the current iteration round.
[0254] In one implementation, during the calculation of the linear estimator, the electronic device can calculate the influence coefficients of the memory from previous iterations on the linear mean vector and linear variance of the channel being estimated in the current iteration, based on a pre-set first memory window length. Based on these influence coefficients, the electronic device can calculate a more accurate linear mean vector and linear variance.
[0255] S304. The electronic device can perform Gaussian denoising calculation based on the linear mean vector and linear variance calculated by the linear estimator to obtain the posterior mean and variance of the estimated channel.
[0256] S305. The electronic device can calculate the first symbolic mean and the first covariance matrix of the nonlinear estimator output based on the posterior mean and variance of the estimated channel.
[0257] S306. The electronic device can calculate the second symbolic mean and second covariance matrix of the linear estimator output based on the first symbolic mean and first covariance matrix of the nonlinear estimator output. This second symbolic mean and second covariance matrix will be used to optimize the linear estimator.
[0258] S307. The electronic device may use the posterior mean of the symbol reaching the maximum number of times as the detection value of the transmitted signal.
[0259] In this example, by introducing a "first memory window" during the estimation of the linear mean vector and linear variance using the linear estimator in the MAMP algorithm, the calculation of the linear mean vector and linear variance is simplified, the computational efficiency of the linear estimator is improved, and the complexity is reduced.
[0260] Figure 4 A schematic diagram of the module interaction of the signal detection system of a large-scale MIMO system according to an embodiment of this application is shown. Figure 5 The diagram shows the computational logic of the signal detection system of a large-scale MIMO system according to an embodiment of this application.
[0261] For example, such as Figure 4 As shown, the MAMP algorithm for the signal detection system of a large-scale MIMO system can be calculated through an initialization module, a linear estimator, a nonlinear estimator, and a damping module.
[0262] The initialization module can acquire the received signal y and the channel matrix H from the external input. The initialization module can also output the initial variance of the nonlinear estimator. This refers to the two weight parameters required in the MAMP algorithm. These two weight parameters can be denoted as the first weight w and the second weight w, respectively.
[0263] In the initialization module, the received signal y can first be obtained by calculating its conjugate transpose.H As shown in formula (9), the received signal y and its conjugate transpose y can then be calculated. H The product of these two factors yields the signal energy y. H Based on the number of transmitting antennas N, the average energy per transmitting antenna can be calculated. The average energy of each transmitting antenna Subtract channel estimation error It allows for more accurate energy measurements from each transmitting antenna. Dividing this energy by the first element of the first weights yields the initial variance of the final nonlinear estimator. The initial variance of this nonlinear estimator can be denoted as:
[0264] Among these components, the linear estimator is the most computationally intensive module in this application. This linear estimator can be based on the initial variance output by the initialization module. First weight w and second weight The linear mean vector r of the estimated channel in the current iteration round is calculated. t And the linear variance of the channel estimated in the current iteration round.
[0265] The intermediate variable calculation module in the linear estimator can preferentially obtain this initial variance. This intermediate variable calculation module can calculate contribution parameters. Contribution parameters read from the cache This intermediate variable can also be used to obtain the second covariance matrix generated in the previous iteration.
[0266] The intermediate variable calculation module can be based on this initial variance. Second covariance matrix and contribution parameters New contribution parameters are calculated. Orthogonal vector p, relaxation parameter θ, weight parameter ξ, normalization parameter ε, auxiliary parameters c0, c1, c2, c3.
[0267] This intermediate variable calculation module can calculate new contribution parameters. Write contribution parameters The intermediate variable calculation module can also input the relaxation parameter θ and weight parameter ξ into the intermediate variable calculation module u. The intermediate variable calculation module can also input the normalization parameter ε into the intermediate variable calculation module r. The intermediate variable calculation module can also input the weight parameter ξ, normalization parameter ε, and auxiliary parameters c1, c2, and c3 into the intermediate variable calculation module. Calculation module.
[0268] The linear estimator The calculation module can calculate the linear variance based on the input weight parameter ξ, normalization parameter ε, and auxiliary parameters c1, c2, and c3.
[0269] The u-computation module of this linear estimator, in addition to obtaining the relaxation parameters θ and weight parameters ξ from the intermediate variable calculation module, can also obtain the received signal y, channel matrix H, and eigenvalues λ from the algorithm input. * The second symbolic mean x from the previous iteration, retrieved from the x cache. t ,from The first intermediate variable from the previous iteration retrieved from the cache. The second intermediate variable u from the previous iteration, retrieved from the u cache. t-1 The u calculation module can ultimately calculate the second intermediate variable u for this iteration. t The u calculation module can calculate the second intermediate variable u. t Write it into the u cache. Also, the u calculation module can use this second intermediate variable u. t Send to the matched filter module.
[0270] The matched filtering module of the linear estimator can calculate the second intermediate variable u output by the u calculation module. t And the channel matrix H, the first intermediate variable is obtained by filtering. The matched filter module can also process the calculated first intermediate variable. Input to The caching module stores the data. Additionally, the matched filtering module can also store the calculated first intermediate variable. Output to the r calculation module.
[0271] The r calculation module of the linear estimator can be based on the normalized parameter ε input from the intermediate variable calculation module and the first intermediate variable input from the matched filter module. According to the second sign mean x t The influence coefficient is calculated from the orthogonal vector p, and the linear mean vector r is calculated from the linear mean vector r. t .
[0272] This linear estimator can... The calculation module calculates the linear variance. The r calculation module calculates the linear mean vector r. t The input is fed into the nonlinear estimator.
[0273] in, Cache, u-cachrystal The use of caching and x-caching can avoid redundant calculations and improve the efficiency of data utilization.
[0274] Nonlinear estimators can measure the linear variance of the output of linear estimators. and the linear mean vector r t Filtering is performed to obtain the posterior mean. and posterior variance Furthermore, based on this posterior mean and posterior variance The nonlinear estimator can calculate the first sign mean. and the first covariance matrix
[0275] The damping module can be based on the first symbolic mean of the nonlinear estimator output. and the first covariance matrix The second symbolic mean x is calculated. t+1 Second covariance matrix Wherein, the second sign mean x t+1 It can be stored in the x cache. The second covariance matrix. It can be used as an intermediate variable calculation module for linear estimators.
[0276] Accordingly, please refer to Figure 6 This application provides a signal detection device for a massive MIMO system. The signal detection device 600 includes:
[0277] The first processing module 601 is used to generate the linear parameters of the preset algorithm in the current iteration round based on the channel model parameters of the MIMO system and the memory information recorded during the iteration of the preset algorithm in the signal detection process.
[0278] The second processing module 602 is used to determine effective information based on the linear parameters using a preset first memory window; and to extract data corresponding to the previous iteration round number from the linear parameters and the memory information based on the effective information, and to calculate the influence coefficient of the previous iteration round on the current iteration round.
[0279] The third processing module 603 is used to iteratively calculate the posterior mean and posterior variance of each channel in the MIMO system as the estimated channel based on the linear parameters and the influence coefficients, and update the memory information; and determine the detection value of the transmitted signal of the MIMO system based on the posterior mean when the maximum number of iterations is reached.
[0280] In one example, the linear parameters include orthogonal vectors; the second processing module 602 is used for:
[0281] Based on the preset first memory window, determine the preset number of preceding round numbers that need to be obtained from the valid information;
[0282] For each element in the orthogonal vector, determine the previous iteration round number corresponding to the preset number of elements with the largest absolute value;
[0283] The set consisting of the preset number of the previous iteration round numbers is taken as the valid information.
[0284] In one example, the memory information includes the damped second symbol mean output from the previous iteration; the second processing module 602 is used for:
[0285] Iterate through the previous iteration round numbers in the valid information;
[0286] Calculate the product of the element value in the orthogonal vector corresponding to each preceding iteration round number and the element value in the second symbol mean corresponding to the preceding iteration round number to obtain the product corresponding to the preceding iteration round number;
[0287] The influence coefficient is obtained by summing the products corresponding to the sequence numbers of each preceding iteration.
[0288] In one example, the channel model parameters of the MIMO system include at least the channel matrix, noise variance, number of receive antennas, and number of transmit antennas; the first processing module 601 is used for:
[0289] Based on the number of receiving antennas and the number of transmitting antennas, determine the maximum and minimum eigenvalues of the channel model of the MIMO system;
[0290] The feature coefficients are estimated offline based on the mean of the largest and smallest eigenvalues.
[0291] The feature vector is calculated using trace operation based on the number of transmitting antennas and the channel matrix.
[0292] Based on the characteristic coefficients, the characteristic vectors, the channel model parameters, and the memory information, the linear parameters of the preset algorithm in the current iteration round are generated.
[0293] In one example, the linear parameters include contribution parameters and multiple auxiliary parameters; the memory information includes the second covariance matrix output from the previous iteration.
[0294] If the current iteration round is greater than the preset iteration number, based on the channel model parameters, the memory information, and the initial parameters, the first processing module 601 is configured to:
[0295] The contribution parameters are calculated based on the channel model parameters, the memory information, and the initial parameters.
[0296] The effective element values are extracted from the second covariance matrix using a preset second memory window;
[0297] The auxiliary parameters are calculated using the effective element values, the contribution parameters, the channel model parameters, and the initial parameters.
[0298] In one example, the third processing module 603 is used for:
[0299] Based on the linear parameters and the influence coefficients, a linear estimator is used to determine the linear mean vector and linear variance of the estimated channel in the current iteration round.
[0300] Based on the linear mean vector and the linear variance, the posterior mean and posterior variance of the estimated channel are expected to be obtained in the next iteration.
[0301] The memory information is updated using the posterior mean and the posterior variance.
[0302] In one example, the third processing module 603 is used for:
[0303] Based on the posterior mean and posterior variance, a nonlinear estimator is used to determine the first signed mean and the first covariance matrix;
[0304] The first symbol mean and the first covariance matrix are processed using a damping matrix to obtain a damped second symbol mean and a second covariance matrix.
[0305] The memory information is updated using the first symbol mean, the first covariance matrix, the second symbol mean, and the second covariance matrix.
[0306] In this embodiment, the signal detection device of the large-scale MIMO system is presented in the form of a functional unit. Here, a unit refers to an application-specific integrated circuit (ASIC) circuit, a processor and memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.
[0307] Please see Figure 7 , Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 7As shown, the electronic device includes one or more processors 701, a memory 702, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple electronic devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 7 Take the 701 processor as an example.
[0308] Processor 701 may be a central processing unit, a network processor, or a combination thereof. Processor 701 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GPA), or any combination thereof.
[0309] The memory 702 stores instructions executable by at least one processor 701 to cause the at least one processor 701 to perform the method shown in the above embodiments.
[0310] The memory 702 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the electronic device. Furthermore, the memory 702 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 702 may optionally include memory remotely located relative to the processor 701, and these remote memories can be connected to the electronic device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0311] The memory 702 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 702 may also include a combination of the above types of memory.
[0312] The electronic device also includes a communication interface 703 for communicating with the input antenna and the output antenna to control the input antenna and the output antenna.
[0313] This application also provides a computer-readable storage medium. The methods described in this application can be implemented in hardware or firmware, or implemented as recordable on a storage medium, or implemented as computer code downloaded over a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and subsequently stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code. When the software or computer code is accessed and executed by the computer, processor, or hardware, the methods shown in the above embodiments are implemented.
[0314] This application provides a computer program product including computer instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the electronic device to perform the method of any embodiment of this application.
[0315] Although embodiments of this application have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of this application, and all such modifications and variations fall within the scope defined by the appended claims.
[0316] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.
[0317] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.
[0318] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0319] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0320] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0321] It is understood that in the specific implementation of this application, data such as user information, location information, and navigation data are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0322] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0323] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.
[0324] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0325] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0326] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0327] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0328] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0329] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.
[0330] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
[0331] Although embodiments of this application have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of this application, and such modifications and variations all fall within the scope defined by the appended claims.
Claims
1. A signal detection method for a large-scale MIMO system, characterized in that, The method includes: Based on the channel model parameters of the MIMO system and the memory information recorded during the iteration of the preset algorithm in the signal detection process, the linear parameters of the preset algorithm in the current iteration round are generated. Using a preset first memory window, valid information is determined based on the linear parameters; and based on the valid information, data corresponding to the previous iteration round number is extracted from the linear parameters and the memory information, and the influence coefficient of the previous iteration round on the current iteration round is calculated. Based on the linear parameter and the influence coefficient, the posterior mean and posterior variance of each channel in the MIMO system as the estimated channel are calculated iteratively, and the memory information is updated; based on the posterior mean when the maximum number of iterations is reached, the detection value of the transmitted signal of the MIMO system is determined.
2. The method according to claim 1, characterized in that, The linear parameters include orthogonal vectors; using a preset first memory window, valid information is determined based on the linear parameters, including: Based on the preset first memory window, determine the preset number of preceding round numbers that need to be obtained from the valid information; For each element in the orthogonal vector, determine the previous iteration round number corresponding to the preset number of elements with the largest absolute value; The set consisting of the preset number of the previous iteration round numbers is taken as the valid information.
3. The method according to claim 2, characterized in that, The memory information includes the damped second symbol mean of the output from the previous iteration; based on the valid information, data corresponding to the previous iteration number are extracted from the linear parameters and the memory information, and the influence coefficient of the previous iteration on the current iteration is calculated, including: Iterate through the previous iteration round numbers in the valid information; Calculate the product of the element value in the orthogonal vector corresponding to each previous iteration round number and the element value in the second symbol mean corresponding to the previous iteration round number to obtain the product corresponding to the previous iteration round number; The influence coefficient is obtained by summing the products corresponding to the sequence numbers of each preceding iteration.
4. The method according to any one of claims 1-3, characterized in that, The channel model parameters of the MIMO system include at least the channel matrix, the number of receive antennas, and the number of transmit antennas. Based on the channel model parameters of the MIMO system and the memory information recorded during the iteration of the preset algorithm in the signal detection process, the linear parameters of the preset algorithm in the current iteration round are generated, including: Based on the number of receiving antennas and the number of transmitting antennas, determine the maximum and minimum eigenvalues of the channel model of the MIMO system; The feature coefficients are estimated offline based on the mean of the largest and smallest eigenvalues. Based on the number of transmitting antennas and the channel matrix, a feature vector is calculated using trace operation. Based on the characteristic coefficients, the characteristic vectors, the channel model parameters, and the memory information, the linear parameters of the preset algorithm in the current iteration round are generated.
5. The method according to any one of claims 1-3, characterized in that, The linear parameters include contribution parameters and multiple auxiliary parameters; the memory information includes the damped second covariance matrix output from the previous iteration. If the current iteration number is greater than the preset iteration number, the linear parameters of the preset algorithm in the current iteration number are generated based on the feature coefficients, the feature vector, the channel model parameters, and the memory information, and the method further includes: The contribution parameters are calculated based on the channel model parameters, the memory information, and the initial parameters. The effective element values are extracted from the second covariance matrix using a preset second memory window; The auxiliary parameters are calculated using the effective element values, the contribution parameters, the channel model parameters, and the initial parameters.
6. The method according to any one of claims 1-3, characterized in that, Based on the linear parameters and the influence coefficients, the posterior mean and posterior variance of the estimated channel are iteratively calculated, and the memory information is updated, including: Based on the linear parameters and the influence coefficients, a linear estimator is used to determine the linear mean vector and linear variance of the estimated channel in the current iteration round. Based on the linear mean vector and the linear variance, the posterior mean and posterior variance of the estimated channel are expected to be obtained in the next iteration. The memory information is updated using the posterior mean and the posterior variance.
7. The method according to claim 6, characterized in that, Before reaching the maximum number of iterations, the method further includes: Based on the posterior mean and posterior variance, a nonlinear estimator is used to determine the first signed mean and the first covariance matrix; The first symbol mean and the first covariance matrix are processed using a damping matrix to obtain a damped second symbol mean and a second covariance matrix. The memory information is updated using the first symbol mean, the first covariance matrix, the second symbol mean, and the second covariance matrix.
8. An electronic device, characterized in that, include: A memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, the processor executing the computer instructions to perform the method of any one of claims 1 to 7.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to perform the method of any one of claims 1 to 7.
10. A computer program product, characterized in that, Includes computer instructions for causing a computer to perform the method of any one of claims 1 to 7.