⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ieee_802_11_cases.asv

📁 这是一个关于ofdm在802.11协议下的源码
💻 ASV
📖 第 1 页 / 共 2 页
字号:
function [PDP_linear, RTx, RRx, Fading_Type, RiceMatrix, K_factor_dB, ...
        PathLoss_dB, ShadowFading_dB, DirectionOfMovement_rad, ...
        AngleAtMobile_rad, ASAtMobile_rad] = ...
        IEEE_802_11_Cases(Connection, ID, CorrelationCoefficientType, ...
        CarrierFrequency_Hz, NumberOfTxAntennas, SpacingTx, ...
        NumberOfRxAntennas, SpacingRx, distance_Tx_Rx_m)

% function [PDP_linear, RTx, RRx, Fading_Type, RiceMatrix, K_factor_dB, ...
%        PathLoss_dB, ShadowFading_dB, DirectionOfMovement_rad, ...
%        AngleAtMobile_deg, ASAtMobile_deg] = ...
%        IEEE_802_11_Cases(Connection, ID, CorrelationCoefficientType, ...
%        CarrierFrequency_Hz, NumberOfTxAntennas, SpacingTx, ...
%        NumberOfRxAntennas, SpacingRx, distance_Tx_Rx_m)
%
% Provides the PDP of the chosen IEEE 802.11 case, plus
% the spatial correlation properties of the taps in
% the case of a ULA. The I/O variables are listed here after.
%
% Inputs
%
% * Variable Connection, defines whether the simulated channel is
%   downlink or uplink
% * Variable ID, defines the IEEE 802.11 Case to be simulated
% * Variable CorrelationCoefficientType, defines whether
%   the script should produce real positive, power correlation
%   coefficients (CorrelationCoefficientType = 'real'),
%   or complex, field correlation coefficients
%   (CorrelationCoefficientType = 'complex')
% * Variable CarrierFrequency_Hz, carrier frequency, in Hz
% * Variable NumberOfTxAntennas, number of antenna elements
%   of the ULA at Tx
% * Variable SpacingTx, spacing between the antenna elements
%   of the ULA at Tx
% * Variable NumberOfRxAntennas, number of antenna elements
%   of the ULA at Rx
% * Variable SpacingRx, spacing between the antenna elements
%   of the ULA at Rx
% * Variable distance_Tx_Rx_m, distance between Tx and Rx, in m
%
% Outputs
%
% * 2-D matrix PDP_linear of size 2 x NumberOfPaths, containing
%   the linear values of the taps power gains, normalised to 1
%   and the absolute delays of the taps in seconds
% * 3-D matrix RTx of size NumberOfPaths x NumberOfTxAntennas
%   x NumberOfTxAntennas, containing the correlation coefficients
%   at the ULA transmit antenna with SpacingTx
% * 3-D matrix RRx of size NumberOfPaths x NumberOfRxAntennas
%   x NumberOfRxAntennas, containing the correlation coefficients
%   at the ULA receive antenna with SpacingRx
% * String Fading_type indicating the nature of the Doppler spectrum
% * 3-D matrix Rice_matrix of size NumberOfPaths x NumberOfRxAntennas /? lid
%   x NumberOfTxAntennas whose elements are the product of the phasors
%   related to the elements of two ULA (Uniform Linear Array), one at
%   Tx and one at Rx, under incidence angles AoA_Tx_rad and AoA_Rx_rad
%   respectively. Each of the NumberOfPaths 2-D submatrices is weighted
%   by the associated K factor of the tap
% * Vector K_factor_dB, K factor of each tap, in dB
% * Scalar PathLoss_dB, path loss, in dB
% * Scalar ShadowFading_dB, shadow fading, in dB
% * Vector DirectionOfMovement_rad of size 1 x NumberOfPaths
%   giving the direction of travel of the UE relative to UE antenna
%   orientation. Currently hard-coded to zero rad.
% * Vector AngleAtMobile_rad of size 1 x NumberOfPaths giving the angle
%   of arrival of the waves impinging at UE relative to UE antenna
%   orientation.
% * Vector ASAtMobile_rad of size 1 x NumberOfPaths giving the standard
%   deviation of the waves impinging at UE relative to UE antenna
%   orientation.
%
% Revision history
%
% February 2004   - Bug fix - AoA/AoD at mobile hard-coded to 45 degrees
%                   Thanks to Steven Howard and Irina Medvedev, Qualcomm
%                   (USA) for reporting the bug.
% November 2003   - Updated in compliance with IEEE 802.11-03/940r1
%                   ( Bas Dijkstra and Laurent Schumacher )
% October 2003    - Updated in compliance with IEEE 802.11-03/161r2
%                   o DirectionOfMovement set to 0
%                   Bug fixes
%                   o Angles AoD_Tx_rad and AoA_Rx_rad used to compute
%                     the Rice matrix instead of the hard-coded 45
%                     degrees (comment from Qinfang Sun, Atheros,
%                     United States)
%                   o AngleAtMobile and ASAtMobile returned in radians
%                     instead of degrees (comment from Irina Medvedev,
%                     Qualcomm)
%                   o Correlation type (real/complex) no longer hard-
%                     coded to complex but parametrised from function
%                     call (comment from Dorel Silberstein,
%                     University of Tel-Aviv, Israel)
%                   ( Bas Dijkstra )
% July 2003       - Creation
%                   ( Laurent Schumacher )
%
%
% STANDARD DISCLAIMER
%
% The Computer Science Institute of the University of Namur (hereafter
% "FUNDP-INFO") is furnishing this item "as is". FUNDP-INFO does not
% provide any warranty of the item whatsoever, whether express,
% implied, or statutory, including, but not limited to, any warranty
% of merchantability or fitness for a particular purpose or any
% warranty that the contents of the item will be error-free.
%
% In no respect shall FUNDP-INFO incur any liability for any damages,
% including, but not limited to, direct, indirect, special, or
% consequential damages arising out of, resulting from, or any way
% connected to the use of the item, whether or not based upon
% warranty, contract, tort, or otherwise; whether or not injury was
% sustained by persons or property or otherwise; and whether or not
% loss was sustained from, or arose out of, the results of, the
% item, or any services that may be provided by FUNDP-INFO.
%
% (c) Laurent Schumacher, FUNDP-INFO - July 2003

switch ID
case 'A'
    % Flat fading with 0 ns rms delay spread (one tap at 0 ns delay model)
    PDP_dB = [0;   % Average power [dB]
              0];  % Relative delay (ns)
    % Power roll-off coefficients
    Power_per_angle_dB = 0;
    % Tx
    AoD_Tx_deg = 45;
    AS_Tx_deg  = 40;
    Type_Tx    = 3;
    % Rx
    AoA_Rx_deg = 45;
    AS_Rx_deg  = 40;
    Type_Rx    = 3;
    % Fading
    Fading_Type = 'bell_shape';
    % Path loss break point
    d_BP_m = 5;
    % Rice
    if (distance_Tx_Rx_m < d_BP_m)
        % LOS conditions
        K_factor_dB = [0,(-100).*ones(1, size(AoA_Rx_deg, 2)-1)];
        % Shadow fading standard deviation
        ShadowFading_std_dB = 3;
    else
        % NLOS conditions
        K_factor_dB = (-100).*ones(1, size(AoA_Rx_deg, 2));
        % Shadow fading standard deviation
        ShadowFading_std_dB = 4;
    end;
    
case 'B'
    % Typical residential environment, 15 ns rms delay spread
    PDP_dB = [0 -5.4287 -2.5162 -5.8905 -9.1603 -12.5105 -15.6126 -18.7147 -21.8168;  % Average power [dB]
              0 10e-9   20e-9   30e-9   40e-9   50e-9    60e-9    70e-9    80e-9   ]; % Relative delay (ns)
    % Power roll-off coefficients
    Power_per_angle_dB = [   0   -5.4287  -10.8574  -16.2860  -21.7147      -Inf      -Inf      -Inf      -Inf;
                          -Inf      -Inf   -3.2042   -6.3063   -9.4084  -12.5105  -15.6126  -18.7147  -21.8168];
    % Tx
    AoD_Tx_deg = [225.1084.*ones(1,5)  -Inf.*ones(1,4);
                  -Inf.*ones(1,2)      106.5545.*ones(1,7)];
    AS_Tx_deg  = [14.4490.*ones(1,5)  -Inf.*ones(1,4);
                  -Inf.*ones(1,2)     25.4311.*ones(1,7)];
    Type_Tx    = 3.*ones(1, size(AoD_Tx_deg, 2));
    % Rx
    AoA_Rx_deg = [4.3943.*ones(1,5)  -Inf.*ones(1,4);
                  -Inf.*ones(1,2)    118.4327.*ones(1,7)];
    AS_Rx_deg  = [14.4699.*ones(1,5)  -Inf.*ones(1,4);
                  -Inf.*ones(1,2)     25.2566.*ones(1,7)];
    Type_Rx    = 3.*ones(1, size(AoA_Rx_deg, 2));
    % Fading
    Fading_Type = 'bell_shape';
    % Path loss break point
    d_BP_m = 5;
    % Rice
    if (distance_Tx_Rx_m < d_BP_m)
        % LOS conditions
        K_factor_dB = [0,(-100).*ones(1, size(AoA_Rx_deg, 2)-1)];
        % Shadow fading standard deviation
        ShadowFading_std_dB = 3;
    else
        % NLOS conditions
        K_factor_dB = (-100).*ones(1, size(AoA_Rx_deg, 2));
        % Shadow fading standard deviation
        ShadowFading_std_dB = 4;
    end;
    
case 'C'
    % Typical residential or small office environment, 30 ns rms delay spread
    PDP_dB = [0 -2.1715 -4.3429 -6.5144 -8.6859 -10.8574 -4.3899 -6.5614 -8.7329 -10.9043 -13.7147 -15.8862 -18.0577 -20.2291; % Average power [dB]
              0 10e-9   20e-9   30e-9   40e-9   50e-9    60e-9   70e-9   80e-9   90e-9    110e-9   140e-9   170e-9   200e-9];  % Relative delay (ns)
          
    % Power roll-off coefficients
    Power_per_angle_dB = [   0 -2.1715 -4.3429 -6.5144 -8.6859 -10.8574 -13.0288 -15.2003 -17.3718 -19.5433     -Inf     -Inf     -Inf     -Inf;
                          -Inf    -Inf    -Inf    -Inf    -Inf     -Inf  -5.0288  -7.2003  -9.3718 -11.5433 -13.7147 -15.8862 -18.0577 -20.2291];
    % Tx
    AoD_Tx_deg = [13.5312.*ones(1,10)  -Inf.*ones(1,4);
                  -Inf.*ones(1,6)      56.4329.*ones(1,8)];
    AS_Tx_deg  = [24.7897.*ones(1,10)  -Inf.*ones(1,4);
                  -Inf.*ones(1,6)      22.5729.*ones(1,8)];
    Type_Tx    = 3.*ones(1, size(AoD_Tx_deg, 2));
    % Rx
    AoA_Rx_deg = [290.3715.*ones(1,10)  -Inf.*ones(1,4);
                  -Inf.*ones(1,6)       332.3754.*ones(1,8)];
    AS_Rx_deg  = [24.6949.*ones(1,10)  -Inf.*ones(1,4);
                  -Inf.*ones(1,6)      22.4530.*ones(1,8)];
    Type_Rx    = 3.*ones(1, size(AoA_Rx_deg, 2));
    % Fading
    Fading_Type = 'bell_shape';
    % Path loss break point
    d_BP_m = 5;
    % Rice
    if (distance_Tx_Rx_m < d_BP_m)
        % LOS conditions
        K_factor_dB = [0,(-100).*ones(1, size(AoA_Rx_deg, 2)-1)];
        % Shadow fading standard deviation
        ShadowFading_std_dB = 3;
    else
        % NLOS conditions
        K_factor_dB = (-100).*ones(1, size(AoA_Rx_deg, 2));
        % Shadow fading standard deviation
        ShadowFading_std_dB = 5;
    end;
    
case 'D'
    % Medbo model A - Typical office environment, 50 ns rms delay spread
    PDP_dB = [0 -0.9  -1.7  -2.6  -3.5  -4.3  -5.2  -6.1  -6.9  -7.8  -4.7   -7.3   -9.9   -12.5  -13.7  -18    -22.4  -26.7;   % Average power [dB]
              0 10e-9 20e-9 30e-9 40e-9 50e-9 60e-9 70e-9 80e-9 90e-9 110e-9 140e-9 170e-9 200e-9 240e-9 290e-9 340e-9 390e-9]; % Relative delay (ns)
    % Power roll-off coefficients
    Power_per_angle_dB = [0    -0.9 -1.7 -2.6 -3.5 -4.3 -5.2 -6.1 -6.9 -7.8 -9.0712046 -11.199064  -13.795428 -16.391791 -19.370991 -23.201722 -Inf       -Inf;
                          -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -6.6756386  -9.5728825 -12.175385 -14.777891 -17.435786 -21.992788 -25.580689 -Inf;
                          -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf       -Inf        -Inf       -Inf       -18.843300 -23.238125 -25.246344 -26.7];
    % Tx
    AoD_Tx_deg = [332.1027.*ones(1,16)  -Inf.*ones(1,2);
                  -Inf.*ones(1,10)        49.3840.*ones(1,7)  -Inf;
                  -Inf.*ones(1,14)       275.9769.*ones(1,4)];
    AS_Tx_deg  = [27.4412.*ones(1,16)  -Inf.*ones(1,2);
                  -Inf.*ones(1,10)     32.1430.*ones(1,7)  -Inf;
                  -Inf.*ones(1,14)     36.8825.*ones(1,4)];
    Type_Tx    = 3.*ones(1, size(AoD_Tx_deg, 2));
    % Rx
    AoA_Rx_deg = [158.9318.*ones(1,16)  -Inf.*ones(1,2);
                  -Inf.*ones(1,10)      320.2865.*ones(1,7)  -Inf;
                  -Inf.*ones(1,14)      276.1246.*ones(1,4)];
    AS_Rx_deg  = [27.7580.*ones(1,16)  -Inf.*ones(1,2);
                  -Inf.*ones(1,10)     31.4672.*ones(1,7)  -Inf;
                  -Inf.*ones(1,14)     37.4179.*ones(1,4)];
    Type_Rx    = 3.*ones(1, size(AoA_Rx_deg, 2));
    % Fading

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -