add_training2.m

来自「用Matlab实现空时分组编码对其MIMO系统性能进行分析得出理想的结果」· M 代码 · 共 59 行

M
59
字号
function [outdata_block1,outdata_block2,training_sequence1,training_sequence2]=add_training2(data_block1,data_block2,training_length1,training_length2,type)%   [outdata_block1,outdata_block2,training_sequence1,training_sequence2]=add_training2(data_block1,data_block2,training_length1,training_length2,type)%%	Output:%	outdata_block1,2	    - Training sequence and datablock (symbol-vector)%   training_sequence1,2    - The training sequences, which also is concatenated in outdata_block1,2 (binary-vector)%	%   Input:%   data_block1,2           - Alamouti-coded symbols (symbol-vector)%   training_length1,2      - Desired length of training sequences (even integer)%   type                    - Specifies which kind of training sequence to be added (int 0,1)%                               if type = 0, a random sequence is used.%                               if type = 1, Karls homemade train.seq is used.%%   Short Theoretical Background for the Function:%%   Instead of adding binary training-data to the original data-sequence, %   this function adds bpsk symbols after alamouti-coding is performed%   so that the training-sequence will not be alamouti-coded.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     %%% Function part of simulation for Space-Time%%% coding project, group Grey-2001.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   Author: Stefan Uppg錼d%   Date: 2001-03-19%   Version: 1.0 (add_training)%   Revision (Name & Date):%   2.0 SU  2001-04-04  Adds bpsk-symbols to data. Function supposed to be called%                       after that Alamouti-coding already has been performed.%                       This function uses the model parameter and adds two%                       training-sequences when a 2x? is used.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%home_made_training = [];for(i=1:30)    home_made_training = [home_made_training 1];    home_made_training = [home_made_training zeros(1,i)];end% type = 0 -> call for a random training sequence.if (type==0)    training_sequence1 = random_training(training_length1);    training_sequence2 = random_training(training_length2);elseif (type==1)    training_sequence1 = home_made_training(1:training_length1); % Warning: Same sequence in    training_sequence2 = home_made_training(1:training_length2); % both trainings!else                                training_sequence = [];end % end type == 0training_sequence1_symb = bpsk(training_sequence1,1);training_sequence2_symb = bpsk(training_sequence2,1);outdata_block1 = [training_sequence1_symb zeros(1,training_length2) data_block1];outdata_block2 = [zeros(1,training_length1) training_sequence2_symb data_block2];

⌨️ 快捷键说明

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