Recovering a sinusoidal wave through sparse optimization.

Consider we have this Signal that is corrupted by noise. How to obtain the original signal ( assuming that we don't know the frequency of the actual signal) through sparse recovery?
%Sine wave generation
freq=400;
Amp=1;
t_samp=1/8000;
T=0.01;
t=0:t_samp:T;
y=Amp*sin(2*pi*freq*t);
subplot(2,1,1);
plot(t,y)
ylabel ('Amplitude');
xlabel ('Time');
title ('Sine wave');
%Add noise to signal
noisy = y + 0.1 * randn(1, length(y));
subplot(2,1,2);
plot(t,noisy)
ylabel ('Amplitude');
xlabel ('Time');
title ('Signal corrupted by noise');
Feel free to use SPOPT, SPGL solvers, SPASM, plain code or whatever you would prefer.
Thanks for your time and patience!

답변 (0개)

카테고리

제품

질문:

2017년 8월 25일

편집:

2017년 8월 27일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by