Learn the fundamentals of digital signal processing theory and discover the myriad ways DSP makes everyday life more productive and fun.

Loading...

來自 École Polytechnique Fédérale de Lausanne 的課程

数字信号处理

283 個評分

Learn the fundamentals of digital signal processing theory and discover the myriad ways DSP makes everyday life more productive and fun.

從本節課中

Module 5: Sampling and Quantization

- Paolo PrandoniLecturer

School of Computer and Communication Science - Martin VetterliProfessor

School of Computer and Communication Sciences

We have studied in detail the theory of sampling interpolation and

now we want to look more closely at what happens in practice.

So let's start with sampling.

We know that if we want to go from the continuous time domain to the discrete

time domain the ideal way to do so

is to project the input function onto the space of band limited functions.

So, we choose a sample period T as, and then we compute the discrete

time samples by taking the inter product between the input function and

the basis functions for the space band limit functions between minus Omega N

with Omega N equal to Pi over Ts.

The basis functions are translated versions of the same sinc, and

if we do that we know that the spectrum in discrete time is equal to

the truncated version of the continuous time spectrum between minus Omega N and

Omega N, rescaled so that in this mapped over the minus Pi,

Pi interval And periodized with the period of 2 Pi.

In practice, we have seen that we cannot have an ideal sinc of filter.

So instead of performing a projection of this based above the functions,

we just simply take measurements of the signal at regularly spaced intervals.

This space between intervals being Ts, and

if we do so we have seen that we occur aliasing.

In other words, the spectrum in discrete time will be equal to a periodized

version of the original spectrum where now the periodization is not of

a non-overlapping segment of the original spectrum, but a full periodization taken

the entire spectrum into account, and this will cause overlap and aliasing.

Graphically, if this is the original spectrum in continuous time, projection

over the space of bilinear function is equivalent to an ideal low pass filtering

that will isolate the spectrum between the minus Omega N and Omega N.

The implicit periodization will be free of overlap, and

so finally in discrete time the spectrum will be an exact copy with a rescaling

of the original spectrum, between minus Omega N and Omega N.

With raw sampling, the sampling that we will perform in practice on the other

hand, there will be no such filtering, and the periodization will incur overlap

between the tales of the different copies of spectrum, so that in the end,

in discrete time we will have a spectrum that hopefully is close enough

to the original version but that will be unavoidably effected by aliasing.

Let's look now at practical interpolation, so

we go from discrete time to continuous time.

We know that the ideal way to do so is to use sinc interpolation.

So you build a linear combination of shifted basis functions once you

have chosen your interpolation interval T as you build to like so,

It's like mixing the main convolution if you want between the continuous time

Interpolating function sinc and the discrete-time samples.

And if you do that, you know that the spectrum in continuous time will be simply

a rescaled version of the original spectrum between minus Pi and Pi.

So we are mapping the minus Pi, Pi interval to the minus Omega n Omega and

interval.

And for good measure, we are eliminating the implicit periodicity of the discrete

time spectrum by multiplying the resulting interpolation by a rect that cuts

away all the spectral components outside if the minus Omega N, Omega N interval.

In practice, of course we don't have a sinc, so

what we will use is a local interpolation function like this zero older hold or

the first order interpolator, and so on and so forth.

The structure of the resulting continuous time signal is the same.

We have a mix domain convolution or a linear combination of shifted version

of the interpolant scaled by the discrete times samples.

So the question now is what is the spectrum in continuous time of

a signal that has been interpolated with a practical nonideal interpolation function?

In other words we want to find the spectrum of this signal x(t) obtained

by interpolating the sequence x of n, where the interpolation function is for

instance, the zero order hold, like this, or the first order interpolation, or

the third order interpolation.

So let's compute the Fourier transform of this continuous time function.

We have the integral as usual, from minus infinity to plus infinity because we

are in continuous time, of x(t) time e to the minus j big Omega t.

We replace the expression for x(t) with the mixed domain convolution likes so.

And we assume, like always, finite energy for all the singles involved and so

we can swap the summation and integral.

And when we do that, we have that for every term in the summation,

we have this integral here that we can easily interpret as the Fourier transform

in continuous time of a shifted version of the interpolation function.

This is easy to see if we do a variable substitution,

we go t into t-nTs over Ts.

When we do that, and we compute the integral, we have that the summation is

replaced by this, we have a scaling factor Ts in front, and then the sum from minus

infinity to plus infinity of x(n) Times the Fourier transform of the interpolation

function computed in big omega Ts times a phase term, e to minus j small n Ts Omega.

All right, this starts to look very much like a DTFT, so

let's continue our line of thought, and we replace Ts by Pi over Omega N.

This is a usual substitution.

We take out of the sum the term that does not depend on n.

So we have the Fourier transform of the interpolation function computed in

(Pi times omega)/omega N.

And then we have the sum from minus infinity to plus infinity of x of n times

e to the -j Pi omega/ omega N Times small n.

So this is indeed a DTFT.

Now this Omega over Omega N times Pi simply means that we're mapping

the interval minus Omega N, to Omega N

over to the minus Pi, Pi integral, all right?

So this is as prototypical Fourier transform of the interpolation function,

and according to what is our interpolation interval Ts,

this will be stretched more or less over the frequency axis.

So continuing the derivation, we finally have that the spectrum in

continuous time is equal to Pi over Omega N times the Fourier transform of

the interpolation function stretched between minus omega N and

omega N times the discrete time Fourier transform of the original sequence.

So the two Pi periodic if you want and

transform mapped to the continuous frequency axis, so

that the minus Pi, Pi interval is mapped over the minus Omega N, Omega N interval.

Okay this is a mouthful so let's look graphically at how it looks.

Let's take for instance the ideal interpolation function sinc,

the Fourier transform of the sync in continuous time is the rect, right?

So this, with the Ts = 1.

When we changed Ts, this will simply stretch the support interval for

the functions, and we get that the Fourier transform of the interpolated signal is

our two Pi periodic spectrum in discrete time, mapped onto continuous time.

And rescaled so that Pi is mapped to Omega n times the Fourier transform

of the interpolation function, rect of In this case, Omega over two times Omega N.

So this is our interpolative function in continuous time.

This is Fourier transform.

We start with a spectrum in discrete time that goes like this from one spike to Pi,

and in continuous time as we've said,

we map the minus Pi, Pi interval to minus Omega N, Omega N.

And then we multiplied by the Fourier transform of the interpolation function

which in the case of the sinc is is erect

that will isolate only one period of the transform and we're done.

This is the continuous time spectrum of an ideally interpolated sequence.

Okay, so what happens in practice?

Suppose we use the zero-order hold?

The zero-order hold is simply a rect in the time domain right,

between minus one half and one half.

The fourier transform of this guy is a sinc, and the resulting Fourier transform

of a sequence interpolated with a zero-order hold interpolator is like so,

we have the same term as before, namely, the discrete time Fourier transform,

mapped onto the continuous frequency access where Pi is equal to omega N,

and now this time we multiply by the Fourier transform

of interpolation function which is a sink.

So, how does it look?

Well, this the interpolator in continuous time.

This is the magnitude of its Fourier transform.

If we start with a sequence that has a spectrum like this,

we map this to the continuous time frequency, and it looks like so.

Again, we're mapping Pi to Omega N,

and now we multiply by the Fourier transform of the interpolation function.

Now this is not longer an ideal low pass, and so

the resulting spectrum will contain high frequency components

that are still there because the interpolator is not ideal.

Imagine this is an audio signal if you were to interpolate an audio signal with

simple rect well then you would have high frequency component that would probably

would be very disturbing to listen to.

One way to improve the situation is to increase the order of the interpolator.

So suppose now we use a first order interpolator, it looks like so.

We know that its Fourier transform is a sinc squared, so this is its plot.

When we apply this to a practical interpolation problem,

imagine this is our discrete time spectrum like before.

This is the periodic discrete times mapped to continuous frequencies,

and now we multiply that by the Fourier transform of the interpolation function.

Now with the first order interpolator we have a higher rejection

of the higher frequencies.

The characteristic is more similar to a low pass.

So when we multiply that we still have spurious high frequency components, but

they are more attenuated with respect to zero-order hold.

If you increase the order of interpolation even more, you will get even

better rejection for the high frequency components, but there are other techniques

that will study later that will allow us to use even a cheap zero-order holder

interpolator provided we are willing to use a much smaller interpolation period.