- added peak tags
git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@453 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -53,7 +53,10 @@ namespace gr {
|
|||||||
memset(m_pPeak, 0, vlen*sizeof(int));
|
memset(m_pPeak, 0, vlen*sizeof(int));
|
||||||
memset(m_pXs, 0, vlen*sizeof(float));
|
memset(m_pXs, 0, vlen*sizeof(float));
|
||||||
memset(m_pXm, 0, vlen*sizeof(float));
|
memset(m_pXm, 0, vlen*sizeof(float));
|
||||||
|
|
||||||
|
std::stringstream str;
|
||||||
|
str << name() << unique_id();
|
||||||
|
m_tag_id = pmt::string_to_symbol(str.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -91,11 +94,6 @@ namespace gr {
|
|||||||
{
|
{
|
||||||
int nitems_per_block = this->output_signature()->sizeof_stream_item(0)/sizeof(float);
|
int nitems_per_block = this->output_signature()->sizeof_stream_item(0)/sizeof(float);
|
||||||
|
|
||||||
fprintf(stderr, "Hallo\n");
|
|
||||||
fprintf(stderr, "noutput_items = %u\n", (int)noutput_items);
|
|
||||||
fprintf(stderr, "ninput_items = %u\n", (int)input_items.size());
|
|
||||||
fprintf(stderr, "nitems_per_block = %u\n", (int)nitems_per_block);
|
|
||||||
|
|
||||||
float *iptr = (float *)input_items[0];
|
float *iptr = (float *)input_items[0];
|
||||||
float *optr = (float *)output_items[0];
|
float *optr = (float *)output_items[0];
|
||||||
|
|
||||||
@@ -104,6 +102,11 @@ namespace gr {
|
|||||||
// Initialization on first frame
|
// Initialization on first frame
|
||||||
if (m_frameCount == 0)
|
if (m_frameCount == 0)
|
||||||
{
|
{
|
||||||
|
fprintf(stderr, "Peak Detector: Initialize\n");
|
||||||
|
fprintf(stderr, "noutput_items = %u\n", (int)noutput_items);
|
||||||
|
fprintf(stderr, "ninput_items = %u\n", (int)input_items.size());
|
||||||
|
fprintf(stderr, "nitems_per_block = %u\n", (int)nitems_per_block);
|
||||||
|
|
||||||
float xmean = mean(iptr, nitems_per_block);
|
float xmean = mean(iptr, nitems_per_block);
|
||||||
fill(m_pXs, nitems_per_block, xmean);
|
fill(m_pXs, nitems_per_block, xmean);
|
||||||
fill(m_pXm, nitems_per_block, xmean);
|
fill(m_pXm, nitems_per_block, xmean);
|
||||||
@@ -134,7 +137,16 @@ namespace gr {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pPeak[i] = (int)((x-m_pXm[i]) > 10.f);
|
float peak_dist = x-m_pXm[i];
|
||||||
|
int peak = (int)(peak_dist > 10.f);
|
||||||
|
m_pPeak[i] = peak;
|
||||||
|
|
||||||
|
if (peak)
|
||||||
|
{
|
||||||
|
pmt::pmt_t tag_key = pmt::string_to_symbol("peak");
|
||||||
|
pmt::pmt_t tag_value = pmt::from_float(peak_dist);
|
||||||
|
add_item_tag(0, nitems_written(0) + i, tag_key, tag_value, m_tag_id);
|
||||||
|
}
|
||||||
|
|
||||||
*optr++ = x-m_pXm[i];
|
*optr++ = x-m_pXm[i];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,8 @@ namespace jay {
|
|||||||
float *m_pXs;
|
float *m_pXs;
|
||||||
float *m_pXm;
|
float *m_pXm;
|
||||||
uint64_t m_frameCount;
|
uint64_t m_frameCount;
|
||||||
|
pmt::pmt_t m_tag_id;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
peak_detect_impl(float alpha_s, float alpha_m, int vlen);
|
peak_detect_impl(float alpha_s, float alpha_m, int vlen);
|
||||||
~peak_detect_impl();
|
~peak_detect_impl();
|
||||||
|
|||||||
Reference in New Issue
Block a user