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

📄 basesim.m

📁 完整的空时码链路仿真多发射天线多接收天线空时分集系统的具体代码实现和误码性能评估
💻 M
字号:
%%   Short Theoretical Background for the Function:%%   Program for baseband-simulation.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     %%% Function part of simulation for Space-Time%%% coding project, group Grey-2001.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   Author: Stef and Fred%   Date: 2001-03-19%   Version: 1.0%   Revision (Name & Date):%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all, clear%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Initializations%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N               = 2000000;                   % Number of total datablock_size      = N/1000;                   % block_size must be multiple of N.training_length1 = 50;                   % training_length + N must be an even number!training_length2 = training_length1;
fs              = 16000;                 % Sampling-frequencyT               = 0.0005;                  % Symboltimepulsetype       = 4;							% 1: rect 2:root-rais-cos 3:hamming 4:raised-cosinemodel		    = 1;							% 0: no Alamouti (1*1) 1: Alamouti (2*1)
rec             = 1;                            % 2: two receivers else one receiver     Eb              = 1;                            % Signalenergisigma2          = 1;gamma0dB        = 0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Running Simulation%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%a1err_mat=zeros(length(gamma0dB),N/block_size);%a2err_mat=zeros(length(gamma0dB),N/block_size);%t1err_mat=zeros(length(gamma0dB),N/block_size);%t2err_mat=zeros(length(gamma0dB),N/block_size);compared_error = [];for(model=1:1)EbN0error = [];for(gamma=1:length(gamma0dB))    gamma0dB(gamma)    gamma0 = 10^(gamma0dB(gamma)/10);    N0 = 2*sigma2*Eb/gamma0;    error = [];     data = random_data(N);      % Generate random source-data    %a1err_vec=[];    %a2err_vec=[];    %t1err_vec=[];    %t2err_vec=[];            for(i=0:(length(data)/block_size)-1)    i    data_block = get_datablock(data,block_size,i);        symbols = bpsk(data_block,model);        [s_antenna1, s_antenna2] = alamouti(symbols,model);         % set = 1, alamouti coding is performed!        if model == 1        [s_antenna1,s_antenna2,training_sequence1,training_sequence2]=add_training2(s_antenna1,s_antenna2,...            training_length1,training_length2,0);               % type = 0, random training-sequence.        outdata_block = [training_sequence1 training_sequence2 data_block];            elseif model == 0        [s_antenna1,training_sequence1]=add_training(s_antenna1,training_length1,0);  % type = 0, random training-sequence.        outdata_block = [training_sequence1 data_block];        training_sequence2 = 0;    end % model == 1        %%%    %%% Antenna 1    %%%    
    [s1,t1]=pulseshape(s_antenna1,fs,pulsetype,T);          % Apply pulseshaping        %%%    %%% Antenna 2    %%%    
    [s2,t2]=pulseshape(s_antenna2,fs,pulsetype,T);          % Apply pulseshaping    %%%    %%% Plotting results    %%%        %rows=2;    %cols=3;               %%%    %%% Simulating with simple channel 1 & 2 (3&4).    %%%    
    % noise only once !    %s1_thru_channel=s1;    [s1_thru_channel,alpha1,theta1]=rayleigh(s1,sigma2);    %%%    %%% Ska man stoppa in Eb/N0 i awgnbase? Funderar p

⌨️ 快捷键说明

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