PHASE OPTIMIZED PN CODE SETS FOR NUMERICAL ANALYSIS AND SIMULATION OF DS-CDMA SYSTEMS

 

Dr. Kari Kärkkäinen

Centre for Wireless Communications

Faculty of Information Technology and Electrical Engineering

University of Oulu, Finland

 

If you are a direct-sequence (DS) code-division multiple-access (CDMA) system designer & analyzer, or a spreading code expert, it may be useful for you to spend a moment with my web page. Sseveral initial-phase optimized binary pseudonoise (PN) code sequences are available for you.

As you know, a DS-CDMA system designer & analyzer is quite often face to face with the problem how to generate, or how to get PN codes easily from some source, in order to analyze and simulate the performance of a CDMA system and its sub-system units in some R&D project. Moreover, availabilirt of CDMA code families contained within some commercial software simulation tools may be too limited. The task for PN sequence generation would be much easier if one would have an interactive spreading code generation and analysis software, such as my CODSIM1.

Does this sound familiar to you or to your colleagues? My intention is to bring a handy solution to your problems with this WWW based spreading code database.

Further, there also exist a need for agreed ("standardized") PN code sets to fix the codes and their initial-phases when important system parameters, such as code length and the number of simultaneous users, are decided for the purpose of numerical analysis or simulation. That action freezes the probability distribution function (PDF) of a multiple-access interference (MAI) random variable in order to make the numerical performance analysis results of different research groups and authors commensurable in design projects and in CDMA literature. This is just to get commensurable results.

In addition, it would add surplus value if the agreed set were to correspond to optimized SNR or BEP performance. That is why it is beneficial to employ some phase optimization rule in fixing sequences. This matter has been discussed in my paper entitled: Importance of Initial-Phase Selection Agreement of PN sequences from the Standpoint of Numerical Analysis and Simulation of DS-CDMA system, published in the IEEE GLOBECOM 98 conference, Sydney, Australia, Nov. 8-12, 1998, as well as in my journal paper entitled: The Influence of Initial-Phases of a PN Code Set on the Performance of an Asynchronous DS-CDMA System, published by Kluwer Academic Publishers in Wireless Personal Communications, Vol. 13, No. 3, pp. 279-293, Jun. 2000.

For the purposes described above, several PN code sets of lengths ranging from15 to 4095 chips were generated and phase-optimized with my personal MATLAB based CODSIM1 software from the families of Gold2, Kasami2 (both the small and large sets) and maximum-length2 sequences. Unfortunately CODSIM is not available for distribution. Total 25 different CDMA code sets per each initial-phase optimization criterion are at your disposal. The code sets and the number of PN codes in each set are briefly summarized in Table 1. Total 1547 different PN codes should satisfy your most urgent needs on spreading codes.

 

Table 1 Number of PN Sequences in Each Optimized CDMA Code Set

Gode Family

Code Length

15

31

63

127

255

511

1023

2047

4095

Maximum-length (M)

2

6

6

18

16

48

60

60

60

Gold (G)

ND

33

65

129

ND

130

130

130

ND

Small Kasami (SK)

4

ND

8

ND

16

ND

32

ND

64

Large Kasami (LK)

15

ND

65

ND

256

ND

130

ND

64

ND = Code family is not defined for this code length.

 

Codes are arranged in the form of matrix so that each row contains one code and columns contain the consecutive chips. For example, a matrix of size 129x127 is needed for an optimized set of Gold codes of length 127 according to Table 1. Of course, you can take so many codes as you need up to the maximum number in Table 1. I strongly suggest that you would take the codes you want starting from the beginning of each code matrix, since in the case of MSQCC/CO3,4,5,6 and CO/MSQCC3,4,5,6 optimization criteria the first code was kept as a fixed reference when optimizing the rest of a code set.

The code sets are saved into a server of our UOcomputer system both in the binary MAT-file format of MATLAB language and in the 8-digit ASCII-file format. See MATLAB Reference Guide as well as MATLAB External Interface Guide of The Math Works, Inc. for saving and loading MAT- and ASCII-files, and importing external data. Bipolar code chips have the values +1 and -1 (+1 corresponds to logical {0}-chip and -1 corresponds to logical {1}-chip according to the definition by Sarwate & Pursley2). You should not have any problems in loading MAT-files into your computer system, provided you have a MATLAB.

You need ASCII-files if you do not have MATLAB and want to employ my code sets in you own simulation environment, or in some commercially available CAE simulation tool. See the reference manual of your software manufacturer for importing external data. ASCII-files were saved into our server with GZIP to reduce memory space and thus to speed up the file transfer to you. So, you need GZIP to unzip the ASCII-files. Consult your system manager in the case of emerging problems in unzipping.

I have included the chip information of two example sets in tabulated form to help you to track that you have downloaded everything correctly. For the purpose of this WWW-based PN code delivery, it is important that you have received all chips correctly.

In the case you have any questions, or any tiny suspicion that something may not be OK with my PN code sets, I would be happy if you could inform me immediately. Of course, I have cross-checked all the material available on our server many times, but still a very tiny theoretical possibility exists that something may have gone wrong (a very simple test for you is, e.g., to calculate the periodic (even) ACF and CCF in order to see the typical correlation behaviour of each PN code family). Also, all comments and suggestions concerning my code sets and work are wellcome.

I have optimized each code set of Table 1 with 5 different PN code phase optimization criteria. So, total 125 different optimized sets are on your disposal at this spreading code database (exactly 250 sets if both MAT- and ASCII-files are counted). MSQCC/CO3,4,5,6 and CO/MSQCC3,4,5,6 criteria emphasize more cross-correlation properties, whereas AO/LSE2,7, LSE/AO2,7 and MSE/AO8 criteria emphasize more auto-correlation properties. I assume that you are familiar with those phase optimization criteria. See my IEEE MILCOM 95 paper3 the figures therein for comparison of different criteria.

If you are interested in to optimize the SNR or BEP performance of an asynchronous DS-CDMA system in numerical analysis or computer simulation of your problem, I would suggest you to employ MSQCC/CO optimized codes in order to get the best system performance3,4,5,6. In order to get commensurable results between various authors or project parties, it would be useful to give the file name, the number of codes taken from the beginning of a code matrix, and the file location address: http://www.cc.oulu.fi/~kk/optim_codes_info.html in your results report to help your colleagues to trace my files, and perhaps a reference to my IEEE GLOBECOM 98 paper5 which the announcement of this spreading code distribution service was made and the motivation and the background information of this whole thing was told. The file names of my spreading code database were given according to the following self-explaining examples:

 

msqcc_co_lk255.mat - MAT-file of MSQCC/CO optimized 255 chip large Kasami set

ao_lse_g127.gz - GZIP compressed ASCII-file of AO/LSE optimized 127 chip Gold set

 

To load a code matrix file, click the right mouse button on a desired code set name abbreviation and choose: "Save Link As" or "Save Target As" depending on your system.

 

Load the optimized code sets saved in binary MAT-file format

Load the optimized code sets saved in GZIP ASCII-file format

Click here to view the parameter information for code sets of Table 1

Click here to view some tabulated example sets


 

Thank you for your interest on my work. I have left this spreading code research area but I'm still interested in applications of pseudorandom sequences.

 

Back to my home page


References

  1. K.H.A. Kärkkäinen, "CODSIM - A Simulation Environment for Spreading Codes", in Proc. 1994 IEEE 44th Vehicular Technology Conference (VTC 94), Stockholm, Sweden, pp. 535-539, June 8-10, 1994.
  2. D.V. Sarwate & M.B. Pursley, "Crosscorrelation Properties of Pseudorandom and Related Sequences", Proceedings of the IEEE, vol. 68, no. 5, pp. 593-619, May 1980.
  3. K.H.A. Kärkkäinen, "Influence of Various PN Sequence Phase Optimization Criteria on the SNR Performance of an Asynchronous DS-CDMA System", in Proc. 1995 IEEE Military Communications Conference (MILCOM 95), San Diego, California, USA, pp. 641-646, Nov. 1995.
  4. K.H.A. Kärkkäinen, "Code Families and Their Performance Measures for CDMA and Military Spread-Spectrum Systems", Dr.Tech. dissertation, University of Oulu, Telecommunication Laboratory, published in Acta Universitatis Ouluensis, Series C, no. 89, ISBN 951-41-4288-2, 96 p, Aug. 1996.
  5. K.H.A. Kärkkäinen & P.A. Leppänen, "The Importance of Initial-Phase Selection Agreement of PN Sequences from the Standpoint of Numerical Analysis and Simulation of a DS-CDMA System", in Proc. 1998 IEEE Global Telecommunications Conference (GLOBECOM 98), Sydney, Australia, pp. 3295-3301, Nov. 8-12, 1998.
  6. K.H.A. Kärkkäinen & P.A. Leppänen, "The Influence of Initial-Phases of a PN Code Set on the Performance of an Asynchronous DS-CDMA System", Wireless Personal Communications, vol. 13, no. 3, pp. 279-293, Jun. 2000.
  7. M.B. Pursley & H.F.A. Roefs, "Numerical Evaluation of Correlation Parameters for Optimal Phases of Binary Shift-Register Sequences", IEEE Trans. on Communications, vol. COM-27, no. 10, pp. 1597-1604, Oct. 1979.
  8. T.O. O'Farrell, "New Signature Code Sequence Design Techniques for CDMA Systems", Electronics Letters, vol. 27, no.4, pp. 371-373, Feb. 1991.
Last update 22.04.2022