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

📄 main stbc.txt

📁 详细的空时分组码程序
💻 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 + -