I am trying to denoise a chirp (LFM) signal for further analysis, like Short Time Fourier Transform and FrFT. But when in low SNR condition, the STFT results seems to be terrible, and I'm trying to enhance it with dsp.LMSFilter function.
The desired output is the prediction of noise in current pulse, and the reference noise is the WGN with zero signal. It seems that the NLMS filter doesn't work.
Here are my script, it can run in Matlab directly. Can you help me?
y_lfm = A_lfm*cos(2*pi*fc_lfm*t + pi*Kr_lfm*t.^2);
y_0 = zeros(1,length(y_lfm));
nlms = dsp.LMSFilter(L,'StepSize',mu,'Method','Normalized LMS');
[y_nlms_noise,e,w] = nlms(x,noise);
y_n1_denoise =y_n1 - (y_nlms_noise)';
legend('ideal denoise result','signal with noise','actual denose result');