Mirco-

> It's perhaps a silly question, but I don't see what
I'm doing wrong. I'm

> trying to calculate the FT of a signal containing only dirac impulses. To

> avoid aliasing I first low pass the signal with a Butterworth filter

Why will there be aliasing in a signal with pulses? If you look at a magnitude
plot,

you should get something like a dense comb filter. One pulse would give you a
flat

line.

What are you expecting?

-Jeff

> (should I take another one?) and than use the matlab
function "fft" to

> transform the signal. Here an example:

>

> %The signal with two pulses:

> x=[zeros(1,1000) 1 zeros(1,800) 1 zeros(1,199)];

> tStep^-3;

> t=-1000*tStep:tStep:1000*tStep;

>

> %Filtering the signal with a butterworth filter

> [b,a] = butter(10,0.8);

> y = filter(b,a,x);

>

> % The fourier transformation

> Yt(y);

> f=1/tStep*(0:round(length(Y)/2))/(length(Y));

> semilogy(f,abs(Y(1:round(length(Y)/2)+1)))

> ylim([10^-4 10^1]);

> xlim([100 200]);

>

> I'm not sure if this is correct: If I do the FFT of the same signal without
the low pass filtering first, like this:

>

> %The signal with two pulses:

> x=[zeros(1,1000) 1 zeros(1,800) 1 zeros(1,199)];

> tStep^-3;

> t=-1000*tStep:tStep:1000*tStep;

>

> % The fourier transformation

> Xt(x);

> f=1/tStep*(0:round(length(X)/2))/(length(X));

> semilogy(f,abs(X(1:round(length(X)/2)+1)))

> ylim([10^-4 10^1]);

> xlim([100 200]);

>

> the result seames to be the same! Where is the aliasing? What is the error
in my reasoning?

>

> Thank you for your help!

>

> Mirco

# Re: Discrete Fourier Transform of a signal containing only dirac impulses

Started by ●September 21, 2006