www.pudn.com > WCDMA.rar > gen_DPCCH_code.m
function y=gen_DPCCH_code(N_pilot) %************************************************************************ %function y=gen_DPCCH_code(N_pilot) % % Copyright 2002 The Mobile and Portable Radio Research Group % %Generates the a simplified version of the DPCCH code. In this version, %the pilot symbols in dach slot are generated as directed by the WDCMA %specification, ETSI TS 125 211 V3.2.0 (2000-02). However, the remainder %of the symbols are randomly generated. % %Parameters % Input % N_pilot Scalar Number of pilot symbols per slot % Must be an integer between 3 and 8 % % Output % y Vector DPCCH code. Contains 150 symbols % %************************************************************************ %Check to make sure that N_pilot is between 3 and 8 if (N_pilot<3)|(N_pilot>8) error(['N_pilot=',int2str(N_pilot),'! N_pilot must be between 3 and 8']); end if N_pilot==3 y(1:10)=[1 1 1 round(rand(1,7))]; y(11:20)=[0 0 1 round(rand(1,7))]; y(21:30)=[0 1 1 round(rand(1,7))]; y(31:40)=[0 0 1 round(rand(1,7))]; y(41:50)=[1 0 1 round(rand(1,7))]; y(51:60)=[1 1 1 round(rand(1,7))]; y(61:70)=[1 1 1 round(rand(1,7))]; y(71:80)=[1 0 1 round(rand(1,7))]; y(81:90)=[0 1 1 round(rand(1,7))]; y(91:100)=[1 1 1 round(rand(1,7))]; y(101:110)=[0 1 1 round(rand(1,7))]; y(111:120)=[1 0 1 round(rand(1,7))]; y(121:130)=[1 0 1 round(rand(1,7))]; y(131:140)=[0 0 1 round(rand(1,7))]; y(141:150)=[0 0 1 round(rand(1,7))]; elseif N_pilot==4 y(1:10)=[1 1 1 1 round(rand(1,6))]; y(11:20)=[1 0 0 1 round(rand(1,6))]; y(21:30)=[1 0 1 1 round(rand(1,6))]; y(31:40)=[1 0 0 1 round(rand(1,6))]; y(41:50)=[1 1 0 1 round(rand(1,6))]; y(51:60)=[1 1 1 1 round(rand(1,6))]; y(61:70)=[1 1 1 1 round(rand(1,6))]; y(71:80)=[1 1 0 1 round(rand(1,6))]; y(81:90)=[1 0 1 1 round(rand(1,6))]; y(91:100)=[1 1 1 1 round(rand(1,6))]; y(101:110)=[1 0 1 1 round(rand(1,6))]; y(111:120)=[1 1 0 1 round(rand(1,6))]; y(121:130)=[1 1 0 1 round(rand(1,6))]; y(131:140)=[1 0 0 1 round(rand(1,6))]; y(141:150)=[1 0 0 1 round(rand(1,6))]; elseif N_pilot==5 y(1:10)=[1 1 1 1 0 round(rand(1,5))]; y(11:20)=[0 0 1 1 0 round(rand(1,5))]; y(21:30)=[0 1 1 0 1 round(rand(1,5))]; y(31:40)=[0 0 1 0 0 round(rand(1,5))]; y(41:50)=[1 0 1 0 1 round(rand(1,5))]; y(51:60)=[1 1 1 1 0 round(rand(1,5))]; y(61:70)=[1 1 1 0 0 round(rand(1,5))]; y(71:80)=[1 0 1 0 0 round(rand(1,5))]; y(81:90)=[0 1 1 1 0 round(rand(1,5))]; y(91:100)=[1 1 1 1 1 round(rand(1,5))]; y(101:110)=[0 1 1 0 1 round(rand(1,5))]; y(111:120)=[1 0 1 1 1 round(rand(1,5))]; y(121:130)=[1 0 1 0 0 round(rand(1,5))]; y(131:140)=[0 0 1 1 1 round(rand(1,5))]; y(141:150)=[0 0 1 1 1 round(rand(1,5))]; elseif N_pilot==6 y(1:10)=[1 1 1 1 1 0 round(rand(1,4))]; y(11:20)=[1 0 0 1 1 0 round(rand(1,4))]; y(21:30)=[1 0 1 1 0 1 round(rand(1,4))]; y(31:40)=[1 0 0 1 0 0 round(rand(1,4))]; y(41:50)=[1 1 0 1 0 1 round(rand(1,4))]; y(51:60)=[1 1 1 1 1 0 round(rand(1,4))]; y(61:70)=[1 1 1 1 0 0 round(rand(1,4))]; y(71:80)=[1 1 0 1 0 0 round(rand(1,4))]; y(81:90)=[1 0 1 1 1 0 round(rand(1,4))]; y(91:100)=[1 1 1 1 1 1 round(rand(1,4))]; y(101:110)=[1 0 1 1 0 1 round(rand(1,4))]; y(111:120)=[1 1 0 1 1 1 round(rand(1,4))]; y(121:130)=[1 1 0 1 0 0 round(rand(1,4))]; y(131:140)=[1 0 0 1 1 1 round(rand(1,4))]; y(141:150)=[1 0 0 1 1 1 round(rand(1,4))]; elseif N_pilot==7 y(1:10)=[1 1 1 1 1 0 1 round(rand(1,3))]; y(11:20)=[1 0 0 1 1 0 1 round(rand(1,3))]; y(21:30)=[1 0 1 1 0 1 1 round(rand(1,3))]; y(31:40)=[1 0 0 1 0 0 1 round(rand(1,3))]; y(41:50)=[1 1 0 1 0 1 1 round(rand(1,3))]; y(51:60)=[1 1 1 1 1 0 1 round(rand(1,3))]; y(61:70)=[1 1 1 1 0 0 1 round(rand(1,3))]; y(71:80)=[1 1 0 1 0 0 1 round(rand(1,3))]; y(81:90)=[1 0 1 1 1 0 1 round(rand(1,3))]; y(91:100)=[1 1 1 1 1 1 1 round(rand(1,3))]; y(101:110)=[1 0 1 1 0 1 1 round(rand(1,3))]; y(111:120)=[1 1 0 1 1 1 1 round(rand(1,3))]; y(121:130)=[1 1 0 1 0 0 1 round(rand(1,3))]; y(131:140)=[1 0 0 1 1 1 1 round(rand(1,3))]; y(141:150)=[1 0 0 1 1 1 1 round(rand(1,3))]; elseif N_pilot==8 y(1:10)=[1 1 1 1 1 1 1 0 round(rand(1,2))]; y(11:20)=[1 0 1 0 1 1 1 0 round(rand(1,2))]; y(21:30)=[1 0 1 1 1 0 1 1 round(rand(1,2))]; y(31:40)=[1 0 1 0 1 0 1 0 round(rand(1,2))]; y(41:50)=[1 1 1 0 1 0 1 1 round(rand(1,2))]; y(51:60)=[1 1 1 1 1 1 1 0 round(rand(1,2))]; y(61:70)=[1 1 1 1 1 0 1 0 round(rand(1,2))]; y(71:80)=[1 1 1 0 1 0 1 0 round(rand(1,2))]; y(81:90)=[1 0 1 1 1 1 1 0 round(rand(1,2))]; y(91:100)=[1 1 1 1 1 1 1 1 round(rand(1,2))]; y(101:110)=[1 0 1 1 1 0 1 1 round(rand(1,2))]; y(111:120)=[1 1 1 0 1 1 1 1 round(rand(1,2))]; y(121:130)=[1 1 1 0 1 0 1 0 round(rand(1,2))]; y(131:140)=[1 0 1 0 1 1 1 1 round(rand(1,2))]; y(141:150)=[1 0 1 0 1 1 1 1 round(rand(1,2))]; end y=-2*y+1;