Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- N = 1024;
- f1 = 500;
- f2 = 1200;
- fs = 8000;
- n = 0 : N - 1;
- noise = normrnd(0, sqrt(1), 1, N);
- subplot(3, 1, 1);
- plot(noise)
- axis([0 (N + 10) -4 4])
- title('Szum gaussowski');
- xlabel('Czas');
- ylabel('Amplituda');
- sin1 = 0.5 * sin(2 * pi * n * f1 / fs);
- sin2 = sin(2 * pi * n * f2 / fs);
- sumSin = sin1 + sin2;
- subplot(3, 1, 2);
- plot(sumSin)
- axis([0 (N + 10) -2 2])
- title('Kombinacja sygnałów sinusoidalnych');
- xlabel('Czas');
- ylabel('Amplituda');
- y = sumSin + 0.1 * noise;
- subplot(3, 1, 3);
- plot(y);
- axis([0 (N + 10) -2 2])
- title('Suma sygnałów sinusiodalnych i szumu');
- xlabel('Czas');
- ylabel('Amplituda');
- % ---------------------------------------------------
- figure;
- subplot(3, 1, 1);
- periodogram(noise);
- subplot(3, 1, 2);
- periodogram(sumSin);
- subplot(3, 1, 3);
- periodogram(y);
- % ---------------------------------------------------
- figure;
- subplot(3, 1, 1);
- periodogram(noise, hann(N));
- subplot(3, 1, 2);
- periodogram(sumSin, hann(N));
- subplot(3, 1, 3);
- periodogram(y, hann(N));
- % ---------------------------------------------------
- figure;
- [pxx1, f1] = pwelch(noise, hann(256), [], N, fs);
- [pxx2, f2] = pwelch(noise, hann(128), [], N, fs);
- [pxx3, f3] = pwelch(noise, hann(64), [], N, fs);
- subplot(3, 1, 1);
- hold on;
- p1 = plot(f1, 10 * log10(pxx1));
- p2 = plot(f2, 10 * log10(pxx2));
- p3 = plot(f3, 10 * log10(pxx3));
- xlabel('Frequency (Hz)');
- ylabel('PSD dB/Hz');
- legend([p1 p2 p3], {'NFFT 256', 'NFFT 128', 'NFFT 64'});
- grid on;
- hold off;
- % -------------
- [pxx1, f1] = pwelch(sumSin, hann(256), [], N, fs);
- [pxx2, f2] = pwelch(sumSin, hann(128), [], N, fs);
- [pxx3, f3] = pwelch(sumSin, hann(64), [], N, fs);
- subplot(3, 1, 2);
- hold on;
- p1 = plot(f1, 10 * log10(pxx1));
- p2 = plot(f2, 10 * log10(pxx2));
- p3 = plot(f3, 10 * log10(pxx3));
- axis([-inf inf -160 -10]);
- xlabel('Frequency (Hz)');
- ylabel('PSD dB/Hz');
- legend([p1 p2 p3], {'NFFT 256', 'NFFT 128', 'NFFT 64'});
- grid on;
- hold off;
- % -------------
- [pxx1, f1] = pwelch(y, hann(256), [], N, fs);
- [pxx2, f2] = pwelch(y, hann(128), [], N, fs);
- [pxx3, f3] = pwelch(y, hann(64), [], N, fs);
- subplot(3, 1, 3);
- hold on;
- p1 = plot(f1, 10 * log10(pxx1));
- p2 = plot(f2, 10 * log10(pxx2));
- p3 = plot(f3, 10 * log10(pxx3));
- axis([-inf inf -65 -15]);
- xlabel('Frequency (Hz)');
- ylabel('PSD dB/Hz');
- legend([p1 p2 p3], {'NFFT 256', 'NFFT 128', 'NFFT 64'});
- grid on;
- hold off;
Advertisement
Add Comment
Please, Sign In to add comment