gr::cdma::amp_var_est
gr::sync_block
gr::cdma::amp_var_est_impl
amp_var_est.h
boost::shared_ptr< amp_var_est > typedef boost::shared_ptr<amp_var_est> gr::cdma::amp_var_est::sptr sptr gr::cdma::amp_var_est::sptr
sptr static sptr gr::cdma::amp_var_est::make (float alpha) make gr::cdma::amp_var_est::make float alpha

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.

float virtual float gr::cdma::amp_var_est::alpha () const =0 alpha gr::cdma::amp_var_est::alpha alpha
void virtual void gr::cdma::amp_var_est::set_alpha (float k)=0 set_alpha gr::cdma::amp_var_est::set_alpha set_alpha float k

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].

gr::cdma::amp_var_est
gr::cdma::amp_var_est_impl
gr::sync_block
gr::cdma::amp_var_est
gr::sync_block
- gr::cdma::amp_var_est
  alpha
- gr::cdma::amp_var_est
  make
- gr::cdma::amp_var_est
  set_alpha
- gr::cdma::amp_var_est
  sptr