Background
With the rapid development of 3G technology, data services are also widely popularized, and the data volume and power of a single user are also continuously enhanced, so that the inter-user interference between system users is also continuously enhanced. In order to reduce the interference between users and improve the decoding performance of the system, many high-end base station baseband chips are sequentially added with an interference cancellation function to improve the processing capacity of the whole system. Interference cancellation is mainly to reconstruct the user data correctly decoded by the base station processor, and the reconstruction is generally applied to realize interference cancellation of the wireless communication system. Because the reconstructed signal is an interference to the user that is not decoded correctly, the reconstructed signal needs to be cancelled at the antenna to reduce the interference level of the user that is not decoded and improve the quality of the signal of the user that is not decoded. Thus, after the interference cancellation, when the antenna data subjected to the cancellation processing is decoded again by the baseband processor, the user which is not decoded correctly before can be decoded correctly this time, that is, the interference level of the user which is not decoded is reduced by reconstruction, thereby improving the quality of the signal of the user which is not decoded.
During reconstruction, the data of each user is accumulated. In the prior art, in order to maintain a certain standard performance, parallel pipelining is generally performed among users, n chip (chip) data are processed in parallel, and the users are closely adjacent and pipelined. However, if this is done, there is a possibility that a data collision occurs, for example, the reconstruction data of user 1 is not yet written into the corresponding storage area a, and user 2 reads data from the storage area a for reconstruction operation.
In order to prevent the problem of data collision caused by reconstruction, there are two solutions in the prior art. The existence of two users (user 1 and user 2) is illustrated as follows:
the scheme is as follows: and pre-judging a data conflict window and carrying out specially-specified scheduling control processing. For users who may have conflicts, reconstruction operation is performed one by one according to time priority, a user 1 is appointed to complete reconstruction operation completely, and then a user 2 is started to perform reconstruction operation. The processing mode adopting the first scheme brings the following disadvantages: because the user 2 is started only after the user 1 is completely reconstructed, rather than the user 2 being started after the user 1 makes a small part, the running is interrupted, the system performance is reduced and uncontrollable, and the control complexity is increased rapidly.
The second scheme is as follows: ping-pong Random Access Memory (RAM) processing is employed. Two pieces of reconstruction RAM (corresponding to two reconstruction data storage modules in fig. 1) are adopted, adjacent users adopt different RAMs to carry out respective reconstruction operation, and the data of the adjacent users are irrelevant, so that the problem of data conflict is solved. However, after the reconstruction operation is finished by adopting the processing method of the second scheme, the reconstruction data in the two reconstruction RAMs are incomplete, and a subsequent processing procedure must be added, that is: the reconstruction data in the two RAMs need to be merged in a one-to-one correspondence to generate a final reconstruction result. The system architecture adopted during reconstruction is shown in fig. 1, and comprises a reconstruction data storage module, a reconstruction operation processing module and a reconstruction data read-write control module of each of two users. Therefore, the processing mode adopting the second scheme has the following disadvantages: in order to improve the system performance, after the normal reconfiguration operation is finished, because the obtained incomplete reconfiguration data is not, the reconfiguration data needs to be merged in the subsequent processing procedure, so that a reconfiguration RAM needs to be additionally added for the subsequent processing procedure, and the reconfiguration RAM is relatively large; in the process of interference cancellation using reconstruction, reconstruction is associated with various channels, so that there tend to be multiple reconstructed RAMs. In summary, any of the above reconstruction schemes has major drawbacks, such as not only system performance degradation and high control complexity, but also additional system manufacturing cost although system performance can be improved.
Disclosure of Invention
In view of the above, the present invention provides a reconfiguration method and apparatus for implementing interference cancellation in a wireless communication system, which can not only avoid data collision when solving the problem of data collision caused by reconfiguration, but also reduce the complexity of control and the consumption of system manufacturing cost while maintaining the maximum system performance.
In order to achieve the purpose, the technical scheme of the invention is realized as follows:
a reconstruction method for implementing interference cancellation in a wireless communication system, the method comprising: determining the maximum value of a conflict window of the occurring data conflict; dividing a storage space for storing the data filtered by the last user according to the maximum value of the conflict window; and acquiring filtered data of a current user and filtered data of a previous user adjacent to the current user from the filtering branch data, performing reconstruction operation according to the filtered data of the current user, the filtered data of the previous user adjacent to the current user and the original reconstructed data, and outputting a reconstruction operation result to perform interference cancellation.
Wherein, the method also comprises: determining the maximum value of the conflict window according to the processing period of the reconstruction operation;
the storage space comprises: and determining the storage area of each conflict window in the conflict time range according to the maximum value of the conflict window.
The obtaining of the filtered data of the previous user adjacent to the current user specifically includes: acquiring the size and the position of an actual conflict window of a current user according to the user offset of the current user and a previous user adjacent to the current user; and searching a corresponding conflict window storage area from the storage space according to the size and the position of the actual conflict window of the current user, and acquiring filtered data of the conflict window storage area corresponding to the last user adjacent to the current user.
Wherein, the method also comprises: if the reconstruction operation result meets the requirement, outputting the reconstruction operation result for interference cancellation; and if the reconstruction operation result does not meet the requirement, taking the reconstruction operation result as the original reconstructed data to continue reconstruction operation, or directly abandoning the reconstruction operation result, re-reading the original reconstructed data before and performing reconstruction operation. And if the deviation of two adjacent users does not fall into the conflict window, the calculation result is satisfactory, otherwise, the calculation result is not satisfactory.
A reconstruction apparatus for implementing interference cancellation in a wireless communication system, the apparatus comprising: the reconstruction realization unit is used for determining the maximum value of the conflict window of the data conflict; dividing a storage space for storing the data filtered by the last user according to the maximum value of the conflict window; and acquiring filtered data of a current user and filtered data of a previous user adjacent to the current user from the filtering branch data, performing reconstruction operation according to the filtered data of the current user, the filtered data of the previous user adjacent to the current user and the original reconstructed data, and outputting a reconstruction operation result to perform interference cancellation.
Wherein, the reconstruction implementation unit specifically includes: the device comprises a filtering data branch processing module, a reconstruction operation processing module, a reconstruction data storage module and a reconstruction data read-write control module; wherein,
the filtering data branch processing module is used for outputting the current user filtered data and the last user filtered data adjacent to the current user included in the filtering branch data to the reconstruction operation processing module after filtering branch processing is carried out on the received filtered data, and participating in reconstruction operation; the filtering data branch processing module comprises a storage space for storing the data filtered by the previous user, which is divided according to the maximum value of the conflict window;
the reconstruction operation processing module is used for performing reconstruction operation according to the filtered data of the current user, the filtered data of the last user adjacent to the current user and the original reconstructed data, and outputting a reconstruction operation result to perform interference cancellation;
the reconstruction data storage module is used for storing a reconstruction operation result;
and the reconstruction data read-write control module is used for performing read-write control on the reconstruction data storage module and outputting the data read from the reconstruction data storage module to the reconstruction operation processing module as the original reconstructed data.
Wherein the memory space in the filtered data branch processing module comprises: determining a storage area of each conflict window in a conflict time range according to the maximum value of the conflict window; the maximum value of the conflict window is determined by the processing period of the reconstruction operation.
The filtering data branch processing module is further configured to, when filtering branch processing is performed to obtain filtered data output of a previous user adjacent to the current user, obtain the size and the position of the actual conflict window of the current user according to the user offset of the current user and the previous user adjacent to the current user; and searching a corresponding conflict window storage area from the storage space according to the size and the position of the actual conflict window of the current user, and acquiring filtered data of the conflict window storage area corresponding to the last user adjacent to the current user.
The reconstruction data read-write control module is further used for reading corresponding reconstruction data from a corresponding position of the reconstruction data storage module according to the system time corresponding to the current reconstruction data and the user offset thereof, and then outputting the read data serving as original reconstructed data to the reconstruction operation processing module.
The reconstruction data storage module is further used for outputting a reconstruction operation result to perform interference cancellation if the reconstruction operation result meets the requirement; and if the reconstruction operation result does not meet the requirement, outputting the reconstruction operation result to the reconstruction data read-write control module as the original reconstructed data to continue reconstruction operation, or directly abandoning the reconstruction operation result, and outputting the previous reconstruction operation result to the reconstruction data read-write control module as the original reconstructed data to perform reconstruction operation.
The invention determines the maximum value of conflict windows of data conflicts; dividing a storage space for storing the data filtered by the last user according to the maximum value of the conflict window; and acquiring filtered data of a current user and filtered data of a previous user adjacent to the current user from the filtering branch data, performing reconstruction operation according to the filtered data of the current user, the filtered data of the previous user adjacent to the current user and the original reconstructed data, and outputting a reconstruction operation result to perform interference cancellation. By adopting the invention, when the problem of data conflict caused by reconstruction is solved, the data conflict can be avoided, and the control complexity and the system manufacturing cost consumption are reduced under the condition of keeping the maximum system performance.
Detailed Description
The basic idea of the invention is: determining the maximum value of a conflict window of the occurring data conflict; dividing a storage space for storing the data filtered by the last user according to the maximum value of the conflict window; and acquiring filtered data of a current user and filtered data of a previous user adjacent to the current user from the filtering branch data, performing reconstruction operation according to the filtered data of the current user, the filtered data of the previous user adjacent to the current user and the original reconstructed data, and outputting a reconstruction operation result to perform interference cancellation.
The following describes the embodiments in further detail with reference to the accompanying drawings.
The scheme of the invention is widely applied to the interference cancellation of a wireless communication system to complete the reconstruction calculation of various channels and user data. The invention can solve the problem of data conflict between adjacent user data during parallel pipeline reconstruction operation. Still by way of example for two users (user 1 and user 2), the data collision problem arises because: the user 1 reads the data of the storage area A, receives the filtering data of the user 1 and carries out reconstruction operation on the two paths of data, the reconstruction operation is divided into a plurality of steps, a certain time period is needed for complete processing, and only after the processing is finished, the processing result is written back to the storage area A again. When the user 1 is in the reconstruction operation, if the user 2 reads data from the storage area a for the reconstruction operation, the data acquired from the storage area a does not contain the processing result of the user 1, and thus a data collision occurs, and when the current user (user 2) performs the reconstruction operation, the entire reconstruction result is finally incomplete due to the lack of the related data of the previous user (user 1). The invention relates to three-way operation, which opens up a storage space in a filtering data branch processing module for storing the filtered data of the previous user, namely supplementing the relevant data of the previous user which is missing in the prior art to the storage space, and then carrying out three-way operation aiming at the filtering data of the current user, the filtering data of the previous user and the originally reconstructed data, wherein the reconstruction result obtained under the condition of avoiding data collision is complete, and the best interference cancellation can be realized. According to the invention, the reconstruction for avoiding data collision can be realized by using one reconstruction RAM (such as a reconstruction data storage module), and the reconstruction RAM for subsequent processing reconstruction data combination does not need to be additionally added like the second technical scheme, so that the manufacturing cost of the system is reduced. And the brand new processing mode can not only avoid high cost and lengthened processing link, but also avoid the problems of high control complexity and low system performance, and can reduce the control complexity and the consumption of the system manufacturing cost under the condition of keeping the maximum system performance.
A reconstruction method for realizing interference cancellation in a wireless communication system mainly comprises the following contents:
the filtered data is branched, one branch is changed into two branches after the filtered data passes through the branch, and the outputs of the two branches have different time delay differences according to the time offset of adjacent users. Because the length of the previous data collision window of the adjacent user is related to the processing period of the reconstruction operation, the maximum value of the collision window of the data collision can be deduced according to the processing period of the reconstruction operation (the maximum value of the collision window is used for determining the maximum collision time range and comprises the range of all the collision windows which are possible to generate the data collision), and the maximum value of the collision window is adopted to divide the storage space with the corresponding size in the filtering data branch processing module so as to store the filtered data of the previous user. Wherein, for the processing cycle, the processing cycle is determined by the time consumed by each link of the reconstruction processing. For example, if the reconstruction process contains 4 steps: 1. fetch data (time 2 spent); 2. data transmission (elapsed time 3); 3. data accumulation operation (time consumption 1); 4. after the data is truncated (time 1 is consumed), the processing period is 2+3+1+ 1-7.
And secondly, dividing storage space with corresponding size according to the maximum value of the conflict window, and determining the maximum time difference of the two filtering branches after the filtering branches (including the filtered data of the previous user and the filtered data of the current user) are also the maximum value of the cache space during the filtering branches. And determining the size and the position of the actual conflict window of the current user according to the maximum conflict time range determined by the maximum value of the conflict window, namely from the range of all conflict windows in which data conflict is likely to occur, and acquiring the filtered data of the previous user in the conflict window according to the size and the position of the actual conflict window of the current user from the storage space divided according to the maximum value of the conflict window.
And thirdly, performing three-way operation according to the obtained filtered data of the conflict window of the last user, the filtered data of the current user and the original reconstructed data, and outputting an operation result to perform interference cancellation. According to the reconstruction principle analysis, the reconstruction sequence of the user is weakly related to the reconstruction result, and the reconstruction sequence of the user is adjusted during reconstruction operation without changing the final result after reconstruction, so that two branch data after filtering branching are received in a conflict window, corresponding data of a reconstruction RAM are read, and only one final result is obtained by means of parallel operation of three paths of input data, and data collision is avoided. The consumption of ping-pong RAM is avoided, and the data of the reconstructed RAM is complete final data without additional post-processing process. And in the whole processing process, the pipelining mechanism is not interrupted, so that the optimal performance of the system is kept.
A reconstruction system for realizing interference cancellation in a wireless communication system mainly comprises the following contents:
this device mainly contains four modules: the device comprises a filtering data branch processing module, a reconstruction data storage module, a reconstruction data read-write control module and a reconstruction operation processing module.
The reconstruction data storage module is used for storing reconstruction operation result data, each user occupies an address field space, and addresses in the reconstruction data storage module are sequentially increased progressively according to the sequence of system time. The users have the same offset and occupy the same address space. The user with smaller user offset occupies smaller first address offset of the address field. The user with larger user offset occupies larger first address offset of the address field.
The reconstruction data read-write control module is mainly used for performing read-write control on a reconstruction RAM (such as a reconstruction data storage module). Reading corresponding reconstruction data from a corresponding position of a reconstruction RAM (such as a reconstruction data storage module) according to the system time corresponding to the current reconstruction data and the user offset thereof, and then sending the read original reconstructed data to a reconstruction operation processing module to participate in reconstruction operation. The reconstruction operation processing module outputs the result, and transmits the result to a corresponding position of a reconstruction RAM (such as a reconstruction data storage module) to update old reconstruction result data. The read data is selected according to the method shown in FIG. 3.
The reconstruction operation processing module is used for executing reconstruction operation, and performing relevant operations such as accumulation, overflow truncation and the like on input user data and original reconstructed data read from a reconstruction RAM (such as a reconstruction data storage module) by the reconstruction data read-write control module. Because the parallel operation of adjacent users is to be executed, the input user data is sometimes two paths, and the original reconstructed data read from the reconstruction RAM (such as the reconstruction data storage module) by the reconstruction data read-write control module is added, the reconstruction operation processing module needs to support three paths of operation of three-input addition.
The filtering data branch processing module is mainly used for receiving the filtered data and then dividing the data into two paths to output, and the time delay interval of the two paths of output data is equal to the length of a data conflict window. And the two paths of data are sent to a reconstruction operation processing module to participate in reconstruction operation.
The filtered data is stored according to the length of the conflict window, the time of the maximum conflict window is the time from reading to writing of the reconstructed RAM (such as a reconstructed data storage module), and the maximum conflict window is about 5 clock cycles according to the difference of the types of the reconstructed RAM (such as a reconstructed data storage module). The maximum cache space address space is thus 5 addresses, 512 bits per address space. The total is 2560bit of space. Reconstructing the RAM (e.g., reconstructing the data storage module) consumes 512 bits per 16chip time, the total time is 4.1 slots, which is equivalent to 10496 chips, the required space is 335.872K, and the doubling is approximately 671K due to the dual antenna.
In summary, to avoid the problem of data collision, the second solution in the prior art adopts the ping-pong RAM, which requires an increased memory space of about 671K, while the present invention only increases the memory space of about 2.5 Kbit. Even if the compression optimization of the reconstruction storage space is considered and the reconstruction operation of the invention is the consumption of the three-input adder, the invention is two orders of magnitude smaller than the prior ping-pong RAM method in the manufacturing area of the overall newly-increased system. It can be seen that: the reconstruction method and the reconstruction device realize the reconstruction processing of the filtered data. And the performance is high, 16-chip full-speed parallel pipelining can be realized, and the performance approaches the theoretical limit. The reconstructed data storage module used for solving the data conflict saves nearly two orders of magnitude (hundred times) of increase compared with the existing ping-pong RAM. When the reconstruction method and the reconstruction device are applied to a wideband code division multiple access interference cancellation system, due to various conditions, various channels must be reused, and therefore, the reconstruction method and the reconstruction device have multiple times of repeated benefits.
The invention is illustrated below.
The method comprises the following steps: the method flow applying the device comprises the following steps:
step 101: the method adopts the existing reconstruction principle to determine the algorithm of reconstruction operation, subdivides the time overhead of each link according to the structure of a reconstruction operation processing module, and comprises the time overhead of four links of data fetching, data calculation, post-processing of calculation results and data write-back. In the conventional reconstruction principle, for example, a user a and a user B perform reconstruction by accumulating data of the user a and the user B at the same time on a time axis.
Here, the time overhead of these four links is shown in fig. 2, where clk denotes the system clock in fig. 2; rden denotes a control enable signal to read the memory cell; rdata represents the data retrieved from the memory unit for transmission; rdata _ acc represents the intermediate result after the initial reconstruction operation; result represents the final reconstruction operation data; wdata represents write data; wen denotes read enable; saturate denotes the data post-processing after the reconstruction operation, such as overflow, truncation, etc.
Step 102: determining the maximum value of a conflict window of the data conflict according to the time overhead determined in the step 101, wherein the maximum value of the conflict window is used for determining the maximum conflict time range, and dividing a filtered data cache region in the filtered data branch processing module according to the maximum value of the conflict window, wherein the size of the cache region is the maximum value of the conflict window.
Step 103: and determining the size and the position of the actual conflict window of the user according to the reconstruction operation processing module and the input user offsets of the front user and the rear user.
Step 104: and according to the size and the position of the conflict window determined in the step 103, obtaining the filtered data of the previous user in the determined conflict window from the filtered data buffer area divided by the filtered data branch processing module.
Step 105: according to step 104, the filtered data branch processing module sends the filtered data of the previous user and the filtered data of the current user to the reconstruction operation processing module together.
Step 106: the reconstruction operation processing module receives the filtered data of the front user and the filtered data of the rear user, which are sent by the filtering data branch processing module, and simultaneously receives the original reconstructed data sent by the reconstruction data read-write control module, and performs reconstruction operation on the three groups of data.
Step 107: the reconstruction data read-write control module receives the operation result of the reconstruction operation processing module, stores the reconstruction operation result into a reconstruction RAM (such as a reconstruction data storage module), and outputs the operation result to perform interference cancellation.
In the technical solutions formed in the above steps 101 to 107, as shown in fig. 2, 5 clock cycles are required before and after the reconstruction process. To stay within reasonable performance, the reconstruction is processed 16 chips at a time in parallel and pipelined every 16 chips. In these 5 clock cycles, if the reconstructed RAM memory space corresponding to the currently processed data is read, a data collision will occur. Since the data read at this time does not include the reconstruction effect of this user, but directly performs reconstruction operation with the filter data of the next user, the final result will be incomplete. After analysis, the final result is not complete, and the missing data is the relevant data of the last user. Therefore, the present invention may execute step 102, in which the filtered data branch processing module divides the storage space with the corresponding size according to the maximum value of the conflict window of the data conflict, and stores the filtered data of the previous user. In step 101, it can be obtained that the reconstruction operation time is not long, and the partitioned storage space is relatively small.
As shown in fig. 3, the relative addresses 28, 29, 30, 31, 32 are regions where there is a risk of data collision with reference to the initial address of the user, that is, the collision windows corresponding to the relative addresses 28, 29, 30, 31, 32 are positions where data collision may occur, and the maximum value of the collision window formed by them may be used to divide the storage region in the filtered data branch processing module. However, it is uncertain from which address the data collision is specifically performed starting from the collision window corresponding to, which is related to the offset of two adjacent front and back users. A data collision occurs from address 28 if the offsets between users differ by 448 chips, and from address 32 if the offsets between users differ by 512 chips. As the user offsets are different, the starting positions of the conflicts are also different, and if the starting positions do not fall within the conflict window, the data do not conflict. Therefore, step 103 is executed to determine a specific conflict position, conflict time period according to the input user offsets of the two users before and after.
After the step 102 and the step 103 are performed, as shown in fig. 4, the related data corresponding to the previous user can be selected from the storage area partitioned from the filtered data branch processing module according to the maximum value of the conflict window, and the storage area is constructed by the shift register, so that the subsequent data will be matched naturally as long as the initial time is matched. And steps 104, 105, 106 and 107, the reconstruction operation processing module receives the data of two adjacent front and rear users, receives the original reconstruction data and carries out reconstruction operation. The missing part in the original reconstruction data is compensated, and the filtering data of the current user is combined into the reconstruction RAM under the conditions of not interrupting the flow and not reducing the performance.
The embodiment of the system is as follows:
as shown in fig. 5, the reconstruction apparatus includes four modules: the device comprises a filtering data branch processing module, a reconstruction data storage module, a reconstruction data read-write control module and a reconstruction operation processing module.
The reconstructed data storage unit module is used for storing reconstructed operation result data, each user occupies an address field space, and the address field space is sequentially increased in the reconstructed data storage module according to the sequence of system time. The users have the same offset and occupy the same address space. The user with smaller user offset occupies smaller first address offset of the address field. The user with larger user offset occupies larger first address offset of the address field.
The reconstructed data read-write control module is used for performing read-write control on the reconstructed data storage module. And reading corresponding reconstruction data from the corresponding position of the reconstruction data storage module according to the system time corresponding to the current reconstruction data and the user offset thereof, and then sending the data to the reconstruction operation processing module to participate in the reconstruction operation. And the reconstruction operation processing module outputs results, transmits the results to the corresponding position of the reconstruction data storage module, and updates old reconstruction result data. The read data is selected according to the following steps as shown in fig. 3, where in fig. 3, case represents the situation, and case1 represents the situation 1; a last clock of last TIF indicates the last clock cycle of last user reconfiguration operation control; the first clock of current TIF represents the initial first clock cycle of the current user reconfiguration operation.
The reconstruction operation processing module is used for executing reconstruction operation and performing relevant operations such as accumulation, overflow interception processing and the like on the input user data and the original reconstructed data read from the reconstruction data storage module by the reconstruction data read-write control module. Because the parallel operation of adjacent users is executed, the input user data is sometimes two paths, and the original reconstructed data read from the reconstructed data storage module by the reconstructed data read-write control module is added, so that the operation unit supports the three-input addition operation.
The filtering data branch processing module is mainly used for receiving the filtered data and then dividing the data into two paths to output, and the time delay interval of the two paths of output data is equal to the length of a data conflict window. And the two paths of data are sent to a reconstruction operation processing unit module to participate in reconstruction operation. Selecting data at different moments as shown in fig. 4, reg represents a register, and reg31 represents a register named "reg 31"; MUX represents a selector; the Filter _ out _ data represents filtered data; the First _ read _ addr represents an initial read-read reconstruction storage unit; first N clock represents the initial N clock cycles.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention.