📄 utra.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 + -