Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- A1 = 0.8;
- f1 = 100;
- A2 = 0.5;
- f2 = 427;
- T = 0.5;
- fs = 8000;
- t = 1/f : 1 / f : T;
- var = 1.5;
- sig1 = A1 * sin(2 * pi * f1 * t);
- sig2 = A2 * sin(2 * pi * f2 * t);
- orig = sig1 + sig2;
- ORIG = fft(orig);
- noise = sqrt(var).*randn(1, fix(fs*T));
- sig = orig + noise;
- SIG = fft(sig);
- N = mean(abs(SIG(1000:3000)));
- CLEARED = fft(sig);
- CLEARED_phase = CLEARED ./ abs(CLEARED);
- CLEARED_abs = abs(CLEARED) - 3 * N;
- CLEARED_abs = max(CLEARED_abs, 0);
- CLEARED = CLEARED_abs .* CLEARED_phase;
- cleared_reconstructed = ifft(CLEARED);
- orig_reconstructed = ifft(ORIG);
- figure(1)
- subplot(321)
- plot(t, sig)
- title('signal with noise')
- subplot(322)
- plot(abs(SIG))
- subplot(323)
- plot(cleared_reconstructed)
- title('reconstructed signal')
- axis([0 4000 -2 2])
- subplot(324)
- plot(abs(CLEARED))
- subplot(325)
- plot(orig_reconstructed)
- title('original signal')
- axis([0 4000 -2 2])
- subplot(326)
- plot(abs(ORIG))
Advertisement
Add Comment
Please, Sign In to add comment