Last active
January 24, 2016 01:11
-
-
Save dugagjin/2b6fe725ea55d52babe2 to your computer and use it in GitHub Desktop.
leakage
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Maak een sinus met f = 2 Hz, en bemonster deze met fs = 10 Hz. Neem N = | |
% 10,11,...,15. Plot telkens het tijdssignaal en het frequentiespectrum. | |
% Herschaal het frequentiespectrum met N om de invloed van het aantal | |
% punten op de schaling van het spectrum te ontwijken. | |
clear all; clf; | |
Te = 1; | |
f = 2; | |
Fs = 10; % Samplefreqentie | |
Ts = 1/Fs; % periode | |
N = [10; 11; 12; 13; 14; 15]; | |
figure(1); | |
for i=1:length(N) | |
tvec = [0:N(i)-1]*Ts; | |
subplot(length(N),2,(i)); | |
plot(tvec, sin(2*pi*f*tvec)); | |
fvec = [0:N(i)-1]/N(i)/Ts; | |
subplot(length(N),2,(i)+6); | |
stem(fvec ,abs((fft(sin(2*pi*f*tvec))))); | |
end | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Maak een signaal u(t) = Asin(wt+rho), n = 0,1,...N-1 met w = 2pi*f en f = | |
% 80 Hz, t = nTs, A = 1, rho = pi/2, fs = 1/Ts = 1000, en N = 16. Bepaal | |
% U=fft(u) met schaling 1/N. Plot: | |
% 1)u(n) als functie van tijd. 2)Het amplitudespectrum in dB als functie | |
% van de frequentie. 3) Het amplitudespectrum (lineair) als functie van het | |
% FFT-lijnnummer (DC is lijn 0). 4) Het amplitudespectrum (lineair) als | |
% functie van de frequentie. | |
clear all;clf; | |
f = 80; | |
w = 2*pi*f; | |
Fs = 1000; | |
Ts = 1/Fs; | |
A = 1; | |
rho = pi/2; | |
N = 16; | |
tvec = [0:N-1]*Ts; | |
x = A * sin(w*tvec+rho); | |
fvec = [0:N-1]/N/Ts; | |
y = fft(x)/N; % Black magic thing fft(x)/N. | |
% omdat gegeven in opgave | |
figure(1); | |
subplot(2,2,1); | |
plot (tvec, x,'+'); | |
subplot(2,2,2); | |
plot (fvec, db(y),'+'); | |
subplot(2,2,3); | |
stem (fvec, abs(y),'+'); | |
fvec = linspace(0,N-1,N); % DFT lijnnummer (=> per sample) | |
subplot(2,2,4); % everything is ok | |
stem (fvec, abs(y),'+'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Herhaal oefening 2 maar kies w zodat een geheel aantal priode gemeten | |
% wordt. bvb één periode. Wat merkt je op? | |
clear all;clf; | |
f = 80; | |
w = 2*pi*f/8*6; % /8*6 getest maar drie laatste graf zijn fout | |
Fs = 1000; | |
Ts = 1/Fs; | |
A = 1; | |
rho = pi/2; | |
N = 16; | |
tvec = [0:N-1]*Ts; | |
x = A * sin(w*tvec+rho); | |
fvec = [0:N-1]/N/Ts; | |
y = fft(x)/N; % Black magic thing fft(x)/N zie opgave 2 | |
figure(1); | |
subplot(2,2,1); | |
% vanaf hier fout. | |
plot (tvec, x,'+'); | |
subplot(2,2,2); | |
plot (fvec, db(y),'+'); | |
subplot(2,2,3); | |
stem (fvec, abs(y),'+'); | |
fvec = linspace(0,N-1,N); % DFT lijnnummer (zie opgave 2) | |
subplot(2,2,4); | |
stem (fvec, abs(y),'+'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Herhaal oefening 3 maar kies nu een "goede" w, maar verdubbel het aantal | |
% punten N = 32 maar houd Ts constant. | |
clear all; | |
f = 80; | |
w = 2*pi*f/16*13; % geprobeerd met /16*13 maar krijg zotte dinges? | |
Fs = 1000; | |
Ts = 1/Fs; | |
A = 1; | |
rho = pi/2; | |
N = 32; | |
tvec = [0:N-1]*Ts; | |
x = A * sin(w*tvec+rho); | |
fvec = [0:N-1]/N/Ts; | |
y = fft(x)/N; % fft(x)/N, zie opgave 2 | |
figure(1); | |
subplot(2,2,1); | |
plot (tvec, x,'+'); | |
% vanaf hier fout. | |
subplot(2,2,2); | |
plot (fvec, db(y),'+'); | |
subplot(2,2,3); | |
stem (fvec, abs(y),'+'); | |
fvec = linspace(0,N-1,N); % DFT lijnnummer (zie opgave 2) | |
subplot(2,2,4); | |
stem (fvec, abs(y),'+'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% Herhaal oefening 3 maar kies nu een "goede" w, maar vergroot het aantal | |
% punten N = 64 maar behoud 1 periode | |
clear all; | |
f = 80; | |
w = 2*pi*f/5; % geprobeerd met 4 ipv 2 maar krijg zotte dinges? | |
Fs = 1000; | |
Ts = 1/Fs; | |
A = 1; | |
rho = pi/2; | |
N = 64; | |
tvec = [0:N-1]*Ts; | |
x = A * sin(w*tvec+rho); | |
fvec = [0:N-1]/N/Ts; | |
y = fft(x)/N; | |
figure(1); | |
subplot(2,2,1); | |
plot (tvec, x,'+'); | |
% vanaf hier mischien fout, no idea #yolo | |
subplot(2,2,2); | |
plot (fvec, db(y),'+'); | |
subplot(2,2,3); | |
stem (fvec, abs(y),'+'); | |
fvec = linspace(0,N-1,N); % DFT lijnnummer (zie opgave 2) | |
subplot(2,2,4); | |
stem (fvec, abs(y),'+'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
gebruik : f0 = 1/0.016;
don't know the fuck why, had het geschat maar weet de redenering niet meer