GNU Radio's CDMA Package
gr::cdma::amp_var_est Class Referenceabstract

Assumes as input a constant complex signal with complex noise s[i]=(A+j B) + (wr[i]+j wi[i]) Estimates the signal power on the real part A^2 and real noise variance sigma^2. More...

#include <amp_var_est.h>

Inheritance diagram for gr::cdma::amp_var_est:

Public Types

typedef boost::shared_ptr< amp_var_estsptr
 

Public Member Functions

virtual float alpha () const =0
 
virtual void set_alpha (float k)=0
 

Static Public Member Functions

static sptr make (float alpha)
 Return a shared_ptr to a new instance of cdma::amp_var_est.
 

Detailed Description

Assumes as input a constant complex signal with complex noise s[i]=(A+j B) + (wr[i]+j wi[i]) Estimates the signal power on the real part A^2 and real noise variance sigma^2.

First convert the input stream from complex type to real type, so r[i]=A + wr[i].
Then split the stream into two branches:
1) Pass the first branch through a single-pole IIR filter (averaging), square the result, and obtain an estimate of the signal power A^2.
2) Square the second branch, pass the result through a single-pole IIR filter, subtract the estimated signal power and obtain an estimate of the noise power sigma^2.

For the IIR filter, the parameter alpha controls the averaging length. See equation below:
y[i] = (1-alpha)*y[i-1] + alpha*x[i].

Member Typedef Documentation

◆ sptr

typedef boost::shared_ptr<amp_var_est> gr::cdma::amp_var_est::sptr

Member Function Documentation

◆ alpha()

virtual float gr::cdma::amp_var_est::alpha ( ) const
pure virtual

Implemented in gr::cdma::amp_var_est_impl.

◆ make()

static sptr gr::cdma::amp_var_est::make ( float  alpha)
static

Return a shared_ptr to a new instance of cdma::amp_var_est.

To avoid accidental use of raw pointers, cdma::amp_var_est's constructor is in a private implementation class. cdma::amp_var_est::make is the public interface for creating new instances.

◆ set_alpha()

virtual void gr::cdma::amp_var_est::set_alpha ( float  k)
pure virtual

Implemented in gr::cdma::amp_var_est_impl.


The documentation for this class was generated from the following file: