aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandreas128 <Andreas>2017-01-09 14:53:17 +0000
committerandreas128 <Andreas>2017-01-09 14:53:17 +0000
commit62d6affd9fd9c5d45305cd5880c16696c0744044 (patch)
tree0bb5dafba926b592ead5cc5a0223595c166405c2
parent1ee69f061ce25f03ea97da3fc3f5e54d95423561 (diff)
downloadODR-StaticPrecorrection-62d6affd9fd9c5d45305cd5880c16696c0744044.tar.gz
ODR-StaticPrecorrection-62d6affd9fd9c5d45305cd5880c16696c0744044.tar.bz2
ODR-StaticPrecorrection-62d6affd9fd9c5d45305cd5880c16696c0744044.zip
Plot whole spectrum for two tone analyse
-rw-r--r--__init__.py0
-rw-r--r--grc/live_analyse_anti_signal.grc361
-rw-r--r--live_analyse.grc359
-rw-r--r--src/two_tone_lib.py12
-rw-r--r--two_tone_tuner.ipynb13
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"
]
},
{