4. Transmission System with Wavelet Modulation

NOTE: Please read first the notes to simple BPSK and Multi-Carrier BPSK.

NOTE: if your Excel is like mine, then it may run this simulation very slowly even on a very fast computer due to what appears to be a bug. In such a case please see When Excel runs simulations slowly.

A. The Letter

The following is an extract from a letter to my friend, attempting to explain in an accessible way the principle.

Dear Xxx,

This workbook implements a Wavelet Modulation scheme.

Why is it called wavelet modulation? Because the signal is comprised not of sinusoids, like for BPSK, but of wavelets.

How many wavelets are there? As many wavelets as there were frequencies in the multi-carrier BPSK using Fourier transform. For example in our case the Fourirer transform for multicarrier BPSK had 32 frequencies (15 positive, 15 negative and 1 DC component). Here we have 32 different wavelets. Each wavelet has a unique combination of scale (same as length of wavelet) and different position in time. If two wavelets have the same scale than they have different position in time.

How are wavelets modulated? Each wavelet is multiplied by 1 to transmit 1 and by -1 to transmit 0. Thus for 1 the wavelet is sent in its original form and for 0 it is inverted. This is very much like BPSK, because the sinusoid for 0 looks inverted compared to the sinusoid for 1.

Can wavelets be transmitted directly over the air just like the sinusoids for BPSK? Yes, they could be transmitted, if their spectrum is linearly shifted to the radio frequency range -- this will be like SSB (single sideband modulation). Alternatively, the wavelets may be used to modulate a carrier. Then the carrier's phase, frequency and/or amplitude may be modulated by the wavelets. This method is not used practically.

In the case of ordinary BPSK and multi-carrier BPSK we assumed nearly perfect frequency synchronisation between the transmitter and the receiver. For the wavelet modulation we have also to assume nearly perfect time synchronisation too. The results from our model are only valid for nealy perfect time and frequency synchronisation between the transmitter and the receiver. Why? because we use for demodulation digital wavelet transform (DWT). This transform can only work if we know precisely the beginning and the ending of our signal. With FFT we needed only to know the exact frequencies in order to be able to calculate their phases. With DWT we also need to know the exact starting and ending times.

Is the wavelet modulation the future of the mobile communications? Not quite so. It has to be proven. For now the wavelet modulation has some drawbacks which limit its practial application. Search the internet and you will find a few articles comparing the wavelet modultaion with the traditional linear modultaions.

Why do we start with the inverse digital wavelet transform (iDWT) and not with the forward DWT? We start with the inverse DWT because we use it to generate the wavelets. How? In the wavelet domain each wavelet is represented by its amplitude, just like in the frequency domain each sinusoid is represented by its amplitude and phase. So, for a given wavelet we set its amplitude to +1 if we need to transmit 1, and we set its amplitude to -1 if we need to transmit 0. When we have all the coefficients for all wavelets we form the wavelet matrix and feed it to the iDWT. This transform will convert the wavelet matrix from the wavelet domain into a signal in the time domain. this signal then can be linearly shifted to the radio frequencies and transmitted. Alternatively, this signal could be used to modulate another carrier (the latter is not practically used).

How do we demodulate the signal? We use a DWT which calculates from the received signal the amplitudes of all wavelets that comprise it. If a wavelet has positive amlitude then this is 1, if negative then it is 0.

Which wavelet shape do we use? There is only one type of Fourier transform because there is only one type of sinusiodal waveform. However there are many different types of wavelet transforms because there are many different wavelet shapes. In our model we use the so-called DAUB-4 wavelet. You can see its shape on the first graph of the simulation worksheet.

Now to summarise: we will use an inverse DWT (iDWT) to generate the discrete signal from its discrete wavelet decomposition. Before that we will calculate the discrete wavelert decomposition which is a very easy thing: we will use one random bit per wavelet to set its amplitude (we use random bits in order to simulate data, because we do not have any real data here). Each random bit will be generated by a random process. Each random process we will call here "data source" for that bit. (I hope this answers your question about what these "data sources" in front of the iDWT module are). Each such data source will be in fact a Bernoulli binary generator. This in Excel is all very simple -- just generate one random number. We have a 32-wavelet transform in our model, but we may or may not use all the wavelets -- we may use only some of them. In the thesis they use just a very small number of all wavelets (they use just 4 differrent scales). In our case we can choose which wavelets to use by ticking the appropriate boxes.

After the iDWT we will have an ordinary time-domain signal, which will be mixed with white noise and attenuated just like in the case of BPSK. The next worksheet implements this model.

See below a diagram of the setup. To start a simulation display its worksheet, enter appropriate values in the white cells only (do not change the values in the coloured cells -- they are calculated automatically). Press F9 key to recalculate one step.

You can press several times F9 key to see several different realisations of the signal and the interference. You may even press and hold down F9 key and then, if you have a fast computer, you will see everything moving "live" like on a digital analyser.

The best way for running the worksheet is to check the START radio button. It will then run automatically. You can change the valus of the different parameters while the worksheet is running and see immediatelty the effect of the change.

Each time you press F9 a new instance of the signals is generated, a new DWT is calculated and as many bits of information are sent and received as there are wavelets with different scale and different position in time. The interference between different pressings of F9 is uncorrelated, and the wavelets are discontinuous. Hence this model calculates the bit probability of error, not the system probability of error.

Most of the signals are displayed as graphs and as tables. Where DWT is used its formula is entered as an Excel Array Formula. Please read Excel Help file on how to work, enter and edit Array Formulas. (This is very much like working with ordinary formulas, but you have first to select all cells with the same formula, then edit the formula and at the end you MUST press Ctrl-Shift-Enter and NOT just Enter).

There is a DWT module which you may look at and use in a different way or even in your other work. To see it go to Tools menu, Macro, Visual Basic Editor (or simply press Alt-F11 key).

There is a lot more to this model, which I have created for you. Please look around it carefully and use your own judgement. It is impossible to say everything and to explain everything here.

Yours truly,

Plamen

16-27/Apr./2005

B. The Setup

This is a static picture illustrating the structure of the simulation:

C. The Simulation Displays

This is a screenshot of the simulation display with its input and output parameters (click on the image to see it in true scale):

D. The Workbooks

Two workbooks are attached below, they are largely identical and the main difference is that one is for Excel 2003 and earlier, while the other is for Excel 2007 and later.

Both workbooks contain VBA code, which is required for them to perform the simulation. The Excel spreadsheet contains barely any calculations, so if VBA code (also known as 'macros') is disabled, then the workbooks will be static and of little use. Please make sure that you do not disable macros when you open the workbooks.

The latest edition of the workbooks (attached below) has a feature which will not show the simulation worksheets if macros are disabled. So if after opening the simulation workbook you only see a single sheet with a warning that macros are disabled, then please follow the instructions on that worksheet and enable running macros in order to see the simulation and play with it.

E. How to Download a Workbook or Leave a Comment

You can freely download the workbooks by clicking on the small arrow icon on the far right end in each line [].

You are also very welcome to leave a comment. To do so you need to sign in to your Google Account (or create one):Sign in

Thanks for looking here and eventually downloading a simulation workbook. I hope that you might find something useful in them. Enjoy!