# Aliasing and the discrete-time Fourier transform 9

Posted by **Steve Eddins**,

Many of you were onto me immediately last week. I asked you to estimate the frequency of the sampled cosine signal below, and readers quickly chimed in to guess that this question was really a teaser about aliasing.

As it happened, I started with a 1 rad/second cosine, , :

```
t = linspace(-2.3*pi, 2.3*pi, 800);
alpha = 1;
x_c = cos(alpha * t);
plot(t, x_c, 'k')
```

And I sampled that signal to get with so that .

T = 1; n = -7:7; nt = n * T; x = cos(alpha*n*T); hold on plot(nt, x, 'ok') hold off

But I could have started with a completely different frequency and still ended up with **exactly the same samples**. For example, let's see what happens when we try :

alpha_2 = 2*pi - 1; x2_c = cos(alpha_2 * t); plot(t, x2_c, 'k') x2 = cos(alpha_2 * n * T); hold on plot(nt, x2, 'ok') hold off

The two sets of samples are the same (within floating-point round-off error):

max(abs(x - x2))

ans = 1.1657e-015

Let's look at this phenomenon in terms of the relationship between the continuous-time Fourier transform and the discrete-time Fourier transform (DTFT). Below is the continuous-time Fourier transform of .

The DTFT is a collection of copies of the continuous-time Fourier transform, spaced apart by the sampling frequency, and with the frequency axis scaled so that the sampling frequency becomes . Here's the DTFT of .

Now has a higher frequency as you can see in the plot of its continuous-time Fourier transform:

But when you make a bunch of copies of spaced apart by the sampling frequency, you find that the DTFT of is exactly the same as the DTFT of .

Usually only a single period of the DTFT is plotted:

In other words, when you use a sampling rate of , the frequencies 1 and are indistinguishable. This is called *aliasing*. In general, the continuous-time frequency is indistinguishable from any other frequency of the form , where is an integer.

So far we've talked about the continuous-time Fourier transform, the discrete-time Fourier transform, their relationship, and a
little bit about aliasing. Next time we'll bring the discrete Fourier transform (DFT) into the discussion. That's what the
MATLAB function `fft` actually computes.

Get the MATLAB code

Published with MATLAB® 7.9

**Category:**- Fourier transforms

### Note

Comments are closed.

## 9 CommentsOldest to Newest

**1**of 9

**2**of 9

**3**of 9

**4**of 9

clear all; f1=10;F1=100;f2=90;F2=100; for n=1:50, x1(n)=10*sin(2*pi*n*f1/F1); fr1(n)=n/25*F1/2; end y1=fft(x1,50); plot(fr1,abs(y1)); xlabel('frequency in Hz'); ylabel('Amplitude'); figure; for n=1:50, x2(n)=10*sin(2*pi*n*f2/F1); fr2(n)=n/25*F1/2; end y2=fft(x2,50); plot(fr2,abs(y2)); xlabel('frequency in Hz');

**5**of 9

n = 0:49; x1 = 10*sin(2*pi*n*f1/F1); x2 = 10*sin(2*pi*n*f2/F1);Also, I suggest that you not use "clear all". If you want to clear your base workspace variables, just use "clear".

**6**of 9

**7**of 9

**8**of 9

**9**of 9

## Recent Comments