Design and development of code division multiple access techniques for various communications and signal processing applications