Download presentation
Presentation is loading. Please wait.
1
Reuse of TGn Channel Model for SDMA in TGac
April 2007 doc.: IEEE /0570r0 January 2009 Reuse of TGn Channel Model for SDMA in TGac Date: Authors: Eldad Perahia, Intel Corporation Eldad Perahia, Intel Corporation
2
SDMA channel modeling using existing IEEE channel Model (MATLAB Code)
January 2009 SDMA channel modeling using existing IEEE channel Model (MATLAB Code) The proposal is to use the existing IEEE .11n channel model (MATLAB code) with minor modifications for SDMA proposal comparisons Allows the use of a currently understood model Allows for direct comparison to n in addition to Non-SDMA modes of TGad Reduces engineering effort to develop new models Considerations Proposed approach assumes complete decorrelation between users (Rx side). Thus does not address users extremely close, which is viewed as much less probable Is based on the current IEEE channel model and has not been substantiated with actual channel measurements for SDMA use Eldad Perahia, Intel Corporation
3
January 2009 Approach Using the existing IEEE .11n channel model a change is made to the Spatial Correlation Matrix and Steering Matrix Minor impact to existing code. All of which is done during the preprocessor phase (initialization phase) Only the Rx side of the correlation matrices are modified. It is assumed that the correlation matrix on the transmitter side is a uniform linear array (ULA), as in the .11n model For the Rx side of the correlation matrix the approach creates two sub-matrices (Rx groups) which are then combined into a larger matrix The groups of users are assumed completely uncorrelated The correlation within a group is also assumed to be an ULA with an independent programmable separation between elements as in the existing .11n model Eldad Perahia, Intel Corporation
4
Preprocessor Modifications Only
January 2009 Preprocessor Modifications Only Modification of the spatial correlation shaping matrix C Only need to modify the Rx side correlation. Tx is assumed to be on one device and antennas are again assumed to be a Uniform Linear Array (ULA) C matrix is derived from the R correlation matrix for a ULA using the Cholesky or Square-Root matrix decomposition. Cholesky for complex field and Square-Root for real power In order to compute C a requirement of matrix R is to be positive definite E.g. a separation vector of [0.5, 1000, 0.5] wavelengths, where the first number is the separation between antenna 1 and 2, the second number is between 2 and 3 and the forth is between 3 and 4, will not provide a positive definite R matrix Requires additional processing to create two sets of correlation matrices to construct the larger matrix Create an antenna separation vector of [0.5, INF, 0.5] between antennas 1 and 2, 2 and 3, 3 and 4 respectively. Example, 4x4 being mapped to a SDMA channel with 2 groups of antennas. Two sub-matrices are formed of size 2x2. These are then used to create a larger 4x4 matrix Mapping of the Steering Matrix to the two set of user groups Eldad Perahia, Intel Corporation
5
Code Modification Specifics (1)
January 2009 Code Modification Specifics (1) New Parameters introduced to specify the SDMA channel configuration and receiver configuration Modification to the following routines only IEEE_802_11_Cases.m Computes the R Matrix from which the correlation matrix C is later computed Added case for SDMA transmissions to created 2 user antenna groups Init_Rice.m Computes the Steering Matrix Vector Added case for SDMA where the spacing of the 2 antenna user groups are utilized instead of a single ULA Eldad Perahia, Intel Corporation
6
Code Modification Specifics (2) New Parameters
January 2009 Code Modification Specifics (2) New Parameters All Parameters placed in a data structure named IEEECh IEEECh.Spacing_Tx = 0.5; % Tx ULA Ant Spacing IEEECh.Spacing_Rx = 0.5; % Rx ULA Spacing for Non-SDMA Modes IEEECh.NumRx_Usr(1) = 2; % Number of Rx antennas for User 1 IEEECh.NumRx_Usr(2) = 2; % Number of Rx Antennas For User 2 IEEECh.RxSpacingUser(1) = 0.5; % Spacing of Rx Ant for User 1 ULA (SDMA) IEEECh.RxSpacingUser(2) = 1.5; % Spacing of Rx Ant for User 1 ULA (SDMA) IEEECh.SpacingBetweenSDMAUsers = 5000; % Spacing Between Users New Parameters Eldad Perahia, Intel Corporation
7
January 2009 Example for a SDMA Channel with Separation of [0.5, INF, 1.5] Wavelengths Tx has 4 antennas, Receive side has two groups of antennas with the listed spacing for each group. The spacing between groups is infinite. IEEECh.NumRx_Usr(1) = 2; IEEECh.NumRx_Usr(2) = 2; IEEECh.RxSpacingUser(1) = 0.5; IEEECh.RxSpacingUser(2) = 1.5; IEEE Channel Model A R = i i i i Eldad Perahia, Intel Corporation
8
Code Modification Specifics (3) Correlation Code Details
January 2009 Code Modification Specifics (3) Correlation Code Details for (ii = 1:size(PDP_dB,2)) index = transpose(find(Power_per_angle_dB(:,ii) > -Inf)); if (~isempty(index)) [temp_RTx, QTx, sTx_deg] = … correlation ( NumberOfTxAntennas, SpacingTx, linspace(0,(NumberOfTxAntennas-1)*SpacingTx, NumberOfTxAntennas), …, …); RTx(ii, :, :) = temp_RTx; if( IEEECh.SDMATransmission ) for( UserCnt = 1:2 ) RxSpacingVector = linspace(0,1*IEEECh.RxSpacingUser(UserCnt),2); [temp_RRx, QRx, sRx_deg] = correlation( IEEECh.NumRx_Usr(UserCnt), IEEECh.RxSpacingUser(1), RxSpacingVector,…, …, …); if( UserCnt == 1 ) Index = ( 1:IEEECh.NumRx_Usr(1) ); RRx( ii, Index, Index ) = temp_RRx; else Index = ( IEEECh.NumRx_Usr(1)+1 ) : ( IEEECh.NumRx_Usr(1)+IEEECh.NumRx_Usr(2) ); end RxSpacingVector = linspace(0,(NumberOfRxAntennas-1)*SpacingRx,NumberOfRxAntennas); [temp_RRx, QRx, sRx_deg] = correlation( NumberOfRxAntennas, SpacingRx, RxSpacingVector, …, …, …); RRx(ii, :, :) = temp_RRx; New Code Eldad Perahia, Intel Corporation
9
January 2009 Code Modification Specifics (4) Steering Matrix Code Modifications (Init_Rice.m) y = zeros(NumberOfRxAntennas, NumberOfTxAntennas); step_Tx = exp(j*2*pi*spacing_Tx_norm*sin(AoD_LOS_Tx_rad)); vector_Tx = step_Tx.^(0:NumberOfTxAntennas-1); if( IEEECh.SDMATransmission ) RxSpacingVector = [0 IEEECh.RxSpacingUser(1)*ones(1,length(IEEECh.NumRx_Usr(1))) ... IEEECh.SpacingBetweenSDMAUsers ... IEEECh.SpacingBetweenSDMAUsers+(IEEECh.RxSpacingUser(2)*ones(1,length(IEEECh.NumRx_Usr(1)))) ]; vector_Rx = exp(j*2*pi*RxSpacingVector*sin(AoA_LOS_Rx_rad)).'; else step_Rx = exp(j*2*pi*spacing_Rx_norm*sin(AoA_LOS_Rx_rad)); vector_Rx = step_Rx.^((0:NumberOfRxAntennas-1).'); end y = vector_Rx * vector_Tx; New Code Eldad Perahia, Intel Corporation
10
January 2009 Comparison of Different Channel Configurations, SDMA [0.5, INF, 0.5] Wavelengths, ULA with 0.5 Wavelengths and ULA with 1000 Wavelengths Eldad Perahia, Intel Corporation
11
January 2009 Summary A method to reuse the TGn channel model for SDMA in TGac is provided Rx side of the correlation matrices are modified. The approach assumes complete decorrelation between users. Transmit side is unchanged The approach requires minor modifications to the original TGn code Simulation shows performance bounded by the recommended TGn use of 0.5 Wavelengths and a test at 1000 Wavelengths (Both Tx and Rx directions) Eldad Perahia, Intel Corporation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.