GNU Radio's CDMA Package

Public Types | Public Member Functions | Static Public Member Functions | List of all members
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:
[legend]

## Public Types
typedef boost::shared_ptr< amp_var_est > | sptr

## 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. More...

## 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:

- amp_var_est.h