?? set_11a_para.m
字號:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 設置B3G系統全局變量,參閱本實驗室的B3G系統參數文檔
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 2.1 OFDMA收發機系統參數定義單元
% 命名規律: N_xxx: xxx的數目,為非負整數
% T_xxx: xxx的持續時間,為非負實數
% Idx_xxx: xxx的編號,為整數向量
% 一些約定俗成的表示, 如fc載頻, Bw信道帶寬等
% 1) 當TurnOn.AdptMod = 0 時表示所有子載波用調制方式:(不使用信道編碼時)
% 1--BPSK調制, 2--QPSK調制,3--8PSK調制, 4--16QAM調制,6--64QAM調制
% 2) 當TurnOn.AdptMod = 1 時表示自適應調制,平均每個子載波上調制的比特數
% 此時最大只能設置為4, 否則調制器無法處理
Modulation = 2;
N_sym = 10; % 每幀中OFDM符號數,不包括兩個前綴OFDM符號
N_frame = 100; % 仿真的幀個數
% 仿真循環開始的Eb_No,定義為每比特的能量Eb
% 和噪聲的單邊功率譜密度No的比值, dB值
Eb_NoStart = 0;
Eb_NoInterval = 2; % 仿真Eb/No的間隔值(dB)
Eb_NoEnd = 20; % 仿真Eb/No的終止值(dB)
fc = 5e9; % 載波頻率(Hz)
Bw = 20e6; % 基帶系統帶寬(Hz)
fs = 20e6; % 基帶抽樣頻率
T_sample = 1/fs; % 基帶時域樣點間隔(s)
% 802.11a的基本參數
N_subc = 64; % OFDM 子載波總數
Idx_used = [-26:-1 1:26]; % 使用的子載波編號
Idx_pilot = [-21:14:-7 7:14:21]; % 導頻子載波編號
N_used = length(Idx_used); % 使用的子載波數
N_pilot = length(Idx_pilot); % 導頻的子載波數
N_data = N_used - N_pilot; % 導頻的子載波數
Idx_data = zeros(1,N_data);
N_tran_sym = 2;
% 得到數據子載波的編號
m = 1; n = 1;
for k = 1:length(Idx_used)
if Idx_used(k) ~= Idx_pilot(m);
Idx_data(n) = Idx_used(k);
n = n + 1;
else
if m ~= N_pilot
m = m + 1;
end
end
end
% 為編程使用方便,調整子載波編號為從1開始,到子載波總數
Idx_used = Idx_used + N_subc/2 +1;
Idx_pilot = Idx_pilot + N_subc/2 +1;
Idx_data = Idx_data + N_subc/2 +1;
% 導頻位置值
PilotValue = ones(N_pilot,1);
% OFDM循環前綴占有效FFT時間的比例
PrefixRatio = 1/4;
T_sym = T_sample*( (1 + PrefixRatio)*N_subc );
Es = 1; % 在16QAM, 64QAM調制方式下,符號能量都被歸一化
Eb = Es/Modulation; % 每比特能量
% 假設每個用戶的RS碼參數相同,均為(204,188,8)
UserRS_Coding = repmat([255,239,8]',1,N_user);
TraceBackLen = 3; % 卷積碼譯碼參數
% 假設每個用戶的卷積碼trellis 結構體相同
UserTrellis = repmat( poly2trellis(3,[6 7]),1,N_user );
N_ant_pair = N_Tx_ant * N_Rx_ant; % 收發天線對的數目
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 2.2 信道參數定義單元,
% 車輛運動速度, 單位:km/hr , 對應多普勒頻移!!
speed = 0;
ch = struct('Speed', speed);
% 多普勒頻移, 單位: Hz
ch.fd = ch.Speed *(1e3/3.6e3)*fc/3e8;
% 信道每條徑的功率
ch.Power = 10.^([ 0 -6 -12 -18 -24 -30 ]'./10);
ch.Power = ch.Power/ sum(ch.Power); % 功率歸一化
% 每條徑的時延:ns
ch.Delay = [ 0 100 200 300 400 500 ]'; % 室內信道參數
% 每條徑對應的樣點數
ch.Delay_sample = round(ch.Delay * 1e-9 * fs);
ch.N_path = size(ch.Power,1); % 徑數
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 2.3 OFDMA收發機算法選擇和參數定義單元
%自適應調制方法 ,當TurnOn.AdptMod == 1時,
% 1--自適應調制方法1, 給功率增加最小的子載波分配比特和功率, 子載波分配由AllocMethod確定
% 2--自適應調制方法2, 給誤比特性能降低最小的子載波分配比特和增加功率, 子載波分配由AllocMethod確定
% 3--自適應調制方法3, 按照信道響應降序排列,子載波間爭奪比特和功率, 子載波
% 分配由AllocMethod確定
% 當TurnOn.AdptMod == 0 時,此不起作用, 無自適應調制,使用固定子載波分配
AdptMethod = 1;
% 子載波分配方法, 1--相鄰分配, 2--交織分配, 3---跳頻分配 ,4--自適應子載波分配
AllocMethod = 1;
% 自適應調制算法中需要的目標誤比特率
TargetBer = 1e-3;
% 空時編碼方法, 1--空時分組碼, 2--空時格碼
ST_Code = 1;
% 單天線信道估計方法
% 1 - 基本LS算法; 2 - LS的DFT改進算法; 3 - 加判決反饋的LS-DFT
% 4 - 基本MMSE算法; 5 - MMSE的DFT改進算法; 6 - 加判決反饋的MMSE-DFT
% 7 - 使用SVD分解算法,8 - Robust算法
CE_Method = 1 ;
% 使用LS或MMSE的DFT改進算法時,所保留的子載波數
CE_SubcRemain = max(ch.Delay_sample); % 最大多徑時延對應的樣點數
% 多天線信道估計方法
CE_Method2 = 1;
% 定時同步算法
PreNoiseLen = 100; % 為定時算法加的前噪樣點數
PostNoiseLen = 100; % 后噪樣點數
delta_fc = 10e3; % 載波頻偏 (Hz)
Repeat = 4; % 第1個訓練OFDM符號,時域信號重復部分的數目
% 幀(粗)定時
% 幀定時算法, 1--單窗口能量檢測方法, 2--雙窗口能量檢測方法 , 3--延時相關方法幀定時
FrameTiming = 1;
Window1 = 32; % 幀定時算法的窗口寬度
Threshold1 = 0.4; % 幀定時算法門限
Delay1 = 32; % 幀定時延時相關算法的延時樣點數
% 載波頻偏粗估計
WinStart = 16;
WinSize = 32;
Delay2 = 16;
% 符號定時算法
Window2 = 32; % 和已知序列求相關,序列的長度
TimingAhead = 0; % 定時提前的樣點數
% 載波頻偏粗估計
WinStart2 = 16;
WinSize2 = 32;
Delay3 = 32;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -