From 7949ed3d3ce5818e534a1fd97195ba9a3d26c637 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Sat, 1 Jun 2019 13:34:09 +0000 Subject: [PATCH] - added hierachical peak detector git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@539 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- auto_tuner.grc | 4370 ++++++++++++++++++++++++++++++++++++++++ hier_peak_detector.grc | 1734 ++++++++++++++++ 2 files changed, 6104 insertions(+) create mode 100644 auto_tuner.grc create mode 100644 hier_peak_detector.grc diff --git a/auto_tuner.grc b/auto_tuner.grc new file mode 100644 index 0000000..4990f21 --- /dev/null +++ b/auto_tuner.grc @@ -0,0 +1,4370 @@ + + + + Fri May 24 16:40:17 2019 + + options + + author + + + + window_size + (1920, 1200) + + + category + [GRC Hier Blocks] + + + comment + + + + description + + + + _enabled + True + + + _coordinate + (8, 8) + + + _rotation + 0 + + + generate_options + qt_gui + + + hier_block_src_path + .: + + + id + top_block + + + max_nouts + 0 + + + qt_qss_theme + + + + realtime_scheduling + + + + run_command + {python} -u {filename} + + + run_options + prompt + + + run + True + + + sizing_mode + fixed + + + thread_safe_setters + + + + title + + + + placement + (0,0) + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (432, 12) + + + _rotation + 0 + + + id + FRAME_RATE + + + value + 30 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (320, 12) + + + _rotation + 0 + + + id + N_FFT + + + value + 1024 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (112, 572) + + + _rotation + 0 + + + id + am_bandwidth + + + value + 2500 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (696, 12) + + + _rotation + 0 + + + id + audio_rate + + + value + 8000 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (936, 12) + + + _rotation + 0 + + + id + channel_rate + + + value + samp_rate/100 + + + + variable_qtgui_range + + comment + + + + value + 130e6 + + + _enabled + True + + + _coordinate + (544, 12) + + + gui_hint + + + + _rotation + 0 + + + id + f_tune + + + label + Frequency + + + min_len + 400 + + + orient + Qt.Horizontal + + + start + 80e6 + + + step + samp_rate/2 + + + stop + 480e6 + + + rangeType + float + + + widget + counter_slider + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (808, 12) + + + _rotation + 0 + + + id + peak_thresh_dB + + + value + 15 + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (208, 12) + + + _rotation + 0 + + + id + samp_rate + + + value + 8e6 + + + + variable_qtgui_range + + comment + + + + value + -30 + + + _enabled + True + + + _coordinate + (1416, 12) + + + gui_hint + + + + _rotation + 0 + + + id + variable_amp_2 + + + label + Amplitude + + + min_len + 200 + + + orient + Qt.Horizontal + + + start + -90 + + + step + 10 + + + stop + 0 + + + rangeType + float + + + widget + counter_slider + + + + variable_qtgui_range + + comment + + + + value + 0 + + + _enabled + True + + + _coordinate + (1288, 20) + + + gui_hint + + + + _rotation + 0 + + + id + variable_freq_2 + + + label + Frequency + + + min_len + 200 + + + orient + Qt.Horizontal + + + start + -samp_rate/2 + + + step + samp_rate/1000 + + + stop + samp_rate/2 + + + rangeType + float + + + widget + counter_slider + + + + variable_qtgui_chooser + + comment + + + + value + "RX2" + + + _enabled + True + + + _coordinate + (464, 492) + + + gui_hint + + + + _rotation + 0 + + + id + variable_qtgui_antanna + + + label0 + "RX2" + + + label1 + "TX / RX" + + + label2 + RX 1 + + + label3 + + + + label4 + + + + label + Antenna + + + labels + [] + + + num_opts + 2 + + + option0 + "RX2" + + + option1 + "TX/RX" + + + option2 + "RX1" + + + option3 + 3 + + + option4 + 4 + + + options + [0, 1, 2] + + + orient + Qt.QHBoxLayout + + + type + string + + + widget + radio_buttons + + + + variable_qtgui_check_box + + comment + + + + value + 0 + + + _enabled + True + + + false + 0 + + + _coordinate + (1064, 20) + + + gui_hint + + + + _rotation + 0 + + + id + variable_test_tone_scale + + + label + Test tones + + + true + 1 + + + type + int + + + + analog_agc2_xx + + attack_rate + 1e-2 + + + alias + + + + comment + + + + affinity + + + + decay_rate + 1e-2 + + + _enabled + True + + + _coordinate + (1480, 348) + + + _rotation + 0 + + + gain + 1.0 + + + id + analog_agc2_xx_0 + + + max_gain + 20 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + reference + 0.8 + + + type + float + + + + analog_agc2_xx + + attack_rate + 0.01 + + + alias + + + + comment + + + + affinity + + + + decay_rate + 1e-2 + + + _enabled + True + + + _coordinate + (1232, 428) + + + _rotation + 0 + + + gain + 0.1 + + + id + analog_agc2_xx_1 + + + max_gain + 10 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + reference + 0.1 + + + type + complex + + + + analog_am_demod_cf + + audio_decim + 1 + + + audio_pass + 3500 + + + audio_stop + 3800 + + + alias + + + + chan_rate + audio_rate + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1480, 492) + + + _rotation + 0 + + + id + analog_am_demod_cf_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + + analog_noise_source_x + + amp + 0.001 + + + alias + + + + comment + + + + affinity + + + + _enabled + 0 + + + _coordinate + (88, 292) + + + _rotation + 0 + + + id + analog_noise_source_x_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + noise_type + analog.GR_GAUSSIAN + + + type + complex + + + seed + 0 + + + + analog_sig_source_x + + amp + 0 + + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + freq + -samp_rate/4 + + + _coordinate + (96, 404) + + + _rotation + 0 + + + id + analog_sig_source_x_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + offset + 0 + + + type + complex + + + samp_rate + samp_rate + + + waveform + analog.GR_COS_WAVE + + + + analog_sig_source_x + + amp + 10**(variable_amp_2/20)*variable_test_tone_scale + + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + freq + variable_freq_2 + + + _coordinate + (120, 788) + + + _rotation + 0 + + + id + analog_sig_source_x_0_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + offset + 0 + + + type + complex + + + samp_rate + samp_rate + + + waveform + analog.GR_COS_WAVE + + + + analog_sig_source_x + + amp + 0 + + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + freq + samp_rate/4 + + + _coordinate + (120, 652) + + + _rotation + 0 + + + id + analog_sig_source_x_0_0_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + offset + 0 + + + type + complex + + + samp_rate + samp_rate + + + waveform + analog.GR_COS_WAVE + + + + analog_sig_source_x + + amp + 0.02 + + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + freq + 440 + + + _coordinate + (120, 916) + + + _rotation + 0 + + + id + analog_sig_source_x_0_0_1 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + offset + 1 + + + type + complex + + + samp_rate + samp_rate + + + waveform + analog.GR_COS_WAVE + + + + audio_sink + + alias + + + + comment + + + + affinity + + + + device_name + + + + _enabled + True + + + _coordinate + (1664, 236) + + + _rotation + 0 + + + id + audio_sink_0 + + + num_inputs + 1 + + + ok_to_block + True + + + samp_rate + audio_rate + + + + blocks_add_xx + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (336, 408) + + + _rotation + 0 + + + id + blocks_add_xx_0 + + + type + complex + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_inputs + 4 + + + vlen + 1 + + + + blocks_multiply_conjugate_cc + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (392, 824) + + + _rotation + 0 + + + id + blocks_multiply_conjugate_cc_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + vlen + 1 + + + + dc_blocker_xx + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1688, 508) + + + _rotation + 0 + + + id + dc_blocker_xx_0 + + + length + 64 + + + long_form + True + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + type + ff + + + + jay_message_filter + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + filterString + "freq_abs_Hz" + + + _coordinate + (712, 396) + + + _rotation + 0 + + + id + jay_message_filter_0_1 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + substString + "freq" + + + + jay_message_filter + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + filterString + "freq_abs_Hz" + + + _coordinate + (1184, 564) + + + _rotation + 0 + + + id + jay_message_filter_0_1_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + substString + "freq" + + + + jay_peak_detector_hier + + alpha_medium + 0.04 + + + alpha_short + 0.4 + + + alias + + + + center_frequency + 0 + + + comment + + + + affinity + + + + decimation + int(channel_rate/audio_rate) + + + _enabled + True + + + N_FFT + N_FFT + + + FRAME_RATE + FRAME_RATE + + + _coordinate + (936, 276) + + + _rotation + 0 + + + id + jay_peak_detector_hier_0 + + + maxoutbuf + 0 + + + num_peaks_max + 1 + + + minoutbuf + 0 + + + debug_prefix + "Fine" + + + peak_hyst_dB + 3 + + + peak_bw_max_Hz + 2*am_bandwidth + + + peak_bw_min_Hz + am_bandwidth + + + peak_thresh_dB + 20 + + + samp_rate + channel_rate + + + + jay_peak_detector_hier + + alpha_medium + 0.04 + + + alpha_short + 0.2 + + + alias + + + + center_frequency + f_tune + + + comment + + + + affinity + + + + decimation + int(samp_rate/channel_rate) + + + _enabled + True + + + N_FFT + N_FFT + + + FRAME_RATE + FRAME_RATE + + + _coordinate + (448, 212) + + + _rotation + 0 + + + id + jay_peak_detector_hier_0_0 + + + maxoutbuf + 0 + + + num_peaks_max + 1 + + + minoutbuf + 0 + + + debug_prefix + "Coarse" + + + peak_hyst_dB + 3 + + + peak_bw_max_Hz + 80000 + + + peak_bw_min_Hz + 40000 + + + peak_thresh_dB + 20 + + + samp_rate + samp_rate + + + + jay_squelch + + alpha + 0.002 + + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1672, 344) + + + _rotation + 0 + + + id + jay_squelch_0 + + + initValue + 0.0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + + qtgui_freq_sink_x + + autoscale + False + + + average + 1.0 + + + axislabels + True + + + bw + audio_rate + + + alias + + + + fc + 0 + + + comment + + + + ctrlpanel + False + + + affinity + + + + _enabled + True + + + fftsize + 1024 + + + _coordinate + (1464, 612) + + + gui_hint + + + + _rotation + 0 + + + grid + True + + + id + qtgui_freq_sink_x_0 + + + legend + True + + + alpha1 + 1.0 + + + color1 + "blue" + + + label1 + + + + width1 + 1 + + + alpha10 + 1.0 + + + color10 + "dark blue" + + + label10 + + + + width10 + 1 + + + alpha2 + 1.0 + + + color2 + "red" + + + label2 + + + + width2 + 1 + + + alpha3 + 1.0 + + + color3 + "green" + + + label3 + + + + width3 + 1 + + + alpha4 + 1.0 + + + color4 + "black" + + + label4 + + + + width4 + 1 + + + alpha5 + 1.0 + + + color5 + "cyan" + + + label5 + + + + width5 + 1 + + + alpha6 + 1.0 + + + color6 + "magenta" + + + label6 + + + + width6 + 1 + + + alpha7 + 1.0 + + + color7 + "yellow" + + + label7 + + + + width7 + 1 + + + alpha8 + 1.0 + + + color8 + "dark red" + + + label8 + + + + width8 + 1 + + + alpha9 + 1.0 + + + color9 + "dark green" + + + label9 + + + + width9 + 1 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + name + "Tuned" + + + nconnections + 1 + + + showports + False + + + freqhalf + True + + + tr_chan + 0 + + + tr_level + 0.0 + + + tr_mode + qtgui.TRIG_MODE_FREE + + + tr_tag + "" + + + type + complex + + + update_time + 0.10 + + + wintype + firdes.WIN_BLACKMAN_hARRIS + + + label + Relative Gain + + + ymax + 10 + + + ymin + -140 + + + units + dB + + + + qtgui_time_sink_x + + autoscale + False + + + axislabels + True + + + alias + + + + comment + + + + ctrlpanel + False + + + affinity + + + + entags + False + + + _enabled + 1 + + + _coordinate + (720, 252) + + + gui_hint + + + + _rotation + 0 + + + grid + True + + + id + qtgui_time_sink_x_0 + + + legend + True + + + alpha1 + 1.0 + + + color1 + "blue" + + + label1 + + + + marker1 + -1 + + + style1 + 1 + + + width1 + 1 + + + alpha10 + 1.0 + + + color10 + "blue" + + + label10 + + + + marker10 + -1 + + + style10 + 1 + + + width10 + 1 + + + alpha2 + 1.0 + + + color2 + "red" + + + label2 + + + + marker2 + -1 + + + style2 + 1 + + + width2 + 1 + + + alpha3 + 1.0 + + + color3 + "green" + + + label3 + + + + marker3 + -1 + + + style3 + 1 + + + width3 + 1 + + + alpha4 + 1.0 + + + color4 + "black" + + + label4 + + + + marker4 + -1 + + + style4 + 1 + + + width4 + 1 + + + alpha5 + 1.0 + + + color5 + "cyan" + + + label5 + + + + marker5 + -1 + + + style5 + 1 + + + width5 + 1 + + + alpha6 + 1.0 + + + color6 + "magenta" + + + label6 + + + + marker6 + -1 + + + style6 + 1 + + + width6 + 1 + + + alpha7 + 1.0 + + + color7 + "yellow" + + + label7 + + + + marker7 + -1 + + + style7 + 1 + + + width7 + 1 + + + alpha8 + 1.0 + + + color8 + "dark red" + + + label8 + + + + marker8 + -1 + + + style8 + 1 + + + width8 + 1 + + + alpha9 + 1.0 + + + color9 + "dark green" + + + label9 + + + + marker9 + -1 + + + style9 + 1 + + + width9 + 1 + + + name + "Coarse" + + + nconnections + 2 + + + size + N_FFT + + + srate + samp_rate + + + stemplot + False + + + tr_chan + 0 + + + tr_delay + 0 + + + tr_level + 0.0 + + + tr_mode + qtgui.TRIG_MODE_FREE + + + tr_slope + qtgui.TRIG_SLOPE_POS + + + tr_tag + "" + + + type + float + + + update_time + 1.0/FRAME_RATE + + + ylabel + Amplitude + + + yunit + "" + + + ymax + 0 + + + ymin + -120 + + + + qtgui_time_sink_x + + autoscale + False + + + axislabels + True + + + alias + + + + comment + + + + ctrlpanel + False + + + affinity + + + + entags + False + + + _enabled + True + + + _coordinate + (1192, 316) + + + gui_hint + + + + _rotation + 0 + + + grid + True + + + id + qtgui_time_sink_x_0_0 + + + legend + True + + + alpha1 + 1.0 + + + color1 + "blue" + + + label1 + + + + marker1 + -1 + + + style1 + 1 + + + width1 + 1 + + + alpha10 + 1.0 + + + color10 + "blue" + + + label10 + + + + marker10 + -1 + + + style10 + 1 + + + width10 + 1 + + + alpha2 + 1.0 + + + color2 + "red" + + + label2 + + + + marker2 + -1 + + + style2 + 1 + + + width2 + 1 + + + alpha3 + 1.0 + + + color3 + "green" + + + label3 + + + + marker3 + -1 + + + style3 + 1 + + + width3 + 1 + + + alpha4 + 1.0 + + + color4 + "black" + + + label4 + + + + marker4 + -1 + + + style4 + 1 + + + width4 + 1 + + + alpha5 + 1.0 + + + color5 + "cyan" + + + label5 + + + + marker5 + -1 + + + style5 + 1 + + + width5 + 1 + + + alpha6 + 1.0 + + + color6 + "magenta" + + + label6 + + + + marker6 + -1 + + + style6 + 1 + + + width6 + 1 + + + alpha7 + 1.0 + + + color7 + "yellow" + + + label7 + + + + marker7 + -1 + + + style7 + 1 + + + width7 + 1 + + + alpha8 + 1.0 + + + color8 + "dark red" + + + label8 + + + + marker8 + -1 + + + style8 + 1 + + + width8 + 1 + + + alpha9 + 1.0 + + + color9 + "dark green" + + + label9 + + + + marker9 + -1 + + + style9 + 1 + + + width9 + 1 + + + name + "Fine" + + + nconnections + 2 + + + size + N_FFT + + + srate + channel_rate + + + stemplot + False + + + tr_chan + 0 + + + tr_delay + 0 + + + tr_level + 0.0 + + + tr_mode + qtgui.TRIG_MODE_FREE + + + tr_slope + qtgui.TRIG_SLOPE_POS + + + tr_tag + "" + + + type + float + + + update_time + 1.0/FRAME_RATE + + + ylabel + Amplitude + + + yunit + "" + + + ymax + 0 + + + ymin + -120 + + + + qtgui_waterfall_sink_x + + axislabels + True + + + bw + samp_rate + + + alias + + + + fc + f_tune + + + comment + + + + affinity + + + + _enabled + True + + + fftsize + N_FFT + + + _coordinate + (312, 108) + + + gui_hint + + + + _rotation + 0 + + + grid + False + + + id + qtgui_waterfall_sink_x_0 + + + int_max + 10 + + + int_min + -140 + + + legend + True + + + alpha1 + 1.0 + + + color1 + 0 + + + label1 + + + + alpha10 + 1.0 + + + color10 + 0 + + + label10 + + + + alpha2 + 1.0 + + + color2 + 0 + + + label2 + + + + alpha3 + 1.0 + + + color3 + 0 + + + label3 + + + + alpha4 + 1.0 + + + color4 + 0 + + + label4 + + + + alpha5 + 1.0 + + + color5 + 0 + + + label5 + + + + alpha6 + 1.0 + + + color6 + 0 + + + label6 + + + + alpha7 + 1.0 + + + color7 + 0 + + + label7 + + + + alpha8 + 1.0 + + + color8 + 0 + + + label8 + + + + alpha9 + 1.0 + + + color9 + 0 + + + label9 + + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + name + "" + + + nconnections + 1 + + + showports + True + + + freqhalf + True + + + type + complex + + + update_time + 0.10 + + + wintype + firdes.WIN_BLACKMAN_hARRIS + + + + uhd_usrp_source + + alias + + + + ant0 + variable_qtgui_antanna + + + bw0 + 0 + + + center_freq0 + f_tune + + + dc_offs_enb0 + "" + + + iq_imbal_enb0 + "" + + + norm_gain0 + False + + + gain0 + 46 + + + lo_export0 + False + + + lo_source0 + internal + + + ant10 + + + + bw10 + 0 + + + center_freq10 + 0 + + + dc_offs_enb10 + "" + + + iq_imbal_enb10 + "" + + + norm_gain10 + False + + + gain10 + 0 + + + lo_export10 + False + + + lo_source10 + internal + + + ant11 + + + + bw11 + 0 + + + center_freq11 + 0 + + + dc_offs_enb11 + "" + + + iq_imbal_enb11 + "" + + + norm_gain11 + False + + + gain11 + 0 + + + lo_export11 + False + + + lo_source11 + internal + + + ant12 + + + + bw12 + 0 + + + center_freq12 + 0 + + + dc_offs_enb12 + "" + + + iq_imbal_enb12 + "" + + + norm_gain12 + False + + + gain12 + 0 + + + lo_export12 + False + + + lo_source12 + internal + + + ant13 + + + + bw13 + 0 + + + center_freq13 + 0 + + + dc_offs_enb13 + "" + + + iq_imbal_enb13 + "" + + + norm_gain13 + False + + + gain13 + 0 + + + lo_export13 + False + + + lo_source13 + internal + + + ant14 + + + + bw14 + 0 + + + center_freq14 + 0 + + + dc_offs_enb14 + "" + + + iq_imbal_enb14 + "" + + + norm_gain14 + False + + + gain14 + 0 + + + lo_export14 + False + + + lo_source14 + internal + + + ant15 + + + + bw15 + 0 + + + center_freq15 + 0 + + + dc_offs_enb15 + "" + + + iq_imbal_enb15 + "" + + + norm_gain15 + False + + + gain15 + 0 + + + lo_export15 + False + + + lo_source15 + internal + + + ant16 + + + + bw16 + 0 + + + center_freq16 + 0 + + + dc_offs_enb16 + "" + + + iq_imbal_enb16 + "" + + + norm_gain16 + False + + + gain16 + 0 + + + lo_export16 + False + + + lo_source16 + internal + + + ant17 + + + + bw17 + 0 + + + center_freq17 + 0 + + + dc_offs_enb17 + "" + + + iq_imbal_enb17 + "" + + + norm_gain17 + False + + + gain17 + 0 + + + lo_export17 + False + + + lo_source17 + internal + + + ant18 + + + + bw18 + 0 + + + center_freq18 + 0 + + + dc_offs_enb18 + "" + + + iq_imbal_enb18 + "" + + + norm_gain18 + False + + + gain18 + 0 + + + lo_export18 + False + + + lo_source18 + internal + + + ant19 + + + + bw19 + 0 + + + center_freq19 + 0 + + + dc_offs_enb19 + "" + + + iq_imbal_enb19 + "" + + + norm_gain19 + False + + + gain19 + 0 + + + lo_export19 + False + + + lo_source19 + internal + + + ant1 + + + + bw1 + 0 + + + center_freq1 + 0 + + + dc_offs_enb1 + "" + + + iq_imbal_enb1 + "" + + + norm_gain1 + False + + + gain1 + 0 + + + lo_export1 + False + + + lo_source1 + internal + + + ant20 + + + + bw20 + 0 + + + center_freq20 + 0 + + + dc_offs_enb20 + "" + + + iq_imbal_enb20 + "" + + + norm_gain20 + False + + + gain20 + 0 + + + lo_export20 + False + + + lo_source20 + internal + + + ant21 + + + + bw21 + 0 + + + center_freq21 + 0 + + + dc_offs_enb21 + "" + + + iq_imbal_enb21 + "" + + + norm_gain21 + False + + + gain21 + 0 + + + lo_export21 + False + + + lo_source21 + internal + + + ant22 + + + + bw22 + 0 + + + center_freq22 + 0 + + + dc_offs_enb22 + "" + + + iq_imbal_enb22 + "" + + + norm_gain22 + False + + + gain22 + 0 + + + lo_export22 + False + + + lo_source22 + internal + + + ant23 + + + + bw23 + 0 + + + center_freq23 + 0 + + + dc_offs_enb23 + "" + + + iq_imbal_enb23 + "" + + + norm_gain23 + False + + + gain23 + 0 + + + lo_export23 + False + + + lo_source23 + internal + + + ant24 + + + + bw24 + 0 + + + center_freq24 + 0 + + + dc_offs_enb24 + "" + + + iq_imbal_enb24 + "" + + + norm_gain24 + False + + + gain24 + 0 + + + lo_export24 + False + + + lo_source24 + internal + + + ant25 + + + + bw25 + 0 + + + center_freq25 + 0 + + + dc_offs_enb25 + "" + + + iq_imbal_enb25 + "" + + + norm_gain25 + False + + + gain25 + 0 + + + lo_export25 + False + + + lo_source25 + internal + + + ant26 + + + + bw26 + 0 + + + center_freq26 + 0 + + + dc_offs_enb26 + "" + + + iq_imbal_enb26 + "" + + + norm_gain26 + False + + + gain26 + 0 + + + lo_export26 + False + + + lo_source26 + internal + + + ant27 + + + + bw27 + 0 + + + center_freq27 + 0 + + + dc_offs_enb27 + "" + + + iq_imbal_enb27 + "" + + + norm_gain27 + False + + + gain27 + 0 + + + lo_export27 + False + + + lo_source27 + internal + + + ant28 + + + + bw28 + 0 + + + center_freq28 + 0 + + + dc_offs_enb28 + "" + + + iq_imbal_enb28 + "" + + + norm_gain28 + False + + + gain28 + 0 + + + lo_export28 + False + + + lo_source28 + internal + + + ant29 + + + + bw29 + 0 + + + center_freq29 + 0 + + + dc_offs_enb29 + "" + + + iq_imbal_enb29 + "" + + + norm_gain29 + False + + + gain29 + 0 + + + lo_export29 + False + + + lo_source29 + internal + + + ant2 + + + + bw2 + 0 + + + center_freq2 + 0 + + + dc_offs_enb2 + "" + + + iq_imbal_enb2 + "" + + + norm_gain2 + False + + + gain2 + 0 + + + lo_export2 + False + + + lo_source2 + internal + + + ant30 + + + + bw30 + 0 + + + center_freq30 + 0 + + + dc_offs_enb30 + "" + + + iq_imbal_enb30 + "" + + + norm_gain30 + False + + + gain30 + 0 + + + lo_export30 + False + + + lo_source30 + internal + + + ant31 + + + + bw31 + 0 + + + center_freq31 + 0 + + + dc_offs_enb31 + "" + + + iq_imbal_enb31 + "" + + + norm_gain31 + False + + + gain31 + 0 + + + lo_export31 + False + + + lo_source31 + internal + + + ant3 + + + + bw3 + 0 + + + center_freq3 + 0 + + + dc_offs_enb3 + "" + + + iq_imbal_enb3 + "" + + + norm_gain3 + False + + + gain3 + 0 + + + lo_export3 + False + + + lo_source3 + internal + + + ant4 + + + + bw4 + 0 + + + center_freq4 + 0 + + + dc_offs_enb4 + "" + + + iq_imbal_enb4 + "" + + + norm_gain4 + False + + + gain4 + 0 + + + lo_export4 + False + + + lo_source4 + internal + + + ant5 + + + + bw5 + 0 + + + center_freq5 + 0 + + + dc_offs_enb5 + "" + + + iq_imbal_enb5 + "" + + + norm_gain5 + False + + + gain5 + 0 + + + lo_export5 + False + + + lo_source5 + internal + + + ant6 + + + + bw6 + 0 + + + center_freq6 + 0 + + + dc_offs_enb6 + "" + + + iq_imbal_enb6 + "" + + + norm_gain6 + False + + + gain6 + 0 + + + lo_export6 + False + + + lo_source6 + internal + + + ant7 + + + + bw7 + 0 + + + center_freq7 + 0 + + + dc_offs_enb7 + "" + + + iq_imbal_enb7 + "" + + + norm_gain7 + False + + + gain7 + 0 + + + lo_export7 + False + + + lo_source7 + internal + + + ant8 + + + + bw8 + 0 + + + center_freq8 + 0 + + + dc_offs_enb8 + "" + + + iq_imbal_enb8 + "" + + + norm_gain8 + False + + + gain8 + 0 + + + lo_export8 + False + + + lo_source8 + internal + + + ant9 + + + + bw9 + 0 + + + center_freq9 + 0 + + + dc_offs_enb9 + "" + + + iq_imbal_enb9 + "" + + + norm_gain9 + False + + + gain9 + 0 + + + lo_export9 + False + + + lo_source9 + internal + + + clock_rate + 0.0 + + + comment + + + + affinity + + + + dev_addr + "" + + + dev_args + "" + + + _enabled + 1 + + + _coordinate + (64, 180) + + + _rotation + 0 + + + id + uhd_usrp_source_1 + + + maxoutbuf + 0 + + + clock_source0 + + + + sd_spec0 + + + + time_source0 + + + + clock_source1 + + + + sd_spec1 + + + + time_source1 + + + + clock_source2 + + + + sd_spec2 + + + + time_source2 + + + + clock_source3 + + + + sd_spec3 + + + + time_source3 + + + + clock_source4 + + + + sd_spec4 + + + + time_source4 + + + + clock_source5 + + + + sd_spec5 + + + + time_source5 + + + + clock_source6 + + + + sd_spec6 + + + + time_source6 + + + + clock_source7 + + + + sd_spec7 + + + + time_source7 + + + + minoutbuf + 0 + + + nchan + 1 + + + num_mboards + 1 + + + type + fc32 + + + samp_rate + samp_rate + + + hide_cmd_port + True + + + hide_lo_controls + True + + + stream_args + + + + stream_chans + [] + + + sync + + + + otw + + + + + analog_agc2_xx_0 + jay_squelch_0 + 0 + 0 + + + analog_agc2_xx_1 + analog_am_demod_cf_0 + 0 + 0 + + + analog_agc2_xx_1 + qtgui_freq_sink_x_0 + 0 + 0 + + + analog_am_demod_cf_0 + dc_blocker_xx_0 + 0 + 0 + + + analog_noise_source_x_0 + blocks_add_xx_0 + 0 + 0 + + + analog_sig_source_x_0 + blocks_add_xx_0 + 0 + 1 + + + analog_sig_source_x_0_0 + blocks_multiply_conjugate_cc_0 + 0 + 0 + + + analog_sig_source_x_0_0_0 + blocks_add_xx_0 + 0 + 3 + + + analog_sig_source_x_0_0_1 + blocks_multiply_conjugate_cc_0 + 0 + 1 + + + blocks_add_xx_0 + jay_peak_detector_hier_0_0 + 0 + 0 + + + blocks_add_xx_0 + qtgui_waterfall_sink_x_0 + 0 + 0 + + + blocks_multiply_conjugate_cc_0 + blocks_add_xx_0 + 0 + 2 + + + dc_blocker_xx_0 + analog_agc2_xx_0 + 0 + 0 + + + jay_message_filter_0_1 + jay_peak_detector_hier_0 + out + control + + + jay_message_filter_0_1_0 + qtgui_freq_sink_x_0 + out + freq + + + jay_peak_detector_hier_0 + qtgui_time_sink_x_0_0 + 0 + 0 + + + jay_peak_detector_hier_0 + qtgui_time_sink_x_0_0 + 1 + 1 + + + jay_peak_detector_hier_0 + analog_agc2_xx_1 + 2 + 0 + + + jay_peak_detector_hier_0 + jay_message_filter_0_1_0 + status + in + + + jay_peak_detector_hier_0 + jay_squelch_0 + status + control + + + jay_peak_detector_hier_0_0 + qtgui_time_sink_x_0 + 0 + 0 + + + jay_peak_detector_hier_0_0 + qtgui_time_sink_x_0 + 1 + 1 + + + jay_peak_detector_hier_0_0 + jay_peak_detector_hier_0 + 2 + 0 + + + jay_peak_detector_hier_0_0 + jay_message_filter_0_1 + status + in + + + jay_squelch_0 + audio_sink_0 + 0 + 0 + + + uhd_usrp_source_1 + blocks_add_xx_0 + 0 + 0 + + diff --git a/hier_peak_detector.grc b/hier_peak_detector.grc new file mode 100644 index 0000000..d2cab62 --- /dev/null +++ b/hier_peak_detector.grc @@ -0,0 +1,1734 @@ + + + + Sat Jun 1 14:29:19 2019 + + options + + author + Jay Arrowfield + + + window_size + + + + category + [Jay's Hier Blocks] + + + comment + + + + description + + + + _enabled + True + + + _coordinate + (8, 8) + + + _rotation + 0 + + + generate_options + hb + + + hier_block_src_path + .: + + + id + jay_peak_detector_hier + + + max_nouts + 0 + + + qt_qss_theme + + + + realtime_scheduling + + + + run_command + {python} -u {filename} + + + run_options + prompt + + + run + True + + + sizing_mode + fixed + + + thread_safe_setters + + + + title + Peak Detector (Hierachical) + + + placement + (0,0) + + + + variable + + comment + + + + _enabled + True + + + _coordinate + (32, 188) + + + _rotation + 0 + + + id + filter_cutoff_Hz + + + value + int(samp_rate/decimation)/2 + + + + variable_low_pass_filter_taps + + beta + 6.76 + + + comment + + + + cutoff_freq + filter_cutoff_Hz + + + _enabled + True + + + _coordinate + (1120, 60) + + + _rotation + 0 + + + gain + 1 + + + id + variable_low_pass_filter_taps + + + samp_rate + samp_rate + + + width + filter_cutoff_Hz/10 + + + win + firdes.WIN_HAMMING + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (208, 108) + + + _rotation + 0 + + + id + FRAME_RATE + + + label + Frame Rate + + + short_id + + + + hide + none + + + type + intx + + + value + 30 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (208, 20) + + + _rotation + 0 + + + id + N_FFT + + + label + FFT size + + + short_id + + + + hide + none + + + type + intx + + + value + 1024 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (520, 108) + + + _rotation + 0 + + + id + alpha_medium + + + label + Alpha Medium + + + short_id + + + + hide + none + + + type + eng_float + + + value + 0.04 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (528, 20) + + + _rotation + 0 + + + id + alpha_short + + + label + Alpha Short + + + short_id + + + + hide + none + + + type + eng_float + + + value + 0.4 + + + + blocks_complex_to_mag_squared + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (456, 468) + + + _rotation + 0 + + + id + blocks_complex_to_mag_squared_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + vlen + N_FFT + + + + blocks_multiply_const_vxx + + alias + + + + comment + + + + const + 1.0/N_FFT + + + affinity + + + + _enabled + True + + + _coordinate + (224, 340) + + + _rotation + 0 + + + id + blocks_multiply_const_vxx_0 + + + type + complex + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + vlen + 1 + + + + blocks_nlog10_ff + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (464, 532) + + + _rotation + 0 + + + id + blocks_nlog10_ff_0_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + vlen + N_FFT + + + k + 0 + + + n + 10 + + + + blocks_stream_to_vector_decimator + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (224, 428) + + + _rotation + 0 + + + id + blocks_stream_to_vector_decimator_0 + + + type + complex + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + sample_rate + samp_rate + + + vlen + N_FFT + + + vec_rate + FRAME_RATE + + + + blocks_vector_to_stream + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1128, 556) + + + _rotation + 0 + + + id + blocks_vector_to_stream_0_0_0 + + + type + float + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_items + N_FFT + + + vlen + 1 + + + + blocks_vector_to_stream + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1128, 436) + + + _rotation + 0 + + + id + blocks_vector_to_stream_0_1 + + + type + float + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_items + N_FFT + + + vlen + 1 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (944, 20) + + + _rotation + 0 + + + id + center_frequency + + + label + Center Frequency (Hz) + + + short_id + + + + hide + none + + + type + eng_float + + + value + 0 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (408, 20) + + + _rotation + 0 + + + id + debug_prefix + + + label + Name + + + short_id + + + + hide + none + + + type + string + + + value + "" + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (320, 108) + + + _rotation + 0 + + + id + decimation + + + label + Decimation + + + short_id + + + + hide + none + + + type + intx + + + value + 1 + + + + fft_vxx + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + fft_size + N_FFT + + + forward + True + + + _coordinate + (448, 324) + + + _rotation + 0 + + + id + fft_vxx_0 + + + type + complex + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + nthreads + 1 + + + shift + True + + + window + window.blackmanharris(N_FFT) + + + + freq_xlating_fir_filter_xxx + + alias + + + + center_freq + 0 + + + comment + + + + affinity + + + + decim + decimation + + + _enabled + 1 + + + _coordinate + (928, 276) + + + _rotation + 0 + + + id + freq_xlating_fir_filter + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + samp_rate + samp_rate + + + taps + variable_low_pass_filter_taps + + + type + ccc + + + + jay_message_filter + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + filterString + freq_rel_Hz + + + _coordinate + (712, 308) + + + _rotation + 0 + + + id + jay_message_filter_0_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + substString + freq + + + + jay_peak_detect + + alpha_m + alpha_medium + + + alpha_s + alpha_short + + + bandwidth + samp_rate + + + alias + + + + fcenter + center_frequency + + + comment + + + + affinity + + + + _enabled + True + + + framerate + FRAME_RATE + + + _coordinate + (696, 524) + + + _rotation + 0 + + + id + jay_peak_detect + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + peak_width_max + peak_bw_max_Hz + + + peak_width_min + peak_bw_min_Hz + + + peak_hysteresis + peak_hyst_dB + + + peak_thresh + peak_thresh_dB + + + vlen + N_FFT + + + + jay_peak_manager + + alias + + + + comment + + + + affinity + + + + debugPrefix + debug_prefix + + + _enabled + True + + + _coordinate + (712, 412) + + + _rotation + 0 + + + id + jay_peak_manager_0_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + numPeaksMax + num_peaks_max + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (944, 108) + + + _rotation + 0 + + + id + num_peaks_max + + + label + Maximum Number of Peaks + + + short_id + + + + hide + none + + + type + intx + + + value + 1 + + + + pad_sink + + comment + + + + _enabled + True + + + _coordinate + (1128, 500) + + + _rotation + 0 + + + id + pad_sink_0 + + + type + float + + + label + debug_out + + + num_streams + 1 + + + optional + True + + + vlen + 1 + + + + pad_sink + + comment + + + + _enabled + True + + + _coordinate + (1128, 620) + + + _rotation + 0 + + + id + pad_sink_0_0 + + + type + float + + + label + debug_pbox + + + num_streams + 1 + + + optional + True + + + vlen + 1 + + + + pad_sink + + comment + + + + _enabled + True + + + _coordinate + (1176, 372) + + + _rotation + 0 + + + id + pad_sink_1 + + + type + message + + + label + status + + + num_streams + 1 + + + optional + True + + + vlen + 1 + + + + pad_sink + + comment + + + + _enabled + True + + + _coordinate + (1184, 300) + + + _rotation + 0 + + + id + pad_sink_2 + + + type + complex + + + label + out + + + num_streams + 1 + + + optional + False + + + vlen + 1 + + + + pad_source + + comment + + + + _enabled + True + + + _coordinate + (72, 284) + + + _rotation + 0 + + + id + pad_source_0 + + + label + in + + + num_streams + 1 + + + optional + False + + + type + complex + + + vlen + 1 + + + + pad_source + + comment + + + + _enabled + True + + + _coordinate + (64, 612) + + + _rotation + 0 + + + id + pad_source_0_0 + + + label + control + + + num_streams + 1 + + + optional + True + + + type + message + + + vlen + 1 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (792, 20) + + + _rotation + 0 + + + id + peak_bw_max_Hz + + + label + Peak Maximum (Hz) + + + short_id + + + + hide + none + + + type + intx + + + value + 2500 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (640, 20) + + + _rotation + 0 + + + id + peak_bw_min_Hz + + + label + Peak Minimum (Hz) + + + short_id + + + + hide + none + + + type + eng_float + + + value + 2500 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (792, 108) + + + _rotation + 0 + + + id + peak_hyst_dB + + + label + Peak Hysteresis (dB) + + + short_id + + + + hide + none + + + type + eng_float + + + value + 3 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (640, 108) + + + _rotation + 0 + + + id + peak_thresh_dB + + + label + Peak Threshold (dB) + + + short_id + + + + hide + none + + + type + eng_float + + + value + 20 + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (296, 20) + + + _rotation + 0 + + + id + samp_rate + + + label + Sample Rate + + + short_id + + + + hide + none + + + type + intx + + + value + 32000 + + + + blocks_complex_to_mag_squared_0 + blocks_nlog10_ff_0_0 + 0 + 0 + + + blocks_multiply_const_vxx_0 + blocks_stream_to_vector_decimator_0 + 0 + 0 + + + blocks_nlog10_ff_0_0 + jay_peak_detect + 0 + 0 + + + blocks_stream_to_vector_decimator_0 + fft_vxx_0 + 0 + 0 + + + blocks_vector_to_stream_0_0_0 + pad_sink_0_0 + 0 + 0 + + + blocks_vector_to_stream_0_1 + pad_sink_0 + 0 + 0 + + + fft_vxx_0 + blocks_complex_to_mag_squared_0 + 0 + 0 + + + freq_xlating_fir_filter + pad_sink_2 + 0 + 0 + + + jay_message_filter_0_0 + freq_xlating_fir_filter + out + freq + + + jay_peak_detect + blocks_vector_to_stream_0_1 + 0 + 0 + + + jay_peak_detect + blocks_vector_to_stream_0_0_0 + 1 + 0 + + + jay_peak_detect + jay_peak_manager_0_0 + status + control + + + jay_peak_manager_0_0 + jay_message_filter_0_0 + status + in + + + jay_peak_manager_0_0 + pad_sink_1 + status + in + + + pad_source_0 + blocks_multiply_const_vxx_0 + 0 + 0 + + + pad_source_0 + freq_xlating_fir_filter + 0 + 0 + + + pad_source_0_0 + jay_peak_detect + out + control + +