Don't think you can directly, since there's no internal notion of S and N kept
separately
(that's the beauty of this estimator: it's simple).
However, when you have an SNR estimate, you could simply externally compute the
average
S+N (i.e. the average power of observed samples).
Then, via
S+N = N·(S/N) + N = N·SNR + N = N·(1+SNR)
N = S+N/(1+SNR)
S = S+N - N
you could derive S and N.
Best regards,
Marcus
On 25.10.21 11:54, Moses Browne Mwakyanjala wrote:
> Hi everyone,
> It seems like all estimators in MPSK_SNR_EST class, except for the SVR one
> (shown below),
> have signal, noise, and SNR estimations. How does one get the signal and
> noise
> components from the SVR estimate?
>
> Regards,
>
> Moses.
>
> mpsk_snr_est_svr::mpsk_snr_est_svr(doublealpha):mpsk_snr_est(alpha)
>
> {
>
> d_y1=0;
>
> d_y2=0;
>
> }
>
>
> intmpsk_snr_est_svr::update(intnoutput_items,constgr_complex*input)
>
> {
>
> for(inti=0;i<noutput_items;i++){
>
> doublex=abs(input[i+1]);
>
> doublex1=abs(input[i]);
>
> doubley1=(x*x)*(x1*x1);
>
> d_y1=d_alpha*y1+d_beta*d_y1;
>
>
> doubley2=x*x*x*x;
>
> d_y2=d_alpha*y2+d_beta*d_y2;
>
> }
>
> returnnoutput_items;
>
> }
>
>
> doublempsk_snr_est_svr::snr()
>
> {
>
> doublex=d_y1/(d_y2-d_y1);
>
> return10.0*log10(x-1+sqrt(x*(x-1)));
>
> }
>
>
> Moses Browne Mwakyanjala
>
>
> Founder - CEO
>
> *Remos Space Systems AB*
>
> m: +46 (0)70 278 2174__
>
> a: Aurorum 1C, 977 75 __Luleå, Sweden
>
> w: www.remosspace.com <https://www.remosspace.com/> e: [email protected]
> <mailto:[email protected]>
>
> image.png
>