1288 lines
64 KiB
Text
1288 lines
64 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from matplotlib import pyplot as plt\n",
|
|
"import numpy as np\n",
|
|
"from scipy import signal as sig\n",
|
|
"import struct\n",
|
|
"import random\n",
|
|
"import ipywidgets\n",
|
|
"import itertools\n",
|
|
"\n",
|
|
"import colorednoise\n",
|
|
"\n",
|
|
"np.set_printoptions(linewidth=240)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"%matplotlib widget"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#colorednoise.powerlaw_psd_gaussian(1, int(1e4))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# From https://github.com/mubeta06/python/blob/master/signal_processing/sp/gold.py\n",
|
|
"preferred_pairs = {5:[[2],[1,2,3]], 6:[[5],[1,4,5]], 7:[[4],[4,5,6]],\n",
|
|
" 8:[[1,2,3,6,7],[1,2,7]], 9:[[5],[3,5,6]], \n",
|
|
" 10:[[2,5,9],[3,4,6,8,9]], 11:[[9],[3,6,9]]}\n",
|
|
"\n",
|
|
"def gen_gold(seq1, seq2):\n",
|
|
" print(seq1.shape, seq2.shape)\n",
|
|
" gold = [seq1, seq2]\n",
|
|
" for shift in range(len(seq1)):\n",
|
|
" gold.append(seq1 ^ np.roll(seq2, -shift))\n",
|
|
" return gold\n",
|
|
"\n",
|
|
"def gold(n):\n",
|
|
" n = int(n)\n",
|
|
" if not n in preferred_pairs:\n",
|
|
" raise KeyError('preferred pairs for %s bits unknown' % str(n))\n",
|
|
" t0, t1 = preferred_pairs[n]\n",
|
|
" (seq0, _st0), (seq1, _st1) = sig.max_len_seq(n, taps=t0), sig.max_len_seq(n, taps=t1)\n",
|
|
" return gen_gold(seq0, seq1)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "a4f8421f05544016854b22a49dbc3698",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(31,) (31,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.image.AxesImage at 0x7f8fd0fdaac0>"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, ax = plt.subplots()\n",
|
|
"ax.matshow(gold(5))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def modulate(data, nbits=5, code=29):\n",
|
|
" # 0, 1 -> -1, 1\n",
|
|
" mask = gold(nbits)[code]*2 - 1\n",
|
|
" \n",
|
|
" # same here\n",
|
|
" data_centered = (data*2 - 1)\n",
|
|
" return (mask[:, np.newaxis] @ data_centered[np.newaxis, :] + 1).T.flatten() //2"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def correlate(sequence, nbits=5, code=29, decimation=1, mask_filter=lambda x: x):\n",
|
|
" # 0, 1 -> -1, 1\n",
|
|
" mask = mask_filter(np.repeat(gold(nbits)[code]*2 -1, decimation))\n",
|
|
" # center\n",
|
|
" sequence -= np.mean(sequence)\n",
|
|
" return np.correlate(sequence, mask, mode='full')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(31,) (31,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "c99513c0fb7f4b138367186127e379cf",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(31,) (31,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x7f8fce86df40>]"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"foo = modulate(np.array([0, 1, 0, 0, 1, 1, 1, 0])).astype(float)\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"ax.plot(correlate(foo))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(31,) (31,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "93658d824ced42e5b1107501398234b4",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(31,) (31,)\n",
|
|
"(31,) (31,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(2.0, 0.944245383185962)"
|
|
]
|
|
},
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"decimation = 10\n",
|
|
"signal_amplitude = 2.0\n",
|
|
"nbits = 5\n",
|
|
"\n",
|
|
"foo = np.repeat(modulate(np.array([0, 1, 0, 0, 1, 1, 1, 0]), nbits) * 2.0 - 1, decimation) * signal_amplitude\n",
|
|
"noise = colorednoise.powerlaw_psd_gaussian(1, len(foo))\n",
|
|
"\n",
|
|
"sosh = sig.butter(4, 0.01, btype='highpass', output='sos', fs=decimation)\n",
|
|
"sosl = sig.butter(6, 1.0, btype='lowpass', output='sos', fs=decimation)\n",
|
|
"filtered = sig.sosfilt(sosh, sig.sosfilt(sosl, foo + noise))\n",
|
|
"#filtered = sig.sosfilt(sosh, foo + noise)\n",
|
|
"\n",
|
|
"fig, ((ax1, ax3), (ax2, ax4)) = plt.subplots(2, 2, figsize=(16, 9))\n",
|
|
"fig.tight_layout()\n",
|
|
"\n",
|
|
"ax1.plot(foo + noise)\n",
|
|
"ax1.plot(foo)\n",
|
|
"ax1.set_title('raw')\n",
|
|
"\n",
|
|
"ax2.plot(filtered)\n",
|
|
"ax2.plot(foo)\n",
|
|
"ax2.set_title('filtered')\n",
|
|
"\n",
|
|
"ax3.plot(correlate(foo + noise, nbits=nbits, decimation=decimation))\n",
|
|
"ax3.set_title('corr raw')\n",
|
|
" \n",
|
|
"ax3.grid()\n",
|
|
"\n",
|
|
"ax4.plot(correlate(filtered, nbits=nbits, decimation=decimation))\n",
|
|
"ax4.set_title('corr filtered')\n",
|
|
"ax4.grid()\n",
|
|
"\n",
|
|
"rms = lambda x: np.sqrt(np.mean(np.square(x)))\n",
|
|
"rms(foo), rms(noise)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"mean: 49.98625\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"with open('/mnt/c/Users/jaseg/shared/raw_freq.bin', 'rb') as f:\n",
|
|
" mains_noise = np.copy(np.frombuffer(f.read(), dtype='float32'))\n",
|
|
" print('mean:', np.mean(mains_noise))\n",
|
|
" mains_noise -= np.mean(mains_noise)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(31,) (31,)\n",
|
|
"(31,) (31,)\n",
|
|
"(31,) (31,)\n",
|
|
"(31,) (31,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "97fba8da8bd74c1aa46c4fabb9e68088",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(0.001, 0.010294564)"
|
|
]
|
|
},
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"decimation = 10\n",
|
|
"signal_amplitude = 1.0e-3\n",
|
|
"nbits = 5\n",
|
|
"\n",
|
|
"#test_data = np.random.randint(0, 2, 100)\n",
|
|
"test_data = np.array([0, 1, 0, 0, 1, 1, 1, 0])\n",
|
|
"\n",
|
|
"foo = np.repeat(modulate(test_data, nbits) * 2.0 - 1, decimation) * signal_amplitude\n",
|
|
"noise = np.resize(mains_noise, len(foo))\n",
|
|
"\n",
|
|
"sosh = sig.butter(3, 0.01, btype='highpass', output='sos', fs=decimation)\n",
|
|
"sosl = sig.butter(3, 0.8, btype='lowpass', output='sos', fs=decimation)\n",
|
|
"#filtered = sig.sosfilt(sosh, sig.sosfilt(sosl, foo + noise))\n",
|
|
"filtered = sig.sosfilt(sosh, foo + noise)\n",
|
|
"\n",
|
|
"cor1 = correlate(foo + noise, nbits=nbits, decimation=decimation)\n",
|
|
"cor2 = correlate(filtered, nbits=nbits, decimation=decimation)\n",
|
|
"\n",
|
|
"cor2_pe = correlate(filtered, nbits=nbits, decimation=decimation, mask_filter=lambda mask: sig.sosfilt(sosh, sig.sosfiltfilt(sosl, mask)))\n",
|
|
"\n",
|
|
"sosn = sig.butter(12, 4, btype='highpass', output='sos', fs=decimation)\n",
|
|
"#cor1_flt = sig.sosfilt(sosn, cor1)\n",
|
|
"#cor2_flt = sig.sosfilt(sosn, cor2)\n",
|
|
"#cor1_flt = cor1[1:] - cor1[:-1]\n",
|
|
"#cor2_flt = cor2[1:] - cor2[:-1]\n",
|
|
"\n",
|
|
"fig, ((ax1, ax3, ax5), (ax2, ax4, ax6)) = plt.subplots(2, 3, figsize=(16, 9))\n",
|
|
"fig.tight_layout()\n",
|
|
"\n",
|
|
"ax1.plot(foo + noise)\n",
|
|
"ax1.plot(foo)\n",
|
|
"ax1.set_title('raw')\n",
|
|
"\n",
|
|
"ax2.plot(filtered)\n",
|
|
"ax2.plot(foo)\n",
|
|
"ax2.set_title('filtered')\n",
|
|
"\n",
|
|
"ax3.plot(cor1)\n",
|
|
"ax3.set_title('corr raw')\n",
|
|
"ax3.grid()\n",
|
|
"\n",
|
|
"ax4.plot(cor2)\n",
|
|
"ax4.set_title('corr filtered')\n",
|
|
"ax4.grid()\n",
|
|
"\n",
|
|
"#ax5.plot(cor1_flt)\n",
|
|
"#ax5.set_title('corr raw (highpass)')\n",
|
|
"#ax5.grid()\n",
|
|
"\n",
|
|
"#ax6.plot(cor2_flt)\n",
|
|
"#ax6.set_title('corr filtered (highpass)')\n",
|
|
"#ax6.grid()\n",
|
|
"\n",
|
|
"ax6.plot(cor2_pe)\n",
|
|
"ax6.set_title('corr filtered w/ mask preemphasis')\n",
|
|
"ax6.grid()\n",
|
|
"\n",
|
|
"rms = lambda x: np.sqrt(np.mean(np.square(x)))\n",
|
|
"rms(foo), rms(noise)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "1c8e27744cd0482782fa0d65ed550ba6",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(63,) (63,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x7f8fc2cab1f0>]"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, ax = plt.subplots()\n",
|
|
"\n",
|
|
"seq = np.repeat(gold(6)[29]*2 -1, decimation)\n",
|
|
"sosh = sig.butter(3, 0.01, btype='highpass', output='sos', fs=decimation)\n",
|
|
"sosl = sig.butter(3, 0.8, btype='lowpass', output='sos', fs=decimation)\n",
|
|
"seq_filtered = sig.sosfilt(sosh, sig.sosfiltfilt(sosl, seq))\n",
|
|
"#seq_filtered = sig.sosfilt(sosh, seq)\n",
|
|
"\n",
|
|
"ax.plot(seq)\n",
|
|
"ax.plot(seq_filtered)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "483d7acbb9604c9c93533d342d6068ad",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(63,) (63,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x7f8fc2679310>]"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, axs = plt.subplots(3, 1, figsize=(9, 7), sharex=True)\n",
|
|
"fig.tight_layout()\n",
|
|
"axs = axs.flatten()\n",
|
|
"for ax in axs:\n",
|
|
" ax.grid()\n",
|
|
"\n",
|
|
"seq = np.repeat(gold(6)[29]*2 -1, decimation)\n",
|
|
"sosh = sig.butter(3, 0.1, btype='highpass', output='sos', fs=decimation)\n",
|
|
"sosl = sig.butter(3, 0.8, btype='lowpass', output='sos', fs=decimation)\n",
|
|
"cor2_pe_flt = sig.sosfilt(sosh, cor2_pe)\n",
|
|
"cor2_pe_flt2 = sig.sosfilt(sosh, sig.sosfiltfilt(sosl, cor2_pe))\n",
|
|
"\n",
|
|
"axs[0].plot(cor2_pe)\n",
|
|
"axs[1].plot(cor2_pe_flt)\n",
|
|
"axs[2].plot(cor2_pe_flt2)\n",
|
|
"\n",
|
|
"#for idx in np.where(np.abs(cor2_pe_flt2) > 0.5)\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "61142286f07245fea6b3d080bd6d963b",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "591cc5914cfd4812bad96502207bc01f",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"interactive(children=(FloatSlider(value=10.0, description='w', max=30.0, min=-10.0), Output()), _dom_classes=(…"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
" candidates for 32.5, -0.30796614799228145:\n",
|
|
" 7.6945 309.50 -0.51\n",
|
|
" 4.9788 419.50 -0.41\n",
|
|
" 2.4515 211.00 0.38\n",
|
|
" 1.8240 158.50 0.35\n",
|
|
" candidates for 158.5, 0.34903632894813835:\n",
|
|
" 5.6264 419.50 -0.41\n",
|
|
" 2.5562 618.50 0.54\n",
|
|
" 2.1462 309.50 -0.51\n",
|
|
" 1.3863 211.00 0.38\n",
|
|
" candidates for 211.0, 0.3800947813243649:\n",
|
|
" 3.9276 618.50 0.54\n",
|
|
" 3.0726 419.50 -0.41\n",
|
|
" 1.6974 309.50 -0.51\n",
|
|
" candidates for 309.5, -0.5053314278026041:\n",
|
|
" 29.3614 618.50 0.54\n",
|
|
" 1.7265 419.50 -0.41\n",
|
|
" candidates for 419.5, -0.40531218065962255:\n",
|
|
" 4.0528 823.00 -0.44\n",
|
|
" 2.9151 618.50 0.54\n",
|
|
"chain candidates:\n",
|
|
" [(29.36136019270347, [('309.50', '-0.51'), ('618.50', '0.54')])]\n",
|
|
" [(7.69452617901758, [('32.50', '-0.31'), ('309.50', '-0.51')])]\n",
|
|
" [(5.626384903889135, [('158.50', '0.35'), ('419.50', '-0.41')])]\n",
|
|
" [(4.978775493314884, [('32.50', '-0.31'), ('419.50', '-0.41')])]\n",
|
|
" [(4.052840585124125, [('419.50', '-0.41'), ('823.00', '-0.44')])]\n",
|
|
" [(3.92759395893727, [('211.00', '0.38'), ('618.50', '0.54')])]\n",
|
|
" [(3.0726112472804843, [('211.00', '0.38'), ('419.50', '-0.41')])]\n",
|
|
" [(2.9150792009679662, [('419.50', '-0.41'), ('618.50', '0.54')])]\n",
|
|
" [(2.5561653875086985, [('158.50', '0.35'), ('618.50', '0.54')])]\n",
|
|
" [(2.451531489602112, [('32.50', '-0.31'), ('211.00', '0.38')])]\n",
|
|
" [(2.1461568381616574, [('158.50', '0.35'), ('309.50', '-0.51')])]\n",
|
|
" [(1.726465614139335, [('309.50', '-0.51'), ('419.50', '-0.41')])]\n",
|
|
" [(1.6973609734949815, [('211.00', '0.38'), ('309.50', '-0.51')])]\n",
|
|
" candidates for 618.5, 0.540902203588826:\n",
|
|
" 35.8652 929.50 -0.62\n",
|
|
" 4.0145 1022.50 0.41\n",
|
|
" 3.0106 1055.00 0.53\n",
|
|
" 2.9911 823.00 -0.44\n",
|
|
" candidates for 309.5, -0.5053314278026041:\n",
|
|
" 29.3614 618.50 0.54\n",
|
|
" 1.7265 419.50 -0.41\n",
|
|
" candidates for 419.5, -0.40531218065962255:\n",
|
|
" 4.0528 823.00 -0.44\n",
|
|
" 2.9151 618.50 0.54\n",
|
|
" candidates for 419.5, -0.40531218065962255:\n",
|
|
" 4.0528 823.00 -0.44\n",
|
|
" 2.9151 618.50 0.54\n",
|
|
" candidates for 823.0, -0.4410105115656168:\n",
|
|
" 30.6933 1153.50 -0.43\n",
|
|
" 3.9002 1055.00 0.53\n",
|
|
" 3.5615 1240.50 -0.56\n",
|
|
" 2.8605 1022.50 0.41\n",
|
|
" 1.8085 929.50 -0.62\n",
|
|
" candidates for 618.5, 0.540902203588826:\n",
|
|
" 35.8652 929.50 -0.62\n",
|
|
" 4.0145 1022.50 0.41\n",
|
|
" 3.0106 1055.00 0.53\n",
|
|
" 2.9911 823.00 -0.44\n",
|
|
" candidates for 419.5, -0.40531218065962255:\n",
|
|
" 4.0528 823.00 -0.44\n",
|
|
" 2.9151 618.50 0.54\n",
|
|
" candidates for 618.5, 0.540902203588826:\n",
|
|
" 35.8652 929.50 -0.62\n",
|
|
" 4.0145 1022.50 0.41\n",
|
|
" 3.0106 1055.00 0.53\n",
|
|
" 2.9911 823.00 -0.44\n",
|
|
" candidates for 618.5, 0.540902203588826:\n",
|
|
" 35.8652 929.50 -0.62\n",
|
|
" 4.0145 1022.50 0.41\n",
|
|
" 3.0106 1055.00 0.53\n",
|
|
" 2.9911 823.00 -0.44\n",
|
|
" candidates for 211.0, 0.3800947813243649:\n",
|
|
" 3.9276 618.50 0.54\n",
|
|
" 3.0726 419.50 -0.41\n",
|
|
" 1.6974 309.50 -0.51\n",
|
|
"chain candidates:\n",
|
|
" [(35.86521493289496, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62')])]\n",
|
|
" [(35.86521493289496, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62')])]\n",
|
|
" [(35.86521493289496, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62')])]\n",
|
|
" [(35.86521493289496, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62')])]\n",
|
|
" [(30.693332126158438, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43')])]\n",
|
|
" [(29.36136019270347, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54')])]\n",
|
|
" [(4.052840585124125, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44')])]\n",
|
|
" [(4.052840585124125, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44')])]\n",
|
|
" [(4.052840585124125, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44')])]\n",
|
|
" [(4.014470627816998, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41')])]\n",
|
|
" [(4.014470627816998, [('309.50', '-0.51'), ('618.50', '0.54'), ('1022.50', '0.41')])]\n",
|
|
" [(4.014470627816998, [('211.00', '0.38'), ('618.50', '0.54'), ('1022.50', '0.41')])]\n",
|
|
" [(4.014470627816998, [('158.50', '0.35'), ('618.50', '0.54'), ('1022.50', '0.41')])]\n",
|
|
" [(3.92759395893727, [('32.50', '-0.31'), ('211.00', '0.38'), ('618.50', '0.54')])]\n",
|
|
" [(3.900204331202999, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1055.00', '0.53')])]\n",
|
|
" [(3.5614986168976417, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1240.50', '-0.56')])]\n",
|
|
" [(3.0726112472804843, [('32.50', '-0.31'), ('211.00', '0.38'), ('419.50', '-0.41')])]\n",
|
|
" [(3.0106218107191913, [('419.50', '-0.41'), ('618.50', '0.54'), ('1055.00', '0.53')])]\n",
|
|
" [(3.0106218107191913, [('309.50', '-0.51'), ('618.50', '0.54'), ('1055.00', '0.53')])]\n",
|
|
" [(3.0106218107191913, [('211.00', '0.38'), ('618.50', '0.54'), ('1055.00', '0.53')])]\n",
|
|
" [(3.0106218107191913, [('158.50', '0.35'), ('618.50', '0.54'), ('1055.00', '0.53')])]\n",
|
|
" [(2.9150792009679662, [('211.00', '0.38'), ('419.50', '-0.41'), ('618.50', '0.54')])]\n",
|
|
" [(2.9150792009679662, [('158.50', '0.35'), ('419.50', '-0.41'), ('618.50', '0.54')])]\n",
|
|
" [(2.9150792009679662, [('32.50', '-0.31'), ('419.50', '-0.41'), ('618.50', '0.54')])]\n",
|
|
" [(1.726465614139335, [('32.50', '-0.31'), ('309.50', '-0.51'), ('419.50', '-0.41')])]\n",
|
|
" [(1.6973609734949815, [('32.50', '-0.31'), ('211.00', '0.38'), ('309.50', '-0.51')])]\n",
|
|
" candidates for 929.5, -0.6193187546786915:\n",
|
|
" 35.8350 1240.50 -0.56\n",
|
|
" 3.5505 1153.50 -0.43\n",
|
|
" 3.0349 1366.00 0.58\n",
|
|
" 1.9091 1055.00 0.53\n",
|
|
" 1.6146 1022.50 0.41\n",
|
|
" candidates for 929.5, -0.6193187546786915:\n",
|
|
" 35.8350 1240.50 -0.56\n",
|
|
" 3.5505 1153.50 -0.43\n",
|
|
" 3.0349 1366.00 0.58\n",
|
|
" 1.9091 1055.00 0.53\n",
|
|
" 1.6146 1022.50 0.41\n",
|
|
" candidates for 929.5, -0.6193187546786915:\n",
|
|
" 35.8350 1240.50 -0.56\n",
|
|
" 3.5505 1153.50 -0.43\n",
|
|
" 3.0349 1366.00 0.58\n",
|
|
" 1.9091 1055.00 0.53\n",
|
|
" 1.6146 1022.50 0.41\n",
|
|
" candidates for 929.5, -0.6193187546786915:\n",
|
|
" 35.8350 1240.50 -0.56\n",
|
|
" 3.5505 1153.50 -0.43\n",
|
|
" 3.0349 1366.00 0.58\n",
|
|
" 1.9091 1055.00 0.53\n",
|
|
" 1.6146 1022.50 0.41\n",
|
|
" candidates for 1153.5, -0.4342832999357559:\n",
|
|
" 6.9736 1426.00 -0.47\n",
|
|
" 4.5113 1549.50 0.60\n",
|
|
" 3.2649 1366.00 0.58\n",
|
|
" 1.6528 1240.50 -0.56\n",
|
|
" candidates for 618.5, 0.540902203588826:\n",
|
|
" 35.8652 929.50 -0.62\n",
|
|
" 4.0145 1022.50 0.41\n",
|
|
" 3.0106 1055.00 0.53\n",
|
|
" 2.9911 823.00 -0.44\n",
|
|
" candidates for 823.0, -0.4410105115656168:\n",
|
|
" 30.6933 1153.50 -0.43\n",
|
|
" 3.9002 1055.00 0.53\n",
|
|
" 3.5615 1240.50 -0.56\n",
|
|
" 2.8605 1022.50 0.41\n",
|
|
" 1.8085 929.50 -0.62\n",
|
|
" candidates for 823.0, -0.4410105115656168:\n",
|
|
" 30.6933 1153.50 -0.43\n",
|
|
" 3.9002 1055.00 0.53\n",
|
|
" 3.5615 1240.50 -0.56\n",
|
|
" 2.8605 1022.50 0.41\n",
|
|
" 1.8085 929.50 -0.62\n",
|
|
" candidates for 823.0, -0.4410105115656168:\n",
|
|
" 30.6933 1153.50 -0.43\n",
|
|
" 3.9002 1055.00 0.53\n",
|
|
" 3.5615 1240.50 -0.56\n",
|
|
" 2.8605 1022.50 0.41\n",
|
|
" 1.8085 929.50 -0.62\n",
|
|
" candidates for 1022.5, 0.4098936365863757:\n",
|
|
" 13.9051 1366.00 0.58\n",
|
|
" 4.0691 1426.00 -0.47\n",
|
|
" 3.4167 1240.50 -0.56\n",
|
|
" 1.9103 1153.50 -0.43\n",
|
|
" 1.3769 1055.00 0.53\n",
|
|
"chain candidates:\n",
|
|
" [(35.86521493289496, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62')])]\n",
|
|
" [(35.835002890401974, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56')])]\n",
|
|
" [(35.835002890401974, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56')])]\n",
|
|
" [(35.835002890401974, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56')])]\n",
|
|
" [(35.835002890401974, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56')])]\n",
|
|
" [(30.693332126158438, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43')])]\n",
|
|
" [(30.693332126158438, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43')])]\n",
|
|
" [(30.693332126158438, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43')])]\n",
|
|
" [(13.905133395544146, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58')])]\n",
|
|
" [(6.9736079278832195, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47')])]\n",
|
|
" [(4.511327725367169, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1549.50', '0.60')])]\n",
|
|
" [(4.069101151961379, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1426.00', '-0.47')])]\n",
|
|
" [(4.014470627816998, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('1022.50', '0.41')])]\n",
|
|
" [(3.900204331202999, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1055.00', '0.53')])]\n",
|
|
" [(3.900204331202999, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1055.00', '0.53')])]\n",
|
|
" [(3.900204331202999, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1055.00', '0.53')])]\n",
|
|
" [(3.5614986168976417, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1240.50', '-0.56')])]\n",
|
|
" [(3.5614986168976417, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1240.50', '-0.56')])]\n",
|
|
" [(3.5614986168976417, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1240.50', '-0.56')])]\n",
|
|
" [(3.550474983301211, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1153.50', '-0.43')])]\n",
|
|
" [(3.550474983301211, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1153.50', '-0.43')])]\n",
|
|
" [(3.550474983301211, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1153.50', '-0.43')])]\n",
|
|
" [(3.550474983301211, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1153.50', '-0.43')])]\n",
|
|
" [(3.4167022368071445, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1240.50', '-0.56')])]\n",
|
|
" [(3.2648563049949213, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1366.00', '0.58')])]\n",
|
|
" [(3.0348932348282385, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1366.00', '0.58')])]\n",
|
|
" [(3.0348932348282385, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1366.00', '0.58')])]\n",
|
|
" [(3.0348932348282385, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1366.00', '0.58')])]\n",
|
|
" [(3.0348932348282385, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1366.00', '0.58')])]\n",
|
|
" [(3.0106218107191913, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('1055.00', '0.53')])]\n",
|
|
" candidates for 929.5, -0.6193187546786915:\n",
|
|
" 35.8350 1240.50 -0.56\n",
|
|
" 3.5505 1153.50 -0.43\n",
|
|
" 3.0349 1366.00 0.58\n",
|
|
" 1.9091 1055.00 0.53\n",
|
|
" 1.6146 1022.50 0.41\n",
|
|
" candidates for 1240.5, -0.5588946696927191:\n",
|
|
" 29.3917 1549.50 0.60\n",
|
|
" 2.6159 1426.00 -0.47\n",
|
|
" 2.2893 1716.00 0.46\n",
|
|
" 1.9334 1366.00 0.58\n",
|
|
" candidates for 1240.5, -0.5588946696927191:\n",
|
|
" 29.3917 1549.50 0.60\n",
|
|
" 2.6159 1426.00 -0.47\n",
|
|
" 2.2893 1716.00 0.46\n",
|
|
" 1.9334 1366.00 0.58\n",
|
|
" candidates for 1240.5, -0.5588946696927191:\n",
|
|
" 29.3917 1549.50 0.60\n",
|
|
" 2.6159 1426.00 -0.47\n",
|
|
" 2.2893 1716.00 0.46\n",
|
|
" 1.9334 1366.00 0.58\n",
|
|
" candidates for 1240.5, -0.5588946696927191:\n",
|
|
" 29.3917 1549.50 0.60\n",
|
|
" 2.6159 1426.00 -0.47\n",
|
|
" 2.2893 1716.00 0.46\n",
|
|
" 1.9334 1366.00 0.58\n",
|
|
" candidates for 1153.5, -0.4342832999357559:\n",
|
|
" 6.9736 1426.00 -0.47\n",
|
|
" 4.5113 1549.50 0.60\n",
|
|
" 3.2649 1366.00 0.58\n",
|
|
" 1.6528 1240.50 -0.56\n",
|
|
" candidates for 1153.5, -0.4342832999357559:\n",
|
|
" 6.9736 1426.00 -0.47\n",
|
|
" 4.5113 1549.50 0.60\n",
|
|
" 3.2649 1366.00 0.58\n",
|
|
" 1.6528 1240.50 -0.56\n",
|
|
" candidates for 1153.5, -0.4342832999357559:\n",
|
|
" 6.9736 1426.00 -0.47\n",
|
|
" 4.5113 1549.50 0.60\n",
|
|
" 3.2649 1366.00 0.58\n",
|
|
" 1.6528 1240.50 -0.56\n",
|
|
" candidates for 1366.0, 0.5762242378968192:\n",
|
|
" 10.8981 1716.00 0.46\n",
|
|
" 2.6451 1549.50 0.60\n",
|
|
" 1.4675 1426.00 -0.47\n",
|
|
" candidates for 1426.0, -0.47353164524012403:\n",
|
|
" 10.8981 1716.00 0.46\n",
|
|
" 3.0884 1860.50 0.59\n",
|
|
" 1.9293 1549.50 0.60\n",
|
|
"chain candidates:\n",
|
|
" [(35.835002890401974, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56')])]\n",
|
|
" [(29.391710500486752, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60')])]\n",
|
|
" [(29.391710500486752, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60')])]\n",
|
|
" [(29.391710500486752, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60')])]\n",
|
|
" [(29.391710500486752, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60')])]\n",
|
|
" [(10.8980671118677, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46')])]\n",
|
|
" [(10.8980671118677, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58'), ('1716.00', '0.46')])]\n",
|
|
" [(6.9736079278832195, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47')])]\n",
|
|
" [(6.9736079278832195, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47')])]\n",
|
|
" [(6.9736079278832195, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47')])]\n",
|
|
" [(4.511327725367169, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1549.50', '0.60')])]\n",
|
|
" [(4.511327725367169, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1549.50', '0.60')])]\n",
|
|
" [(4.511327725367169, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1549.50', '0.60')])]\n",
|
|
" [(3.550474983301211, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1153.50', '-0.43')])]\n",
|
|
" [(3.2648563049949213, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1366.00', '0.58')])]\n",
|
|
" [(3.2648563049949213, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1366.00', '0.58')])]\n",
|
|
" [(3.2648563049949213, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1366.00', '0.58')])]\n",
|
|
" [(3.088380538661272, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1860.50', '0.59')])]\n",
|
|
" [(3.0348932348282385, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1366.00', '0.58')])]\n",
|
|
" [(2.645123753900041, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58'), ('1549.50', '0.60')])]\n",
|
|
" [(2.615947978753891, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1426.00', '-0.47')])]\n",
|
|
" [(2.615947978753891, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1426.00', '-0.47')])]\n",
|
|
" [(2.615947978753891, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1426.00', '-0.47')])]\n",
|
|
" [(2.615947978753891, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1426.00', '-0.47')])]\n",
|
|
" [(2.289278258705857, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1716.00', '0.46')])]\n",
|
|
" [(2.289278258705857, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1716.00', '0.46')])]\n",
|
|
" [(2.289278258705857, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1716.00', '0.46')])]\n",
|
|
" [(2.289278258705857, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1716.00', '0.46')])]\n",
|
|
" [(1.9293001373130654, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1549.50', '0.60')])]\n",
|
|
" [(1.4675350533892928, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58'), ('1426.00', '-0.47')])]\n",
|
|
" candidates for 1240.5, -0.5588946696927191:\n",
|
|
" 29.3917 1549.50 0.60\n",
|
|
" 2.6159 1426.00 -0.47\n",
|
|
" 2.2893 1716.00 0.46\n",
|
|
" 1.9334 1366.00 0.58\n",
|
|
" candidates for 1549.5, 0.6016028191553928:\n",
|
|
" 35.8492 1860.50 0.59\n",
|
|
" 3.3339 1972.50 0.45\n",
|
|
" 2.3161 1716.00 0.46\n",
|
|
" candidates for 1549.5, 0.6016028191553928:\n",
|
|
" 35.8492 1860.50 0.59\n",
|
|
" 3.3339 1972.50 0.45\n",
|
|
" 2.3161 1716.00 0.46\n",
|
|
" candidates for 1549.5, 0.6016028191553928:\n",
|
|
" 35.8492 1860.50 0.59\n",
|
|
" 3.3339 1972.50 0.45\n",
|
|
" 2.3161 1716.00 0.46\n",
|
|
" candidates for 1549.5, 0.6016028191553928:\n",
|
|
" 35.8492 1860.50 0.59\n",
|
|
" 3.3339 1972.50 0.45\n",
|
|
" 2.3161 1716.00 0.46\n",
|
|
" candidates for 1716.0, 0.462800890402067:\n",
|
|
" 6.1740 2089.50 0.39\n",
|
|
" 5.2664 1972.50 0.45\n",
|
|
" 2.8998 2156.50 -0.49\n",
|
|
" 2.1170 1860.50 0.59\n",
|
|
" candidates for 1716.0, 0.462800890402067:\n",
|
|
" 6.1740 2089.50 0.39\n",
|
|
" 5.2664 1972.50 0.45\n",
|
|
" 2.8998 2156.50 -0.49\n",
|
|
" 2.1170 1860.50 0.59\n",
|
|
" candidates for 1426.0, -0.47353164524012403:\n",
|
|
" 10.8981 1716.00 0.46\n",
|
|
" 3.0884 1860.50 0.59\n",
|
|
" 1.9293 1549.50 0.60\n",
|
|
" candidates for 1426.0, -0.47353164524012403:\n",
|
|
" 10.8981 1716.00 0.46\n",
|
|
" 3.0884 1860.50 0.59\n",
|
|
" 1.9293 1549.50 0.60\n",
|
|
" candidates for 1426.0, -0.47353164524012403:\n",
|
|
" 10.8981 1716.00 0.46\n",
|
|
" 3.0884 1860.50 0.59\n",
|
|
" 1.9293 1549.50 0.60\n",
|
|
"chain candidates:\n",
|
|
" [(35.84917626888937, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59')])]\n",
|
|
" [(35.84917626888937, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59')])]\n",
|
|
" [(35.84917626888937, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59')])]\n",
|
|
" [(35.84917626888937, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59')])]\n",
|
|
" [(29.391710500486752, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60')])]\n",
|
|
" [(10.8980671118677, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46')])]\n",
|
|
" [(10.8980671118677, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46')])]\n",
|
|
" [(10.8980671118677, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46')])]\n",
|
|
" [(6.173953539976651, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39')])]\n",
|
|
" [(6.173953539976651, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58'), ('1716.00', '0.46'), ('2089.50', '0.39')])]\n",
|
|
" [(5.266444098570901, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('1972.50', '0.45')])]\n",
|
|
" [(5.266444098570901, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58'), ('1716.00', '0.46'), ('1972.50', '0.45')])]\n",
|
|
" [(3.333870136335599, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1972.50', '0.45')])]\n",
|
|
" [(3.333870136335599, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1972.50', '0.45')])]\n",
|
|
" [(3.333870136335599, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1972.50', '0.45')])]\n",
|
|
" [(3.333870136335599, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1972.50', '0.45')])]\n",
|
|
" [(3.088380538661272, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1860.50', '0.59')])]\n",
|
|
" [(3.088380538661272, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1860.50', '0.59')])]\n",
|
|
" [(3.088380538661272, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1860.50', '0.59')])]\n",
|
|
" [(2.8998303227280857, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2156.50', '-0.49')])]\n",
|
|
" [(2.8998303227280857, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58'), ('1716.00', '0.46'), ('2156.50', '-0.49')])]\n",
|
|
" [(2.615947978753891, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1426.00', '-0.47')])]\n",
|
|
" [(2.3160909989469616, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1716.00', '0.46')])]\n",
|
|
" [(2.3160909989469616, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1716.00', '0.46')])]\n",
|
|
" [(2.3160909989469616, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1716.00', '0.46')])]\n",
|
|
" [(2.3160909989469616, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1716.00', '0.46')])]\n",
|
|
" [(2.289278258705857, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1716.00', '0.46')])]\n",
|
|
" [(1.9293001373130654, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1549.50', '0.60')])]\n",
|
|
" [(1.9293001373130654, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1549.50', '0.60')])]\n",
|
|
" [(1.9293001373130654, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1549.50', '0.60')])]\n",
|
|
" candidates for 1860.5, 0.587241426667523:\n",
|
|
" 13.5776 2156.50 -0.49\n",
|
|
" 4.6432 2252.00 0.34\n",
|
|
" 3.7091 2089.50 0.39\n",
|
|
" 1.7655 1972.50 0.45\n",
|
|
" candidates for 1860.5, 0.587241426667523:\n",
|
|
" 13.5776 2156.50 -0.49\n",
|
|
" 4.6432 2252.00 0.34\n",
|
|
" 3.7091 2089.50 0.39\n",
|
|
" 1.7655 1972.50 0.45\n",
|
|
" candidates for 1860.5, 0.587241426667523:\n",
|
|
" 13.5776 2156.50 -0.49\n",
|
|
" 4.6432 2252.00 0.34\n",
|
|
" 3.7091 2089.50 0.39\n",
|
|
" 1.7655 1972.50 0.45\n",
|
|
" candidates for 1860.5, 0.587241426667523:\n",
|
|
" 13.5776 2156.50 -0.49\n",
|
|
" 4.6432 2252.00 0.34\n",
|
|
" 3.7091 2089.50 0.39\n",
|
|
" 1.7655 1972.50 0.45\n",
|
|
" candidates for 1549.5, 0.6016028191553928:\n",
|
|
" 35.8492 1860.50 0.59\n",
|
|
" 3.3339 1972.50 0.45\n",
|
|
" 2.3161 1716.00 0.46\n",
|
|
" candidates for 1716.0, 0.462800890402067:\n",
|
|
" 6.1740 2089.50 0.39\n",
|
|
" 5.2664 1972.50 0.45\n",
|
|
" 2.8998 2156.50 -0.49\n",
|
|
" 2.1170 1860.50 0.59\n",
|
|
" candidates for 1716.0, 0.462800890402067:\n",
|
|
" 6.1740 2089.50 0.39\n",
|
|
" 5.2664 1972.50 0.45\n",
|
|
" 2.8998 2156.50 -0.49\n",
|
|
" 2.1170 1860.50 0.59\n",
|
|
" candidates for 1716.0, 0.462800890402067:\n",
|
|
" 6.1740 2089.50 0.39\n",
|
|
" 5.2664 1972.50 0.45\n",
|
|
" 2.8998 2156.50 -0.49\n",
|
|
" 2.1170 1860.50 0.59\n",
|
|
" candidates for 2089.5, 0.3852902575233996:\n",
|
|
" 8.3442 2370.50 -0.28\n",
|
|
" 4.7167 2480.50 -0.42\n",
|
|
" 2.1995 2252.00 0.34\n",
|
|
" 1.5091 2156.50 -0.49\n",
|
|
" candidates for 2089.5, 0.3852902575233996:\n",
|
|
" 8.3442 2370.50 -0.28\n",
|
|
" 4.7167 2480.50 -0.42\n",
|
|
" 2.1995 2252.00 0.34\n",
|
|
" 1.5091 2156.50 -0.49\n",
|
|
"chain candidates:\n",
|
|
" [(35.84917626888937, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59')])]\n",
|
|
" [(13.577561996310388, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49')])]\n",
|
|
" [(13.577561996310388, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49')])]\n",
|
|
" [(13.577561996310388, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49')])]\n",
|
|
" [(13.577561996310388, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49')])]\n",
|
|
" [(8.34422970205904, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2370.50', '-0.28')])]\n",
|
|
" [(8.34422970205904, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2370.50', '-0.28')])]\n",
|
|
" [(6.173953539976651, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39')])]\n",
|
|
" [(6.173953539976651, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39')])]\n",
|
|
" [(6.173953539976651, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39')])]\n",
|
|
" [(5.266444098570901, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('1972.50', '0.45')])]\n",
|
|
" [(5.266444098570901, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('1972.50', '0.45')])]\n",
|
|
" [(5.266444098570901, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('1972.50', '0.45')])]\n",
|
|
" [(4.716677612654047, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2480.50', '-0.42')])]\n",
|
|
" [(4.716677612654047, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2480.50', '-0.42')])]\n",
|
|
" [(4.643240934821138, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2252.00', '0.34')])]\n",
|
|
" [(4.643240934821138, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2252.00', '0.34')])]\n",
|
|
" [(4.643240934821138, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2252.00', '0.34')])]\n",
|
|
" [(4.643240934821138, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2252.00', '0.34')])]\n",
|
|
" [(3.7091286452452157, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2089.50', '0.39')])]\n",
|
|
" [(3.7091286452452157, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2089.50', '0.39')])]\n",
|
|
" [(3.7091286452452157, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2089.50', '0.39')])]\n",
|
|
" [(3.7091286452452157, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2089.50', '0.39')])]\n",
|
|
" [(3.333870136335599, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1972.50', '0.45')])]\n",
|
|
" [(2.8998303227280857, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2156.50', '-0.49')])]\n",
|
|
" [(2.8998303227280857, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2156.50', '-0.49')])]\n",
|
|
" [(2.8998303227280857, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2156.50', '-0.49')])]\n",
|
|
" [(2.3160909989469616, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1716.00', '0.46')])]\n",
|
|
" [(2.1994624910426936, [('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2252.00', '0.34')])]\n",
|
|
" [(2.1994624910426936, [('419.50', '-0.41'), ('618.50', '0.54'), ('1022.50', '0.41'), ('1366.00', '0.58'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2252.00', '0.34')])]\n",
|
|
" candidates for 1860.5, 0.587241426667523:\n",
|
|
" 13.5776 2156.50 -0.49\n",
|
|
" 4.6432 2252.00 0.34\n",
|
|
" 3.7091 2089.50 0.39\n",
|
|
" 1.7655 1972.50 0.45\n",
|
|
" candidates for 2156.5, -0.4884573259540951:\n",
|
|
" 80.2096 2480.50 -0.42\n",
|
|
" 3.1580 2370.50 -0.28\n",
|
|
" 2.6215 2605.50 0.28\n",
|
|
" 1.5931 2252.00 0.34\n",
|
|
" candidates for 2156.5, -0.4884573259540951:\n",
|
|
" 80.2096 2480.50 -0.42\n",
|
|
" 3.1580 2370.50 -0.28\n",
|
|
" 2.6215 2605.50 0.28\n",
|
|
" 1.5931 2252.00 0.34\n",
|
|
" candidates for 2156.5, -0.4884573259540951:\n",
|
|
" 80.2096 2480.50 -0.42\n",
|
|
" 3.1580 2370.50 -0.28\n",
|
|
" 2.6215 2605.50 0.28\n",
|
|
" 1.5931 2252.00 0.34\n",
|
|
" candidates for 2156.5, -0.4884573259540951:\n",
|
|
" 80.2096 2480.50 -0.42\n",
|
|
" 3.1580 2370.50 -0.28\n",
|
|
" 2.6215 2605.50 0.28\n",
|
|
" 1.5931 2252.00 0.34\n",
|
|
" candidates for 2370.5, -0.2782029938616636:\n",
|
|
" 8.4892 2728.50 -0.14\n",
|
|
" 8.1897 2651.00 -0.18\n",
|
|
" 4.5779 2761.50 0.14\n",
|
|
" 3.9056 2605.50 0.28\n",
|
|
" 1.7334 2480.50 -0.42\n",
|
|
" candidates for 2370.5, -0.2782029938616636:\n",
|
|
" 8.4892 2728.50 -0.14\n",
|
|
" 8.1897 2651.00 -0.18\n",
|
|
" 4.5779 2761.50 0.14\n",
|
|
" 3.9056 2605.50 0.28\n",
|
|
" 1.7334 2480.50 -0.42\n",
|
|
" candidates for 2089.5, 0.3852902575233996:\n",
|
|
" 8.3442 2370.50 -0.28\n",
|
|
" 4.7167 2480.50 -0.42\n",
|
|
" 2.1995 2252.00 0.34\n",
|
|
" 1.5091 2156.50 -0.49\n",
|
|
" candidates for 2089.5, 0.3852902575233996:\n",
|
|
" 8.3442 2370.50 -0.28\n",
|
|
" 4.7167 2480.50 -0.42\n",
|
|
" 2.1995 2252.00 0.34\n",
|
|
" 1.5091 2156.50 -0.49\n",
|
|
" candidates for 2089.5, 0.3852902575233996:\n",
|
|
" 8.3442 2370.50 -0.28\n",
|
|
" 4.7167 2480.50 -0.42\n",
|
|
" 2.1995 2252.00 0.34\n",
|
|
" 1.5091 2156.50 -0.49\n",
|
|
"chain candidates:\n",
|
|
" [(80.2096353591332, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2480.50', '-0.42')])]\n",
|
|
" [(80.2096353591332, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2480.50', '-0.42')])]\n",
|
|
" [(80.2096353591332, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2480.50', '-0.42')])]\n",
|
|
" [(80.2096353591332, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2480.50', '-0.42')])]\n",
|
|
" [(13.577561996310388, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49')])]\n",
|
|
" [(8.34422970205904, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2370.50', '-0.28')])]\n",
|
|
" [(8.34422970205904, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2370.50', '-0.28')])]\n",
|
|
" [(8.34422970205904, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2370.50', '-0.28')])]\n",
|
|
" [(4.716677612654047, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2480.50', '-0.42')])]\n",
|
|
" [(4.716677612654047, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2480.50', '-0.42')])]\n",
|
|
" [(4.716677612654047, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2480.50', '-0.42')])]\n",
|
|
" [(4.643240934821138, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2252.00', '0.34')])]\n",
|
|
" [(3.7091286452452157, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2089.50', '0.39')])]\n",
|
|
" [(3.1579694214591334, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2370.50', '-0.28')])]\n",
|
|
" [(3.1579694214591334, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2370.50', '-0.28')])]\n",
|
|
" [(3.1579694214591334, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2370.50', '-0.28')])]\n",
|
|
" [(3.1579694214591334, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2370.50', '-0.28')])]\n",
|
|
" [(2.6214860493499117, [('419.50', '-0.41'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2605.50', '0.28')])]\n",
|
|
" [(2.6214860493499117, [('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2605.50', '0.28')])]\n",
|
|
" [(2.6214860493499117, [('211.00', '0.38'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2605.50', '0.28')])]\n",
|
|
" [(2.6214860493499117, [('158.50', '0.35'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2605.50', '0.28')])]\n",
|
|
" [(2.1994624910426936, [('211.00', '0.38'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2252.00', '0.34')])]\n",
|
|
" [(2.1994624910426936, [('158.50', '0.35'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2252.00', '0.34')])]\n",
|
|
" [(2.1994624910426936, [('32.50', '-0.31'), ('419.50', '-0.41'), ('823.00', '-0.44'), ('1153.50', '-0.43'), ('1426.00', '-0.47'), ('1716.00', '0.46'), ('2089.50', '0.39'), ('2252.00', '0.34')])]\n",
|
|
" candidates for 2480.5, -0.41927071826584167:\n",
|
|
" 8.2759 2761.50 0.14\n",
|
|
" 4.5126 2728.50 -0.14\n",
|
|
" 2.2289 2651.00 -0.18\n",
|
|
" 1.7819 2605.50 0.28\n",
|
|
" candidates for 2480.5, -0.41927071826584167:\n",
|
|
" 8.2759 2761.50 0.14\n",
|
|
" 4.5126 2728.50 -0.14\n",
|
|
" 2.2289 2651.00 -0.18\n",
|
|
" 1.7819 2605.50 0.28\n",
|
|
" candidates for 2480.5, -0.41927071826584167:\n",
|
|
" 8.2759 2761.50 0.14\n",
|
|
" 4.5126 2728.50 -0.14\n",
|
|
" 2.2289 2651.00 -0.18\n",
|
|
" 1.7819 2605.50 0.28\n",
|
|
" candidates for 2480.5, -0.41927071826584167:\n",
|
|
" 8.2759 2761.50 0.14\n",
|
|
" 4.5126 2728.50 -0.14\n",
|
|
" 2.2289 2651.00 -0.18\n",
|
|
" 1.7819 2605.50 0.28\n",
|
|
" candidates for 2156.5, -0.4884573259540951:\n",
|
|
" 80.2096 2480.50 -0.42\n",
|
|
" 3.1580 2370.50 -0.28\n",
|
|
" 2.6215 2605.50 0.28\n",
|
|
" 1.5931 2252.00 0.34\n",
|
|
" candidates for 2370.5, -0.2782029938616636:\n",
|
|
" 8.4892 2728.50 -0.14\n",
|
|
" 8.1897 2651.00 -0.18\n",
|
|
" 4.5779 2761.50 0.14\n",
|
|
" 3.9056 2605.50 0.28\n",
|
|
" 1.7334 2480.50 -0.42\n",
|
|
" candidates for 2370.5, -0.2782029938616636:\n",
|
|
" 8.4892 2728.50 -0.14\n",
|
|
" 8.1897 2651.00 -0.18\n",
|
|
" 4.5779 2761.50 0.14\n",
|
|
" 3.9056 2605.50 0.28\n",
|
|
" 1.7334 2480.50 -0.42\n",
|
|
" candidates for 2370.5, -0.2782029938616636:\n",
|
|
" 8.4892 2728.50 -0.14\n",
|
|
" 8.1897 2651.00 -0.18\n",
|
|
" 4.5779 2761.50 0.14\n",
|
|
" 3.9056 2605.50 0.28\n",
|
|
" 1.7334 2480.50 -0.42\n",
|
|
" candidates for 2480.5, -0.41927071826584167:\n",
|
|
" 8.2759 2761.50 0.14\n",
|
|
" 4.5126 2728.50 -0.14\n",
|
|
" 2.2289 2651.00 -0.18\n",
|
|
" 1.7819 2605.50 0.28\n",
|
|
" candidates for 2480.5, -0.41927071826584167:\n",
|
|
" 8.2759 2761.50 0.14\n",
|
|
" 4.5126 2728.50 -0.14\n",
|
|
" 2.2289 2651.00 -0.18\n",
|
|
" 1.7819 2605.50 0.28\n",
|
|
"chain candidates:\n",
|
|
" [(80.2096353591332, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2480.50', '-0.42')])]\n",
|
|
" [(3.1579694214591334, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2370.50', '-0.28')])]\n",
|
|
" [(2.6214860493499117, [('32.50', '-0.31'), ('309.50', '-0.51'), ('618.50', '0.54'), ('929.50', '-0.62'), ('1240.50', '-0.56'), ('1549.50', '0.60'), ('1860.50', '0.59'), ('2156.50', '-0.49'), ('2605.50', '0.28')])]\n",
|
|
" candidates for 2480.5, -0.41927071826584167:\n",
|
|
" 8.2759 2761.50 0.14\n",
|
|
" 4.5126 2728.50 -0.14\n",
|
|
" 2.2289 2651.00 -0.18\n",
|
|
" 1.7819 2605.50 0.28\n",
|
|
" candidates for 2370.5, -0.2782029938616636:\n",
|
|
" 8.4892 2728.50 -0.14\n",
|
|
" 8.1897 2651.00 -0.18\n",
|
|
" 4.5779 2761.50 0.14\n",
|
|
" 3.9056 2605.50 0.28\n",
|
|
" 1.7334 2480.50 -0.42\n",
|
|
" candidates for 2605.5, 0.2817317886223028:\n",
|
|
" 2.0220 2761.50 0.14\n",
|
|
" 1.6925 2728.50 -0.14\n",
|
|
" 1.2542 2651.00 -0.18\n",
|
|
"chain candidates:\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x7f8fbf715940>]"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"threshold_factor = 2.0\n",
|
|
"power_avg_width = 1024\n",
|
|
"\n",
|
|
"bit_period = (2**nbits) * decimation\n",
|
|
"peak_group_threshold = 0.1 * bit_period\n",
|
|
"\n",
|
|
"cor_an = cor1\n",
|
|
"\n",
|
|
"fig, (ax1, ax2, ax3) = plt.subplots(3, figsize=(12, 12))\n",
|
|
"fig.tight_layout()\n",
|
|
"\n",
|
|
"ax1.matshow(sig.cwt(cor_an, sig.ricker, np.arange(1, 31)), aspect='auto')\n",
|
|
"\n",
|
|
"for i in np.linspace(1, 10, 19):\n",
|
|
" offx = 5*i\n",
|
|
" ax2.plot(sig.cwt(cor_an, sig.ricker, [i]).flatten() + offx, color='red')\n",
|
|
"\n",
|
|
" ax2.text(-50, offx, f'{i:.1f}',\n",
|
|
" horizontalalignment='right',\n",
|
|
" verticalalignment='center',\n",
|
|
" color='black')\n",
|
|
"ax2.grid()\n",
|
|
"\n",
|
|
"ax3.grid()\n",
|
|
"\n",
|
|
"cwt_res = sig.cwt(cor_an, sig.ricker, [7.3]).flatten()\n",
|
|
"line, = ax3.plot(cwt_res)\n",
|
|
"def update(w=10.0):\n",
|
|
" line.set_ydata(sig.cwt(cor_an, sig.ricker, [w]).flatten())\n",
|
|
" fig.canvas.draw_idle()\n",
|
|
"ipywidgets.interact(update)\n",
|
|
"\n",
|
|
"\n",
|
|
"th = np.convolve(np.abs(cwt_res), np.ones((power_avg_width,))/power_avg_width, mode='same')\n",
|
|
"peaks = [ list(group) for val, group in itertools.groupby(enumerate(zip(th, cwt_res)), lambda elem: abs(elem[1][1]) > elem[1][0]*threshold_factor) if val ]\n",
|
|
"peak_group = []\n",
|
|
"for group in peaks:\n",
|
|
" pos = np.mean([idx for idx, _val in group])\n",
|
|
" pol = np.mean([val for _idx, (_th, val) in group])\n",
|
|
" \n",
|
|
" if not peak_group or pos - peak_group[-1][1] > peak_group_threshold:\n",
|
|
" if peak_group:\n",
|
|
" peak_pos = peak_group[-1][3]\n",
|
|
" ax3.axvline(peak_pos, color='red', alpha=0.3)\n",
|
|
" #ax3.text(peak_pos-20, 2.0, f'{0 if pol < 0 else 1}', horizontalalignment='right', verticalalignment='center', color='black')\n",
|
|
" \n",
|
|
" peak_group.append((pos, pos, pol, pos))\n",
|
|
" #ax3.axvline(pos, color='cyan', alpha=0.5)\n",
|
|
" \n",
|
|
" else:\n",
|
|
" group_start, last_pos, last_pol, peak_pos = peak_group[-1]\n",
|
|
" \n",
|
|
" if abs(pol) > abs(last_pol):\n",
|
|
" #ax3.axvline(pos, color='magenta', alpha=0.5)\n",
|
|
" peak_group[-1] = (group_start, pos, pol, pos)\n",
|
|
" else:\n",
|
|
" #ax3.axvline(pos, color='blue', alpha=0.5)\n",
|
|
" peak_group[-1] = (group_start, pos, last_pol, peak_pos)\n",
|
|
"\n",
|
|
"def mle_decode(peak_groups, print=print):\n",
|
|
" peak_groups = [ (pos, pol) for _1, _2, pol, pos in peak_groups ]\n",
|
|
" candidates = [ [(pos, pol)] for pos, pol in peak_groups if pos < bit_period*1.5 ]\n",
|
|
" \n",
|
|
" while candidates:\n",
|
|
" chain_candidates = []\n",
|
|
" for chain in candidates:\n",
|
|
" pos, ampl = chain[-1]\n",
|
|
" score_fun = lambda pos, npos, npol: abs(npol)/2 + 1/(abs((npos-pos)/bit_period - 1))\n",
|
|
" next_candidates = sorted([ (score_fun(pos, npos, npol), npos, npol) for npos, npol in peak_groups if pos < npos < pos + bit_period*1.5 ], reverse=True)\n",
|
|
" \n",
|
|
" print(f' candidates for {pos}, {ampl}:')\n",
|
|
" for score, npos, npol in next_candidates:\n",
|
|
" print(f' {score:.4f} {npos:.2f} {npol:.2f}')\n",
|
|
" \n",
|
|
" if len(cor_an) - pos < 1.5*bit_period or not next_candidates:\n",
|
|
" score = sum(score_fun(opos, npos, npol) for (opos, _opol), (npos, npol) in zip(chain[:-1], chain[1:])) / (len(chain)-1)\n",
|
|
" yield score, chain\n",
|
|
" \n",
|
|
" else:\n",
|
|
" for score, npos, npol in next_candidates[:3]:\n",
|
|
" if score > 0.5:\n",
|
|
" chain_candidates.append((score, chain + [(npos, npol)]))\n",
|
|
" print('chain candidates:')\n",
|
|
" for score, chain in sorted(chain_candidates, reverse=True):\n",
|
|
" print(' ', [(score, [(f'{pos:.2f}', f'{pol:.2f}') for pos, pol in chain])])\n",
|
|
" candidates = [ chain for _score, chain in sorted(chain_candidates, reverse=True)[:10] ]\n",
|
|
"\n",
|
|
"res = sorted(mle_decode(peak_group), reverse=True)\n",
|
|
"#for i, (score, chain) in enumerate(res):\n",
|
|
"# print(f'Chain {i}@{score:.4f}: {chain}')\n",
|
|
"(_score, chain), *_ = res\n",
|
|
"for pos, pol in chain:\n",
|
|
" ax3.axvline(pos, color='blue', alpha=0.5)\n",
|
|
" ax3.text(pos-20, 0.0, f'{0 if pol < 0 else 1}', horizontalalignment='right', verticalalignment='center', color='black')\n",
|
|
"\n",
|
|
"ax3.plot(th)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "987be038c1b34e6e9509f7f224bbb620",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x7f8fcb61c850>]"
|
|
]
|
|
},
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, axs = plt.subplots(2, 1, figsize=(9, 7))\n",
|
|
"fig.tight_layout()\n",
|
|
"axs = axs.flatten()\n",
|
|
"for ax in axs:\n",
|
|
" ax.grid()\n",
|
|
" \n",
|
|
"axs[0].plot(cor2_pe_flt2[1::10] - cor2_pe_flt2[:-1:10])\n",
|
|
"a, b = cor2_pe_flt2[1::10] - cor2_pe_flt2[:-1:10], np.array([0.0, -0.5, 1.0, -0.5, 0.0])\n",
|
|
"axs[1].plot(np.convolve(a, b, mode='full'))"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "labenv",
|
|
"language": "python",
|
|
"name": "labenv"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.1"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|