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

📄 tailbitingscenarios.m

📁 1、HSDPA; 2、LTE; 3、turbo code; 4、Mobile WiMAX; 5、LDPC
💻 M
📖 第 1 页 / 共 3 页
字号:
% File TailbitingScenarios
%
% This is a set of scenarios for the Coded Modulation Library.
%
% The simulations specified in this file are for tail-biting convolutional codes.
%
% Last updated on May 22, 2008

% determine where to store your files
base_name = 'tailbiting';
if ispc
    data_directory = strcat( '\output\', base_name, '\' );
else
    data_directory = strcat( '/output/', base_name, '/' );
end

% determine where your root directory is
load( 'CmlHome.mat' );
full_directory = strcat( cml_home, data_directory );
if ~exist( full_directory, 'dir' )
    mkdir( full_directory);
end

MINBER = 1e-5;  % 1e-5
MAXTRIALS = 1e9;  
MAXERRORS = 160;  % 100
SAVERATE = 1e5;

% QAM mappings
mapping_16 = [13  9  1  5 ...
              12  8  0  4 ...
              14 10  2  6 ...
              15 11  3  7];
          
mapping_64 = [59 51 35 43 11  3 19 27 ...
              58 50 34 42 10  2 18 26 ...
              56 48 32 40  8  0 16 24 ...
              57 49 33 41  9  1 17 25 ...
              61 53 37 45 13  5 21 29 ...
              60 52 36 44 12  4 20 28 ...
              62 54 38 46 14  6 22 30 ...
              63 55 39 47 15  7 23 31];

% Rate 1/2, QPSK, 6 Bytes, depth 0
record = 1;
sim_param(record).comment = 'Rate 1/2, QPSK, 6 Bytes, depth 0';
sim_param(record).sim_type = 'coded';
sim_param(record).code_configuration = 0;
sim_param(record).SNR = [0:0.5:10];
sim_param(record).SNR_type = 'Eb/No in dB';
sim_param(record).framesize = 6*8; 
sim_param(record).modulation = 'QPSK';
sim_param(record).mod_order = 4;
sim_param(record).mapping = 'gray';
sim_param(record).channel = 'AWGN';
sim_param(record).bicm = 0;
sim_param(record).demod_type = 0; 
sim_param(record).depth = 0;      % tb decoding wrap depth
sim_param(record).linetype = 'm--';
sim_param(record).legend = sim_param(record).comment;
sim_param(record).g1 = [1 1 1 1 0 0 1
    1 0 1 1 0 1 1 ];
sim_param(record).nsc_flag1 = 2;  % 2 for tail-biting
sim_param(record).pun_pattern1 = [];
sim_param(record).tail_pattern1 = [];
sim_param(record).decoder_type = -1; % Viterbi
sim_param(record).filename = strcat( data_directory, 'tb_rate1by2_QPSK_6bytes_AWGN_depth0.mat');
sim_param(record).reset = 0;
sim_param(record).max_trials = MAXTRIALS*ones( size(sim_param(record).SNR) );
sim_param(record).minBER = MINBER; 
sim_param(record).max_frame_errors = MAXERRORS*ones( size(sim_param(record).SNR) );
sim_param(record).save_rate = SAVERATE;

% Rate 1/2, QPSK, 6 Bytes, depth 1
record = 2;
sim_param(record).comment = 'Rate 1/2, QPSK, 6 Bytes, depth 1';
sim_param(record).sim_type = 'coded';
sim_param(record).code_configuration = 0;
sim_param(record).SNR = [0:0.5:10];
sim_param(record).SNR_type = 'Eb/No in dB';
sim_param(record).framesize = 6*8; 
sim_param(record).modulation = 'QPSK';
sim_param(record).mod_order = 4;
sim_param(record).mapping = 'gray';
sim_param(record).channel = 'AWGN';
sim_param(record).bicm = 0;
sim_param(record).demod_type = 0; 
sim_param(record).depth = 1;      % tb decoding wrap depth
sim_param(record).linetype = 'b--';
sim_param(record).legend = sim_param(record).comment;
sim_param(record).g1 = [1 1 1 1 0 0 1
    1 0 1 1 0 1 1 ];
sim_param(record).nsc_flag1 = 2;  % 2 for tail-biting
sim_param(record).pun_pattern1 = [];
sim_param(record).tail_pattern1 = [];
sim_param(record).decoder_type = -1; % Viterbi
sim_param(record).filename = strcat( data_directory, 'tb_rate1by2_QPSK_6bytes_AWGN_depth1.mat');
sim_param(record).reset = 0;
sim_param(record).max_trials = MAXTRIALS*ones( size(sim_param(record).SNR) );
sim_param(record).minBER = MINBER; 
sim_param(record).max_frame_errors = MAXERRORS*ones( size(sim_param(record).SNR) );
sim_param(record).save_rate = SAVERATE;

% Rate 1/2, QPSK, 6 Bytes, depth 2
record = 3;
sim_param(record).comment = 'Rate 1/2, QPSK, 6 Bytes, depth 2';
sim_param(record).sim_type = 'coded';
sim_param(record).code_configuration = 0;
sim_param(record).SNR = [0:0.5:10];
sim_param(record).SNR_type = 'Eb/No in dB';
sim_param(record).framesize = 6*8; 
sim_param(record).modulation = 'QPSK';
sim_param(record).mod_order = 4;
sim_param(record).mapping = 'gray';
sim_param(record).channel = 'AWGN';
sim_param(record).bicm = 0;
sim_param(record).demod_type = 0; 
sim_param(record).depth = 2;      % tb decoding wrap depth
sim_param(record).linetype = 'r--';
sim_param(record).legend = sim_param(record).comment;
sim_param(record).g1 = [1 1 1 1 0 0 1
    1 0 1 1 0 1 1 ];
sim_param(record).nsc_flag1 = 2;  % 2 for tail-biting
sim_param(record).pun_pattern1 = [];
sim_param(record).tail_pattern1 = [];
sim_param(record).decoder_type = -1; % Viterbi
sim_param(record).filename = strcat( data_directory, 'tb_rate1by2_QPSK_6bytes_AWGN_depth2.mat');
sim_param(record).reset = 0;
sim_param(record).max_trials = MAXTRIALS*ones( size(sim_param(record).SNR) );
sim_param(record).minBER = MINBER; 
sim_param(record).max_frame_errors = MAXERRORS*ones( size(sim_param(record).SNR) );
sim_param(record).save_rate = SAVERATE;

% Rate 1/2, QPSK, 6 Bytes, depth 3
record = 4;
sim_param(record).comment = 'Rate 1/2, QPSK, 6 Bytes, depth 3';
sim_param(record).sim_type = 'coded';
sim_param(record).code_configuration = 0;
sim_param(record).SNR = [0:0.5:10];
sim_param(record).SNR_type = 'Eb/No in dB';
sim_param(record).framesize = 6*8; 
sim_param(record).modulation = 'QPSK';
sim_param(record).mod_order = 4;
sim_param(record).mapping = 'gray';
sim_param(record).channel = 'AWGN';
sim_param(record).bicm = 0;
sim_param(record).demod_type = 0; 
sim_param(record).depth = 3;      % tb decoding wrap depth
sim_param(record).linetype = 'c--';
sim_param(record).legend = sim_param(record).comment;
sim_param(record).g1 = [1 1 1 1 0 0 1
    1 0 1 1 0 1 1 ];
sim_param(record).nsc_flag1 = 2;  % 2 for tail-biting
sim_param(record).pun_pattern1 = [];
sim_param(record).tail_pattern1 = [];
sim_param(record).decoder_type = -1; % Viterbi
sim_param(record).filename = strcat( data_directory, 'tb_rate1by2_QPSK_6bytes_AWGN_depth3.mat');
sim_param(record).reset = 0;
sim_param(record).max_trials = MAXTRIALS*ones( size(sim_param(record).SNR) );
sim_param(record).minBER = MINBER; 
sim_param(record).max_frame_errors = MAXERRORS*ones( size(sim_param(record).SNR) );
sim_param(record).save_rate = SAVERATE;

% Rate 1/2, QPSK, 6 Bytes, depth 4
record = 5;
sim_param(record).comment = 'Rate 1/2, QPSK, 6 Bytes, depth 4';
sim_param(record).sim_type = 'coded';
sim_param(record).code_configuration = 0;
sim_param(record).SNR = [0:0.25:10];
sim_param(record).SNR_type = 'Eb/No in dB';
sim_param(record).framesize = 6*8; 
sim_param(record).modulation = 'QPSK';
sim_param(record).mod_order = 4;
sim_param(record).mapping = 'gray';
sim_param(record).channel = 'AWGN';
sim_param(record).bicm = 0;
sim_param(record).demod_type = 0; 
sim_param(record).depth = 4;      % tb decoding wrap depth
sim_param(record).linetype = 'm-';
sim_param(record).legend = sim_param(record).comment;
sim_param(record).g1 = [1 1 1 1 0 0 1
    1 0 1 1 0 1 1 ];
sim_param(record).nsc_flag1 = 2;  % 2 for tail-biting
sim_param(record).pun_pattern1 = [];
sim_param(record).tail_pattern1 = [];
sim_param(record).decoder_type = -1; % Viterbi
sim_param(record).filename = strcat( data_directory, 'tb_rate1by2_QPSK_6bytes_AWGN_depth4.mat');
sim_param(record).reset = 0;
sim_param(record).max_trials = MAXTRIALS*ones( size(sim_param(record).SNR) );
sim_param(record).minBER = MINBER; 
sim_param(record).max_frame_errors = MAXERRORS*ones( size(sim_param(record).SNR) );
sim_param(record).save_rate = SAVERATE;

% Rate 1/2, QPSK, 6 Bytes, depth 5
record = 6;
sim_param(record).comment = 'Rate 1/2, QPSK, 6 Bytes, depth 5';
sim_param(record).sim_type = 'coded';
sim_param(record).code_configuration = 0;
sim_param(record).SNR = [0:0.25:10];
sim_param(record).SNR_type = 'Eb/No in dB';
sim_param(record).framesize = 6*8; 
sim_param(record).modulation = 'QPSK';
sim_param(record).mod_order = 4;
sim_param(record).mapping = 'gray';
sim_param(record).channel = 'AWGN';
sim_param(record).bicm = 0;
sim_param(record).demod_type = 0; 
sim_param(record).depth = 5;      % tb decoding wrap depth
sim_param(record).linetype = 'b-';
sim_param(record).legend = sim_param(record).comment;
sim_param(record).g1 = [1 1 1 1 0 0 1
    1 0 1 1 0 1 1 ];
sim_param(record).nsc_flag1 = 2;  % 2 for tail-biting
sim_param(record).pun_pattern1 = [];
sim_param(record).tail_pattern1 = [];
sim_param(record).decoder_type = -1; % Viterbi
sim_param(record).filename = strcat( data_directory, 'tb_rate1by2_QPSK_6bytes_AWGN_depth5.mat');
sim_param(record).reset = 0;
sim_param(record).max_trials = MAXTRIALS*ones( size(sim_param(record).SNR) );
sim_param(record).minBER = MINBER; 
sim_param(record).max_frame_errors = MAXERRORS*ones( size(sim_param(record).SNR) );
sim_param(record).save_rate = SAVERATE;

% Rate 1/2, QPSK, 6 Bytes, depth 6
record = 7;
sim_param(record).comment = 'Rate 1/2, QPSK, 6 Bytes, depth 6';
sim_param(record).sim_type = 'coded';
sim_param(record).code_configuration = 0;
sim_param(record).SNR = [0:0.25:10];
sim_param(record).SNR_type = 'Eb/No in dB';
sim_param(record).framesize = 6*8; 
sim_param(record).modulation = 'QPSK';
sim_param(record).mod_order = 4;
sim_param(record).mapping = 'gray';
sim_param(record).channel = 'AWGN';
sim_param(record).bicm = 0;
sim_param(record).demod_type = 0; 
sim_param(record).depth = 6;      % tb decoding wrap depth
sim_param(record).linetype = 'r-';
sim_param(record).legend = sim_param(record).comment;
sim_param(record).g1 = [1 1 1 1 0 0 1
    1 0 1 1 0 1 1 ];
sim_param(record).nsc_flag1 = 2;  % 2 for tail-biting
sim_param(record).pun_pattern1 = [];
sim_param(record).tail_pattern1 = [];
sim_param(record).decoder_type = -1; % Viterbi
sim_param(record).filename = strcat( data_directory, 'tb_rate1by2_QPSK_6bytes_AWGN_depth6.mat');
sim_param(record).reset = 0;
sim_param(record).max_trials = MAXTRIALS*ones( size(sim_param(record).SNR) );
sim_param(record).minBER = MINBER; 
sim_param(record).max_frame_errors = MAXERRORS*ones( size(sim_param(record).SNR) );
sim_param(record).save_rate = SAVERATE;

% Rate 1/2, QPSK, 6 Bytes, depth 7
record = 8;
sim_param(record).comment = 'Rate 1/2, QPSK, 6 Bytes, depth 7';
sim_param(record).sim_type = 'coded';
sim_param(record).code_configuration = 0;
sim_param(record).SNR = [0:0.25:10];
sim_param(record).SNR_type = 'Eb/No in dB';
sim_param(record).framesize = 6*8; 
sim_param(record).modulation = 'QPSK';
sim_param(record).mod_order = 4;
sim_param(record).mapping = 'gray';
sim_param(record).channel = 'AWGN';
sim_param(record).bicm = 0;
sim_param(record).demod_type = 0; 
sim_param(record).depth = 7;      % tb decoding wrap depth
sim_param(record).linetype = 'c-';
sim_param(record).legend = sim_param(record).comment;
sim_param(record).g1 = [1 1 1 1 0 0 1
    1 0 1 1 0 1 1 ];
sim_param(record).nsc_flag1 = 2;  % 2 for tail-biting
sim_param(record).pun_pattern1 = [];
sim_param(record).tail_pattern1 = [];
sim_param(record).decoder_type = -1; % Viterbi
sim_param(record).filename = strcat( data_directory, 'tb_rate1by2_QPSK_6bytes_AWGN_depth7.mat');
sim_param(record).reset = 0;
sim_param(record).max_trials = MAXTRIALS*ones( size(sim_param(record).SNR) );
sim_param(record).minBER = MINBER; 
sim_param(record).max_frame_errors = MAXERRORS*ones( size(sim_param(record).SNR) );
sim_param(record).save_rate = SAVERATE;

% Rate 1/2, QPSK, 6 Bytes, depth 8
record = 9;
sim_param(record).comment = 'Rate 1/2, QPSK, 6 Bytes, depth 8';
sim_param(record).sim_type = 'coded';
sim_param(record).code_configuration = 0;
sim_param(record).SNR = [0:0.25:10];
sim_param(record).SNR_type = 'Eb/No in dB';

⌨️ 快捷键说明

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