?? main stbc.txt
字號:
% 16qam 64qam ; t4*r4系統; 碼率= 3/4;
% 添加定點dsp仿真
clear
clc
global Time_length bits Tx_num Rx_num Mod_type table16 table64
global Max_bit_num Max_value Min_value Max_add_value scale_eff st2
snr_min=0;
snr_max=35;
stepsize = 2.5;
bits = 10000; %一個ofdm符號長度
Mod_type = 6; %qam調制 4=16qam;
%------------------------仿真參數設定-------------------------------------%
Max_bit_num = 8;
scale_eff = 3; % 加法器縮放系數
Max_value = 2^(Max_bit_num-1); % Max_value = 2^15
Min_value = -Max_value;
Max_add_value = 2^(2*Max_bit_num-1);
star_index_length = 16;
Tx_num = 4; %發送天線個數(4)
Rx_num = 4;
Time_length = 4;
pqam_length = bits*Mod_type;
%-------------------------------------------------------------------------%
j=sqrt(-1);
st2 = sqrt(2);
st2 = fix(st2*Max_value)/Max_value;
%------------------產生信號源------------------------%
sig_code = zeros(Tx_num,pqam_length);
sig_code = randint(Tx_num-1,pqam_length);
sig_code(4,:) = sig_code(3,:);
stbc_code = qam_mod(sig_code);
%-----------------------迭代開始 信噪比 由小到大-----------------------------------%
table16 = fix(table16*Max_value);
table64 = fix(table64*Max_value*127/138);
demap_out = zeros(Tx_num,pqam_length);
iterative_length = 0;
for snr_db_step =snr_min:stepsize:snr_max % 信噪比從snr_min--snr_max
iterative_length = iterative_length+1
[decode_out,demap_int] = stbc_decode44(stbc_code,snr_db_step);
demap_out = qam_demod(demap_int);
error_ratio = err_static(sig_code,demap_out);
e_record(iterative_length) = error_ratio;
end % snr_db_step =snr_min:snr_max
xanxis = snr_min:stepsize:snr_max;
if Mod_type == 4
semilogy(xanxis,e_record,'r*-');
elseif Mod_type == 6
semilogy(xanxis,e_record,'ro-');
end
end
grid on;
hold on;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -