diff options
-rw-r--r-- | gr-filter/examples/CMakeLists.txt | 1 | ||||
-rw-r--r-- | gr-filter/examples/filter_taps.grc | 1299 | ||||
-rw-r--r-- | gr-filter/grc/CMakeLists.txt | 5 | ||||
-rw-r--r-- | gr-filter/grc/filter_block_tree.xml | 8 | ||||
-rw-r--r-- | gr-filter/grc/variable_band_pass_filter_taps.xml | 97 | ||||
-rw-r--r-- | gr-filter/grc/variable_band_reject_filter_taps.xml | 81 | ||||
-rw-r--r-- | gr-filter/grc/variable_high_pass_filter_taps.xml | 75 | ||||
-rw-r--r-- | gr-filter/grc/variable_low_pass_filter_taps.xml | 75 | ||||
-rw-r--r-- | gr-filter/grc/variable_rrc_filter_taps.xml | 50 |
9 files changed, 1690 insertions, 1 deletions
diff --git a/gr-filter/examples/CMakeLists.txt b/gr-filter/examples/CMakeLists.txt index 48b59ef099..a6229f38f4 100644 --- a/gr-filter/examples/CMakeLists.txt +++ b/gr-filter/examples/CMakeLists.txt @@ -42,6 +42,7 @@ GR_PYTHON_INSTALL(PROGRAMS install( FILES + filter_taps.grc resampler_demo.grc DESTINATION ${GR_PKG_FILTER_EXAMPLES_DIR} COMPONENT "filter_python" diff --git a/gr-filter/examples/filter_taps.grc b/gr-filter/examples/filter_taps.grc new file mode 100644 index 0000000000..48d37b228a --- /dev/null +++ b/gr-filter/examples/filter_taps.grc @@ -0,0 +1,1299 @@ +<?xml version='1.0' encoding='ASCII'?> +<?grc format='1' created='3.7.7'?> +<flow_graph> + <timestamp>Wed Apr 8 11:00:48 2015</timestamp> + <block> + <key>options</key> + <param> + <key>id</key> + <value>filter_taps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>title</key> + <value></value> + </param> + <param> + <key>author</key> + <value></value> + </param> + <param> + <key>description</key> + <value></value> + </param> + <param> + <key>window_size</key> + <value>1280, 1024</value> + </param> + <param> + <key>generate_options</key> + <value>qt_gui</value> + </param> + <param> + <key>category</key> + <value>Custom</value> + </param> + <param> + <key>run_options</key> + <value>prompt</value> + </param> + <param> + <key>run</key> + <value>True</value> + </param> + <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> + <key>realtime_scheduling</key> + <value></value> + </param> + <param> + <key>thread_safe_setters</key> + <value></value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(10, 10)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>sym_rate</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>samp_rate/sps</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1080, 171)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>sps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>2</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1016, 171)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>bp_low</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>6000</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(120, 139)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>cutoff_high</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>14000</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 211)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>samp_rate</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>32000</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 83)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>transition</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>1000</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 283)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>cutoff_low</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>2000</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(8, 147)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>bp_high</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>10000</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(120, 211)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>len_taps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>len(lp_taps)</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(288, 35)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_band_pass_filter_taps</key> + <param> + <key>id</key> + <value>bp_taps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>taps_real</value> + </param> + <param> + <key>gain</key> + <value>1.0</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>low_cutoff_freq</key> + <value>bp_low</value> + </param> + <param> + <key>high_cutoff_freq</key> + <value>bp_high</value> + </param> + <param> + <key>width</key> + <value>transition</value> + </param> + <param> + <key>win</key> + <value>firdes.WIN_HAMMING</value> + </param> + <param> + <key>beta</key> + <value>6.76</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(696, 35)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_high_pass_filter_taps</key> + <param> + <key>id</key> + <value>hp_taps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>gain</key> + <value>1.0</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>cutoff_freq</key> + <value>cutoff_low</value> + </param> + <param> + <key>width</key> + <value>transition</value> + </param> + <param> + <key>win</key> + <value>firdes.WIN_HAMMING</value> + </param> + <param> + <key>beta</key> + <value>6.76</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(536, 35)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_low_pass_filter_taps</key> + <param> + <key>id</key> + <value>lp_taps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>gain</key> + <value>1.0</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>cutoff_freq</key> + <value>cutoff_high</value> + </param> + <param> + <key>width</key> + <value>transition</value> + </param> + <param> + <key>win</key> + <value>firdes.WIN_HAMMING</value> + </param> + <param> + <key>beta</key> + <value>6.76</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(376, 35)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_band_reject_filter_taps</key> + <param> + <key>id</key> + <value>br_taps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>gain</key> + <value>1.0</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>low_cutoff_freq</key> + <value>bp_low</value> + </param> + <param> + <key>high_cutoff_freq</key> + <value>bp_high</value> + </param> + <param> + <key>width</key> + <value>transition</value> + </param> + <param> + <key>win</key> + <value>firdes.WIN_HAMMING</value> + </param> + <param> + <key>beta</key> + <value>6.76</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(856, 35)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fir_filter_xxx</key> + <param> + <key>id</key> + <value>lp_filter</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>fff</value> + </param> + <param> + <key>decim</key> + <value>1</value> + </param> + <param> + <key>taps</key> + <value>lp_taps</value> + </param> + <param> + <key>samp_delay</key> + <value>0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>comment</key> + <value>Low-pass filter</value> + </param> + <param> + <key>_coordinate</key> + <value>(392, 203)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fir_filter_xxx</key> + <param> + <key>id</key> + <value>hp_filter</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>fff</value> + </param> + <param> + <key>decim</key> + <value>1</value> + </param> + <param> + <key>taps</key> + <value>hp_taps</value> + </param> + <param> + <key>samp_delay</key> + <value>0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>comment</key> + <value>High-pass filter</value> + </param> + <param> + <key>_coordinate</key> + <value>(392, 307)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fir_filter_xxx</key> + <param> + <key>id</key> + <value>bp_filter</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>fff</value> + </param> + <param> + <key>decim</key> + <value>1</value> + </param> + <param> + <key>taps</key> + <value>bp_taps</value> + </param> + <param> + <key>samp_delay</key> + <value>0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>comment</key> + <value>Band-pass filter</value> + </param> + <param> + <key>_coordinate</key> + <value>(392, 403)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fir_filter_xxx</key> + <param> + <key>id</key> + <value>br_filter</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>fff</value> + </param> + <param> + <key>decim</key> + <value>1</value> + </param> + <param> + <key>taps</key> + <value>br_taps</value> + </param> + <param> + <key>samp_delay</key> + <value>0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>comment</key> + <value>Band-reject filter</value> + </param> + <param> + <key>_coordinate</key> + <value>(392, 499)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_rrc_filter_taps</key> + <param> + <key>id</key> + <value>rrc_taps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>gain</key> + <value>1.0</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>sym_rate</key> + <value>sym_rate</value> + </param> + <param> + <key>alpha</key> + <value>0.35</value> + </param> + <param> + <key>ntaps</key> + <value>11*sps</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1016, 35)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>analog_fastnoise_source_x</key> + <param> + <key>id</key> + <value>analog_fastnoise_source_x_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>noise_type</key> + <value>analog.GR_GAUSSIAN</value> + </param> + <param> + <key>amp</key> + <value>1</value> + </param> + <param> + <key>seed</key> + <value>0</value> + </param> + <param> + <key>samples</key> + <value>8192</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(176, 387)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fir_filter_xxx</key> + <param> + <key>id</key> + <value>rrc_filter</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>fff</value> + </param> + <param> + <key>decim</key> + <value>1</value> + </param> + <param> + <key>taps</key> + <value>rrc_taps</value> + </param> + <param> + <key>samp_delay</key> + <value>0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>comment</key> + <value>RRC filter</value> + </param> + <param> + <key>_coordinate</key> + <value>(392, 587)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>qtgui_freq_sink_x</key> + <param> + <key>id</key> + <value>qtgui_freq_sink_x_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>name</key> + <value>""</value> + </param> + <param> + <key>fftsize</key> + <value>4096</value> + </param> + <param> + <key>freqhalf</key> + <value>False</value> + </param> + <param> + <key>wintype</key> + <value>firdes.WIN_BLACKMAN_hARRIS</value> + </param> + <param> + <key>fc</key> + <value>0</value> + </param> + <param> + <key>bw</key> + <value>samp_rate</value> + </param> + <param> + <key>grid</key> + <value>True</value> + </param> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>average</key> + <value>0.2</value> + </param> + <param> + <key>ymin</key> + <value>-140</value> + </param> + <param> + <key>ymax</key> + <value>10</value> + </param> + <param> + <key>nconnections</key> + <value>5</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>showports</key> + <value>True</value> + </param> + <param> + <key>tr_mode</key> + <value>qtgui.TRIG_MODE_FREE</value> + </param> + <param> + <key>tr_level</key> + <value>0.0</value> + </param> + <param> + <key>tr_chan</key> + <value>0</value> + </param> + <param> + <key>tr_tag</key> + <value>""</value> + </param> + <param> + <key>ctrlpanel</key> + <value>True</value> + </param> + <param> + <key>legend</key> + <value>True</value> + </param> + <param> + <key>label1</key> + <value>Low-pass</value> + </param> + <param> + <key>width1</key> + <value>1</value> + </param> + <param> + <key>color1</key> + <value>"blue"</value> + </param> + <param> + <key>alpha1</key> + <value>0.9</value> + </param> + <param> + <key>label2</key> + <value>High-pass</value> + </param> + <param> + <key>width2</key> + <value>1</value> + </param> + <param> + <key>color2</key> + <value>"red"</value> + </param> + <param> + <key>alpha2</key> + <value>0.9</value> + </param> + <param> + <key>label3</key> + <value>Band-pass</value> + </param> + <param> + <key>width3</key> + <value>1</value> + </param> + <param> + <key>color3</key> + <value>"green"</value> + </param> + <param> + <key>alpha3</key> + <value>0.9</value> + </param> + <param> + <key>label4</key> + <value>Band-reject</value> + </param> + <param> + <key>width4</key> + <value>1</value> + </param> + <param> + <key>color4</key> + <value>"cyan"</value> + </param> + <param> + <key>alpha4</key> + <value>0.9</value> + </param> + <param> + <key>label5</key> + <value>RRC</value> + </param> + <param> + <key>width5</key> + <value>1</value> + </param> + <param> + <key>color5</key> + <value>"magenta"</value> + </param> + <param> + <key>alpha5</key> + <value>0.9</value> + </param> + <param> + <key>label6</key> + <value></value> + </param> + <param> + <key>width6</key> + <value>1</value> + </param> + <param> + <key>color6</key> + <value>"magenta"</value> + </param> + <param> + <key>alpha6</key> + <value>1.0</value> + </param> + <param> + <key>label7</key> + <value></value> + </param> + <param> + <key>width7</key> + <value>1</value> + </param> + <param> + <key>color7</key> + <value>"yellow"</value> + </param> + <param> + <key>alpha7</key> + <value>1.0</value> + </param> + <param> + <key>label8</key> + <value></value> + </param> + <param> + <key>width8</key> + <value>1</value> + </param> + <param> + <key>color8</key> + <value>"dark red"</value> + </param> + <param> + <key>alpha8</key> + <value>1.0</value> + </param> + <param> + <key>label9</key> + <value></value> + </param> + <param> + <key>width9</key> + <value>1</value> + </param> + <param> + <key>color9</key> + <value>"dark green"</value> + </param> + <param> + <key>alpha9</key> + <value>1.0</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>color10</key> + <value>"dark blue"</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(728, 416)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <connection> + <source_block_id>bp_filter</source_block_id> + <sink_block_id>qtgui_freq_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>2</sink_key> + </connection> + <connection> + <source_block_id>analog_fastnoise_source_x_0</source_block_id> + <sink_block_id>bp_filter</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>hp_filter</source_block_id> + <sink_block_id>qtgui_freq_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>1</sink_key> + </connection> + <connection> + <source_block_id>analog_fastnoise_source_x_0</source_block_id> + <sink_block_id>hp_filter</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>lp_filter</source_block_id> + <sink_block_id>qtgui_freq_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>analog_fastnoise_source_x_0</source_block_id> + <sink_block_id>lp_filter</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>analog_fastnoise_source_x_0</source_block_id> + <sink_block_id>br_filter</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>br_filter</source_block_id> + <sink_block_id>qtgui_freq_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>3</sink_key> + </connection> + <connection> + <source_block_id>rrc_filter</source_block_id> + <sink_block_id>qtgui_freq_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>4</sink_key> + </connection> + <connection> + <source_block_id>analog_fastnoise_source_x_0</source_block_id> + <sink_block_id>rrc_filter</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> +</flow_graph> diff --git a/gr-filter/grc/CMakeLists.txt b/gr-filter/grc/CMakeLists.txt index 575f6675d6..b3bc2e1828 100644 --- a/gr-filter/grc/CMakeLists.txt +++ b/gr-filter/grc/CMakeLists.txt @@ -45,6 +45,11 @@ install(FILES filter_band_pass_filter.xml filter_band_reject_filter.xml filter_root_raised_cosine_filter.xml + variable_low_pass_filter_taps.xml + variable_high_pass_filter_taps.xml + variable_band_pass_filter_taps.xml + variable_band_reject_filter_taps.xml + variable_rrc_filter_taps.xml DESTINATION ${GRC_BLOCKS_DIR} COMPONENT "filter_python" ) diff --git a/gr-filter/grc/filter_block_tree.xml b/gr-filter/grc/filter_block_tree.xml index fbba9daf09..ea869a75bd 100644 --- a/gr-filter/grc/filter_block_tree.xml +++ b/gr-filter/grc/filter_block_tree.xml @@ -1,7 +1,7 @@ <?xml version="1.0"?> <!-- - Copyright 2012 Free Software Foundation, Inc. + Copyright 2012,2015 Free Software Foundation, Inc. This file is part of GNU Radio @@ -30,6 +30,12 @@ <name></name> <!-- Blank for Root Name --> <cat> <name>Filters</name> + <!-- FIR filter tap generators --> + <block>variable_low_pass_filter_taps</block> + <block>variable_high_pass_filter_taps</block> + <block>variable_band_pass_filter_taps</block> + <block>variable_band_reject_filter_taps</block> + <block>variable_rrc_filter_taps</block> <!-- FIR convenience filters --> <block>low_pass_filter</block> <block>high_pass_filter</block> diff --git a/gr-filter/grc/variable_band_pass_filter_taps.xml b/gr-filter/grc/variable_band_pass_filter_taps.xml new file mode 100644 index 0000000000..6cdfcc0373 --- /dev/null +++ b/gr-filter/grc/variable_band_pass_filter_taps.xml @@ -0,0 +1,97 @@ +<?xml version="1.0"?> +<!-- +####################################################### +# Convenience wrapper for calling firdes.band_pass(...) +# or firdes.complex_bandpass(...) +####################################################### + --> +<block> + <name>Band-pass Filter Taps</name> + <key>variable_band_pass_filter_taps</key> + <import>from gnuradio.filter import firdes</import> + <var_make> +self.$(id) = $(id) = firdes.$(type.fcn)($gain, $samp_rate, $low_cutoff_freq, $high_cutoff_freq, $width, $win, $beta) + </var_make> + <var_value>firdes.$(type.fcn)($gain, $samp_rate, $low_cutoff_freq, $high_cutoff_freq, $width, $win, $beta)</var_value> + <make></make> + + <param> + <name>Tap Type</name> + <key>type</key> + <type>enum</type> + <option> + <name>Real</name> + <key>taps_real</key> + <opt>fcn:band_pass</opt> + </option> + <option> + <name>Complex</name> + <key>taps_complex</key> + <opt>fcn:complex_band_pass</opt> + </option> + </param> + <param> + <name>Gain</name> + <key>gain</key> + <value>1.0</value> + <type>float</type> + </param> + <param> + <name>Sample Rate (Hz)</name> + <key>samp_rate</key> + <value>samp_rate</value> + <type>float</type> + </param> + <param> + <name>Low Cutoff Freq (Hz)</name> + <key>low_cutoff_freq</key> + <type>float</type> + </param> + <param> + <name>High Cutoff Freq (Hz)</name> + <key>high_cutoff_freq</key> + <type>float</type> + </param> + <param> + <name>Transition Width (Hz)</name> + <key>width</key> + <type>float</type> + </param> + <param> + <name>Window</name> + <key>win</key> + <value>firdes.WIN_HAMMING</value> + <type>int</type> + <option> + <name>Hamming</name> + <key>firdes.WIN_HAMMING</key> + </option> + <option> + <name>Hann</name> + <key>firdes.WIN_HANN</key> + </option> + <option> + <name>Blackman</name> + <key>firdes.WIN_BLACKMAN</key> + </option> + <option> + <name>Rectangular</name> + <key>firdes.WIN_RECTANGULAR</key> + </option> + <option> + <name>Kaiser</name> + <key>firdes.WIN_KAISER</key> + </option> + </param> + <param> + <name>Beta</name> + <key>beta</key> + <value>6.76</value> + <type>float</type> + </param> + <doc> + This is a convenience wrapper for calling firdes.band_pass() or firdes.complex_band_pass() + + The beta paramater only applies to the Kaiser window. + </doc> +</block> diff --git a/gr-filter/grc/variable_band_reject_filter_taps.xml b/gr-filter/grc/variable_band_reject_filter_taps.xml new file mode 100644 index 0000000000..fbf25886d3 --- /dev/null +++ b/gr-filter/grc/variable_band_reject_filter_taps.xml @@ -0,0 +1,81 @@ +<?xml version="1.0"?> +<!-- +######################################################### +# Convenience wrapper for calling firdes.band_reject(...) +######################################################### + --> +<block> + <name>Band-reject Filter Taps</name> + <key>variable_band_reject_filter_taps</key> + <import>from gnuradio.filter import firdes</import> + <var_make> +self.$(id) = $(id) = firdes.band_reject($gain, $samp_rate, $low_cutoff_freq, $high_cutoff_freq, $width, $win, $beta) + </var_make> + <var_value>firdes.band_reject($gain, $samp_rate, $low_cutoff_freq, $high_cutoff_freq, $width, $win, $beta)</var_value> + <make></make> + + <param> + <name>Gain</name> + <key>gain</key> + <value>1.0</value> + <type>float</type> + </param> + <param> + <name>Sample Rate (Hz)</name> + <key>samp_rate</key> + <value>samp_rate</value> + <type>float</type> + </param> + <param> + <name>Low Cutoff Freq (Hz)</name> + <key>low_cutoff_freq</key> + <type>float</type> + </param> + <param> + <name>High Cutoff Freq (Hz)</name> + <key>high_cutoff_freq</key> + <type>float</type> + </param> + <param> + <name>Transition Width (Hz)</name> + <key>width</key> + <type>float</type> + </param> + <param> + <name>Window</name> + <key>win</key> + <value>firdes.WIN_HAMMING</value> + <type>int</type> + <option> + <name>Hamming</name> + <key>firdes.WIN_HAMMING</key> + </option> + <option> + <name>Hann</name> + <key>firdes.WIN_HANN</key> + </option> + <option> + <name>Blackman</name> + <key>firdes.WIN_BLACKMAN</key> + </option> + <option> + <name>Rectangular</name> + <key>firdes.WIN_RECTANGULAR</key> + </option> + <option> + <name>Kaiser</name> + <key>firdes.WIN_KAISER</key> + </option> + </param> + <param> + <name>Beta</name> + <key>beta</key> + <value>6.76</value> + <type>float</type> + </param> + <doc> + This is a convenience wrapper for calling firdes.band_reject(). + + The beta paramater only applies to the Kaiser window. + </doc> +</block> diff --git a/gr-filter/grc/variable_high_pass_filter_taps.xml b/gr-filter/grc/variable_high_pass_filter_taps.xml new file mode 100644 index 0000000000..08768d808a --- /dev/null +++ b/gr-filter/grc/variable_high_pass_filter_taps.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<!-- +###################################################### +## Convenience wrapper around call to fides.high_pass() +###################################################### + --> +<block> + <name>High-pass Filter Taps</name> + <key>variable_high_pass_filter_taps</key> + <import>from gnuradio.filter import firdes</import> + <var_make> +self.$(id) = $(id) = firdes.high_pass($gain, $samp_rate, $cutoff_freq, $width, $win, $beta) + </var_make> + <var_value>firdes.high_pass($gain, $samp_rate, $cutoff_freq, $width, $win, $beta)</var_value> + <make></make> + <param> + <name>Gain</name> + <key>gain</key> + <value>1.0</value> + <type>float</type> + </param> + <param> + <name>Sample Rate (Hz)</name> + <key>samp_rate</key> + <value>samp_rate</value> + <type>float</type> + </param> + <param> + <name>Cutoff Freq (Hz)</name> + <key>cutoff_freq</key> + <type>float</type> + </param> + <param> + <name>Transition Width (Hz)</name> + <key>width</key> + <type>float</type> + </param> + <param> + <name>Window</name> + <key>win</key> + <value>firdes.WIN_HAMMING</value> + <type>int</type> + <option> + <name>Hamming</name> + <key>firdes.WIN_HAMMING</key> + </option> + <option> + <name>Hann</name> + <key>firdes.WIN_HANN</key> + </option> + <option> + <name>Blackman</name> + <key>firdes.WIN_BLACKMAN</key> + </option> + <option> + <name>Rectangular</name> + <key>firdes.WIN_RECTANGULAR</key> + </option> + <option> + <name>Kaiser</name> + <key>firdes.WIN_KAISER</key> + </option> + </param> + <param> + <name>Beta</name> + <key>beta</key> + <value>6.76</value> + <type>float</type> + </param> + <doc> + This variable is a convenience wrapper around a call to firdes.high_pass(...). + + The beta paramater only applies to the Kaiser window. + </doc> +</block> diff --git a/gr-filter/grc/variable_low_pass_filter_taps.xml b/gr-filter/grc/variable_low_pass_filter_taps.xml new file mode 100644 index 0000000000..e3367b1ec5 --- /dev/null +++ b/gr-filter/grc/variable_low_pass_filter_taps.xml @@ -0,0 +1,75 @@ +<?xml version="1.0"?> +<!-- +###################################################### +## Convenience wrapper around call to fides.low_pass() +###################################################### + --> +<block> + <name>Low-pass Filter Taps</name> + <key>variable_low_pass_filter_taps</key> + <import>from gnuradio.filter import firdes</import> + <var_make> +self.$(id) = $(id) = firdes.low_pass($gain, $samp_rate, $cutoff_freq, $width, $win, $beta) + </var_make> + <var_value>firdes.low_pass($gain, $samp_rate, $cutoff_freq, $width, $win, $beta)</var_value> + <make></make> + <param> + <name>Gain</name> + <key>gain</key> + <value>1.0</value> + <type>float</type> + </param> + <param> + <name>Sample Rate (Hz)</name> + <key>samp_rate</key> + <value>samp_rate</value> + <type>float</type> + </param> + <param> + <name>Cutoff Freq (Hz)</name> + <key>cutoff_freq</key> + <type>float</type> + </param> + <param> + <name>Transition Width (Hz)</name> + <key>width</key> + <type>float</type> + </param> + <param> + <name>Window</name> + <key>win</key> + <value>firdes.WIN_HAMMING</value> + <type>int</type> + <option> + <name>Hamming</name> + <key>firdes.WIN_HAMMING</key> + </option> + <option> + <name>Hann</name> + <key>firdes.WIN_HANN</key> + </option> + <option> + <name>Blackman</name> + <key>firdes.WIN_BLACKMAN</key> + </option> + <option> + <name>Rectangular</name> + <key>firdes.WIN_RECTANGULAR</key> + </option> + <option> + <name>Kaiser</name> + <key>firdes.WIN_KAISER</key> + </option> + </param> + <param> + <name>Beta</name> + <key>beta</key> + <value>6.76</value> + <type>float</type> + </param> + <doc> + This variable is a convenience wrapper around a call to firdes.low_pass(...). + + The beta paramater only applies to the Kaiser window. + </doc> +</block> diff --git a/gr-filter/grc/variable_rrc_filter_taps.xml b/gr-filter/grc/variable_rrc_filter_taps.xml new file mode 100644 index 0000000000..2824ba75b2 --- /dev/null +++ b/gr-filter/grc/variable_rrc_filter_taps.xml @@ -0,0 +1,50 @@ +<?xml version="1.0"?> +<!-- +######################################################################## +## Convenience wrapper for calling firdes.root_raised_cosine_filter(...) +######################################################################## + --> +<block> + <name>RRC Filter Taps</name> + <key>variable_rrc_filter_taps</key> + <import>from gnuradio.filter import firdes</import> + <var_make> +self.$(id) = $(id) = firdes.root_raised_cosine($gain, $samp_rate, $sym_rate, $alpha, $ntaps) + </var_make> + <var_value>firdes.root_raised_cosine($gain, $samp_rate, $sym_rate, $alpha, $ntaps)</var_value> + <make></make> + + <param> + <name>Gain</name> + <key>gain</key> + <value>1.0</value> + <type>float</type> + </param> + <param> + <name>Sample Rate (Hz)</name> + <key>samp_rate</key> + <value>samp_rate</value> + <type>float</type> + </param> + <param> + <name>Symbol Rate (Hz)</name> + <key>sym_rate</key> + <value></value> + <type>float</type> + </param> + <param> + <name>Excess BW</name> + <key>alpha</key> + <value>0.35</value> + <type>float</type> + </param> + <param> + <name>Num Taps</name> + <key>ntaps</key> + <value>11*sps</value> + <type>int</type> + </param> + <doc> + This is a convenience wrapper for calling firdes.root_raised_cosine(...). + </doc> +</block> |