- added alpha to s quelch
git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@519 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -30,22 +30,23 @@ namespace gr {
|
||||
namespace jay {
|
||||
|
||||
squelch::sptr
|
||||
squelch::make(float initValue)
|
||||
squelch::make(float initValue, float alpha)
|
||||
{
|
||||
return gnuradio::get_initial_sptr
|
||||
(new squelch_impl(initValue));
|
||||
(new squelch_impl(initValue, alpha));
|
||||
}
|
||||
|
||||
/*
|
||||
* The private constructor
|
||||
*/
|
||||
|
||||
squelch_impl::squelch_impl(float initValue)
|
||||
squelch_impl::squelch_impl(float initValue, float alpha)
|
||||
: gr::sync_block("squelch",
|
||||
gr::io_signature::make(1, 1, sizeof(float)),
|
||||
gr::io_signature::make(1, 1, sizeof(float)))
|
||||
, m_gain_target(initValue)
|
||||
, m_gain(0.0f)
|
||||
, m_alpha(alpha)
|
||||
{
|
||||
m_msg_port_in = pmt::mp("control");
|
||||
message_port_register_in(m_msg_port_in);
|
||||
@@ -120,7 +121,7 @@ namespace gr {
|
||||
const float *in = (const float *) input_items[0];
|
||||
float *out = (float *) output_items[0];
|
||||
|
||||
m_gain = 0.99f*m_gain + 0.01f*m_gain_target;
|
||||
m_gain = (1.f-m_alpha)*m_gain + m_alpha*m_gain_target;
|
||||
|
||||
// Do <+signal processing+>
|
||||
for (int i=0; i < noutput_items; i++)
|
||||
|
||||
@@ -33,9 +33,10 @@ namespace gr {
|
||||
pmt::pmt_t m_msg_port_in;
|
||||
float m_gain_target;
|
||||
float m_gain;
|
||||
|
||||
float m_alpha;
|
||||
|
||||
public:
|
||||
squelch_impl(float initValue);
|
||||
squelch_impl(float initValue, float alpha);
|
||||
~squelch_impl();
|
||||
void print_pair(pmt::pmt_t pair);
|
||||
void on_message(pmt::pmt_t msg);
|
||||
|
||||
Reference in New Issue
Block a user