Working gain pattern class

This commit is contained in:
bareissvincent 2024-04-02 18:08:21 +02:00
parent 89c327acd2
commit bf58484dfa
13 changed files with 8728 additions and 5597 deletions

15
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,15 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Current File",
"type": "debugpy",
"request": "launch",
"program": "testing.py",
"console": "integratedTerminal"
}
]
}

View File

@ -0,0 +1,365 @@
#Parameters = {hull_eps=7}
farfield (f=2.45)
Theta [deg.] Phi [deg.] Abs(Dir.)[dBi ] Abs(Theta)[dBi ] Phase(Theta)[deg.] Abs(Phi )[dBi ] Phase(Phi )[deg.] Ax.Ratio[dB ]
------------------------------------------------------------------------------------------------------------------------------------------------------
0.000 0.000 -6.266e-02 -1.493e+01 0.070 -2.066e-01 333.311 2.189e+01
1.000 0.000 -8.928e-02 -1.548e+01 0.977 -2.166e-01 333.744 2.226e+01
2.000 0.000 -1.713e-01 -1.604e+01 1.722 -2.852e-01 334.097 2.261e+01
3.000 0.000 -3.105e-01 -1.661e+01 2.259 -4.136e-01 334.372 2.296e+01
4.000 0.000 -5.095e-01 -1.717e+01 2.533 -6.041e-01 334.571 2.330e+01
5.000 0.000 -7.718e-01 -1.774e+01 2.481 -8.599e-01 334.692 2.365e+01
6.000 0.000 -1.102e+00 -1.830e+01 2.033 -1.186e+00 334.729 2.402e+01
7.000 0.000 -1.506e+00 -1.884e+01 1.115 -1.587e+00 334.674 2.441e+01
8.000 0.000 -1.992e+00 -1.936e+01 359.653 -2.073e+00 334.511 2.485e+01
9.000 0.000 -2.571e+00 -1.982e+01 357.586 -2.654e+00 334.219 2.534e+01
10.000 0.000 -3.256e+00 -2.023e+01 354.880 -3.344e+00 333.762 2.590e+01
11.000 0.000 -4.066e+00 -2.054e+01 351.542 -4.165e+00 333.088 2.654e+01
12.000 0.000 -5.025e+00 -2.073e+01 347.646 -5.144e+00 332.110 2.725e+01
13.000 0.000 -6.169e+00 -2.079e+01 343.336 -6.322e+00 330.684 2.795e+01
14.000 0.000 -7.545e+00 -2.069e+01 338.816 -7.760e+00 328.547 2.833e+01
15.000 0.000 -9.215e+00 -2.045e+01 334.318 -9.555e+00 325.179 2.754e+01
16.000 0.000 -1.125e+01 -2.007e+01 330.057 -1.186e+01 319.405 2.406e+01
17.000 0.000 -1.361e+01 -1.958e+01 326.195 -1.487e+01 308.139 1.725e+01
18.000 0.000 -1.567e+01 -1.900e+01 322.824 -1.839e+01 282.621 8.759e+00
19.000 0.000 -1.569e+01 -1.836e+01 319.975 -1.907e+01 236.712 1.247e+00
20.000 0.000 -1.354e+01 -1.769e+01 317.632 -1.564e+01 204.529 4.172e+00
21.000 0.000 -1.098e+01 -1.701e+01 315.752 -1.222e+01 190.425 7.674e+00
22.000 0.000 -8.724e+00 -1.632e+01 314.278 -9.554e+00 183.502 1.001e+01
23.000 0.000 -6.836e+00 -1.564e+01 313.154 -7.449e+00 179.566 1.164e+01
24.000 0.000 -5.246e+00 -1.498e+01 312.324 -5.735e+00 177.091 1.282e+01
25.000 0.000 -3.890e+00 -1.433e+01 311.740 -4.301e+00 175.428 1.370e+01
26.000 0.000 -2.719e+00 -1.371e+01 311.358 -3.079e+00 174.260 1.438e+01
27.000 0.000 -1.696e+00 -1.311e+01 311.145 -2.021e+00 173.414 1.491e+01
28.000 0.000 -7.952e-01 -1.254e+01 311.069 -1.096e+00 172.792 1.533e+01
29.000 0.000 2.955e-03 -1.200e+01 311.107 -2.802e-01 172.330 1.567e+01
30.000 0.000 7.133e-01 -1.148e+01 311.238 4.427e-01 171.987 1.595e+01
31.000 0.000 1.347e+00 -1.098e+01 311.445 1.086e+00 171.736 1.617e+01
32.000 0.000 1.914e+00 -1.051e+01 311.716 1.658e+00 171.558 1.635e+01
33.000 0.000 2.421e+00 -1.007e+01 312.039 2.168e+00 171.438 1.650e+01
34.000 0.000 2.872e+00 -9.646e+00 312.406 2.622e+00 171.368 1.661e+01
35.000 0.000 3.275e+00 -9.249e+00 312.808 3.025e+00 171.339 1.670e+01
36.000 0.000 3.631e+00 -8.875e+00 313.240 3.380e+00 171.347 1.677e+01
37.000 0.000 3.944e+00 -8.524e+00 313.697 3.691e+00 171.387 1.682e+01
38.000 0.000 4.217e+00 -8.194e+00 314.175 3.960e+00 171.456 1.684e+01
39.000 0.000 4.452e+00 -7.886e+00 314.672 4.190e+00 171.552 1.686e+01
40.000 0.000 4.650e+00 -7.599e+00 315.183 4.383e+00 171.674 1.685e+01
41.000 0.000 4.813e+00 -7.332e+00 315.708 4.540e+00 171.821 1.683e+01
42.000 0.000 4.943e+00 -7.086e+00 316.245 4.662e+00 171.993 1.680e+01
43.000 0.000 5.039e+00 -6.859e+00 316.792 4.749e+00 172.189 1.675e+01
44.000 0.000 5.104e+00 -6.651e+00 317.349 4.804e+00 172.410 1.669e+01
45.000 0.000 5.136e+00 -6.463e+00 317.914 4.825e+00 172.657 1.661e+01
46.000 0.000 5.138e+00 -6.293e+00 318.488 4.813e+00 172.932 1.651e+01
47.000 0.000 5.107e+00 -6.141e+00 319.070 4.769e+00 173.236 1.640e+01
48.000 0.000 5.046e+00 -6.008e+00 319.660 4.691e+00 173.572 1.628e+01
49.000 0.000 4.953e+00 -5.893e+00 320.258 4.580e+00 173.942 1.613e+01
50.000 0.000 4.829e+00 -5.795e+00 320.864 4.435e+00 174.351 1.597e+01
51.000 0.000 4.672e+00 -5.715e+00 321.479 4.255e+00 174.803 1.578e+01
52.000 0.000 4.481e+00 -5.652e+00 322.101 4.039e+00 175.303 1.557e+01
53.000 0.000 4.257e+00 -5.607e+00 322.733 3.785e+00 175.859 1.534e+01
54.000 0.000 3.998e+00 -5.579e+00 323.374 3.491e+00 176.478 1.507e+01
55.000 0.000 3.703e+00 -5.568e+00 324.025 3.156e+00 177.171 1.478e+01
56.000 0.000 3.370e+00 -5.574e+00 324.687 2.778e+00 177.952 1.445e+01
57.000 0.000 2.998e+00 -5.597e+00 325.360 2.352e+00 178.836 1.408e+01
58.000 0.000 2.585e+00 -5.638e+00 326.045 1.876e+00 179.844 1.366e+01
59.000 0.000 2.129e+00 -5.695e+00 326.743 1.345e+00 181.005 1.319e+01
60.000 0.000 1.628e+00 -5.769e+00 327.454 7.549e-01 182.352 1.266e+01
61.000 0.000 1.080e+00 -5.861e+00 328.179 9.872e-02 183.935 1.207e+01
62.000 0.000 4.841e-01 -5.970e+00 328.921 -6.300e-01 185.817 1.139e+01
63.000 0.000 -1.608e-01 -6.096e+00 329.678 -1.439e+00 188.087 1.063e+01
64.000 0.000 -8.534e-01 -6.240e+00 330.454 -2.337e+00 190.871 9.761e+00
65.000 0.000 -1.590e+00 -6.401e+00 331.248 -3.331e+00 194.346 8.781e+00
66.000 0.000 -2.360e+00 -6.580e+00 332.062 -4.426e+00 198.772 7.674e+00
67.000 0.000 -3.148e+00 -6.777e+00 332.897 -5.616e+00 204.522 6.432e+00
68.000 0.000 -3.921e+00 -6.992e+00 333.755 -6.871e+00 212.111 5.063e+00
69.000 0.000 -4.634e+00 -7.226e+00 334.636 -8.107e+00 222.157 3.614e+00
70.000 0.000 -5.222e+00 -7.477e+00 335.543 -9.148e+00 235.106 2.314e+00
71.000 0.000 -5.618e+00 -7.748e+00 336.477 -9.733e+00 250.545 2.081e+00
72.000 0.000 -5.768e+00 -8.038e+00 337.439 -9.671e+00 266.664 3.405e+00
73.000 0.000 -5.661e+00 -8.347e+00 338.430 -9.022e+00 281.158 5.304e+00
74.000 0.000 -5.333e+00 -8.675e+00 339.453 -8.035e+00 292.820 7.345e+00
75.000 0.000 -4.850e+00 -9.023e+00 340.508 -6.943e+00 301.711 9.380e+00
76.000 0.000 -4.279e+00 -9.391e+00 341.596 -5.879e+00 308.410 1.133e+01
77.000 0.000 -3.678e+00 -9.780e+00 342.719 -4.900e+00 313.506 1.314e+01
78.000 0.000 -3.083e+00 -1.019e+01 343.876 -4.024e+00 317.451 1.479e+01
79.000 0.000 -2.519e+00 -1.062e+01 345.068 -3.250e+00 320.564 1.627e+01
80.000 0.000 -1.999e+00 -1.107e+01 346.295 -2.573e+00 323.063 1.757e+01
81.000 0.000 -1.529e+00 -1.154e+01 347.556 -1.986e+00 325.102 1.871e+01
82.000 0.000 -1.114e+00 -1.203e+01 348.847 -1.481e+00 326.788 1.970e+01
83.000 0.000 -7.527e-01 -1.254e+01 350.165 -1.050e+00 328.196 2.055e+01
84.000 0.000 -4.458e-01 -1.308e+01 351.504 -6.895e-01 329.383 2.129e+01
85.000 0.000 -1.924e-01 -1.363e+01 352.856 -3.937e-01 330.389 2.194e+01
86.000 0.000 8.526e-03 -1.421e+01 354.209 -1.592e-01 331.245 2.251e+01
87.000 0.000 1.576e-01 -1.480e+01 355.550 1.681e-02 331.973 2.302e+01
88.000 0.000 2.554e-01 -1.542e+01 356.857 1.363e-01 332.590 2.348e+01
89.000 0.000 3.021e-01 -1.606e+01 358.104 2.004e-01 333.109 2.391e+01
90.000 0.000 2.973e-01 -1.671e+01 359.257 2.099e-01 333.540 2.431e+01
91.000 0.000 2.404e-01 -1.738e+01 0.274 1.646e-01 333.887 2.471e+01
92.000 0.000 1.299e-01 -1.807e+01 1.100 6.370e-02 334.154 2.511e+01
93.000 0.000 -3.597e-02 -1.877e+01 1.668 -9.448e-02 334.342 2.553e+01
94.000 0.000 -2.601e-01 -1.948e+01 1.893 -3.123e-01 334.450 2.598e+01
95.000 0.000 -5.460e-01 -2.020e+01 1.676 -5.933e-01 334.471 2.648e+01
96.000 0.000 -8.986e-01 -2.091e+01 0.900 -9.421e-01 334.398 2.704e+01
97.000 0.000 -1.324e+00 -2.160e+01 359.438 -1.365e+00 334.217 2.771e+01
98.000 0.000 -1.830e+00 -2.224e+01 357.164 -1.870e+00 333.907 2.851e+01
99.000 0.000 -2.427e+00 -2.281e+01 353.980 -2.467e+00 333.439 2.951e+01
100.000 0.000 -3.130e+00 -2.326e+01 349.861 -3.172e+00 332.767 3.080e+01
101.000 0.000 -3.955e+00 -2.355e+01 344.904 -4.003e+00 331.824 3.254e+01
102.000 0.000 -4.928e+00 -2.363e+01 339.361 -4.987e+00 330.499 3.500e+01
103.000 0.000 -6.082e+00 -2.348e+01 333.615 -6.162e+00 328.613 3.866e+01
104.000 0.000 -7.460e+00 -2.311e+01 328.087 -7.580e+00 325.841 4.000e+01
105.000 0.000 -9.118e+00 -2.255e+01 323.118 -9.319e+00 321.561 4.000e+01
106.000 0.000 -1.110e+01 -2.186e+01 318.904 -1.148e+01 314.454 3.334e+01
107.000 0.000 -1.332e+01 -2.109e+01 315.499 -1.412e+01 301.463 2.079e+01
108.000 0.000 -1.511e+01 -2.026e+01 312.857 -1.670e+01 276.378 1.051e+01
109.000 0.000 -1.498e+01 -1.942e+01 310.884 -1.692e+01 239.544 3.846e+00
110.000 0.000 -1.298e+01 -1.859e+01 309.470 -1.438e+01 211.779 4.381e+00
111.000 0.000 -1.059e+01 -1.777e+01 308.511 -1.152e+01 197.210 7.200e+00
112.000 0.000 -8.451e+00 -1.697e+01 307.914 -9.109e+00 189.352 9.354e+00
113.000 0.000 -6.633e+00 -1.621e+01 307.606 -7.141e+00 184.670 1.093e+01
114.000 0.000 -5.091e+00 -1.548e+01 307.523 -5.508e+00 181.644 1.211e+01
115.000 0.000 -3.769e+00 -1.478e+01 307.616 -4.127e+00 179.572 1.302e+01
116.000 0.000 -2.623e+00 -1.411e+01 307.848 -2.943e+00 178.092 1.373e+01
117.000 0.000 -1.620e+00 -1.347e+01 308.187 -1.913e+00 177.005 1.430e+01
118.000 0.000 -7.349e-01 -1.287e+01 308.609 -1.009e+00 176.192 1.476e+01
119.000 0.000 5.002e-02 -1.229e+01 309.095 -2.110e-01 175.576 1.513e+01
120.000 0.000 7.493e-01 -1.175e+01 309.631 4.977e-01 175.108 1.544e+01
121.000 0.000 1.374e+00 -1.123e+01 310.205 1.129e+00 174.755 1.570e+01
122.000 0.000 1.933e+00 -1.074e+01 310.808 1.692e+00 174.491 1.591e+01
123.000 0.000 2.433e+00 -1.028e+01 311.432 2.194e+00 174.302 1.608e+01
124.000 0.000 2.879e+00 -9.842e+00 312.072 2.640e+00 174.172 1.623e+01
125.000 0.000 3.276e+00 -9.430e+00 312.724 3.037e+00 174.095 1.634e+01
126.000 0.000 3.629e+00 -9.043e+00 313.384 3.387e+00 174.061 1.644e+01
127.000 0.000 3.939e+00 -8.678e+00 314.050 3.694e+00 174.067 1.650e+01
128.000 0.000 4.210e+00 -8.336e+00 314.719 3.961e+00 174.108 1.655e+01
129.000 0.000 4.443e+00 -8.016e+00 315.391 4.189e+00 174.182 1.659e+01
130.000 0.000 4.640e+00 -7.718e+00 316.064 4.380e+00 174.286 1.660e+01
131.000 0.000 4.804e+00 -7.440e+00 316.737 4.536e+00 174.418 1.660e+01
132.000 0.000 4.934e+00 -7.183e+00 317.410 4.658e+00 174.580 1.658e+01
133.000 0.000 5.032e+00 -6.945e+00 318.082 4.747e+00 174.769 1.655e+01
134.000 0.000 5.098e+00 -6.727e+00 318.754 4.803e+00 174.986 1.650e+01
135.000 0.000 5.134e+00 -6.528e+00 319.425 4.827e+00 175.232 1.643e+01
136.000 0.000 5.139e+00 -6.348e+00 320.096 4.819e+00 175.509 1.635e+01
137.000 0.000 5.114e+00 -6.185e+00 320.766 4.779e+00 175.817 1.625e+01
138.000 0.000 5.058e+00 -6.041e+00 321.436 4.707e+00 176.160 1.613e+01
139.000 0.000 4.972e+00 -5.915e+00 322.106 4.602e+00 176.540 1.599e+01
140.000 0.000 4.855e+00 -5.806e+00 322.777 4.465e+00 176.961 1.583e+01
141.000 0.000 4.706e+00 -5.714e+00 323.448 4.293e+00 177.427 1.565e+01
142.000 0.000 4.526e+00 -5.639e+00 324.121 4.087e+00 177.944 1.545e+01
143.000 0.000 4.314e+00 -5.582e+00 324.795 3.845e+00 178.518 1.522e+01
144.000 0.000 4.068e+00 -5.541e+00 325.472 3.565e+00 179.158 1.496e+01
145.000 0.000 3.787e+00 -5.517e+00 326.152 3.245e+00 179.875 1.467e+01
146.000 0.000 3.471e+00 -5.509e+00 326.834 2.884e+00 180.680 1.434e+01
147.000 0.000 3.118e+00 -5.518e+00 327.521 2.479e+00 181.590 1.397e+01
148.000 0.000 2.727e+00 -5.544e+00 328.212 2.026e+00 182.625 1.355e+01
149.000 0.000 2.295e+00 -5.586e+00 328.907 1.523e+00 183.812 1.309e+01
150.000 0.000 1.822e+00 -5.645e+00 329.608 9.641e-01 185.184 1.256e+01
151.000 0.000 1.306e+00 -5.720e+00 330.314 3.455e-01 186.784 1.197e+01
152.000 0.000 7.456e-01 -5.812e+00 331.027 -3.387e-01 188.673 1.130e+01
153.000 0.000 1.414e-01 -5.920e+00 331.747 -1.094e+00 190.931 1.055e+01
154.000 0.000 -5.055e-01 -6.045e+00 332.475 -1.928e+00 193.665 9.707e+00
155.000 0.000 -1.191e+00 -6.187e+00 333.210 -2.844e+00 197.030 8.756e+00
156.000 0.000 -1.907e+00 -6.346e+00 333.953 -3.844e+00 201.239 7.687e+00
157.000 0.000 -2.639e+00 -6.523e+00 334.706 -4.923e+00 206.585 6.494e+00
158.000 0.000 -3.363e+00 -6.716e+00 335.468 -6.055e+00 213.463 5.173e+00
159.000 0.000 -4.040e+00 -6.927e+00 336.239 -7.177e+00 222.331 3.743e+00
160.000 0.000 -4.621e+00 -7.155e+00 337.020 -8.167e+00 233.554 2.299e+00
161.000 0.000 -5.049e+00 -7.401e+00 337.811 -8.836e+00 246.997 1.440e+00
162.000 0.000 -5.275e+00 -7.666e+00 338.613 -9.009e+00 261.589 2.403e+00
163.000 0.000 -5.276e+00 -7.948e+00 339.424 -8.653e+00 275.581 4.175e+00
164.000 0.000 -5.067e+00 -8.249e+00 340.244 -7.912e+00 287.593 6.122e+00
165.000 0.000 -4.693e+00 -8.569e+00 341.074 -6.981e+00 297.209 8.100e+00
166.000 0.000 -4.210e+00 -8.908e+00 341.911 -6.008e+00 304.681 1.004e+01
167.000 0.000 -3.673e+00 -9.266e+00 342.756 -5.075e+00 310.466 1.190e+01
168.000 0.000 -3.122e+00 -9.644e+00 343.604 -4.217e+00 314.986 1.364e+01
169.000 0.000 -2.585e+00 -1.004e+01 344.455 -3.445e+00 318.567 1.526e+01
170.000 0.000 -2.079e+00 -1.046e+01 345.304 -2.761e+00 321.449 1.674e+01
171.000 0.000 -1.615e+00 -1.089e+01 346.148 -2.160e+00 323.800 1.809e+01
172.000 0.000 -1.197e+00 -1.135e+01 346.980 -1.638e+00 325.743 1.932e+01
173.000 0.000 -8.289e-01 -1.183e+01 347.793 -1.188e+00 327.365 2.042e+01
174.000 0.000 -5.108e-01 -1.233e+01 348.578 -8.064e-01 328.732 2.143e+01
175.000 0.000 -2.429e-01 -1.285e+01 349.323 -4.882e-01 329.890 2.236e+01
176.000 0.000 -2.485e-02 -1.338e+01 350.014 -2.301e-01 330.876 2.321e+01
177.000 0.000 1.437e-01 -1.394e+01 350.633 -2.931e-02 331.716 2.401e+01
178.000 0.000 2.632e-01 -1.451e+01 351.157 1.161e-01 332.431 2.476e+01
179.000 0.000 3.336e-01 -1.511e+01 351.559 2.077e-01 333.037 2.550e+01
180.000 0.000 3.549e-01 -1.571e+01 351.805 2.461e-01 333.544 2.624e+01
179.000 180.000 3.263e-01 -1.633e+01 171.858 2.316e-01 153.961 2.698e+01
178.000 180.000 2.469e-01 -1.696e+01 171.669 1.635e-01 154.293 2.777e+01
177.000 180.000 1.150e-01 -1.759e+01 171.184 4.077e-02 154.543 2.863e+01
176.000 180.000 -7.152e-02 -1.822e+01 170.343 -1.386e-01 154.711 2.959e+01
175.000 180.000 -3.158e-01 -1.883e+01 169.084 -3.774e-01 154.793 3.072e+01
174.000 180.000 -6.216e-01 -1.941e+01 167.348 -6.794e-01 154.785 3.209e+01
173.000 180.000 -9.939e-01 -1.994e+01 165.089 -1.050e+00 154.675 3.386e+01
172.000 180.000 -1.439e+00 -2.040e+01 162.289 -1.495e+00 154.449 3.632e+01
171.000 180.000 -1.966e+00 -2.077e+01 158.977 -2.024e+00 154.083 4.000e+01
170.000 180.000 -2.585e+00 -2.101e+01 155.242 -2.648e+00 153.544 4.000e+01
169.000 180.000 -3.309e+00 -2.112e+01 151.231 -3.382e+00 152.781 4.000e+01
168.000 180.000 -4.158e+00 -2.107e+01 147.143 -4.247e+00 151.715 3.897e+01
167.000 180.000 -5.154e+00 -2.088e+01 143.183 -5.272e+00 150.221 3.408e+01
166.000 180.000 -6.330e+00 -2.056e+01 139.535 -6.497e+00 148.086 3.094e+01
165.000 180.000 -7.721e+00 -2.012e+01 136.327 -7.978e+00 144.927 2.915e+01
164.000 180.000 -9.365e+00 -1.961e+01 133.625 -9.797e+00 139.996 2.976e+01
163.000 180.000 -1.125e+01 -1.903e+01 131.439 -1.205e+01 131.675 4.000e+01
162.000 180.000 -1.316e+01 -1.841e+01 129.742 -1.470e+01 116.290 1.936e+01
161.000 180.000 -1.429e+01 -1.778e+01 128.486 -1.687e+01 87.803 8.681e+00
160.000 180.000 -1.366e+01 -1.714e+01 127.612 -1.625e+01 52.171 2.404e+00
159.000 180.000 -1.176e+01 -1.649e+01 127.061 -1.354e+01 28.436 3.238e+00
158.000 180.000 -9.642e+00 -1.586e+01 126.778 -1.083e+01 15.925 6.077e+00
157.000 180.000 -7.716e+00 -1.524e+01 126.714 -8.561e+00 8.938 8.213e+00
156.000 180.000 -6.048e+00 -1.464e+01 126.828 -6.695e+00 4.653 9.824e+00
155.000 180.000 -4.611e+00 -1.405e+01 127.084 -5.135e+00 1.825 1.107e+01
154.000 180.000 -3.366e+00 -1.349e+01 127.454 -3.810e+00 359.854 1.207e+01
153.000 180.000 -2.277e+00 -1.294e+01 127.913 -2.666e+00 358.427 1.287e+01
152.000 180.000 -1.318e+00 -1.242e+01 128.441 -1.669e+00 357.366 1.353e+01
151.000 180.000 -4.683e-01 -1.192e+01 129.024 -7.907e-01 356.562 1.409e+01
150.000 180.000 2.884e-01 -1.144e+01 129.648 -1.328e-02 355.946 1.455e+01
149.000 180.000 9.645e-01 -1.099e+01 130.302 6.782e-01 355.471 1.495e+01
148.000 180.000 1.570e+00 -1.055e+01 130.980 1.295e+00 355.105 1.529e+01
147.000 180.000 2.112e+00 -1.014e+01 131.674 1.846e+00 354.827 1.558e+01
146.000 180.000 2.598e+00 -9.747e+00 132.380 2.337e+00 354.620 1.583e+01
145.000 180.000 3.032e+00 -9.375e+00 133.092 2.775e+00 354.472 1.605e+01
144.000 180.000 3.419e+00 -9.024e+00 133.810 3.164e+00 354.374 1.623e+01
143.000 180.000 3.762e+00 -8.693e+00 134.529 3.508e+00 354.319 1.639e+01
142.000 180.000 4.064e+00 -8.382e+00 135.248 3.809e+00 354.302 1.652e+01
141.000 180.000 4.327e+00 -8.091e+00 135.966 4.070e+00 354.320 1.663e+01
140.000 180.000 4.553e+00 -7.819e+00 136.682 4.294e+00 354.370 1.672e+01
139.000 180.000 4.744e+00 -7.565e+00 137.395 4.481e+00 354.449 1.679e+01
138.000 180.000 4.901e+00 -7.331e+00 138.106 4.633e+00 354.557 1.684e+01
137.000 180.000 5.025e+00 -7.115e+00 138.814 4.751e+00 354.692 1.688e+01
136.000 180.000 5.117e+00 -6.917e+00 139.519 4.837e+00 354.854 1.690e+01
135.000 180.000 5.178e+00 -6.737e+00 140.222 4.889e+00 355.044 1.690e+01
134.000 180.000 5.208e+00 -6.575e+00 140.922 4.910e+00 355.263 1.688e+01
133.000 180.000 5.207e+00 -6.431e+00 141.621 4.899e+00 355.511 1.684e+01
132.000 180.000 5.176e+00 -6.304e+00 142.319 4.855e+00 355.791 1.679e+01
131.000 180.000 5.114e+00 -6.194e+00 143.016 4.780e+00 356.104 1.672e+01
130.000 180.000 5.020e+00 -6.102e+00 143.713 4.671e+00 356.453 1.662e+01
129.000 180.000 4.896e+00 -6.026e+00 144.410 4.530e+00 356.843 1.651e+01
128.000 180.000 4.739e+00 -5.968e+00 145.110 4.354e+00 357.277 1.637e+01
127.000 180.000 4.550e+00 -5.926e+00 145.812 4.143e+00 357.760 1.621e+01
126.000 180.000 4.328e+00 -5.901e+00 146.517 3.895e+00 358.301 1.602e+01
125.000 180.000 4.071e+00 -5.893e+00 147.226 3.609e+00 358.907 1.579e+01
124.000 180.000 3.777e+00 -5.902e+00 147.941 3.283e+00 359.588 1.554e+01
123.000 180.000 3.447e+00 -5.928e+00 148.662 2.914e+00 0.357 1.524e+01
122.000 180.000 3.077e+00 -5.971e+00 149.389 2.499e+00 1.231 1.490e+01
121.000 180.000 2.666e+00 -6.030e+00 150.125 2.036e+00 2.230 1.451e+01
120.000 180.000 2.212e+00 -6.107e+00 150.871 1.520e+00 3.380 1.407e+01
119.000 180.000 1.713e+00 -6.200e+00 151.627 9.467e-01 4.717 1.356e+01
118.000 180.000 1.166e+00 -6.311e+00 152.394 3.105e-01 6.286 1.298e+01
117.000 180.000 5.697e-01 -6.439e+00 153.175 -3.946e-01 8.150 1.231e+01
116.000 180.000 -7.715e-02 -6.585e+00 153.970 -1.176e+00 10.391 1.155e+01
115.000 180.000 -7.746e-01 -6.748e+00 154.781 -2.040e+00 13.128 1.067e+01
114.000 180.000 -1.520e+00 -6.929e+00 155.610 -2.994e+00 16.526 9.669e+00
113.000 180.000 -2.305e+00 -7.128e+00 156.457 -4.040e+00 20.820 8.525e+00
112.000 180.000 -3.115e+00 -7.345e+00 157.325 -5.174e+00 26.343 7.224e+00
111.000 180.000 -3.921e+00 -7.581e+00 158.215 -6.367e+00 33.547 5.757e+00
110.000 180.000 -4.678e+00 -7.836e+00 159.129 -7.546e+00 42.968 4.122e+00
109.000 180.000 -5.321e+00 -8.110e+00 160.069 -8.565e+00 55.017 2.354e+00
108.000 180.000 -5.773e+00 -8.403e+00 161.036 -9.201e+00 69.445 8.332e-01
107.000 180.000 -5.971e+00 -8.716e+00 162.033 -9.264e+00 84.843 2.035e+00
106.000 180.000 -5.892e+00 -9.048e+00 163.061 -8.761e+00 99.160 4.112e+00
105.000 180.000 -5.570e+00 -9.401e+00 164.122 -7.890e+00 111.051 6.247e+00
104.000 180.000 -5.073e+00 -9.775e+00 165.218 -6.870e+00 120.323 8.335e+00
103.000 180.000 -4.478e+00 -1.017e+01 166.350 -5.843e+00 127.404 1.032e+01
102.000 180.000 -3.846e+00 -1.058e+01 167.521 -4.881e+00 132.829 1.215e+01
101.000 180.000 -3.221e+00 -1.102e+01 168.729 -4.009e+00 137.043 1.383e+01
100.000 180.000 -2.627e+00 -1.148e+01 169.977 -3.233e+00 140.372 1.533e+01
99.000 180.000 -2.079e+00 -1.196e+01 171.264 -2.550e+00 143.046 1.667e+01
98.000 180.000 -1.584e+00 -1.246e+01 172.588 -1.954e+00 145.228 1.786e+01
97.000 180.000 -1.144e+00 -1.298e+01 173.947 -1.439e+00 147.032 1.891e+01
96.000 180.000 -7.616e-01 -1.353e+01 175.335 -9.976e-01 148.541 1.983e+01
95.000 180.000 -4.347e-01 -1.410e+01 176.747 -6.257e-01 149.814 2.066e+01
94.000 180.000 -1.625e-01 -1.468e+01 178.172 -3.185e-01 150.896 2.139e+01
93.000 180.000 5.613e-02 -1.530e+01 179.596 -7.241e-02 151.820 2.206e+01
92.000 180.000 2.221e-01 -1.593e+01 181.001 1.154e-01 152.612 2.267e+01
91.000 180.000 3.362e-01 -1.658e+01 182.359 2.469e-01 153.291 2.323e+01
90.000 180.000 3.987e-01 -1.725e+01 183.639 3.235e-01 153.871 2.377e+01
89.000 180.000 4.095e-01 -1.795e+01 184.796 3.456e-01 154.363 2.430e+01
88.000 180.000 3.680e-01 -1.866e+01 185.775 3.133e-01 154.775 2.482e+01
87.000 180.000 2.731e-01 -1.939e+01 186.504 2.258e-01 155.112 2.535e+01
86.000 180.000 1.229e-01 -2.013e+01 186.892 8.170e-02 155.377 2.590e+01
85.000 180.000 -8.513e-02 -2.088e+01 186.831 -1.214e-01 155.571 2.651e+01
84.000 180.000 -3.544e-01 -2.163e+01 186.188 -3.869e-01 155.693 2.718e+01
83.000 180.000 -6.895e-01 -2.237e+01 184.810 -7.191e-01 155.737 2.796e+01
82.000 180.000 -1.096e+00 -2.307e+01 182.539 -1.124e+00 155.695 2.889e+01
81.000 180.000 -1.583e+00 -2.370e+01 179.236 -1.610e+00 155.554 3.006e+01
80.000 180.000 -2.159e+00 -2.421e+01 174.834 -2.186e+00 155.294 3.158e+01
79.000 180.000 -2.838e+00 -2.454e+01 169.415 -2.868e+00 154.886 3.374e+01
78.000 180.000 -3.639e+00 -2.464e+01 163.262 -3.673e+00 154.281 3.716e+01
77.000 180.000 -4.585e+00 -2.447e+01 156.843 -4.629e+00 153.407 4.000e+01
76.000 180.000 -5.710e+00 -2.405e+01 150.682 -5.774e+00 152.139 4.000e+01
75.000 180.000 -7.062e+00 -2.342e+01 145.200 -7.163e+00 150.257 3.756e+01
74.000 180.000 -8.707e+00 -2.265e+01 140.619 -8.886e+00 147.331 3.276e+01
73.000 180.000 -1.073e+01 -2.179e+01 136.979 -1.108e+01 142.422 3.187e+01
72.000 180.000 -1.317e+01 -2.088e+01 134.202 -1.397e+01 133.108 4.000e+01
71.000 180.000 -1.563e+01 -1.997e+01 132.158 -1.761e+01 112.200 1.543e+01
70.000 180.000 -1.630e+01 -1.907e+01 130.713 -1.956e+01 67.932 4.321e+00
69.000 180.000 -1.426e+01 -1.820e+01 129.743 -1.650e+01 29.287 2.338e+00
68.000 180.000 -1.152e+01 -1.736e+01 129.145 -1.283e+01 12.424 6.300e+00
67.000 180.000 -9.114e+00 -1.655e+01 128.836 -9.978e+00 4.570 8.904e+00
66.000 180.000 -7.118e+00 -1.578e+01 128.751 -7.753e+00 0.255 1.072e+01
65.000 180.000 -5.454e+00 -1.504e+01 128.838 -5.960e+00 357.598 1.205e+01
64.000 180.000 -4.046e+00 -1.435e+01 129.058 -4.471e+00 355.836 1.305e+01
63.000 180.000 -2.836e+00 -1.368e+01 129.379 -3.209e+00 354.606 1.384e+01
62.000 180.000 -1.783e+00 -1.305e+01 129.778 -2.120e+00 353.720 1.448e+01
61.000 180.000 -8.599e-01 -1.246e+01 130.236 -1.171e+00 353.066 1.499e+01
60.000 180.000 -4.351e-02 -1.189e+01 130.739 -3.370e-01 352.579 1.541e+01
59.000 180.000 6.818e-01 -1.136e+01 131.277 4.013e-01 352.215 1.576e+01
58.000 180.000 1.328e+00 -1.085e+01 131.840 1.057e+00 351.944 1.606e+01
57.000 180.000 1.905e+00 -1.037e+01 132.421 1.640e+00 351.747 1.630e+01
56.000 180.000 2.421e+00 -9.922e+00 133.016 2.160e+00 351.610 1.651e+01
55.000 180.000 2.881e+00 -9.497e+00 133.622 2.622e+00 351.522 1.668e+01
54.000 180.000 3.290e+00 -9.097e+00 134.234 3.031e+00 351.475 1.683e+01
53.000 180.000 3.652e+00 -8.720e+00 134.850 3.393e+00 351.464 1.695e+01
52.000 180.000 3.971e+00 -8.368e+00 135.470 3.710e+00 351.485 1.704e+01
51.000 180.000 4.249e+00 -8.038e+00 136.092 3.984e+00 351.535 1.712e+01
50.000 180.000 4.488e+00 -7.729e+00 136.716 4.219e+00 351.611 1.717e+01
49.000 180.000 4.691e+00 -7.443e+00 137.340 4.417e+00 351.712 1.721e+01
48.000 180.000 4.858e+00 -7.177e+00 137.964 4.578e+00 351.837 1.723e+01
47.000 180.000 4.992e+00 -6.931e+00 138.589 4.703e+00 351.986 1.723e+01
46.000 180.000 5.092e+00 -6.705e+00 139.215 4.795e+00 352.158 1.722e+01
45.000 180.000 5.160e+00 -6.499e+00 139.841 4.853e+00 352.354 1.719e+01
44.000 180.000 5.196e+00 -6.311e+00 140.469 4.878e+00 352.575 1.715e+01
43.000 180.000 5.201e+00 -6.142e+00 141.098 4.870e+00 352.822 1.709e+01
42.000 180.000 5.174e+00 -5.992e+00 141.730 4.829e+00 353.097 1.701e+01
41.000 180.000 5.117e+00 -5.859e+00 142.364 4.755e+00 353.402 1.692e+01
40.000 180.000 5.027e+00 -5.744e+00 143.001 4.648e+00 353.739 1.680e+01
39.000 180.000 4.906e+00 -5.647e+00 143.643 4.506e+00 354.113 1.667e+01
38.000 180.000 4.753e+00 -5.567e+00 144.289 4.329e+00 354.527 1.651e+01
37.000 180.000 4.566e+00 -5.504e+00 144.941 4.117e+00 354.986 1.633e+01
36.000 180.000 4.346e+00 -5.459e+00 145.599 3.867e+00 355.497 1.612e+01
35.000 180.000 4.091e+00 -5.430e+00 146.264 3.577e+00 356.067 1.589e+01
34.000 180.000 3.801e+00 -5.417e+00 146.936 3.247e+00 356.706 1.562e+01
33.000 180.000 3.472e+00 -5.422e+00 147.618 2.872e+00 357.426 1.531e+01
32.000 180.000 3.105e+00 -5.443e+00 148.309 2.452e+00 358.243 1.497e+01
31.000 180.000 2.697e+00 -5.480e+00 149.012 1.980e+00 359.175 1.457e+01
30.000 180.000 2.247e+00 -5.534e+00 149.725 1.455e+00 0.247 1.413e+01
29.000 180.000 1.752e+00 -5.605e+00 150.452 8.697e-01 1.493 1.362e+01
28.000 180.000 1.210e+00 -5.692e+00 151.192 2.193e-01 2.955 1.305e+01
27.000 180.000 6.213e-01 -5.796e+00 151.947 -5.037e-01 4.692 1.239e+01
26.000 180.000 -1.658e-02 -5.916e+00 152.717 -1.307e+00 6.787 1.165e+01
25.000 180.000 -7.024e-01 -6.052e+00 153.505 -2.201e+00 9.353 1.080e+01
24.000 180.000 -1.433e+00 -6.206e+00 154.312 -3.193e+00 12.555 9.842e+00
23.000 180.000 -2.200e+00 -6.376e+00 155.138 -4.292e+00 16.635 8.758e+00
22.000 180.000 -2.988e+00 -6.563e+00 155.984 -5.498e+00 21.945 7.544e+00
21.000 180.000 -3.769e+00 -6.766e+00 156.853 -6.792e+00 28.993 6.209e+00
20.000 180.000 -4.501e+00 -6.987e+00 157.745 -8.108e+00 38.446 4.795e+00
19.000 180.000 -5.125e+00 -7.225e+00 158.661 -9.288e+00 50.931 3.444e+00
18.000 180.000 -5.571e+00 -7.480e+00 159.603 -1.006e+01 66.384 2.630e+00
17.000 180.000 -5.784e+00 -7.752e+00 160.572 -1.017e+01 83.194 3.108e+00
16.000 180.000 -5.741e+00 -8.041e+00 161.568 -9.602e+00 98.740 4.580e+00
15.000 180.000 -5.470e+00 -8.347e+00 162.593 -8.617e+00 111.345 6.389e+00
14.000 180.000 -5.030e+00 -8.671e+00 163.647 -7.490e+00 120.896 8.256e+00
13.000 180.000 -4.490e+00 -9.012e+00 164.731 -6.381e+00 128.011 1.006e+01
12.000 180.000 -3.909e+00 -9.371e+00 165.844 -5.362e+00 133.358 1.175e+01
11.000 180.000 -3.327e+00 -9.746e+00 166.985 -4.452e+00 137.453 1.329e+01
10.000 180.000 -2.773e+00 -1.014e+01 168.155 -3.653e+00 140.655 1.467e+01
9.000 180.000 -2.260e+00 -1.055e+01 169.349 -2.957e+00 143.206 1.588e+01
8.000 180.000 -1.797e+00 -1.097e+01 170.565 -2.357e+00 145.275 1.695e+01
7.000 180.000 -1.389e+00 -1.142e+01 171.799 -1.843e+00 146.977 1.788e+01
6.000 180.000 -1.035e+00 -1.188e+01 173.044 -1.409e+00 148.393 1.869e+01
5.000 180.000 -7.376e-01 -1.235e+01 174.292 -1.048e+00 149.583 1.940e+01
4.000 180.000 -4.948e-01 -1.284e+01 175.531 -7.556e-01 150.590 2.002e+01
3.000 180.000 -3.062e-01 -1.334e+01 176.749 -5.277e-01 151.445 2.056e+01
2.000 180.000 -1.715e-01 -1.386e+01 177.927 -3.614e-01 152.172 2.105e+01
1.000 180.000 -9.026e-02 -1.439e+01 179.043 -2.547e-01 152.790 2.149e+01

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -2,9 +2,18 @@
"cells": [ "cells": [
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 1, "execution_count": 3,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n"
]
}
],
"source": [ "source": [
"%load_ext autoreload\n", "%load_ext autoreload\n",
"%autoreload 2\n", "%autoreload 2\n",
@ -33,9 +42,24 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 2, "execution_count": 4,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [
{
"ename": "ModuleNotFoundError",
"evalue": "No module named 'numpy.typing'",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[4], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mspatz\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01msimulation\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Simulation, UniformTimeSteps\n\u001b[0;32m 3\u001b[0m \u001b[38;5;66;03m# Construct a time model.\u001b[39;00m\n\u001b[0;32m 4\u001b[0m timesteps \u001b[38;5;241m=\u001b[39m UniformTimeSteps(\u001b[38;5;241m0.1\u001b[39m, mu\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m, sigma\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m, delay_only\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n",
"File \u001b[1;32mc:\\Users\\Vincent\\Documents\\Projekte\\STA\\STAHR\\SPATZ\\spatz\\__init__.py:7\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mspatz\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mutils\u001b[39;00m\n\u001b[0;32m 5\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mspatz\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mutils\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[1;32m----> 7\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mspatz\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtransforms\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mtransforms\u001b[39;00m\n\u001b[0;32m 8\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mspatz\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtransforms\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n\u001b[0;32m 10\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mspatz\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdataset\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;241m*\u001b[39m\n",
"File \u001b[1;32mc:\\Users\\Vincent\\Documents\\Projekte\\STA\\STAHR\\SPATZ\\spatz\\transforms\\__init__.py:1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mspatz\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtransforms\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtransform\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Transform\n\u001b[0;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mspatz\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtransforms\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mnoise\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m GaussianNoise\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mspatz\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtransforms\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mfailures\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Downtime\n",
"File \u001b[1;32mc:\\Users\\Vincent\\Documents\\Projekte\\STA\\STAHR\\SPATZ\\spatz\\transforms\\transform.py:3\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mnp\u001b[39;00m\n\u001b[1;32m----> 3\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mnumpy\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mtyping\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m ArrayLike\n\u001b[0;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtyping\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Any, Tuple\n\u001b[0;32m 7\u001b[0m \u001b[38;5;28;01mclass\u001b[39;00m \u001b[38;5;21;01mTransform\u001b[39;00m:\n",
"\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'numpy.typing'"
]
}
],
"source": [ "source": [
"from spatz.simulation import Simulation, UniformTimeSteps\n", "from spatz.simulation import Simulation, UniformTimeSteps\n",
"\n", "\n",
@ -436,7 +460,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.12.1" "version": "3.8.1"
} }
}, },
"nbformat": 4, "nbformat": 4,

View File

@ -2,62 +2,113 @@ from numpy.typing import ArrayLike
from typing import List, AnyStr from typing import List, AnyStr
from numpy import matrix from numpy import matrix
from typing import List from typing import List
import re
from io import StringIO
import numpy as np
import pandas as pd import pandas as pd
import math
from spatz.sensors import Sensor # from spatz.sensors import Sensor
from spatz.transforms import Transform # from spatz.transforms import Transform
from spatz.dataset import Dataset # from spatz.dataset import Dataset
from spatz.logger import Logger # from spatz.logger import Logger
''' '''
Sensor to simulate TX antenna gain in direction of ground station Sensor to simulate TX antenna gain in direction of ground station
You will need to supply a gain pattern in the form of a R^3 matrix in the following form:
Returns the gain in dBi per timestep. Returns the gain in dBi per timestep.
gain_pattern: matrix, groundstation_offset_vector gain_pattern: matrix, groundstation_offset_vector
''' '''
class GainPattern(): class GainPattern():
def __init__(self, pattern_file): def __init__(self, filepath: str):
self._df = pd.read_csv(pattern_file,delimiter='\t') # This is a cursed parser. If it breaks, though luck.
print(self._df) with open(filepath,"r") as file:
# Read Header
header = file.readline()
header = re.sub(r'\[(.*?)\]',",",header).replace(" ","").replace(",\n",'\n')
def get_gain(self, phi, theta): # Discard ---- line
phi_left = round(phi,-1) file.readline()
phi_right = round(phi ,-1)
theta_left = theta # Parse to DF
theta_right = theta lines = file.readlines()
clean_csv = header
class AntennaTxGain(Sensor): for line in lines:
cleaned = re.sub(r'\s+',',',line).removeprefix(',').removesuffix(',').strip()
clean_csv = clean_csv + cleaned + '\n'
filelike = StringIO(clean_csv)
self._df = pd.read_csv(filelike)
print(self._df.head())
def __init__(self, dataset: Dataset, logger: Logger, transforms: List[Transform] = []):
super().__init__(dataset, logger, transforms)
def _get_data(self) -> ArrayLike | float:
# Get current position of rocket
[x,y,z] = self._dataset.fetch_values(['x', 'y', 'z'])
# Get current rotation of rocket def __get_gain_internal(self,phi5:float,theta5:float):
[pitch,roll,yaw] = self._dataset.fetch_values(['pitch','roll','yaw']) assert phi5%5 ==0
assert theta5%5==0
# Calculate angle between the vectors row = self._df.loc[(self._df["Theta"] == theta5) & (self._df["Phi"] == phi5)].iloc[0]
return row["Abs(Dir.)"]
# Fetch gain in this direction def get_gain(self, phi, theta) -> float:
assert 0 <= phi <= 180
assert 0 <= theta <= 360
#Interpolate using binlinear interpolation https://en.wikipedia.org/wiki/Bilinear_interpolation
phi_lower = math.floor(phi/5)*5
phi_upper = phi_lower + 5
theta_lower = math.floor(theta/5)*5
theta_upper = theta_lower + 5
return 0 G11 = self.__get_gain_internal(phi_lower,theta_lower)
G12 = self.__get_gain_internal(phi_lower,theta_upper)
G21 = self.__get_gain_internal(phi_upper,theta_lower)
G22 = self.__get_gain_internal(phi_upper,theta_upper)
def _sensor_specific_effects(self, x: ArrayLike) -> ArrayLike: v1 = np.array([phi_upper-phi,phi-phi_lower])
return x v2 = np.array([[theta_upper-theta],[theta-theta_lower]])
A = np.array([[G11,G12],[G21,G22]])
interpolated = 1/25 * v1 @ A @ v2
return interpolated[0]
# class AntennaTxGain(Sensor):
# def __init__(self, dataset: Dataset, logger: Logger, transforms: List[Transform] = []):
# super().__init__(dataset, logger, transforms)
# def _get_data(self) -> ArrayLike | float:
# # Get current position of rocket
# [x,y,z] = self._dataset.fetch_values(['x', 'y', 'z'])
# # Get current rotation of rocket
# [pitch,roll,yaw] = self._dataset.fetch_values(['pitch','roll','yaw'])
# # Calculate angle between the vectors
# # Fetch gain in this direction
# return 0
# def _sensor_specific_effects(self, x: ArrayLike) -> ArrayLike:
# return x
def _get_name(self) -> AnyStr: # def _get_name(self) -> AnyStr:
return 'Generic Antenna TX' # return 'Generic Antenna TX'
if __name__ == '__main__':
pattern = GainPattern("data/gain_pattern/farfield_all.txt")
print(pattern.get_gain(0,12))
print(pattern.get_gain(0,16))
print(pattern.get_gain(6,12))
print(pattern.get_gain(0,10))

10
testing.py Normal file
View File

@ -0,0 +1,10 @@
from spatz.sensors.antenna.tx_gain import GainPattern
import math
pattern = GainPattern("data/gain_pattern/farfield_all.txt")
# pattern.get_gain(41,66)
# pattern.get_gain(40,100)
# pattern.get_gain(10,180)
# pattern.get_gain(0,95)
# pattern.get_gain(21,100)