 A warm welcome to the 33rd lecture on the subject of wavelets and multirate digital signal processing. We had brought out the noble identities, quote unquote noble identities in the previous lecture, where the aim was to replace a cascade of down samplers or up samplers and filters with equivalent structures in which these elements were interchanged in order. Now, in the previous lecture, the aim of interchanging those components was to bring out the wave packet transfer, to bring out an equivalent filter which could represent the coefficients in terms of an expansion of the wave packet basis in terms of higher order subspaces. What I mean by that is when we take two steps of decomposition, so we go from v 2 to v 1 and then to v 0, if we simply use the discrete wavelet transformation, we go from v 2 to v 1 and w 1 and from v 1 to v 0 and w 0 and we finally, end up with v 0, w 0 and w 1. In the wave packet transform, we decompose w 1 again into w 1 0 and w 1 1 and what we do using this pair of noble identities is to establish a set of coefficients that relate the basis in these four subspaces at the same level w 1 0, w 1 1, w 0 and v 0 to the basis of the space v 2. Now, we had also hinted in the previous lecture that the same noble identities could also be used to bring in computational efficiency and in fact, we are going to build on that idea in greater depth today and therefore, in the lecture today, we shall be looking at a structure which makes it efficient to realize orthogonal filter banks called the lattice structure. Now, the word lattice is a uniform term used for a homogeneous repetitive pattern, a homogeneous modular repetitive pattern or structure. In fact, the word lattice has been used more commonly in the context of material sciences. So, there we know that we could think of the composition of materials in terms of lattices, periodic repetitions of certain arrangements of atoms and molecules for example. Now, we can carry that analogy a little further and bring it into signal processing. So, in signal processing the idea of a lattice could be essentially to repeat certain patterns involving the basic elements namely delays, multipliers, adders in such a way that we can realize a higher order structure from a lower order one. What we are going to do today is to build a lattice structure for orthogonal filter banks. Now, towards that objective what we shall first do is to look at as usual the Haar multi resolution analysis and we shall essentially bring out the lattice structure from the Haar analysis side by invoking the requirement for computational efficiency. So, let us go straight down to putting down the Haar analysis filter bank. Now, on the analysis side in the Haar the low pass filter is essentially 1 plus z inverse and we shall refer to this as H L z or H low z let us say. The corresponding high pass filter would be z inverse H low minus z inverse and that is easily seen to be z inverse 1 minus z which is minus 1 plus z inverse and therefore, all in all we have the following structure for the Haar analysis side. Now, you know there are different ways in which we can look at the structure one of them is of course, from the point of view of the filter design problem. So, here we design this low pass filter and design the high pass filter and down sample by 2. So, much so from the point of view of frequency domain interpretation, but when we look at what we are doing in this structure computationally we would be aghast to see the wastage. Let us look at that structure from the point of view of computation. Now, what are we doing in the structure here? We are taking the input we are subjecting it to a convolution here. Let us look at this branch for example, we are subjecting it to a convolution here albeit a small convolution and then down sampling. Now, you are calculating all samples all outputs of the convolution here as also here and when you down sample you are losing half of those samples half of that computation is entirely wasted. So, let us make a remark down by 2 means wasting half the computation every other sample is dropped here, but you have computed it here. So, it is a terrible thing to do it would have been so much easier if we did this a little more efficiently a little more strategically by down sampling first and then doing the computation that is required and that is not too difficult if we only rearrange this part of the computation in terms of a crisscross structure as follows. So, what we are trying to do is we must look for a more efficient structure and what should that efficient structure have? It must have down sample first and then compute. How do we do that? We have to invoke the noble identities and to invoke the noble identities we need to recast the analysis filters. How do we recast the analysis filters? We must recast them in such a way that we can interchange the down sampler and the up and the down sampler and the filtering operations. Now, in this case let us rewrite the two analysis filters in such a way that we have operations that are interchangeable with down samplers. So, to do that let us look at this structure carefully once again. Let us look at the pair of filters here 1 plus z inverse minus 1 plus z inverse. You know the z inverse operation is common. We can rewrite this or redraw this, recast this as follows. We could first have two branches, one on which we pass the signal as it is and the other where we pass the signal delayed by 1. Now, we add these two to get the upper filter. This gives us the low pass branch and we subtract these two, use a minus 1 here to get the high pass operation. Now, once we have done this we are in a position to put back the down sampler and the up and the down sampler for the moment. So, overall the analysis structure is like this. Let us put the z inverse here. We have followed by two down samples and now it is obvious what we can do. You see your down sampling after an addition and addition here and your down sampling after another one more addition here. These are of course, constant multipliers. All of these are in fact, these are trivial. There is no multiplication here. This is a trivial multiplier and therefore, it is very obvious that this down sampler can jump across the adder here. So, you could bring this down sample here before the addition and in fact, once you do that then you can put both the down samplers all the way up to here. So, you know you have a down sampler here, you have a down sampler there. So, you do not need to first branch and then down sample again. You can first down sample and then branch. So, you can see what is happening. You have this down sampler it jumps here. So, there is a down sampler here and a down sampler here. Similarly, this down sampler jumps onto these two branches. There is a down sampler here and one here. So, you have one down sampler on this branch another down sampler on this branch, but then you are branching and then down sampling that is wasteful. You might as well first down sample and then branch. So, these two down samplers can come all the way up to here. This down sampler could come here and this down sampler could come here. Let us draw the structure with that change. So, essentially the main theme here is the down samplers can jump across adders constant multipliers and branching and doing that we have a down sampler here, a down sampler there and adder there a minus 1 there and an adder there and this now becomes a computationally efficient structure for the hard analysis site. Why is it computationally efficient? Because you have down sampled first and then you are doing the calculations, additions, multiplications corresponding to the filtering operations. So, there is no wasteful computation here unlike the earlier structure where you filtered first that means you convolve first and then down samplers. Now, the next question that we need to address you see we have built the structure for the hard. In fact, we would now like to extend this idea even further. The hard is the baby of the dobash family so to speak. It gives you analysis filters and therefore synthesis filters of length 2. Can we build upon the structure that we have here to go to the dobash 4, dobash 6 and so on. In other words, can we take inspiration from the structure that we have just drawn here to get a modular structure which could give us the same computational efficiency and an increase in order step by step. In other words, we wish to come out with the most parsimonious step, the smallest step that we put one after the other in repetition. So, as to build the higher members of the dobash family for example, offer that matter any family of conjugate quadrature filters. Now towards that objective let us look at the structure that we have just drawn. So, in fact if we look at this analysis computationally efficient structure that we have here, what we notice is essentially the following. One is that this is rather very specific to har on account of the multiplier here and the multiplier here being the same. Not forgetting that the multipliers here and here are again a function of these two multipliers because the filter that is created here is not independent of the filter here. In fact the filter that is created here can be obtained in terms of the filter that was here. Now what is it that we need to free or to vary or to make more general in this structure to build one step of a module or one modular pattern or one step of the lattice, one stage of the lattice. Well, all that we need to do is to bring in a relative variation between the coefficients here. So, leaving this coefficient as it is 1, we could bring in a coefficient k here and k can be varied to bring in a variety in different modules. And if we bring in k here, we must then bring in minus k there. That is the central idea behind building one stage of the lattice, so to speak. Let me draw that structure before you. So, what we are saying is something like this. For the moment close this, we are saying for the addition and multiplication part essentially use a structure like this. This plus k times this minus k times this plus this, but when we do this unfortunately we are restricted in terms of the order. No matter how many such stages we put, I mean let me put them before you. Let me put back the previous structure before you. So, if I have this structure here and if I do nothing except to put such stages, I mean you know in the module that I just showed you, if I were to forget this part and just take this stage and put this stage repeatedly here. So, I put this stage repeatedly after this. All that will happen is all this will essentially be equivalent to some linear combination of this and this. One linear combination coming up here and another linear combination coming up here. There is no increase of order. Now, how can I get an increase of order? An increase of order is going to be possible if I bring in a delay element. So, I must put some delay element after the down sampler 2. Now, this is where I need to make an observation about the noble identities about which we talked earlier on in this lecture. If we put a delay somewhere after the down sampler, recall from the noble identities that it is equivalent to a delay of double the number of time units prior to the down sampler. So, what I am saying is the following. If I add to this module, a delay prior to that, so as to increase the order, a delay here which actually comes after the down samplers is equivalent to a delay of 2 units before the down samplers. So, let us put the whole structure down for discussion. Let us build an inductive argument to analyze the structure. Let me recall before you the principle of mathematical induction. Mathematical induction has two parts in a proof or in a construction. So, we are trying to make both an inductive construction and an inductive proof here. It has a basis step. The basis step is one where you build the lowest order structure or the lowest example of an entity hierarchy. In this case, it is a question of conjugate quadrature filters of a certain family. Now, you know the basis step here would essentially be a filter bank of length 2 with the filters of length 2. The Haar is an example, but in general a filter bank of length 2 would essentially be just one stage of this. The Haar with the multiplier freed that means the multiplier made variable. The second part of an inductive construction or inductive argument is what is called the inductive step. In the inductive step, there is an inductive assumption. What is the inductive assumption here? We need to put it down very clearly. The inductive assumption here would relate to having built a conjugate quadrature filter structure of a certain order. So, we will say that prior to one such stage, a conjugate quadrature pair has been created at the input of the module. Let me put that down graphically. So, what I am saying is something like this. I am saying I have this first basis stage here. So, I have down samplers. Then I have essentially this stage where this is you know notice this is very much like a Haar stage except that I have freed this multiplier here. I have put a k 1 and a minus k 1 there. In the Haar case, k 1 is equal to 1. Now, after this stage, I have put several modules of the kind shown here. So, I have a zero inverse followed by a so called lattice constant stage. So, multiplier k l there minus k l here, a summation here and a summation here. Let me expand this stage. So, what I am going to show you is the inductive assumption across this stage. The inductive step therefore, can be put down as follows here. We have the conjugate filter pair. Let us call it H z. So, up to here let us say we have got an H z. Here, if H z is of length l, then we have z raised to the power minus l minus 1 H of minus z inverse here. Then we followed it with this one module that we have shown a z inverse here, a lattice addition there. So, I have a k, a minus k and summation here. I am saying at this point, let the system function effectively be A z and let the system function at this point be B z. We are now required to show a relation between B z and A z of the same kind as existed at the input here. Therefore, the inductive step is essentially to prove B z is z raised to the power minus l plus 2. So, the length has increased by 2 minus 1 times A of minus z inverse. This is what we need to show. Now, you know again it is easier to use the noble identities at this point. So, you know when we say that we have built the inductive step up to here, we have made this inductive assumption, we have made it assuming that the down sampler has come all the way up to the input point here. So, we are saying we have the down sampler here and then we followed it. So, we have with this stage and the proof that we need to complete is when we bring the down sampler from here to here and that can be done using the noble identities. So, if we use the noble identities, if we take this down sampler and make it jump across this delay here, this delay is replaced by z raised to the power minus 2 and then of course, you can keep jumping the down sampler across these branches. So, down sampler can jump across the branch point, it can jump across the addition, it can jump across the multiplication and all in all we have h z here, z raised to the power minus l minus 1 h minus z inverse there, a z raised to the power minus 2 here, a k there, a minus k there and down samplers back again here and we need to analyze the a z created here and the b z created here, which is now very easy to do because I can write a z in terms of these two and I can write b z in terms of these two, let me do that. So, I have a z is very clearly h z plus k times z raised to the minus 2 times z raised to the power minus l minus 1 h minus 1 h minus z inverse and b z is very clearly in fact, let me just put back the figure before you to explain this, I am saying a z is h z plus k times z to the power minus 2 into z to the power minus l minus 1 h of minus z inverse. So, h of this multiplied by z raised to the power minus 2 multiplied by k and added here. Similarly, here it is minus k times h z plus z raised to the power minus 2 times this added together to give b z. So, b z is minus k times h z plus z raised to the power minus 2 times z raised to the power minus l minus 1 h minus z inverse. Now, all that we need to do is to consider the corresponding high pass filter assuming that a z is low pass. So, we essentially need to consider a z replaced by a minus z inverse first and then noting that this would become non-causal delay it now note delay it, but assuming that the length has gone up by 2. So, z raised to the power minus l plus 2 minus 1 let us do that. So, let us use the expression for a z here and let us make the transformation z replaced by minus z inverse and then this multiplied by z raised to the power minus l plus 2 minus 1 as we have here, which is well z raised to the power minus l plus 2 minus 1 times h minus z inverse. Now, plus k into minus z to the power minus 2 minus l plus 1 times h. Now, here we have the argument minus z inverse inside and when we replace z by minus z inverse once again this whole thing simply becomes z here. So, it is h z and we close there. Now, this is easy to expand you see you have minus z raised to the power minus 2 minus l plus 1 and please remember l has been assumed to be even let us make a note of that l is even by inductive assumption you know the first filter of length 2 is l equal to 2 and each time you add you are assuming the step is 2 you are increasing the filter length by 2. So, l is even. So, in other words z raised to the power minus l plus 2 minus 1 times a of minus z inverse becomes z raised to the power minus l plus 2 minus 1 times h of minus z inverse if we simply simplify this plus k into now here you have a minus 1 raised to the power of minus 2 minus l plus 1 this must be odd l is even. So, this must be odd. So, minus 1 raised to the odd integer leaves you with a minus 1 here and then of course, you have a z raised to the power minus l plus 2 minus 1 here and a z raised to the power minus you know you could take this into brackets. So, this becomes l plus 2 minus 1 in brackets with a minus sign. So, z here and a z inverse there these cancel and that leaves you with minus 1 here and h z there continued from the previous. So, it is very clear that what we have here is essentially the same as b z indeed let me put back the expression for b z before you for comparison b z was minus k times h z plus z raised to the power minus 2 z raised to the power minus l minus 1 h minus z inverse and look at what we have here minus k times h z plus z raised to the power minus l plus 2 minus 1 h of minus z inverse perfect match this and this. So, in fact, we have completed the inductive step the inductive step is complete b z is z raised to the power minus l plus 2 minus 1 a minus z inverse. So, what we are saying in effect is that the conjugate quadrature relation that we require on the analysis side is replicated one module later. So, each time we put a module like this we at least replicate the relationship between the low and high pass filter in a conjugate quadrature structure analysis side. Now, for the basis step that is easy well the basis step needs to begin from here. Down sample there and then the lattice here k times there minus k times here a summation here and we need to jump these down samplers here and study the relationship between these. So, we need to look at the following structure k there a minus k here and down samplers following let us put down the system functions let us call them a 1 z and b 1 z here the system function up to this point is essentially 1 plus z inverse times k simple enough is not it a 1 z is 1 plus z inverse times k simple enough is not it a 1 z is 1 plus z inverse times k looking at all the forward paths notice there are no loops here. So, there is no question of a denominator b 1 z is similarly minus k plus z inverse let us write these two down and indeed it is very obvious that b 1 z is z inverse a 1 minus z inverse simple enough it does not require too much of computation to show that if you replace z by minus z inverse here you get a minus k and then if you you know essentially multiply by z inverse here you get what you require. So, the basis step is complete as well therefore, proved by mathematical induction what exactly have we proved let us spend a minute in reflecting on that what we proved is that this repetitive structure that we have here generates a pair of conjugate quadrature filters on the analysis side. Now, the proof is analytic. So, assuming a modular structure it shows you that the conjugate quadrature relationship is maintained it is not synthetic meaning if I already have a pair of conjugate quadrature filters can I construct such a modular structure to realize that pair of conjugate quadrature filters this question needs to be answered now the synthesis or the construction. So, the question that needs to be answered is given h z and z raised to power minus l minus 1 h of minus z inverse construct such a structure now towards that objective we would need essentially to go down one step. So, assuming that we have filter lengths of more than 2 we need to show how we can peel off you know you could you could think of this lattice structure as one stage surrounding the next to make the filter lengths larger and larger. So, you need to show a mechanism by which you can peel off the outer stage to go one stage inverse jump backwards across one module now to do that we need to write down the two relationships once again. So, we have let us consider the m plus 1 th stage. So, to speak where you have h m z coming in here and h m till day now we will introduce this notation h m till day z h m till day z being z raised the power minus 2 m. So, you know at the m th stage you have a length of 2 m. So, 2 m minus 1 h m minus z inverse here and the m plus 1 stage takes you from these to h m plus 1 z and h m plus 1 till day z and of course, in the m plus 1 stage you know you have a z to the power minus 2 there and then a multiplier and adder stage. So, what we have in general in the m plus 1 stage is the following relationship we have h m plus 1 z is h m z plus k times z raised the power minus 2 h m till day z which of course, also becomes h m z plus k times h m z plus k times z raised the power minus 2 z raised the power minus 2 m minus 1 h m minus z inverse and we have assumed that this structure well we have proved by mathematical induction after an inductive assumption that a modular structure like this continues the conjugate quadrassel. So, h m plus 1 till day z which we assume is available to us is equal to minus k times h m z plus z raised the power minus 2 z raised the power minus 2 m minus 1 h m minus z inverse. Now, our objective in the synthesis or the construction, construction means go from h m plus 1 h m plus 1 till day to h m and h m till day and that essentially means extract the k k m plus 1 you know if you know the k m plus 1 you also know what that stage is there is nothing in there is nothing new in each stage except the k m plus 1. So, we need to put down the value of k explicitly. So, for that purpose we will need to go back to these two equations once again let us write these two equations down explicitly h m plus 1 is h m plus k times all this. In fact, if we look at this expression carefully we have the answer to what k is let us focus our attention only on this expression here. You know we know the length of h m z h m z is of length 2 m. So, it is like this it has you know if you look at h m z it is going to be of the form h 0 plus h 1 z inverse plus plus h 2 m minus 1 z raise the power minus 2 m minus 1. So, let us simply put down these coefficients and if we look at h m minus z inverse what we are going to have here is essentially z replaced by z inverse everywhere. So, you have h 0 plus h 1 z plus and so on h 2 2 m minus 1 z to the power 2 m minus 1 not minus 2 m minus 1 here and then when you multiply it by z raise the power minus 2 m minus 1 when you take this part it essentially amounts to a reversal of these coefficients here. So, h m tilde z is essentially h 2 m minus 1 plus h 2 m minus 2 z inverse plus and plus h 0 z raise the power minus 2 m minus 1. Now, we can see what happens when we multiply again by. So, we know what this is now when you multiply that by z raise the power minus 2 and multiply by k once again you are essentially shifting all these by 2 powers of z and the multiplication by k ensures that the coefficient of the highest power here is essentially k times h 0. So, h 0 times k is the coefficient with the highest power of z inverse in h m plus 1 z let me put this back before you what I am saying is in h m plus 1 z k can only come with the highest power of z inverse from here. So, therefore, we have now a mechanism to obtain k once we have k then we now need to build a mechanism to peel off that last stage that means to go from to use that k to build h m and h m tilde from h m plus 1 and h m plus 1 tilde. We shall continue to do this in the next lecture and complete the construction of the lattice stage. We shall also extend this lattice structure to the synthesis filter bank and then complete the discussion on the lattice structure in the next lecture. Thank you.