In communications systems, the message signal is sometimes spread over a large bandwidth in order to realize performance gains in the presence of narrowband interference, multipath propagation, and multiuser interference. The extent to which performance is improved is highly dependent upon the spreading code implemented. Traditionally, the spreading codes have consisted of pseudo-noise (PN) sequences whose chip values are limited to bipolar values. Recently, however, alternatives to the PN sequences have been studied including wavelet based and PR-QMF based spreading codes. The spreading codes implemented are the basis functions of a particular wavelet transform or PR-QMF bank. Since the choice of available basis functions is much larger than that of PN sequences, it is hoped that better performance can be achieved by choosing a basis tailored to the system requirements mentioned above. In this paper, a design method is presented to construct a PR-QMF bank which will generate spreading codes optimized for operating in a multiuser interference environment. Objective functions are developed for the design criteria and a multivariable constrained optimization problem is employed to generate the coefficients used in the filter bank. Once the filter bank is complete, the spreading codes are extracted and implemented in the spread spectrum system. System bit error rate (BER) curves are generated from computer simulation for analysis. Curves are generated for both the single user and the CDMA environment and performance is compared to that attained using gold codes.