diff options
-rw-r--r-- | __init__.py | 0 | ||||
-rw-r--r-- | grc/live_analyse_anti_signal.grc | 361 | ||||
-rw-r--r-- | live_analyse.grc | 359 | ||||
-rw-r--r-- | src/two_tone_lib.py | 12 | ||||
-rw-r--r-- | two_tone_tuner.ipynb | 13 |
5 files changed, 730 insertions, 15 deletions
diff --git a/__init__.py b/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/__init__.py +++ /dev/null diff --git a/grc/live_analyse_anti_signal.grc b/grc/live_analyse_anti_signal.grc index 7727732..47a740c 100644 --- a/grc/live_analyse_anti_signal.grc +++ b/grc/live_analyse_anti_signal.grc @@ -906,7 +906,7 @@ </param> <param> <key>freq</key> - <value>f2 + (f2-f1)</value> + <value>f1 - (f2-f1)</value> </param> <param> <key>_coordinate</key> @@ -1322,7 +1322,7 @@ </param> <param> <key>_coordinate</key> - <value>(984, 156)</value> + <value>(704, 156)</value> </param> <param> <key>_rotation</key> @@ -1444,6 +1444,349 @@ </param> </block> <block> + <key>qtgui_const_sink_x</key> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(920, 197)</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>grid</key> + <value>False</value> + </param> + <param> + <key>id</key> + <value>qtgui_const_sink_x_0</value> + </param> + <param> + <key>legend</key> + <value>True</value> + </param> + <param> + <key>alpha1</key> + <value>1.0</value> + </param> + <param> + <key>color1</key> + <value>"blue"</value> + </param> + <param> + <key>label1</key> + <value></value> + </param> + <param> + <key>marker1</key> + <value>0</value> + </param> + <param> + <key>style1</key> + <value>0</value> + </param> + <param> + <key>width1</key> + <value>1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>color10</key> + <value>"red"</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>marker10</key> + <value>0</value> + </param> + <param> + <key>style10</key> + <value>0</value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>alpha2</key> + <value>1.0</value> + </param> + <param> + <key>color2</key> + <value>"red"</value> + </param> + <param> + <key>label2</key> + <value></value> + </param> + <param> + <key>marker2</key> + <value>0</value> + </param> + <param> + <key>style2</key> + <value>0</value> + </param> + <param> + <key>width2</key> + <value>1</value> + </param> + <param> + <key>alpha3</key> + <value>1.0</value> + </param> + <param> + <key>color3</key> + <value>"red"</value> + </param> + <param> + <key>label3</key> + <value></value> + </param> + <param> + <key>marker3</key> + <value>0</value> + </param> + <param> + <key>style3</key> + <value>0</value> + </param> + <param> + <key>width3</key> + <value>1</value> + </param> + <param> + <key>alpha4</key> + <value>1.0</value> + </param> + <param> + <key>color4</key> + <value>"red"</value> + </param> + <param> + <key>label4</key> + <value></value> + </param> + <param> + <key>marker4</key> + <value>0</value> + </param> + <param> + <key>style4</key> + <value>0</value> + </param> + <param> + <key>width4</key> + <value>1</value> + </param> + <param> + <key>alpha5</key> + <value>1.0</value> + </param> + <param> + <key>color5</key> + <value>"red"</value> + </param> + <param> + <key>label5</key> + <value></value> + </param> + <param> + <key>marker5</key> + <value>0</value> + </param> + <param> + <key>style5</key> + <value>0</value> + </param> + <param> + <key>width5</key> + <value>1</value> + </param> + <param> + <key>alpha6</key> + <value>1.0</value> + </param> + <param> + <key>color6</key> + <value>"red"</value> + </param> + <param> + <key>label6</key> + <value></value> + </param> + <param> + <key>marker6</key> + <value>0</value> + </param> + <param> + <key>style6</key> + <value>0</value> + </param> + <param> + <key>width6</key> + <value>1</value> + </param> + <param> + <key>alpha7</key> + <value>1.0</value> + </param> + <param> + <key>color7</key> + <value>"red"</value> + </param> + <param> + <key>label7</key> + <value></value> + </param> + <param> + <key>marker7</key> + <value>0</value> + </param> + <param> + <key>style7</key> + <value>0</value> + </param> + <param> + <key>width7</key> + <value>1</value> + </param> + <param> + <key>alpha8</key> + <value>1.0</value> + </param> + <param> + <key>color8</key> + <value>"red"</value> + </param> + <param> + <key>label8</key> + <value></value> + </param> + <param> + <key>marker8</key> + <value>0</value> + </param> + <param> + <key>style8</key> + <value>0</value> + </param> + <param> + <key>width8</key> + <value>1</value> + </param> + <param> + <key>alpha9</key> + <value>1.0</value> + </param> + <param> + <key>color9</key> + <value>"red"</value> + </param> + <param> + <key>label9</key> + <value></value> + </param> + <param> + <key>marker9</key> + <value>0</value> + </param> + <param> + <key>style9</key> + <value>0</value> + </param> + <param> + <key>width9</key> + <value>1</value> + </param> + <param> + <key>name</key> + <value>""</value> + </param> + <param> + <key>nconnections</key> + <value>2</value> + </param> + <param> + <key>size</key> + <value>1024</value> + </param> + <param> + <key>tr_chan</key> + <value>0</value> + </param> + <param> + <key>tr_level</key> + <value>0.0</value> + </param> + <param> + <key>tr_mode</key> + <value>qtgui.TRIG_MODE_FREE</value> + </param> + <param> + <key>tr_slope</key> + <value>qtgui.TRIG_SLOPE_POS</value> + </param> + <param> + <key>tr_tag</key> + <value>""</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>xmax</key> + <value>2</value> + </param> + <param> + <key>xmin</key> + <value>-2</value> + </param> + <param> + <key>ymax</key> + <value>2</value> + </param> + <param> + <key>ymin</key> + <value>-2</value> + </param> + </block> + <block> <key>qtgui_freq_sink_x</key> <param> <key>autoscale</key> @@ -1487,7 +1830,7 @@ </param> <param> <key>_coordinate</key> - <value>(976, 262)</value> + <value>(928, 278)</value> </param> <param> <key>gui_hint</key> @@ -4744,6 +5087,12 @@ </connection> <connection> <source_block_id>blocks_multiply_const_vxx_1</source_block_id> + <sink_block_id>qtgui_const_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>1</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_1</source_block_id> <sink_block_id>qtgui_freq_sink_x_0_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> @@ -4780,6 +5129,12 @@ </connection> <connection> <source_block_id>uhd_usrp_source_0</source_block_id> + <sink_block_id>qtgui_const_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>uhd_usrp_source_0</source_block_id> <sink_block_id>qtgui_freq_sink_x_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> diff --git a/live_analyse.grc b/live_analyse.grc index 04bedef..3646ae2 100644 --- a/live_analyse.grc +++ b/live_analyse.grc @@ -949,7 +949,7 @@ </param> <param> <key>_coordinate</key> - <value>(264, 45)</value> + <value>(216, 61)</value> </param> <param> <key>_rotation</key> @@ -1051,7 +1051,7 @@ </param> <param> <key>_coordinate</key> - <value>(736, 52)</value> + <value>(744, 68)</value> </param> <param> <key>_rotation</key> @@ -1244,6 +1244,349 @@ </param> </block> <block> + <key>qtgui_const_sink_x</key> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>comment</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>_coordinate</key> + <value>(936, 401)</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <param> + <key>grid</key> + <value>False</value> + </param> + <param> + <key>id</key> + <value>qtgui_const_sink_x_0</value> + </param> + <param> + <key>legend</key> + <value>True</value> + </param> + <param> + <key>alpha1</key> + <value>1.0</value> + </param> + <param> + <key>color1</key> + <value>"blue"</value> + </param> + <param> + <key>label1</key> + <value></value> + </param> + <param> + <key>marker1</key> + <value>0</value> + </param> + <param> + <key>style1</key> + <value>0</value> + </param> + <param> + <key>width1</key> + <value>1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>color10</key> + <value>"red"</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>marker10</key> + <value>0</value> + </param> + <param> + <key>style10</key> + <value>0</value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>alpha2</key> + <value>1.0</value> + </param> + <param> + <key>color2</key> + <value>"red"</value> + </param> + <param> + <key>label2</key> + <value></value> + </param> + <param> + <key>marker2</key> + <value>0</value> + </param> + <param> + <key>style2</key> + <value>0</value> + </param> + <param> + <key>width2</key> + <value>1</value> + </param> + <param> + <key>alpha3</key> + <value>1.0</value> + </param> + <param> + <key>color3</key> + <value>"red"</value> + </param> + <param> + <key>label3</key> + <value></value> + </param> + <param> + <key>marker3</key> + <value>0</value> + </param> + <param> + <key>style3</key> + <value>0</value> + </param> + <param> + <key>width3</key> + <value>1</value> + </param> + <param> + <key>alpha4</key> + <value>1.0</value> + </param> + <param> + <key>color4</key> + <value>"red"</value> + </param> + <param> + <key>label4</key> + <value></value> + </param> + <param> + <key>marker4</key> + <value>0</value> + </param> + <param> + <key>style4</key> + <value>0</value> + </param> + <param> + <key>width4</key> + <value>1</value> + </param> + <param> + <key>alpha5</key> + <value>1.0</value> + </param> + <param> + <key>color5</key> + <value>"red"</value> + </param> + <param> + <key>label5</key> + <value></value> + </param> + <param> + <key>marker5</key> + <value>0</value> + </param> + <param> + <key>style5</key> + <value>0</value> + </param> + <param> + <key>width5</key> + <value>1</value> + </param> + <param> + <key>alpha6</key> + <value>1.0</value> + </param> + <param> + <key>color6</key> + <value>"red"</value> + </param> + <param> + <key>label6</key> + <value></value> + </param> + <param> + <key>marker6</key> + <value>0</value> + </param> + <param> + <key>style6</key> + <value>0</value> + </param> + <param> + <key>width6</key> + <value>1</value> + </param> + <param> + <key>alpha7</key> + <value>1.0</value> + </param> + <param> + <key>color7</key> + <value>"red"</value> + </param> + <param> + <key>label7</key> + <value></value> + </param> + <param> + <key>marker7</key> + <value>0</value> + </param> + <param> + <key>style7</key> + <value>0</value> + </param> + <param> + <key>width7</key> + <value>1</value> + </param> + <param> + <key>alpha8</key> + <value>1.0</value> + </param> + <param> + <key>color8</key> + <value>"red"</value> + </param> + <param> + <key>label8</key> + <value></value> + </param> + <param> + <key>marker8</key> + <value>0</value> + </param> + <param> + <key>style8</key> + <value>0</value> + </param> + <param> + <key>width8</key> + <value>1</value> + </param> + <param> + <key>alpha9</key> + <value>1.0</value> + </param> + <param> + <key>color9</key> + <value>"red"</value> + </param> + <param> + <key>label9</key> + <value></value> + </param> + <param> + <key>marker9</key> + <value>0</value> + </param> + <param> + <key>style9</key> + <value>0</value> + </param> + <param> + <key>width9</key> + <value>1</value> + </param> + <param> + <key>name</key> + <value>""</value> + </param> + <param> + <key>nconnections</key> + <value>2</value> + </param> + <param> + <key>size</key> + <value>1024</value> + </param> + <param> + <key>tr_chan</key> + <value>0</value> + </param> + <param> + <key>tr_level</key> + <value>0.0</value> + </param> + <param> + <key>tr_mode</key> + <value>qtgui.TRIG_MODE_FREE</value> + </param> + <param> + <key>tr_slope</key> + <value>qtgui.TRIG_SLOPE_POS</value> + </param> + <param> + <key>tr_tag</key> + <value>""</value> + </param> + <param> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>xmax</key> + <value>2</value> + </param> + <param> + <key>xmin</key> + <value>-2</value> + </param> + <param> + <key>ymax</key> + <value>2</value> + </param> + <param> + <key>ymin</key> + <value>-2</value> + </param> + </block> + <block> <key>qtgui_freq_sink_x</key> <param> <key>autoscale</key> @@ -4496,6 +4839,12 @@ </connection> <connection> <source_block_id>blocks_multiply_const_vxx_1</source_block_id> + <sink_block_id>qtgui_const_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_multiply_const_vxx_1</source_block_id> <sink_block_id>qtgui_freq_sink_x_0_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> @@ -4538,6 +4887,12 @@ </connection> <connection> <source_block_id>uhd_usrp_source_0</source_block_id> + <sink_block_id>qtgui_const_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>1</sink_key> + </connection> + <connection> + <source_block_id>uhd_usrp_source_0</source_block_id> <sink_block_id>qtgui_freq_sink_x_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> diff --git a/src/two_tone_lib.py b/src/two_tone_lib.py index df7d53f..a3c9675 100644 --- a/src/two_tone_lib.py +++ b/src/two_tone_lib.py @@ -9,8 +9,8 @@ def gen_two_tone(path = "./input.dat", predist = None, par = None, debug = False assert(t_both / period2 % 1 == 0) t = np.arange(0,t_both) - sin1 = np.sin(t * 2 * np.pi * 1./period1) - sin2 = np.sin(t * 2 * np.pi * 1./period2) + sin1 = np.exp(t * 2j * np.pi * 1./period1) + sin2 = np.exp(t * 2j * np.pi * 1./period2) sig = sin1 + sin2 if predist is None: @@ -52,18 +52,18 @@ def analyse_power_spec(spec, debug = False, debug_path="", suffix=""): second_peak = spec_start + 2114 delta_freq = 66 peak_other = [] - if debug: plt.plot(spec[spec_start:spec_end]) + if debug: plt.plot(spec) for x in [c * delta_freq + delta_freq//2 for c in range(spec_start//delta_freq)]: start = spec_start + x end = spec_start + x + delta_freq peak = spec[start:end].max() - if debug: plt.plot((start-spec_start,end-spec_start), (peak, peak)) + if debug: plt.plot((start,end), (peak, peak)) if start < first_peak and end > first_peak: peak_1 = peak - if debug: plt.plot((start-spec_start,end-spec_start), (peak+1, peak+1)) + if debug: plt.plot((start,end), (peak+1, peak+1)) elif start < second_peak and end > second_peak: peak_2 = peak - if debug: plt.plot((start-spec_start,end-spec_start), (peak+1, peak+1)) + if debug: plt.plot((start,end), (peak+1, peak+1)) else: peak_other.append(peak) mean_signal = (peak_1 + peak_2) / 2 diff --git a/two_tone_tuner.ipynb b/two_tone_tuner.ipynb index 6564068..af96f5a 100644 --- a/two_tone_tuner.ipynb +++ b/two_tone_tuner.ipynb @@ -80,7 +80,8 @@ "metadata": {}, "outputs": [], "source": [ - "top.set_txgain(85)" + "top.set_txgain(85)\n", + "top.set_rxgain(15)" ] }, { @@ -88,7 +89,9 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "tt.gen_two_tone(debug = True)" + ] }, { "cell_type": "code", @@ -170,11 +173,13 @@ "outputs": [], "source": [ "top.set_txgain(85)\n", + "top.set_rxgain(5)\n", + "\n", "pars = np.zeros(7)\n", "\n", - "for i in range(100):\n", + "for i in range(10000):\n", " i_rand = np.random.randint(0, len(pars))\n", - " pars = simple_opt(pars, i_rand, 0.05, measure)\n" + " pars = simple_opt(pars, i_rand, 0.005, measure)\n" ] }, { |