DSPRelated.com
Forums

Wavelet Packet based Multi-carrier Implementation

Started by lmadank March 1, 2007
Hi All,

 I am Madan, a MS student at TU Delft. I am trying to implement a Wavelet
packet based OFDM system in Matlab.
 The idea is to replace the conventional Fourier bases with wavelet bases
and explore the benefits.

Indeed there are quite a lot of papers on this subject....but..little
by-way of implementation details. And it is in this regard that seek
pointers/leads.

My implementation is as follows:

1. Transmitter 

* I use ORTHONORMAL wavelets (Typically from the daubechies family)
* Digital source generates symbols.
* Number of carriers = 64. 
* I generate the 64 wavelet bases, by decomposition of 6
branches/iterations/successions.
* A serial to parallel mapper converts this input stream into 64 branches
* The data in each branch is UPSAMPLED by 64 and then convolved with a
wavelet base to obtain the BRanch stream
* The data from ALL branches is then ADDED to obtain the transmission
signal.

2. Channel 

For simplicity, I assume - 

* NO Multi-path or ISI or ICI or frequency fading..etc...etcc...etc...
* Only AWGN
* SIngle User scenario

3. Receiver

* The received signal r[k] is merely a attenuated version of the
transmitted signal.
* I pass r[k] through a seive of 64 branches.
* In each branch, r[k] is convolved with the DUAL of the original wavelet
(I have 64 wavelt carriers and 64 wavelet duals).
* I then DOWNSAMPLE the convolved data by 64.
* The downsampled data contains the information on the original symbol and
hence an estimate of the symbol transmitted can be obtained from this.

...Life should be peaceful....but it isn't !!

My problems - 

1. Missing the Peak
a) The process of Upsampling, convolution, de-convolution and then
downsampling seems to inttroduce some time-SHIFT .
 b) Hence I almost always seem to miss the right sampling instance to
obtain the peak. 
c) As a result,  I get wrong estimates.

2. This time-SHIFT seems to be different for different branches.


I will be most grateful for any leads on solving this problem.....


cheers and regards,
Madan