Skip to content

Instantly share code, notes, and snippets.

@dugagjin
Last active January 9, 2016 21:04
Show Gist options
  • Save dugagjin/3f5163893dd002c15bf1 to your computer and use it in GitHub Desktop.
Save dugagjin/3f5163893dd002c15bf1 to your computer and use it in GitHub Desktop.
onderdrukking leakage
clear all; clf;
figure(1);
Fs = 1024;
Ts = 1/Fs;
f1 = 20.5;
f2 = 200.5;
N = 1024;
Te = N*Ts;
t = [0:1:1023];
fvec = [0:N-1]/N/Ts;
x = sin(2*pi*f1*t*Ts) + 10^(-4)*sin(2*pi*t*f2*Ts);
y = hann(Fs)';
z = fft(y.*x)/N;
% http://nl.mathworks.com/help/signal/ref/hann.html
% neem afgeleide hanning waarbij de hanning Fs als input heeft.
% De afgeleide van han vermenigvuldigen met de functie x.
subplot(3,1,1);
plot(t, y.*x);
hold on;
plot(t,y,'r');
subplot(3,1,2)
plot (fvec, abs(z));
subplot(3,1,3)
plot (fvec, db(abs(z)));
% We zien duidelijk in de dB schaal plot dat er leakage is bij 200. Dit is
% in het normal schaal niet zichtbaar. Zelfde voor rond de 800.
% om leakage te onderdrukken kunnen we kunnen we gehelen aantal periodes
% nemen. Maar dit is niet altijd mogelijk dus worden randen meestal
% onderdrukt met een venster.
% De randen worden dan naar 0 gebracht zodanig deze waarde voor minder
% meetellen dan de andere waarden. Een veel gebruikt venster is de hanning
% venster.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment