Project : Wavelet-based data encoding/decoding
You will be designing a multi-user communication channel. Each user has his information represented by a binary sequence. Let us assume that there are four users the information sequence of each user is encoded using properly scaled Morlet wavelet specified in a closed form by equation ([url removed, login to view]). Each user has a subband of the communication channel bandwidth.? Each subband is defined by the center frequency and the bandwidth of a scaled Morlet wavelet. Please read my write-up on the relation between scale, frequency and sampling frequency and pay attention to the hand-written notes that show how to find center frequencies and bandwidths for each user and how to squeeze multiple users into a channel with a finite bandwidth, e.g., [16, 40MHz].
Each user’s wavelet has a constant time domain representation and most of its energy is contained in a certain frequency and time interval. To encode a binary sequence of a particular user we will form a time sequence of his shifted wavelet. Suppose that his binary sequence has the length of 10. Then, we have to form a sequence of 10 (identical) time-shifted wavelets and multiply consecutive elements of this sequence by consecutive elements of binary sequence. Those multiplied by zeros will not be included in a continuous-time representation of the binary sequence. I hope that I explained the encoding process for a single user.
Please note that you choose the time shifts. As a result of this choice you will have more or less overlap between consecutive wavelets, which will result in better or worse separation of representations of consecutive elements of binary sequence.
Please note that I do not expect you to develop a simulator with GUI, as mentioned in the main description.