DSPRelated.com
Forums

Upsampling revisited.

Started by Unknown May 12, 2005
Hello,

I have some basic ideas related to upsampling to bounce off this group.


I have a filter's transfer function, say H(z).
I want to know what H(z^2) means. I know that I had asked a similar
question on a thread some weeks back, but I am revisiting the issue and
would like to get inputs specifically on this question.

Now I did a little research on my own and found that the sampling
frequency for H(z^2) is twice that of H(z). Now when I say sampling
frequency, I mean the frequency at 2*pi on a filter's magnitude
response. I wish to know if there are any other implications that
H(z^2) might have. Also, please correct me if my above understanding is
incorrect.

Thanks, 
T.

<tanmay.zargar@gmail.com> wrote in message 
news:1115910776.327826.205200@g44g2000cwa.googlegroups.com...
> Hello, > > I have some basic ideas related to upsampling to bounce off this group. > > > I have a filter's transfer function, say H(z). > I want to know what H(z^2) means. I know that I had asked a similar > question on a thread some weeks back, but I am revisiting the issue and > would like to get inputs specifically on this question. > > Now I did a little research on my own and found that the sampling > frequency for H(z^2) is twice that of H(z). Now when I say sampling > frequency, I mean the frequency at 2*pi on a filter's magnitude > response. I wish to know if there are any other implications that > H(z^2) might have. Also, please correct me if my above understanding is > incorrect. > > Thanks, > T.
Hmmmm. if z^-1 represents a unit delay T then *using the same z* (z^-1)^2 represents a delay of two units 2*T. As I have mentioned before, there need be no particular "sample rate" for a filter (nor a sample interval) unless the conditions are stated very clearly. So, as before, you have to be very careful what you're talking about. OK... Let's assume that T above represents some actual value in "seconds". Then 2*T is double that value and the sample interval has been doubled. The "sample rate of the filter" (if you will) has been halved. But, since we're going to keep these filters on an equal playing field, we will say that the odd coefficients of the second filter are zero and the filter has a unit delay of T and *not* 2*T. If you examine a filter with the odd coefficients zero, you will find that the filter's frequency response repeats at w=pi as well as at w=2*pi. Now let's put real numbers in: Filter #1 has a sample interval of 1 second and the intended data sample rate is 1Hz. The frequency response repeats at 1Hz - or, actually it's better to say that the frequency response is periodic with a period of 1Hz and we choose to examine it between f=0 and f=1Hz. Filter#2 has a sample interval of 2 seconds and the intended data sample rate remains at 1Hz (because you said z and z^2 in the context of one situation). The frequency response of this filter is periodic with a period of 0.5Hz. So, if we examine it between f=0 and f=1, we find that it repeats at f=0.5. All this is correct if the filter is even / symmetrical in time. I have glossed over any affects that may be caused by the filter having any odd components. In that case the mirroring, etc. may be different than described and you might ponder that.... Fred
Fred,

I am agreement with most of what you said. I still have some gray areas
that need some clarification though. Please bear with me.

> If you examine a filter with the odd coefficients zero, you will find
that
> the filter's frequency response repeats at w=pi as well as at w=2*pi.
I did notice this property. Now say you have a filter H(z). Compare this with H(z^2). Like you said, the odd coefficients of H(z^2) are zero. And more importantly the frequency response of H(z^2) repeats at w=pi and 2*pi. Now I interpret this result to mean that sampling frequency of H(z^2) is twice that of H(z). (*** I know and understand exactly what you said about sampling frequency and its relation to filters and the filters that I am working with have the sampling frequency specified. Thats the reason why I am referring to 2*pi as the sampling frequency. The filters themselves were not _designed_ for a sampling frequency. Specifying the sampling frequency gives you exact values of cut-off etc. ***) So again, here is my thought process - The response of H(z) repeats about Fs (sampling frequency for H(z)) and if you notice, H(z^2) repeats about Fs/2. This leads me to believe that H(z^2) is the upsampled version (upsampled by a factor of 2) of H(z). Is this understanding correct? I mean, thats what you have when you upsample right? Your spectrum repeats at the upsampled frequency. T.
<tanmay.zargar@gmail.com> wrote in message 
news:1115917966.347433.135200@o13g2000cwo.googlegroups.com...
> Fred, > > I am agreement with most of what you said. I still have some gray areas > that need some clarification though. Please bear with me. > >> If you examine a filter with the odd coefficients zero, you will find > that >> the filter's frequency response repeats at w=pi as well as at w=2*pi. > > > I did notice this property. Now say you have a filter H(z). Compare > this with H(z^2). Like you said, the odd coefficients of H(z^2) are > zero. And more importantly the frequency response of H(z^2) repeats at > w=pi and 2*pi.
Yes. We agree on the last part.... Hmmmm... I need to be careful in responding ..... We have a filter H1(z). Let's say for simplicity that it's a FIR filter: H1(z)= a0 + a2*z^-1 + a4*z^-2 so by simple substitution if z^2 for z: H1(z^2) = a0 + a1*z^-1 + a2*z^2 +a3*z^-3 + a4*z^-4 and a1,a3=0 and, we say "H1" just to make sure that "z" is the same in both cases.... well, maybe that helps. So, it's not an arbitrary H(z) in each case but the *same* H(z) - and particularly not an arbitrary "z" but the *same* "z".
> > Now I interpret this result to mean that sampling frequency of H(z^2) > is twice that of H(z).
No. Not the "sample frequency" or the "reciprocal of the unit delay" either, the "apparent" unit delay has been doubled in H1(z^2) and the real unit delay has been held constant: z^-1! (*** I know and understand exactly what you said
> about sampling frequency and its relation to filters and the filters > that I am working with have the sampling frequency specified. Thats the > reason why I am referring to 2*pi as the sampling frequency. The > filters themselves were not _designed_ for a sampling frequency. > Specifying the sampling frequency gives you exact values of cut-off > etc. ***) > > So again, here is my thought process - The response of H(z) repeats > about Fs (sampling frequency for H(z)) and if you notice, H(z^2) > repeats about Fs/2. This leads me to believe that H(z^2) is the > upsampled version (upsampled by a factor of 2) of H(z). Is this > understanding correct? I mean, thats what you have when you upsample > right? Your spectrum repeats at the upsampled frequency.
You use the phrase: "H(z^2) is the upsampled version of H(z)" Are we talking about upsampling in time or in frequency? Because you say: "upsampled H(z)" which is a z-plane continuous function and not a time domain discrete function. Now, we might decide to evaluate H(z) on a discrete set of frequencies - thus implying that the corresponding FIR filter (our simple example) is periodic in time and infinite - which it isn't. So, we can't talk about sampling in frequency, only in time. Some other time we can talk about DFT but not now. And, OK, I have decided you mean upsampling in time..... I don't mean to be picky except to be sure we understand. Above I show the relationship between H(z) and H(z^2). Because z is the same in both expressions, H(z^2) just moves the coefficients around and introduces zero coefficients. But, z^-1 is still related to the *same* unit delay T. There has been no change in the unit delay - thus no "upsampling" of the filter in time. (Note that I insist on using "unit delay" instead of "sampling interval" or instead of referring to the "sampling rate". The former best applies to a filter and the latter best applies to a signal. Probably the difference matters here - whereas in more casual conversations the sample interval and the unit delay are the same. Let's take a very similar case to make a key point: H1(z1)= a0 + a2*z1^-1 + a4*z1^-2 and let's say that z1^-1 corresponds to a filter unit delay of T1. Now, let's define T2 to be T1/2 and compute the unit sample response of H1 on T2 calling the filter z2-plane function H2(z2). This yields: H2(z2) = a0 + a1*z2^-1 + a2*z2^-2 +a3*z2^-3 + a4*z2^-4 and a1,a3=0 which is a version of H1(z1) that has been "upsampled" (in time) so that the unit delay of H2 is 1/2 the unit delay of H1. And, we were careful to identify z2 being different than z1. The unit circle in z2 is 2x the diameter of the unit circle in z1 - because T2=T1/2. We do note that the frequency response on this larger unit circle repeats at z=-1. If we want to express H2 as a function of the unit delay of H1, then since z2^-1 corresponds to T1/2 seconds then (z2^-1)^2 = z2^-2=z1^-1 corresponds to T1 and z2^-1=z1^-(1/2) and .... z1^-1=z2^-2 Substituting z1 for z2 yields: H2(z1)=a0 + a1*z1^-1/2 + a2*z1^-1 +a3*z1^-3/2 + a4*z1^-2 and a1,a3=0 thus: H2(z1)=a0 + a2*z1^-1 + a4*z1^-2 = H1(z1) !!! We note that this expression on the smaller unit circle does not repeat at z=-1, rather, as normal, at z=+1. If you change the apparent unit delay of a filter (and, in simple cases, this can only be done by *increasing* the apparent unit delay by an integer multiple) i.e. if you "upsample" the filter unit sample response, and you do this without changing the defined underlying unit delay (size of the unit circle in the z-plane), the filter response will repeat by the integer multiple - on the z-plane defined by the original unit delay. Maybe we're meaning to say the same thing but the terminology left a bit to be desired for me... I hope this helps to clarify. Fred