Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- N = 1000; Fs = 100; f1 = 20; f2 = 22.05; n = (0:N-1)'/Fs;
- % sygnaly w dziedzinie czasu (mala litera)
- %x = sin(2 * pi * f1 * n) + sin(2 * pi * f2 * n);
- %x2 = sin(2 * pi * f2 * n);
- % sygnaly w dziedzinie czestotliwosci (wielka litera)
- %X = fft(x);
- %X2 = fft(x2); % przeciek widma!
- % pojedyncza czestotliwosc, ale sie "rozplywa"
- % po chlopsku: df = Fs/N = 0.1 Hz
- % funkcja Fouriera nie jest w stanie policzyc dla tej wartosci, wiec
- % jest przeciek widma
- % lub: niepelna liczba okresow
- % fft zaklada, ze sygnal jest okresowy, wiec "przykleja"
- % dla f1 jest dobrze, dla f2 przy sklejeniu bedzie przeskok
- %rysujwidmo(X2, Fs, 0, 'r*');
- % metoda zminimalizowania: okienkowanie
- % x(t) * w(t) => splot => x(f) *. w(f)
- %w = hamming(N);
- %y = x .* w;
- %W = fft(w); Y = fft(y);
- % g r b
- % wyciek stlumiony
- %rysujwidmo([X, W, Y], Fs);
- x = sin(2 * pi * f2 * n); X = fft(x);
- y = [x; zeros(N, 1)]; Y = fft(y); % Y = fft(x, 2 * N);
- % srednik - dodaje w pionie
- rysujwidmo(X, Fs, 0, 'b.-'); hold on;
- rysujwidmo(Y, Fs, 0, 'r*-'); %hold off;
- w = [ones(N, 1); zeros(N, 1)]; W = fft(w);
- rysujwidmo(W, Fs, 0, 'go-'); hold off;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement