How to plot the frequency response of a discrete cosine function?

My attempt:
I tried doing it but I can't get the freq response to be plotted between pi and pi. Any help would be appreciated.

Réponses (1)

Rick Rosson
Rick Rosson le 14 Nov 2015
Modifié(e) : Rick Rosson le 14 Nov 2015
L = 1000;
n = 0:L-1;
x1 = fftshift(fft(x))/L;
dw = 2*pi/L;
w = -pi:dw:pi-dw;
stem(w,mag);

5 commentaires

Thank you Rick. I got the magnitude right this time. But the phase plot I get a a lot of fluctuations, like noise.
L = 1000;
n = 0:L-1;
x=5*cos((0.13*pi*n)+(pi/13));
x1 = fftshift(fft(x))/L;
dw = 2*pi/L;
w = -pi:dw:pi-dw;
mag=abs(x1)
stem(w,mag);
title('Magnitude Plot');
phase=angle(x1);
figure
plot(w,phase)
title('Phase Plot');
phase = angle(x1);
phase(mag<0.01) = nan;
figure;
plot(w,phase/pi);
ylabel('Phase Angle (pi-radians)');
Rick sorry but I still can't get the phase response. I uploaded the image.
L = 1000;
n = 0:L-1;
x=5*cos((0.13*pi*n)+(pi/13));
x1 = fftshift(fft(x))/L;
dw = 2*pi/L;
w = -pi:dw:pi-dw;
mag=abs(x1)
stem(w,mag);
title('Magnitude Plot');
phase = angle(x1);
phase(mag<0.01) = nan;
figure;
plot(w,phase/pi);
ylabel('Phase Angle (pi-radians)');
Try using stem instead of plot:
stem(w,phase/pi);
Thank you so much Rick. It's working now.

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by