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

📄 utra.m

📁 两个Nokia研究人员写的W-CDMA的仿真代码。 包含信道编码
💻 M
字号:
%% Project:     WCDMA simulation environment% Module:      % Author:      % Date:        February, 1999%% History:% %              April 22,  1999 Maarit Melvasalo %              This file was rewritten to it's current format%% Description: %              This file is a initialsation file for the UTRA model.%              All the parameters are defined here. %%              Most of the parameters can be changed directly from %              Simulink. %%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++% NOTE: If you change anything inhere remember to call this file once from the%       main matlab workspace to update it for simulink!!!!! %++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++                % these are define here so that they would be the same for all                % the blocks                % THIS CAN BE CHANGED (but be careful):%___________________________________________________________________________if (exist('link','var')>0)link%if link ==  1  %downlink = 1 / uplink = 2  parametrit muuttuvatend;%kana =[1 0; 0.9 0.1];%viive=[0 1];%aika =10;%___________________________________________________________________________% GENERALN = 80 ;        % Number of bits in one packetnPackets = 3;    % Number of packets send during simulation (=simulation duration)% Tama ei onnistu silla ei vality muihin muuttujiin if (exist('N','var')<1)end;%___________________________________________________________________________% SPREADING CODE                % used by discrete modulation and rake blocksif (exist('C','var')<1) % if the code  has been defined in workspace do not change% C=[1 1 1 ]     C = [ 1 -1 1 -1 1 -1 1 1 -1 1 -1 1 1 -1 1 -1];  end;%___________________________________________________________________________% ENCODER AND DECODER GENERATOR POLYNOMIALSif (exist('p1_o','var')<1) % if the gnerator polynomials have been defined in workspace do not change     Base = 8;  % indicates the base in which the numbers are given/**/     p1_o = '557';  % desimal: 367;     p2_o = '663';  % desimal: 435;     p3_o = '711';  % desimal: 457; end%___________________________________________________________________________%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++% CONSTANTS DO NOT CHANGE!!!!!                % DO NOT CHANGE unless the c-code are updated!!!%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++K = 3;          % Channel coding ratio   tail_len = 8;   % =  #define CONVOLUTION_TAIL_LEN  Number of tail bits var = 0; %noise variance /**/%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++% DON'T CHANGE ANYTHING BELOW THIS LINE UNLESS YOU ARE% ABSOLUTELY SURE WHAT YOU ARE DOING%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%        MODE DEFINITION FOR THIS FILE%        - Some of the parameters only affect some model blocks.%          Users can adjsut this parameters from simulink blocks directly.  %        %++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++if (exist('job','var')<1) job = 0; end;job  ;init = 0;        % job:  0 = Initializationchcoding = 2;    % job:  2 = channel coding chdecoding = 3;  %       3 = channel decoding discmod = 4;     %       4 = discrete modulationdiscdemod = 5;   %       5 = discrete demodulationchannel = 6;     %       6 = channelrake = 7;        %       7 = rake%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%     INITIALIZATION%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++% Initialization, only called at the main workspace of matlabif ( (job == 0) )%    chcoding:      ST = nPackets ;         % SIMULATION TIMEend;%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%     CHANNEL CODING  OR DECODING%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++if ( (job == chcoding) | (job == chdecoding) )          % if the polynomials have been defined already.     p1 = base2dec(p1_o,Base);     p2 = base2dec(p2_o,Base);     p3 = base2dec(p3_o,Base);          % if probabilites for bits are not given or is plain 0     if (exist('sp0','var')<1 | sp0 == 0)          sp0 = [1 0];  % soft probabilities for value 0          sp1 = [0 1]  % soft probabilities for value 1     end;           % If the number of rows and colums given to interleaver is not acceptalbe          % redifine them     if ((rows * cols) ~= (K * N))           rows = 12 ;              % for interleaver          cols = (K *N) /rows;    % for interleaver     end;          % Size of input vector for decoder     deInputs = K*N;end; %++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%     DISCRETE MODULATIO (DOWNLINK)%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++if ( (job == discmod) | (job == discdemod) )          % Size of input vector for modulator     nInputs = N * K;     deInputs = 10;end;%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%     CHANNEL %++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++if ( job == channel) %    channel :     HR=HR' ; % This is only to simplify the c-code      HD=HD' ;          % Size of the input vector given to channel block    nInputs = K*N*length(C) / 2;end;%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%     RAKE%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++if (job == rake)     nInputs = K*N*length(C) / 2;end;% HUOM LAITA TARKISTUS ETTA SF <= LENGTH(C) MUUTEN KAATUU!!!!!!!!!!! (10.5.)%___________________________________________________________________________

⌨️ 快捷键说明

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