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

📄 main_stbc_24.txt

📁 详细的空时分组码程序
💻 TXT
字号:
% 表示t2*r4系统,码率= 1;
% 16qam 64qam %qam调制有2种情况(4=16qam,6=64qam);
% Max_quantity_bits 输入输出量化比特位数
% Bits 一个Ofdm符号的比特个数
% Time_length 假设在这个时间间隔中信道特性不发生变化
%------------需要自定义的参数-------------------------------------------%
% snr_min 迭代的最小的信噪比
% snr_max 迭代的最大的信噪比
% stepsize 迭代的步长

clear
clc

global table16 table64 Mod_type Bits Time_length Tx_num Rx_num
global Max_quantity_bits Max_value Min_value Max_add_value
snr_min=0;
snr_max=30;
stepsize = 2.5;
Mod_type = 4; 
Bits = 1000; %一个ofdm符号长度
%-------------全局参量--------------------------------%
Tx_num = 2; 
Rx_num = 4; 
Time_length = 2; 
pqam_length = Bits*Mod_type; 
%----------------量化参量-----------------------------%
Max_quantity_bits = 8;
Max_value = 2^(Max_quantity_bits-1);
Min_value = -Max_value;
Max_add_value = 2^(2*Max_quantity_bits-1);
%---------------------------------qam 映射--------------------------------------------------------%
sig_code = randint(Tx_num,pqam_length);
stbc_code = qam_mod(sig_code);

%-------------------函数stbc_decode完成stbc的译码(定点)-----------------------------------------%
table16 = table16*Max_value;
table64 = table64*Max_value;
table64 = fix(table64*128/138);
iterative_length = 0;
decode_out = zeros(Tx_num,Bits);
demap_out = zeros(Tx_num,pqam_length);
for snr_db_step =snr_min:stepsize:snr_max 
iterative_length = iterative_length+1
[decode_out,demap_int] = stbc_decode24(stbc_code,snr_db_step);
demap_out = qam_demod(demap_int);
error_ratio = err_static(demap_out,sig_code);
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,'mo-'); 
elseif Mod_type == 6
semilogy(xanxis,e_record,'k*-'); 
end
grid on;
hold on;
title('T2R4 系统');


⌨️ 快捷键说明

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