Upsample | Upsampling

Barry Van Veen

Subscribe Here







Well up! Sampling is the process of increasing the sampling rate, Of course, the signal has already been sampled, so it’s in discrete time and we’re going to take those samples and we’re going to do a discrete-time interpolation to construct a discrete-time signal that would correspond to a higher sampling rate. So in this case we’re going to start on the left, where we have the lower sampling rate and note again in this case we’re showing that the sampling rate is exactly twice the bandwidth of the signal, Of course in a practical system. You’d want a little bit of space in here to allow for filter transition bands and so on, but this is nice for purposes of illustration, so we’re going to start at a low sampling rate and we’re going to process the signal in a way to convert it to a higher sampling rate to mounts to interpolating so that will give us the in the frequency domain. We want to go from the discrete-time fourier transform on the left. And after we do our up sampling, we should end up with the discrete-time fourier transform on the right X tilde of E to the J Omega. Now the way we do, this is that we take our signal. X of N At the lower sampling rate we insert M minus 1 zeros between each sample may gives us a new signal X Z of N and then we’ll pass that through a low-pass filter H sub. I to obtain our up Sampled signal X tilde events, so we start with sampling frequency Omega S. We end with sampling frequency M Times Omega S. We can illustrate this process here. I’ve sketched a sample signal X of N and I’ve shown after we insert zeros for the case. M equals 3 we would be inserting two zeros in between each sample of X event. So now our signal goes 100.7 zero zero point, five zero zero negative point, four zero zero, so on then when we low-pas’s filter this signal, it’s going to smooth that out and so we’re going to end up with something that looks like this signal here, so that’s conceptually what’s happening and we’ve interpolated or filled in the values in between the original samples over on the right in X tilde now to understand and see how this works and verify that it works in the frequency domain. We’re going to need to have an expression for X Z of N and we can write that X Z of N is equal to X of N divided by M, where, when N over M is an integer and it’s 0 otherwise, so X Z of 3 is going to be X of in this case if M is 3 of 3 divided by 3 or X of 1 just as we saw here, this is X of 1 and then the zeroes in between now another way to write this. That’s a little less obvious but makes use of the properties of the impulse function is to write X Z of N As the sum K equals minus infinity X of K Delta N minus K M. So the Delta function only exists or is nonzero when N is equal to K M everywhere else, this is 0 so all those values in between of 0 and, of course, it picks out the proper value of X to put in there now, with this expression, we can find the discrete-time fourier transform of X Z of N in terms of X of N and that’s the key to seeing how this works, so I’ve written that derivation out down here and we’re going to start just from the definition of the discrete-time fourier transform, which is the sum. N equals minus infinity infinity X Z of N, which are replaced by our expression for X Z of N in terms of X, That’s inside the parentheses here times E to the minus J Omega N. So this is just the definition of the discrete-time fourier transform of X Z of N. Now we can interchange the order of the summations and pull XK out of the side of the summation involving n/2 to obtain the this expression here. We’ve got a sum over K X of K and then inside, we’ve got the sum over N Delta N minus K M Times E to the minus J Omega N now. The important thing to note here is that this impulse picks out values when N is equal to K M. So this is going to give us. We add these up, we’re going to get E to the minus J. Omega M Times K. And if I put that then into the expression, we end up just with the discrete-time fourier transform, except we’ve got Omega here instead of omega. You could think of this as Omega prime, but it’s really Omega Times M. So this is just the discrete-time fourier transform of the original signal evaluated at Omega Times M and that’s a scaling of the frequency axis, so we can sketch this to verify that, indeed it works, and I’m going to start with my original signal sampled at the lower sampling rate and that’s sketched out up here, then when we scale the axis by M instead of these beings relatively spread out, they become compressed, They get closer together and now. What was that 2pi shows up that 2pi over M. What was a 4pi shows up at 4 Pi over M and so on and remember that this X is a periodic signal. It’s always 2 Pi Periodic. The DTFT is and consequently. Xz looks like this we’ve shown here. Now we’re going to filter that, and the question is. What kind of a filter do we need to get? X tilde of E to the J Ma. Well, it turns out that X tilde of either J Omega just has the one replicate between minus Pi over M and Pi over M and then it’s emptied all the way out to Pi, where the dtft repeats again, and the amplitude of x2 should be M over T because the sampling frequency is now T over M. We’ve increased the sampling frequency by decreasing the interval between samples, so the low-pass filter that we need H I has to have a gain of L and it should have a pass band between minus Pi over M and Pi over M. And if we apply this to our zero stuffed signal, we get the correct discrete-time fourier transform at the higher sampling rate, so we can effectively by putting in zeros and then low-pas’s filtering, we can effectively change the sampling rate again. This example, has the original signal spectrum just on the edge of aliasing and in a practical scenario, we’re going to have to give ourselves a little bit of space in here so that there’s a little gap in here for the pass band to stop band transition of the low-pass filter because we won’t be able to build this kind of perfect brickwell filter, but conceptually, this is how it works and in practice by giving oneself a little bit of headroom where the sampling frequency exceeds the Nyquist rate. We can make this work out quite well.

0.3.0 | Wor Build 0.3.0 Installation Guide

Transcript: [MUSIC] Okay, so in this video? I want to take a look at the new windows on Raspberry Pi build 0.3.0 and this is the latest version. It's just been released today and this version you have to build by yourself. You have to get your own whim, and then you...

read more