test and format

master
Gabriele Gilardi 2020-06-27 20:04:14 +09:00
rodzic 87ef343228
commit 5bfdf5575e
8 zmienionych plików z 181 dodań i 2138 usunięć

Wyświetl plik

@ -1,5 +1,5 @@
"""
Signal Filtering/Smoothing and Generation of Synthetic Time-Series.
Signal Filtering and Generation of Synthetic Time-Series.
Copyright (c) 2020 Gabriele Gilardi
@ -17,12 +17,12 @@ na Number of coefficients in array <a>
Notes:
- the filter is applied starting from index idx = MAX(0, nb-1, na-1).
- non filtered data are set equal to the input, i.e. Y[0:idx-1] = X[0:idx-1]
- X needs to be a 1D array.
- X must be a 1D array.
Filter list:
-----------
Generic b, Generic
Generic b, a Generic filter
SMA N Simple moving average
EMA N/alpha Exponential moving average
WMA N Weighted moving average
@ -66,10 +66,11 @@ from scipy import signal
import matplotlib.pyplot as plt
def plot_signals(signals, names=None, start=0):
def plot_signals(signals, names=None, start=0, end=None):
"""
Plot the signals specified in list <signals> with their names specified in
list <names>. Each signal is plotted in its full length.
list <names>. Each signal is plotted in its full length unless differently
specified.
"""
# Identify the signals by index if their name is not specified
if (names is None):
@ -79,12 +80,12 @@ def plot_signals(signals, names=None, start=0):
legend = names
# Loop over the signals
t_max = 0
for signal in signals:
signal = signal.flatten()
end = len(signal)
t = np.arange(start, end)
plt.plot(t, signal[start:end])
t_max = np.amax([t_max, len(signal)])
plt.plot(signal)
# If no name is given use the list index to identify the signals
if (names is None):
@ -96,6 +97,10 @@ def plot_signals(signals, names=None, start=0):
plt.ylabel('Value')
plt.grid(b=True)
plt.legend(legend)
if (end is None):
plt.xlim(start, t_max)
else:
plt.xlim(start, end)
plt.show()
@ -315,7 +320,7 @@ class Filter:
elif (N == 3):
beta = np.exp(-np.pi / P)
alpha = 2.0 * beta * np.cos(1.738 * np.pi / P)
alpha = 2.0 * beta * np.cos(np.sqrt(3.0) * np.pi / P)
wb = np.array([1.0, 1.0]) \
* (1.0 - alpha * (1.0 - beta ** 2.0) - beta ** 4.0) / 2.0
wa = np.array([1.0, - (alpha + beta ** 2.0),
@ -376,7 +381,7 @@ class Filter:
self.b = np.array([1.0 - alpha / 2.0, -(1.0 - alpha / 2.0)])
self.a = np.array([1.0, - (1.0 - alpha)])
Y = self.data - self.data[0, :]
Y = self.data - self.data[0] # Shift to zero
for i in range(N):
Y, self.idx = filter_data(Y, self.b, self.a)
@ -481,7 +486,7 @@ class Filter:
K = np.arange(1, nel)
w = np.zeros(nel)
w[0] = 1.0 / N
w[0] = 1.0 / P
w[1:] = np.sin(np.pi * K / P) / (np.pi * K)
self.b = w
@ -534,7 +539,7 @@ class Filter:
or an array with one value for each sample. For numerical stability it
should be 0 < alpha, beta < 1.
"""
n_samples = len(data)
n_samples = len(self.data)
Y = np.zeros(n_samples)
# Change scalar arguments to arrays if necessary
@ -615,20 +620,27 @@ class Filter:
gamma = (beta ** 2.0) / (2.0 * alpha)
# Apply the alpha-beta-gamma filter
Y = self.abg(alpha=alpha, beta=beta, gamma=gamma, dt=dt)
Y = self.ABG(alpha=alpha, beta=beta, gamma=gamma, dt=dt)
return Y
def plot_frequency(self):
def plot_response(self):
"""
Plots the frequency response (in decibels) of the filter with transfer
response coefficients <b> and <a>.
Plots the frequency response (in decibels) and the lag (group delay)
of the filter with coefficients <b> and <a>.
"""
# Frequency response
w, h = signal.freqz(self.b, self.a)
h_db = 20.0 * np.log10(np.abs(h)) # Convert to decibels
wf = w / (2.0 * np.pi) # Scale to [0, 0.5]
# Plot and format
# Lag / Group delay
w, gd = signal.group_delay((self.b, self.a))
# Scale frequency to [0, 0.5]
wf = w / (2.0 * np.pi)
# Plot and format frequency response
plt.subplot(1, 2, 1)
plt.plot(wf, h_db)
plt.axhline(-3.0, lw=1.5, ls='--', C='r') # -3 dB (50% power loss)
plt.grid(b=True)
@ -637,20 +649,16 @@ class Filter:
plt.ylabel('$h$ [db]')
legend = ['Filter', '-3dB']
plt.legend(legend)
plt.show()
plt.title('Frequency Response', fontweight="bold")
def plot_lag(self):
"""
Plots the lag (group delay) of the filter with transfer response
coefficients <b> and <a>.
"""
w, gd = signal.group_delay((self.b, self.a))
wf = w / (2.0 * np.pi) # Scale to [0, 0.5]
# Plot and format
# Plot and format lag/group delay
plt.subplot(1, 2, 2)
plt.plot(wf, gd)
plt.grid(b=True)
plt.xlim(np.amin(wf), np.amax(wf))
plt.xlabel(r'$\omega$ [rad/sample]')
plt.ylabel('$gd$ [samples]')
plt.title('Lag / Group Delay', fontweight="bold")
# Show plots
plt.show()

Wyświetl plik

@ -1,500 +0,0 @@
107.0614811
107.7330878
108.327428
108.8385632
109.2613865
109.5916731
109.8261228
109.9623932
109.9991226
109.9359441
109.7734889
109.5133803
109.1582171
108.711548
108.177836
107.5624138
106.8714305
106.1117901
105.2910827
104.4175085
103.4997961
102.5471148
101.5689837
100.5751757
99.57562082
98.58030618
97.59917665
96.64203535
95.71844572
94.83763597
94.00840685
93.23904375
92.53723389
91.90998952
91.36357787
90.90345849
90.53422874
90.25957785
90.08225004
90.00401711
90.02566074
90.14696467
90.36671687
90.68272165
91.09182159
91.58992911
92.17206728
92.83241956
93.56438794
94.36065883
95.21327615
96.11372083
97.05299593
98.02171652
99.01020346
100.0085801
101.0068711
101.9951017
102.9633979
103.9020848
104.8017834
105.6535041
106.4487369
107.1795361
107.8385997
108.4193426
108.9159622
109.3234965
109.6378735
109.855952
109.9755531
109.9954818
109.915539
109.7365233
109.4602235
109.0894003
108.6277588
108.0799116
107.4513326
106.7483024
105.9778453
105.1476596
104.2660402
103.3417959
102.3841615
101.4027053
100.4072338
99.40769329
98.41407094
97.43629467
96.4841341
95.5671029
94.69436374
93.87463674
93.11611235
92.42636949
91.81229984
91.28003899
90.8349051
90.48134581
90.22289377
90.06213134
90.00066481
90.03910833
90.17707779
90.41319464
90.74509968
91.16947663
91.68208524
92.27780371
92.95067982
93.6939904
94.50030854
95.36157778
96.26919261
97.21408443
98.18681219
99.17765673
100.1767179
101.1740133
102.1595783
103.1235656
104.0563432
104.9485912
105.7913945
106.5763321
107.2955612
107.9418954
108.5088769
108.9908404
109.3829705
109.681349
109.8829947
109.9858927
109.989015
109.8923304
109.6968049
109.4043921
109.0180138
108.5415304
107.9797029
107.3381448
106.6232664
105.8422105
105.0027812
104.1133657
103.1828509
102.220534
101.2360304
100.2391767
99.23993321
98.24828408
97.27413753
96.32722688
95.41701338
94.55259156
93.74259844
92.99512721
92.31764636
91.71692504
91.19896547
90.76894293
90.43115406
90.18897394
90.04482234
90.00013959
90.05537214
90.20996812
90.46238287
90.81009433
91.24962829
91.77659307
92.38572342
93.07093311
93.82537573
94.64151317
95.51119083
96.42571919
97.37596058
98.35242051
99.3453425
100.3448056
101.3408236
102.3234444
103.2828502
104.2094548
105.094
105.9276476
106.702068
107.4095237
108.0429458
108.5960055
109.0631767
109.4397917
109.7220873
109.9072431
109.993409
109.9797241
109.866325
109.6543449
109.3459018
108.9440775
108.452887
107.877238
107.2228822
106.4963578
105.7049239
104.8564883
103.9595283
103.023006
102.0562788
101.069006
100.071052
99.07238803
98.08299249
97.11275106
96.17135806
95.26821959
94.4123595
93.61232928
92.87612254
92.21109524
91.62389209
91.12038025
90.70559063
90.38366768
90.15782795
90.03032794
90.0024416
90.07444756
90.24562636
90.51426763
90.87768721
91.33225392
91.87342589
92.4957959
93.19314543
93.95850681
94.78423278
95.66207298
96.58325632
97.53857862
98.51849464
99.51321336
100.5127959
101.5072548
102.4866536
103.4412067
104.3613763
105.2379685
106.0622247
106.8259091
107.5213913
108.1417222
108.6807037
109.1329505
109.4939439
109.760077
109.9286906
109.9980999
109.9676116
109.8375302
109.6091554
109.2847692
108.8676126
108.3618537
107.772546
107.1055775
106.3676125
105.5660244
104.7088224
103.8045714
102.8623064
101.8914422
100.9016793
99.90290715
98.9051051
97.91824288
96.95218089
96.0165717
95.12076361
94.27370723
93.48386608
92.75913199
92.10674625
91.5332273
91.04430554
90.64486612
90.33890011
90.12946461
90.01865224
90.0075702
90.09632921
90.28404242
90.56883428
90.94785922
91.41733016
91.97255631
92.60799001
93.31728224
94.09334597
94.92842704
95.81418159
96.74175945
97.70189258
98.68498763
99.68122185
100.6806412
101.6732598
102.6491598
103.5985902
104.5120647
105.3804561
106.1950878
106.9478202
107.6311323
108.2381967
108.7629477
109.2001423
109.545412
109.7953072
109.9473309
109.9999641
109.952681
109.805954
109.5612492
109.2210115
108.7886405
108.2684563
107.6656565
106.9862639
106.2370669
105.4255512
104.5598252
103.6485389
102.7007976
101.7260708
100.7340978
99.7347898
98.73813174
97.75408184
96.79247242
95.86291156
94.97468712
94.13667394
93.35724517
92.64418862
92.0046289
91.44495629
90.97076285
90.58678656
90.29686399
90.10389194
90.00979854
90.01552392
90.12101089
90.32520546
90.62606737
91.02059052
91.50483296
92.0739563
92.72227405
93.44330843
94.22985511
95.07405517
95.96747364
96.90118378
97.86585627
98.85185241
99.84932047
100.8482941
101.8387918
102.8109169
103.7549563
104.6614774
105.5214225
106.3261994
107.0677671
107.7387159
108.332342
108.8427142
109.2647328
109.5941813
109.827768
109.9631588
109.999001
109.9349365
109.7716054
109.5106397
109.1546468
108.7071837
108.1727212
107.5565997
106.8649751
106.104758
105.2835441
104.4095388
103.4914748
102.5385252
101.5602115
100.5663086
99.56674743
98.57151513
97.59055579
96.63367081
95.71042109
94.83003142
94.00129836
93.23250235
92.53132494
91.90477207
91.35910403
90.89977297
90.53136837
90.25757121
90.08111717
90.00376934
90.02630053
90.14848564
90.36910382
90.68595073
91.09586054
91.59473757
92.1775972
92.8386157
93.57118838
94.36799563
95.22107599
96.12190579
97.06148422
98.03042334
99.01904181
100.0174617
101.0157071
102.0038039
102.9718793
103.9102608
104.8095721
105.6608279
106.4555225
107.1857156
107.8441115
108.4241316
108.9199806
109.326704
109.6402381
109.8574502
109.9761699
109.9952109
109.9143831
109.7344941
109.4573413
109.0856938
108.623265
108.0746755
107.4454065
106.7417454
105.970723
105.1400431
104.2580057
103.3334236
102.3755351
101.393911
100.3983594
99.39882755
98.4053024
97.42771095
96.47582096
95.5591434
94.68683741
93.86761879
93.10967289
92.42057287
91.80720397
91.27569478
90.83135597
90.47862722
90.22103288
90.06114674
90.00056634
90.03989698
90.17874567
90.41572509
90.74846742
91.173648
91.68701858
92.28344971
92.95698207
93.70088593
94.50772846
95.36944795
96.27743439
97.22261547
98.19554726
99.18650854
100.185598
101.182833
102.1682495
103.1320015
104.0644597
1 107.0614811
2 107.7330878
3 108.327428
4 108.8385632
5 109.2613865
6 109.5916731
7 109.8261228
8 109.9623932
9 109.9991226
10 109.9359441
11 109.7734889
12 109.5133803
13 109.1582171
14 108.711548
15 108.177836
16 107.5624138
17 106.8714305
18 106.1117901
19 105.2910827
20 104.4175085
21 103.4997961
22 102.5471148
23 101.5689837
24 100.5751757
25 99.57562082
26 98.58030618
27 97.59917665
28 96.64203535
29 95.71844572
30 94.83763597
31 94.00840685
32 93.23904375
33 92.53723389
34 91.90998952
35 91.36357787
36 90.90345849
37 90.53422874
38 90.25957785
39 90.08225004
40 90.00401711
41 90.02566074
42 90.14696467
43 90.36671687
44 90.68272165
45 91.09182159
46 91.58992911
47 92.17206728
48 92.83241956
49 93.56438794
50 94.36065883
51 95.21327615
52 96.11372083
53 97.05299593
54 98.02171652
55 99.01020346
56 100.0085801
57 101.0068711
58 101.9951017
59 102.9633979
60 103.9020848
61 104.8017834
62 105.6535041
63 106.4487369
64 107.1795361
65 107.8385997
66 108.4193426
67 108.9159622
68 109.3234965
69 109.6378735
70 109.855952
71 109.9755531
72 109.9954818
73 109.915539
74 109.7365233
75 109.4602235
76 109.0894003
77 108.6277588
78 108.0799116
79 107.4513326
80 106.7483024
81 105.9778453
82 105.1476596
83 104.2660402
84 103.3417959
85 102.3841615
86 101.4027053
87 100.4072338
88 99.40769329
89 98.41407094
90 97.43629467
91 96.4841341
92 95.5671029
93 94.69436374
94 93.87463674
95 93.11611235
96 92.42636949
97 91.81229984
98 91.28003899
99 90.8349051
100 90.48134581
101 90.22289377
102 90.06213134
103 90.00066481
104 90.03910833
105 90.17707779
106 90.41319464
107 90.74509968
108 91.16947663
109 91.68208524
110 92.27780371
111 92.95067982
112 93.6939904
113 94.50030854
114 95.36157778
115 96.26919261
116 97.21408443
117 98.18681219
118 99.17765673
119 100.1767179
120 101.1740133
121 102.1595783
122 103.1235656
123 104.0563432
124 104.9485912
125 105.7913945
126 106.5763321
127 107.2955612
128 107.9418954
129 108.5088769
130 108.9908404
131 109.3829705
132 109.681349
133 109.8829947
134 109.9858927
135 109.989015
136 109.8923304
137 109.6968049
138 109.4043921
139 109.0180138
140 108.5415304
141 107.9797029
142 107.3381448
143 106.6232664
144 105.8422105
145 105.0027812
146 104.1133657
147 103.1828509
148 102.220534
149 101.2360304
150 100.2391767
151 99.23993321
152 98.24828408
153 97.27413753
154 96.32722688
155 95.41701338
156 94.55259156
157 93.74259844
158 92.99512721
159 92.31764636
160 91.71692504
161 91.19896547
162 90.76894293
163 90.43115406
164 90.18897394
165 90.04482234
166 90.00013959
167 90.05537214
168 90.20996812
169 90.46238287
170 90.81009433
171 91.24962829
172 91.77659307
173 92.38572342
174 93.07093311
175 93.82537573
176 94.64151317
177 95.51119083
178 96.42571919
179 97.37596058
180 98.35242051
181 99.3453425
182 100.3448056
183 101.3408236
184 102.3234444
185 103.2828502
186 104.2094548
187 105.094
188 105.9276476
189 106.702068
190 107.4095237
191 108.0429458
192 108.5960055
193 109.0631767
194 109.4397917
195 109.7220873
196 109.9072431
197 109.993409
198 109.9797241
199 109.866325
200 109.6543449
201 109.3459018
202 108.9440775
203 108.452887
204 107.877238
205 107.2228822
206 106.4963578
207 105.7049239
208 104.8564883
209 103.9595283
210 103.023006
211 102.0562788
212 101.069006
213 100.071052
214 99.07238803
215 98.08299249
216 97.11275106
217 96.17135806
218 95.26821959
219 94.4123595
220 93.61232928
221 92.87612254
222 92.21109524
223 91.62389209
224 91.12038025
225 90.70559063
226 90.38366768
227 90.15782795
228 90.03032794
229 90.0024416
230 90.07444756
231 90.24562636
232 90.51426763
233 90.87768721
234 91.33225392
235 91.87342589
236 92.4957959
237 93.19314543
238 93.95850681
239 94.78423278
240 95.66207298
241 96.58325632
242 97.53857862
243 98.51849464
244 99.51321336
245 100.5127959
246 101.5072548
247 102.4866536
248 103.4412067
249 104.3613763
250 105.2379685
251 106.0622247
252 106.8259091
253 107.5213913
254 108.1417222
255 108.6807037
256 109.1329505
257 109.4939439
258 109.760077
259 109.9286906
260 109.9980999
261 109.9676116
262 109.8375302
263 109.6091554
264 109.2847692
265 108.8676126
266 108.3618537
267 107.772546
268 107.1055775
269 106.3676125
270 105.5660244
271 104.7088224
272 103.8045714
273 102.8623064
274 101.8914422
275 100.9016793
276 99.90290715
277 98.9051051
278 97.91824288
279 96.95218089
280 96.0165717
281 95.12076361
282 94.27370723
283 93.48386608
284 92.75913199
285 92.10674625
286 91.5332273
287 91.04430554
288 90.64486612
289 90.33890011
290 90.12946461
291 90.01865224
292 90.0075702
293 90.09632921
294 90.28404242
295 90.56883428
296 90.94785922
297 91.41733016
298 91.97255631
299 92.60799001
300 93.31728224
301 94.09334597
302 94.92842704
303 95.81418159
304 96.74175945
305 97.70189258
306 98.68498763
307 99.68122185
308 100.6806412
309 101.6732598
310 102.6491598
311 103.5985902
312 104.5120647
313 105.3804561
314 106.1950878
315 106.9478202
316 107.6311323
317 108.2381967
318 108.7629477
319 109.2001423
320 109.545412
321 109.7953072
322 109.9473309
323 109.9999641
324 109.952681
325 109.805954
326 109.5612492
327 109.2210115
328 108.7886405
329 108.2684563
330 107.6656565
331 106.9862639
332 106.2370669
333 105.4255512
334 104.5598252
335 103.6485389
336 102.7007976
337 101.7260708
338 100.7340978
339 99.7347898
340 98.73813174
341 97.75408184
342 96.79247242
343 95.86291156
344 94.97468712
345 94.13667394
346 93.35724517
347 92.64418862
348 92.0046289
349 91.44495629
350 90.97076285
351 90.58678656
352 90.29686399
353 90.10389194
354 90.00979854
355 90.01552392
356 90.12101089
357 90.32520546
358 90.62606737
359 91.02059052
360 91.50483296
361 92.0739563
362 92.72227405
363 93.44330843
364 94.22985511
365 95.07405517
366 95.96747364
367 96.90118378
368 97.86585627
369 98.85185241
370 99.84932047
371 100.8482941
372 101.8387918
373 102.8109169
374 103.7549563
375 104.6614774
376 105.5214225
377 106.3261994
378 107.0677671
379 107.7387159
380 108.332342
381 108.8427142
382 109.2647328
383 109.5941813
384 109.827768
385 109.9631588
386 109.999001
387 109.9349365
388 109.7716054
389 109.5106397
390 109.1546468
391 108.7071837
392 108.1727212
393 107.5565997
394 106.8649751
395 106.104758
396 105.2835441
397 104.4095388
398 103.4914748
399 102.5385252
400 101.5602115
401 100.5663086
402 99.56674743
403 98.57151513
404 97.59055579
405 96.63367081
406 95.71042109
407 94.83003142
408 94.00129836
409 93.23250235
410 92.53132494
411 91.90477207
412 91.35910403
413 90.89977297
414 90.53136837
415 90.25757121
416 90.08111717
417 90.00376934
418 90.02630053
419 90.14848564
420 90.36910382
421 90.68595073
422 91.09586054
423 91.59473757
424 92.1775972
425 92.8386157
426 93.57118838
427 94.36799563
428 95.22107599
429 96.12190579
430 97.06148422
431 98.03042334
432 99.01904181
433 100.0174617
434 101.0157071
435 102.0038039
436 102.9718793
437 103.9102608
438 104.8095721
439 105.6608279
440 106.4555225
441 107.1857156
442 107.8441115
443 108.4241316
444 108.9199806
445 109.326704
446 109.6402381
447 109.8574502
448 109.9761699
449 109.9952109
450 109.9143831
451 109.7344941
452 109.4573413
453 109.0856938
454 108.623265
455 108.0746755
456 107.4454065
457 106.7417454
458 105.970723
459 105.1400431
460 104.2580057
461 103.3334236
462 102.3755351
463 101.393911
464 100.3983594
465 99.39882755
466 98.4053024
467 97.42771095
468 96.47582096
469 95.5591434
470 94.68683741
471 93.86761879
472 93.10967289
473 92.42057287
474 91.80720397
475 91.27569478
476 90.83135597
477 90.47862722
478 90.22103288
479 90.06114674
480 90.00056634
481 90.03989698
482 90.17874567
483 90.41572509
484 90.74846742
485 91.173648
486 91.68701858
487 92.28344971
488 92.95698207
489 93.70088593
490 94.50772846
491 95.36944795
492 96.27743439
493 97.22261547
494 98.19554726
495 99.18650854
496 100.185598
497 101.182833
498 102.1682495
499 103.1320015
500 104.0644597

Wyświetl plik

@ -1,500 +0,0 @@
99.74607254
100.9985047
105.6589958
110.3758689
111.4562084
120.2469638
92.47859905
99.7988658
111.3608434
97.95849713
116.4332767
120.4499707
109.0983808
109.6064832
109.6401406
109.901406
99.27412717
85.79481934
98.4200087
103.7514383
106.6847133
82.19057649
98.78947827
98.48496831
113.8385423
90.1639471
78.93094346
99.02728187
86.61426422
91.37872779
90.99097198
86.27464383
90.68010168
97.21054672
106.2564401
83.25943317
93.71136548
92.17605257
75.2199172
91.33571727
92.71473597
88.49934963
95.88603552
100.5548966
83.65217931
64.61541321
95.02446505
104.0182222
96.86731681
96.7533356
102.581885
101.1446821
119.619968
99.10202402
80.48133979
102.0149845
88.5733381
113.6041862
89.36855047
96.11116099
117.5312372
117.8596423
99.58612933
101.364107
100.9620158
119.1091278
100.8018557
113.2488968
101.8717012
125.2536113
108.9875467
104.0605359
99.13376678
115.6371565
117.0847191
109.0894949
116.900752
109.8769949
110.1912392
105.9834098
113.290719
103.6682498
114.0142086
106.8546324
100.9786188
112.6259146
105.0708015
86.57901721
86.16099103
95.71501275
95.32165336
72.33052217
79.04885583
97.64257546
98.83452607
105.4753737
82.66939704
94.38495045
95.62961653
101.0090845
102.2562397
89.37424999
87.00897709
98.34732987
87.17473187
88.29022085
98.71513962
94.13589388
80.98525401
90.0555734
105.663407
91.85344181
104.7828486
94.72801184
98.85182601
85.84903801
97.12691481
103.1898604
97.53009653
100.77248
96.8109706
88.20273689
91.28975471
103.3826265
100.9843703
125.2089148
117.6572149
102.3665879
98.09826068
115.6305485
98.2446131
113.5826621
98.52151793
96.54353022
110.0970167
119.0894679
82.70969544
105.5948041
108.1286679
114.7791846
96.55073367
108.9916162
103.6793435
104.9947092
111.5026331
120.0264838
86.72900841
107.0418354
110.8793625
93.15449934
92.0470496
93.10674393
115.028515
94.87926251
80.65842088
90.26230642
94.37404315
90.41820803
79.3694285
104.7989829
89.06354298
74.92484744
88.55520858
88.17327988
92.44427227
106.2241627
89.69936655
110.1258867
81.40795851
79.50154712
102.8429063
91.98680097
102.6747939
87.29859659
105.5483568
98.71704962
89.0729352
107.3147853
99.52825529
90.68454466
95.79189223
106.4811685
106.5963564
91.72663379
85.5984658
107.1724503
97.48127236
100.7599682
112.8430896
95.08863157
94.24392767
122.5515637
93.0184012
126.8264613
106.5008815
107.1326088
98.20586297
119.7951298
120.5518721
104.4271292
98.12433617
119.4486154
117.2844245
98.65840409
104.769913
101.1362625
101.6987705
115.5489754
103.7431279
126.2359309
101.432232
115.0751813
89.36542689
95.37135596
101.3991848
112.1568858
113.3831319
92.53006936
106.1232446
94.13544376
91.43306306
104.9240959
84.89509638
99.068661
104.8793253
84.08844816
90.63766684
79.86846014
89.03795827
106.3052081
104.302822
89.86796622
100.0547195
87.27556042
86.13651022
84.52982443
89.04938259
88.45288282
93.9221361
77.90453416
89.11116191
103.8236699
100.5704991
105.0038536
82.48819192
90.70077556
93.20727118
96.469969
124.0621945
126.208824
113.8096177
116.2336238
98.2431384
104.3742794
110.8824523
82.66158983
93.36370081
94.50577091
109.2124186
108.6860623
102.2125708
92.7364688
117.8992898
111.8389321
116.1499254
103.7510718
106.1711274
115.8905823
94.9394883
111.3292051
119.6381222
92.55331545
94.6690993
98.14521121
103.3060014
83.8533364
110.1232204
86.89602288
84.7500101
81.00671318
111.9346161
72.63786168
108.923088
67.93841767
81.28708323
108.8012014
86.33287375
90.99581497
115.0077996
75.6884257
92.27903243
96.95099649
73.17740219
81.23584289
108.1412357
85.2937767
73.67059556
99.09771683
86.41655575
65.50046252
77.50463602
107.5223067
97.43228837
97.24231792
92.36343746
102.3239382
107.6653067
84.70401863
102.1418889
110.6478756
110.8038522
121.8958125
116.6996419
126.1771719
102.6189077
106.3284051
104.7333304
103.7911867
110.1573359
117.8848836
110.7704487
119.4976273
99.29985521
111.778141
123.775525
94.96070742
113.0174536
101.3223299
112.8532801
111.4698438
98.0466213
100.9512001
112.8041168
109.1341396
110.2363954
107.752259
90.56497789
95.08630261
100.6715567
102.8404892
85.11606497
87.83600724
111.9823882
90.93281134
100.7576002
104.9842738
85.7248994
72.57166009
106.7911372
83.80974127
83.42667246
103.4631772
91.94917091
89.44543328
97.38905178
85.58235769
99.69552244
92.69614929
89.05675883
79.6668893
103.2663666
89.02871412
92.60746955
78.08256782
87.87930204
106.0975357
101.2546742
95.97578469
106.3580882
105.5082865
105.8051223
109.3086288
88.2841571
107.1446562
105.0249265
91.34560811
101.6362066
97.97629225
107.398384
113.9392197
106.0515676
107.7642295
107.9836656
108.8387993
130.8390171
107.8067205
104.2591576
101.600015
113.5900125
134.1875781
101.7261452
92.00590968
106.4209836
102.6942079
105.7008816
103.9306204
116.200302
89.28654287
98.26692557
109.0136698
110.6672568
108.8077604
90.38695194
110.8817082
103.4241109
107.4745031
90.91627193
107.7650809
94.89064041
93.08468827
111.8944482
83.89803856
92.31150457
87.05840489
85.72434748
92.87781938
92.677094
92.16102828
88.39332676
78.57679378
80.14248863
99.90498722
80.40409998
94.60128577
100.937819
69.68454717
79.35756318
109.0345368
97.2767808
94.59856421
99.47823966
91.72744188
89.55714145
101.822452
98.00835693
100.9320037
109.2875592
109.663176
91.50602111
91.41620387
108.7803863
112.0525174
94.71657797
118.9798346
112.2837288
113.3716799
121.3109877
108.8753364
115.4845303
99.15231977
102.6315514
88.44010676
103.2309702
116.0166296
100.8031655
97.7434958
107.4554646
116.3636227
97.52347706
107.7511089
90.12846298
92.07561775
96.17594686
110.4881757
99.48994336
93.41407809
77.49294169
98.7835899
88.90963562
93.10638765
95.05029833
95.40861665
75.66158751
101.0185954
78.31471081
107.98879
92.65178182
97.7014015
103.3937285
97.54252609
87.2119731
90.3813286
69.14035241
92.06857878
75.30933914
95.78452738
79.05232302
77.2929126
78.5735926
86.2639689
103.8629931
114.2854047
109.9225833
108.1768798
83.15688423
121.5107716
84.33275404
103.371499
104.8325784
93.06763
1 99.74607254
2 100.9985047
3 105.6589958
4 110.3758689
5 111.4562084
6 120.2469638
7 92.47859905
8 99.7988658
9 111.3608434
10 97.95849713
11 116.4332767
12 120.4499707
13 109.0983808
14 109.6064832
15 109.6401406
16 109.901406
17 99.27412717
18 85.79481934
19 98.4200087
20 103.7514383
21 106.6847133
22 82.19057649
23 98.78947827
24 98.48496831
25 113.8385423
26 90.1639471
27 78.93094346
28 99.02728187
29 86.61426422
30 91.37872779
31 90.99097198
32 86.27464383
33 90.68010168
34 97.21054672
35 106.2564401
36 83.25943317
37 93.71136548
38 92.17605257
39 75.2199172
40 91.33571727
41 92.71473597
42 88.49934963
43 95.88603552
44 100.5548966
45 83.65217931
46 64.61541321
47 95.02446505
48 104.0182222
49 96.86731681
50 96.7533356
51 102.581885
52 101.1446821
53 119.619968
54 99.10202402
55 80.48133979
56 102.0149845
57 88.5733381
58 113.6041862
59 89.36855047
60 96.11116099
61 117.5312372
62 117.8596423
63 99.58612933
64 101.364107
65 100.9620158
66 119.1091278
67 100.8018557
68 113.2488968
69 101.8717012
70 125.2536113
71 108.9875467
72 104.0605359
73 99.13376678
74 115.6371565
75 117.0847191
76 109.0894949
77 116.900752
78 109.8769949
79 110.1912392
80 105.9834098
81 113.290719
82 103.6682498
83 114.0142086
84 106.8546324
85 100.9786188
86 112.6259146
87 105.0708015
88 86.57901721
89 86.16099103
90 95.71501275
91 95.32165336
92 72.33052217
93 79.04885583
94 97.64257546
95 98.83452607
96 105.4753737
97 82.66939704
98 94.38495045
99 95.62961653
100 101.0090845
101 102.2562397
102 89.37424999
103 87.00897709
104 98.34732987
105 87.17473187
106 88.29022085
107 98.71513962
108 94.13589388
109 80.98525401
110 90.0555734
111 105.663407
112 91.85344181
113 104.7828486
114 94.72801184
115 98.85182601
116 85.84903801
117 97.12691481
118 103.1898604
119 97.53009653
120 100.77248
121 96.8109706
122 88.20273689
123 91.28975471
124 103.3826265
125 100.9843703
126 125.2089148
127 117.6572149
128 102.3665879
129 98.09826068
130 115.6305485
131 98.2446131
132 113.5826621
133 98.52151793
134 96.54353022
135 110.0970167
136 119.0894679
137 82.70969544
138 105.5948041
139 108.1286679
140 114.7791846
141 96.55073367
142 108.9916162
143 103.6793435
144 104.9947092
145 111.5026331
146 120.0264838
147 86.72900841
148 107.0418354
149 110.8793625
150 93.15449934
151 92.0470496
152 93.10674393
153 115.028515
154 94.87926251
155 80.65842088
156 90.26230642
157 94.37404315
158 90.41820803
159 79.3694285
160 104.7989829
161 89.06354298
162 74.92484744
163 88.55520858
164 88.17327988
165 92.44427227
166 106.2241627
167 89.69936655
168 110.1258867
169 81.40795851
170 79.50154712
171 102.8429063
172 91.98680097
173 102.6747939
174 87.29859659
175 105.5483568
176 98.71704962
177 89.0729352
178 107.3147853
179 99.52825529
180 90.68454466
181 95.79189223
182 106.4811685
183 106.5963564
184 91.72663379
185 85.5984658
186 107.1724503
187 97.48127236
188 100.7599682
189 112.8430896
190 95.08863157
191 94.24392767
192 122.5515637
193 93.0184012
194 126.8264613
195 106.5008815
196 107.1326088
197 98.20586297
198 119.7951298
199 120.5518721
200 104.4271292
201 98.12433617
202 119.4486154
203 117.2844245
204 98.65840409
205 104.769913
206 101.1362625
207 101.6987705
208 115.5489754
209 103.7431279
210 126.2359309
211 101.432232
212 115.0751813
213 89.36542689
214 95.37135596
215 101.3991848
216 112.1568858
217 113.3831319
218 92.53006936
219 106.1232446
220 94.13544376
221 91.43306306
222 104.9240959
223 84.89509638
224 99.068661
225 104.8793253
226 84.08844816
227 90.63766684
228 79.86846014
229 89.03795827
230 106.3052081
231 104.302822
232 89.86796622
233 100.0547195
234 87.27556042
235 86.13651022
236 84.52982443
237 89.04938259
238 88.45288282
239 93.9221361
240 77.90453416
241 89.11116191
242 103.8236699
243 100.5704991
244 105.0038536
245 82.48819192
246 90.70077556
247 93.20727118
248 96.469969
249 124.0621945
250 126.208824
251 113.8096177
252 116.2336238
253 98.2431384
254 104.3742794
255 110.8824523
256 82.66158983
257 93.36370081
258 94.50577091
259 109.2124186
260 108.6860623
261 102.2125708
262 92.7364688
263 117.8992898
264 111.8389321
265 116.1499254
266 103.7510718
267 106.1711274
268 115.8905823
269 94.9394883
270 111.3292051
271 119.6381222
272 92.55331545
273 94.6690993
274 98.14521121
275 103.3060014
276 83.8533364
277 110.1232204
278 86.89602288
279 84.7500101
280 81.00671318
281 111.9346161
282 72.63786168
283 108.923088
284 67.93841767
285 81.28708323
286 108.8012014
287 86.33287375
288 90.99581497
289 115.0077996
290 75.6884257
291 92.27903243
292 96.95099649
293 73.17740219
294 81.23584289
295 108.1412357
296 85.2937767
297 73.67059556
298 99.09771683
299 86.41655575
300 65.50046252
301 77.50463602
302 107.5223067
303 97.43228837
304 97.24231792
305 92.36343746
306 102.3239382
307 107.6653067
308 84.70401863
309 102.1418889
310 110.6478756
311 110.8038522
312 121.8958125
313 116.6996419
314 126.1771719
315 102.6189077
316 106.3284051
317 104.7333304
318 103.7911867
319 110.1573359
320 117.8848836
321 110.7704487
322 119.4976273
323 99.29985521
324 111.778141
325 123.775525
326 94.96070742
327 113.0174536
328 101.3223299
329 112.8532801
330 111.4698438
331 98.0466213
332 100.9512001
333 112.8041168
334 109.1341396
335 110.2363954
336 107.752259
337 90.56497789
338 95.08630261
339 100.6715567
340 102.8404892
341 85.11606497
342 87.83600724
343 111.9823882
344 90.93281134
345 100.7576002
346 104.9842738
347 85.7248994
348 72.57166009
349 106.7911372
350 83.80974127
351 83.42667246
352 103.4631772
353 91.94917091
354 89.44543328
355 97.38905178
356 85.58235769
357 99.69552244
358 92.69614929
359 89.05675883
360 79.6668893
361 103.2663666
362 89.02871412
363 92.60746955
364 78.08256782
365 87.87930204
366 106.0975357
367 101.2546742
368 95.97578469
369 106.3580882
370 105.5082865
371 105.8051223
372 109.3086288
373 88.2841571
374 107.1446562
375 105.0249265
376 91.34560811
377 101.6362066
378 97.97629225
379 107.398384
380 113.9392197
381 106.0515676
382 107.7642295
383 107.9836656
384 108.8387993
385 130.8390171
386 107.8067205
387 104.2591576
388 101.600015
389 113.5900125
390 134.1875781
391 101.7261452
392 92.00590968
393 106.4209836
394 102.6942079
395 105.7008816
396 103.9306204
397 116.200302
398 89.28654287
399 98.26692557
400 109.0136698
401 110.6672568
402 108.8077604
403 90.38695194
404 110.8817082
405 103.4241109
406 107.4745031
407 90.91627193
408 107.7650809
409 94.89064041
410 93.08468827
411 111.8944482
412 83.89803856
413 92.31150457
414 87.05840489
415 85.72434748
416 92.87781938
417 92.677094
418 92.16102828
419 88.39332676
420 78.57679378
421 80.14248863
422 99.90498722
423 80.40409998
424 94.60128577
425 100.937819
426 69.68454717
427 79.35756318
428 109.0345368
429 97.2767808
430 94.59856421
431 99.47823966
432 91.72744188
433 89.55714145
434 101.822452
435 98.00835693
436 100.9320037
437 109.2875592
438 109.663176
439 91.50602111
440 91.41620387
441 108.7803863
442 112.0525174
443 94.71657797
444 118.9798346
445 112.2837288
446 113.3716799
447 121.3109877
448 108.8753364
449 115.4845303
450 99.15231977
451 102.6315514
452 88.44010676
453 103.2309702
454 116.0166296
455 100.8031655
456 97.7434958
457 107.4554646
458 116.3636227
459 97.52347706
460 107.7511089
461 90.12846298
462 92.07561775
463 96.17594686
464 110.4881757
465 99.48994336
466 93.41407809
467 77.49294169
468 98.7835899
469 88.90963562
470 93.10638765
471 95.05029833
472 95.40861665
473 75.66158751
474 101.0185954
475 78.31471081
476 107.98879
477 92.65178182
478 97.7014015
479 103.3937285
480 97.54252609
481 87.2119731
482 90.3813286
483 69.14035241
484 92.06857878
485 75.30933914
486 95.78452738
487 79.05232302
488 77.2929126
489 78.5735926
490 86.2639689
491 103.8629931
492 114.2854047
493 109.9225833
494 108.1768798
495 83.15688423
496 121.5107716
497 84.33275404
498 103.371499
499 104.8325784
500 93.06763

Wyświetl plik

@ -1,500 +0,0 @@
107.0742605
106.8347785
106.5877031
106.3333087
106.0718779
105.8037012
105.5290765
105.248309
104.9617106
104.6695997
104.3723008
104.0701443
103.7634657
103.452606
103.1379104
102.8197285
102.4984139
102.1743235
101.8478174
101.5192584
101.1890115
100.8574436
100.5249231
100.1918193
99.8585025
99.52534286
99.19271057
98.86097518
98.53050526
98.20166796
97.87482862
97.55035036
97.22859368
96.90991606
96.59467155
96.28321039
95.97587861
95.67301766
95.37496402
95.08204884
94.79459755
94.51292949
94.23735762
93.96818809
93.70571995
93.45024482
93.20204651
92.96140078
92.728575
92.50382783
92.28740897
92.07955886
91.88050842
91.69047881
91.50968115
91.3383163
91.17657465
91.02463589
90.88266885
90.75083123
90.62926951
90.51811876
90.41750245
90.32753238
90.24830849
90.17991882
90.12243934
90.0759339
90.04045419
90.01603962
90.0027173
90.00050205
90.00939633
90.02939025
90.0604616
90.10257585
90.15568623
90.21973372
90.29464716
90.38034334
90.47672703
90.58369115
90.70111688
90.82887374
90.96681979
91.11480178
91.2726553
91.44020498
91.61726465
91.80363762
91.99911681
92.20348504
92.41651527
92.63797081
92.86760563
93.1051646
93.35038379
93.60299075
93.86270484
94.12923752
94.40229267
94.68156691
94.96674998
95.25752503
95.55356901
95.85455301
96.16014263
96.46999837
96.78377597
97.10112682
97.42169834
97.74513438
98.07107559
98.39915985
98.72902266
99.06029754
99.39261643
99.72561013
100.0589087
100.3921418
100.7249392
101.0569312
101.387749
101.7170249
102.0443933
102.3694903
102.6919547
103.0114284
103.3275564
103.6399874
103.9483743
104.2523746
104.5516505
104.8458694
105.1347046
105.417835
105.6949462
105.9657302
106.2298863
106.4871209
106.7371483
106.9796907
107.2144785
107.441251
107.6597562
107.8697514
108.0710032
108.2632881
108.4463923
108.6201126
108.7842558
108.9386397
109.0830927
109.2174542
109.3415752
109.4553175
109.5585549
109.6511727
109.7330679
109.8041496
109.8643389
109.9135687
109.9517845
109.9789438
109.9950164
109.9999845
109.9938425
109.9765972
109.9482679
109.908886
109.8584952
109.7971515
109.7249232
109.6418903
109.5481453
109.4437921
109.3289469
109.2037371
109.0683018
108.9227916
108.7673682
108.6022041
108.4274829
108.2433986
108.0501559
107.8479694
107.6370638
107.4176733
107.1900417
106.9544219
106.7110757
106.4602735
106.2022938
105.9374233
105.6659563
105.3881943
105.1044461
104.8150267
104.5202579
104.220467
103.9159871
103.6071565
103.2943183
102.9778201
102.6580136
102.3352539
102.0098998
101.6823127
101.3528564
101.0218972
100.6898026
100.3569417
100.0236842
99.69040033
99.35746047
99.02523447
98.69409145
98.3643993
98.03652432
97.71083078
97.38768052
97.06743257
96.75044272
96.43706316
96.12764206
95.82252317
95.5220455
95.22654287
94.93634359
94.65177007
94.37313849
94.10075839
93.83493239
93.57595584
93.32411646
93.07969403
92.84296013
92.61417775
92.39360108
92.18147519
91.97803573
91.78350875
91.59811036
91.42204654
91.25551289
91.09869444
90.95176541
90.81488905
90.68821742
90.57189126
90.4660398
90.37078066
90.28621965
90.21245074
90.14955587
90.09760493
90.05665563
90.02675346
90.00793166
90.00021112
90.00360044
90.01809583
90.04368121
90.08032813
90.1279959
90.18663154
90.25616991
90.33653376
90.4276338
90.52936882
90.64162579
90.76427999
90.89719515
91.0402236
91.19320643
91.35597369
91.52834453
91.71012745
91.90112048
92.10111144
92.30987813
92.5271886
92.75280144
92.98646596
93.22792259
93.47690304
93.73313071
93.99632093
94.26618128
94.54241195
94.82470605
95.11274994
95.4062236
95.70480099
96.00815038
96.31593475
96.62781215
96.94343607
97.26245586
97.58451709
97.90926193
98.23632961
98.56535673
98.89597776
99.22782537
99.56053086
99.89372461
100.2270364
100.560096
100.8925333
101.223979
101.5540649
101.8824242
102.208692
102.532506
102.8535064
103.1713365
103.4856432
103.7960774
104.1022941
104.4039531
104.7007192
104.9922628
105.27826
105.558393
105.8323506
106.0998283
106.3605292
106.6141634
106.8604492
107.099113
107.3298897
107.5525227
107.7667649
107.9723781
108.1691339
108.3568138
108.5352092
108.7041219
108.8633642
109.0127593
109.1521411
109.2813548
109.4002568
109.5087151
109.6066092
109.6938302
109.7702812
109.8358775
109.8905459
109.9342259
109.9668689
109.9884386
109.9989111
109.9982747
109.9865302
109.9636905
109.9297811
109.8848396
109.828916
109.7620723
109.684383
109.5959342
109.4968242
109.3871632
109.2670729
109.1366869
108.99615
108.8456182
108.6852589
108.5152502
108.335781
108.1470506
107.9492689
107.7426554
107.5274397
107.3038611
107.0721677
106.8326171
106.5854755
106.3310173
106.0695253
105.80129
105.5266095
105.2457888
104.95914
104.6669816
104.3696381
104.0674399
103.7607227
103.4498274
103.1350992
102.816888
102.4955471
102.1714337
101.8449078
101.5163322
101.186072
100.854494
100.5219666
100.1888594
99.85554228
99.5223857
99.18975974
98.85803397
98.52757694
98.19875578
97.87193581
97.54748015
97.22574925
96.90710057
96.59188812
96.28046212
95.97316855
95.67034882
95.37233938
95.0794713
94.79206997
94.51045469
94.23493835
93.96582703
93.70341973
93.44800798
93.19987555
92.95929812
92.72654296
92.50186867
92.28552487
92.07775191
91.87878064
91.68883211
91.50811735
91.33683715
91.17518179
91.02333087
90.88145311
90.74970613
90.62823631
90.51717859
90.41665636
90.32678131
90.24765328
90.17936019
90.12197791
90.07557019
90.0401886
90.01587244
90.00264873
90.00053216
90.00952508
90.0296175
90.06078709
90.10299924
90.15620703
90.22035136
90.29536095
90.38115249
90.47763064
90.58468822
90.70220629
90.83005429
90.96809017
91.11616057
91.274101
91.44173597
91.61887924
91.80533401
92.00089312
92.2053393
92.41844542
92.6399747
92.86968104
93.10730921
93.35259522
93.60526656
93.86504249
94.13163442
94.40474614
94.68407424
94.96930838
95.26013166
95.55622096
95.85724735
96.16287637
96.47276846
96.78657933
97.10396035
97.42455888
97.74801876
98.0739806
98.40208226
98.73195923
99.063245
99.39557151
99.72856955
100.0618691
100.3951
100.7278919
101.0598751
101.3906808
1 107.0742605
2 106.8347785
3 106.5877031
4 106.3333087
5 106.0718779
6 105.8037012
7 105.5290765
8 105.248309
9 104.9617106
10 104.6695997
11 104.3723008
12 104.0701443
13 103.7634657
14 103.452606
15 103.1379104
16 102.8197285
17 102.4984139
18 102.1743235
19 101.8478174
20 101.5192584
21 101.1890115
22 100.8574436
23 100.5249231
24 100.1918193
25 99.8585025
26 99.52534286
27 99.19271057
28 98.86097518
29 98.53050526
30 98.20166796
31 97.87482862
32 97.55035036
33 97.22859368
34 96.90991606
35 96.59467155
36 96.28321039
37 95.97587861
38 95.67301766
39 95.37496402
40 95.08204884
41 94.79459755
42 94.51292949
43 94.23735762
44 93.96818809
45 93.70571995
46 93.45024482
47 93.20204651
48 92.96140078
49 92.728575
50 92.50382783
51 92.28740897
52 92.07955886
53 91.88050842
54 91.69047881
55 91.50968115
56 91.3383163
57 91.17657465
58 91.02463589
59 90.88266885
60 90.75083123
61 90.62926951
62 90.51811876
63 90.41750245
64 90.32753238
65 90.24830849
66 90.17991882
67 90.12243934
68 90.0759339
69 90.04045419
70 90.01603962
71 90.0027173
72 90.00050205
73 90.00939633
74 90.02939025
75 90.0604616
76 90.10257585
77 90.15568623
78 90.21973372
79 90.29464716
80 90.38034334
81 90.47672703
82 90.58369115
83 90.70111688
84 90.82887374
85 90.96681979
86 91.11480178
87 91.2726553
88 91.44020498
89 91.61726465
90 91.80363762
91 91.99911681
92 92.20348504
93 92.41651527
94 92.63797081
95 92.86760563
96 93.1051646
97 93.35038379
98 93.60299075
99 93.86270484
100 94.12923752
101 94.40229267
102 94.68156691
103 94.96674998
104 95.25752503
105 95.55356901
106 95.85455301
107 96.16014263
108 96.46999837
109 96.78377597
110 97.10112682
111 97.42169834
112 97.74513438
113 98.07107559
114 98.39915985
115 98.72902266
116 99.06029754
117 99.39261643
118 99.72561013
119 100.0589087
120 100.3921418
121 100.7249392
122 101.0569312
123 101.387749
124 101.7170249
125 102.0443933
126 102.3694903
127 102.6919547
128 103.0114284
129 103.3275564
130 103.6399874
131 103.9483743
132 104.2523746
133 104.5516505
134 104.8458694
135 105.1347046
136 105.417835
137 105.6949462
138 105.9657302
139 106.2298863
140 106.4871209
141 106.7371483
142 106.9796907
143 107.2144785
144 107.441251
145 107.6597562
146 107.8697514
147 108.0710032
148 108.2632881
149 108.4463923
150 108.6201126
151 108.7842558
152 108.9386397
153 109.0830927
154 109.2174542
155 109.3415752
156 109.4553175
157 109.5585549
158 109.6511727
159 109.7330679
160 109.8041496
161 109.8643389
162 109.9135687
163 109.9517845
164 109.9789438
165 109.9950164
166 109.9999845
167 109.9938425
168 109.9765972
169 109.9482679
170 109.908886
171 109.8584952
172 109.7971515
173 109.7249232
174 109.6418903
175 109.5481453
176 109.4437921
177 109.3289469
178 109.2037371
179 109.0683018
180 108.9227916
181 108.7673682
182 108.6022041
183 108.4274829
184 108.2433986
185 108.0501559
186 107.8479694
187 107.6370638
188 107.4176733
189 107.1900417
190 106.9544219
191 106.7110757
192 106.4602735
193 106.2022938
194 105.9374233
195 105.6659563
196 105.3881943
197 105.1044461
198 104.8150267
199 104.5202579
200 104.220467
201 103.9159871
202 103.6071565
203 103.2943183
204 102.9778201
205 102.6580136
206 102.3352539
207 102.0098998
208 101.6823127
209 101.3528564
210 101.0218972
211 100.6898026
212 100.3569417
213 100.0236842
214 99.69040033
215 99.35746047
216 99.02523447
217 98.69409145
218 98.3643993
219 98.03652432
220 97.71083078
221 97.38768052
222 97.06743257
223 96.75044272
224 96.43706316
225 96.12764206
226 95.82252317
227 95.5220455
228 95.22654287
229 94.93634359
230 94.65177007
231 94.37313849
232 94.10075839
233 93.83493239
234 93.57595584
235 93.32411646
236 93.07969403
237 92.84296013
238 92.61417775
239 92.39360108
240 92.18147519
241 91.97803573
242 91.78350875
243 91.59811036
244 91.42204654
245 91.25551289
246 91.09869444
247 90.95176541
248 90.81488905
249 90.68821742
250 90.57189126
251 90.4660398
252 90.37078066
253 90.28621965
254 90.21245074
255 90.14955587
256 90.09760493
257 90.05665563
258 90.02675346
259 90.00793166
260 90.00021112
261 90.00360044
262 90.01809583
263 90.04368121
264 90.08032813
265 90.1279959
266 90.18663154
267 90.25616991
268 90.33653376
269 90.4276338
270 90.52936882
271 90.64162579
272 90.76427999
273 90.89719515
274 91.0402236
275 91.19320643
276 91.35597369
277 91.52834453
278 91.71012745
279 91.90112048
280 92.10111144
281 92.30987813
282 92.5271886
283 92.75280144
284 92.98646596
285 93.22792259
286 93.47690304
287 93.73313071
288 93.99632093
289 94.26618128
290 94.54241195
291 94.82470605
292 95.11274994
293 95.4062236
294 95.70480099
295 96.00815038
296 96.31593475
297 96.62781215
298 96.94343607
299 97.26245586
300 97.58451709
301 97.90926193
302 98.23632961
303 98.56535673
304 98.89597776
305 99.22782537
306 99.56053086
307 99.89372461
308 100.2270364
309 100.560096
310 100.8925333
311 101.223979
312 101.5540649
313 101.8824242
314 102.208692
315 102.532506
316 102.8535064
317 103.1713365
318 103.4856432
319 103.7960774
320 104.1022941
321 104.4039531
322 104.7007192
323 104.9922628
324 105.27826
325 105.558393
326 105.8323506
327 106.0998283
328 106.3605292
329 106.6141634
330 106.8604492
331 107.099113
332 107.3298897
333 107.5525227
334 107.7667649
335 107.9723781
336 108.1691339
337 108.3568138
338 108.5352092
339 108.7041219
340 108.8633642
341 109.0127593
342 109.1521411
343 109.2813548
344 109.4002568
345 109.5087151
346 109.6066092
347 109.6938302
348 109.7702812
349 109.8358775
350 109.8905459
351 109.9342259
352 109.9668689
353 109.9884386
354 109.9989111
355 109.9982747
356 109.9865302
357 109.9636905
358 109.9297811
359 109.8848396
360 109.828916
361 109.7620723
362 109.684383
363 109.5959342
364 109.4968242
365 109.3871632
366 109.2670729
367 109.1366869
368 108.99615
369 108.8456182
370 108.6852589
371 108.5152502
372 108.335781
373 108.1470506
374 107.9492689
375 107.7426554
376 107.5274397
377 107.3038611
378 107.0721677
379 106.8326171
380 106.5854755
381 106.3310173
382 106.0695253
383 105.80129
384 105.5266095
385 105.2457888
386 104.95914
387 104.6669816
388 104.3696381
389 104.0674399
390 103.7607227
391 103.4498274
392 103.1350992
393 102.816888
394 102.4955471
395 102.1714337
396 101.8449078
397 101.5163322
398 101.186072
399 100.854494
400 100.5219666
401 100.1888594
402 99.85554228
403 99.5223857
404 99.18975974
405 98.85803397
406 98.52757694
407 98.19875578
408 97.87193581
409 97.54748015
410 97.22574925
411 96.90710057
412 96.59188812
413 96.28046212
414 95.97316855
415 95.67034882
416 95.37233938
417 95.0794713
418 94.79206997
419 94.51045469
420 94.23493835
421 93.96582703
422 93.70341973
423 93.44800798
424 93.19987555
425 92.95929812
426 92.72654296
427 92.50186867
428 92.28552487
429 92.07775191
430 91.87878064
431 91.68883211
432 91.50811735
433 91.33683715
434 91.17518179
435 91.02333087
436 90.88145311
437 90.74970613
438 90.62823631
439 90.51717859
440 90.41665636
441 90.32678131
442 90.24765328
443 90.17936019
444 90.12197791
445 90.07557019
446 90.0401886
447 90.01587244
448 90.00264873
449 90.00053216
450 90.00952508
451 90.0296175
452 90.06078709
453 90.10299924
454 90.15620703
455 90.22035136
456 90.29536095
457 90.38115249
458 90.47763064
459 90.58468822
460 90.70220629
461 90.83005429
462 90.96809017
463 91.11616057
464 91.274101
465 91.44173597
466 91.61887924
467 91.80533401
468 92.00089312
469 92.2053393
470 92.41844542
471 92.6399747
472 92.86968104
473 93.10730921
474 93.35259522
475 93.60526656
476 93.86504249
477 94.13163442
478 94.40474614
479 94.68407424
480 94.96930838
481 95.26013166
482 95.55622096
483 95.85724735
484 96.16287637
485 96.47276846
486 96.78657933
487 97.10396035
488 97.42455888
489 97.74801876
490 98.0739806
491 98.40208226
492 98.73195923
493 99.063245
494 99.39557151
495 99.72856955
496 100.0618691
497 100.3951
498 100.7278919
499 101.0598751
500 101.3906808

Wyświetl plik

@ -1,500 +0,0 @@
115.5672342
101.3357809
101.6724076
113.7876408
95.68910046
108.8854032
104.4579998
83.7184095
105.1376931
103.3840573
97.108047
102.8863194
91.80224238
107.8733355
100.0570623
84.77812113
104.2708433
83.58915888
119.2028286
91.36226567
103.5615001
107.6779544
94.76216627
100.0407076
98.59099393
98.97322064
89.03294327
96.61044071
101.9896298
109.0401123
110.352971
104.1915472
117.1589045
97.90848846
85.20625064
92.69288295
100.2260665
100.1566312
80.02766644
91.42814089
89.3864446
88.9677123
108.4958817
94.18647487
94.96847674
77.22443059
97.89079577
83.87671394
88.35074546
98.77394575
81.99414957
83.64615794
71.43748108
89.16806585
78.70996228
99.22607491
96.09085418
105.6424002
88.22616544
86.34174213
95.34869802
93.71763483
106.1807007
83.92146704
108.3799273
88.06765169
77.6132481
83.73888411
94.14809038
87.01159366
99.624985
105.3576787
85.83087919
90.18409924
72.30046881
100.1933841
98.31605299
90.49155266
96.62514348
95.15200808
94.15575222
95.58012899
101.6875235
101.115882
70.37226926
72.90624072
86.60314889
97.59436959
94.97845285
98.98201763
80.16347967
83.20359805
102.0810666
85.19007105
91.29049014
95.0957678
89.50163019
91.17021425
97.8800246
75.52607134
92.57844899
106.1497789
96.41411921
92.36485672
89.51422721
104.7838475
96.17725716
90.01678633
82.28560782
96.74762492
89.87980463
102.9524253
91.49356528
88.47786854
91.89953738
92.05679454
103.5521627
104.9122446
114.7613801
87.09679678
108.9969937
97.64873656
92.90714047
99.90629576
90.47980483
95.68336412
92.59225994
109.7754145
99.40222421
117.9788645
102.697881
124.4631449
92.88725376
105.6340206
98.15966424
95.83107285
105.6690485
102.9762599
104.4605389
102.4323003
108.6613406
112.4860409
101.3532559
105.8401355
124.8188451
117.4719577
114.0244769
114.093192
108.6186442
117.267081
109.8336009
98.10280839
108.2027746
107.8761995
108.6823563
106.5287627
117.1288934
112.7673049
107.2468872
102.2892507
106.3075369
108.8614441
96.3907438
107.4083301
122.8648027
113.1388697
116.0475937
91.53295838
114.0964309
125.5864009
123.4359527
95.15809582
114.3160099
97.68391886
114.2807207
102.5933287
123.757588
114.7106846
98.47571736
114.3772897
109.9982995
88.58266139
120.7402025
101.9404413
95.56595759
114.6557442
114.9659106
107.4394786
116.9104855
101.2319698
105.739113
102.558704
106.3714351
93.32603438
107.9719309
113.4009992
100.8891301
121.2213373
118.3015657
116.9197236
98.27747503
109.7579138
101.702454
111.8144713
94.45877862
90.85046529
111.7009087
85.08914066
104.9564443
119.6430234
79.82081659
85.02040582
100.6112569
99.66734661
94.28496216
91.14047473
102.4678132
100.7167911
108.9990478
97.52459899
88.60344384
87.75681553
82.11521886
105.6632777
86.63615451
99.87026798
90.38661165
101.485997
104.0821776
96.0130618
91.51229294
102.1454517
102.6591517
83.90991997
77.36318964
87.21548837
80.84724051
101.5107836
92.56915106
82.69476282
80.99644386
96.46216773
98.11848977
96.07287469
91.64962756
66.33764057
79.197356
100.2617574
78.81026006
83.41548111
99.93882935
108.0824634
91.217859
90.37984683
79.6301169
90.36841859
87.76541977
92.01372667
86.45720893
88.59646597
84.81470254
107.7788264
91.67119408
92.77506032
87.55260617
89.11347241
81.43556855
86.38092042
85.66987323
109.7118734
91.1040111
83.88190076
85.55381268
91.4193938
101.3131808
81.43745522
87.31455329
90.33755891
99.81151408
106.684402
97.70792837
93.76621469
91.69048182
97.18574254
92.30079581
89.26458924
97.42861582
102.4719797
108.3840771
97.10767146
103.4646264
99.28298634
88.67955167
102.6768356
98.92729137
94.12663864
87.3663415
87.19902769
87.41923358
79.90165728
83.27061178
97.92832444
96.51270856
86.29228515
97.04999131
87.61700054
102.3950804
109.8183084
89.72060962
106.2124507
104.3946814
97.23175775
113.5856281
96.03594247
89.14733326
104.703616
121.5732584
99.93797428
114.3042129
78.84954727
103.2281991
128.2015951
94.42699371
103.9150872
81.92716427
100.1234421
100.2498074
138.3697542
100.4779671
112.6106694
118.3492065
93.42376516
93.9574748
91.68938826
85.91829157
102.7823054
108.8603989
99.29350704
105.4119148
104.8475803
118.2392459
114.9315706
104.5023825
115.2774196
93.6488869
111.6894641
115.7819675
98.39662966
104.1481387
117.2605802
126.7892667
106.9216245
108.9963278
122.4931013
94.24926393
104.4753435
120.2328613
101.1800659
115.8940486
95.36951165
104.3855795
118.1921456
110.6871452
116.0912641
114.7747094
125.2496692
106.7349761
115.4219948
114.3395831
105.917662
119.364546
112.6979065
96.20257895
107.6177896
105.9358521
115.8610687
99.20501345
87.68995605
123.1897901
98.02895782
95.48723167
98.35491481
92.57220462
118.5306661
99.24077403
112.9958766
111.3604642
112.3225746
74.85394314
106.244066
97.04028992
96.98762067
106.0505782
103.6805113
95.46956312
92.91983893
102.6308354
90.32892705
95.73816035
103.2442121
111.7224927
109.4991855
88.00131205
87.6079082
112.3614284
99.97522782
80.22998372
85.96033451
85.40340913
102.8643718
106.9974557
96.14400112
90.63832437
108.8355253
104.3734085
92.147686
96.39533626
111.2250368
81.65078792
99.81066025
98.01276717
78.07720187
85.8005895
99.30102938
87.2291675
85.05404714
99.99921664
105.1660088
86.63556105
99.86613219
93.77406649
104.6050015
90.43610971
107.7273762
96.01179742
112.8139616
94.65978303
87.56220328
85.12668017
90.07825587
81.64916045
89.00651045
93.38843
89.3393326
108.8127612
79.78539833
79.33010316
84.40458774
74.22738983
95.13661005
88.4526456
80.6699032
96.01623242
104.8575109
83.05433277
94.47077054
95.42820344
83.45761942
77.16736072
108.7108433
88.2118547
89.09641098
84.22192739
96.70630031
103.73901
95.14031225
77.62110462
89.47014925
97.66069651
98.51061704
105.1499812
96.00169182
103.0872119
86.4214719
94.98891096
105.3251198
84.07151501
90.96977702
84.47679852
87.56417784
71.36401469
93.52952914
85.30760156
106.4928465
109.1869557
95.51556128
95.57814343
106.6067326
103.8086802
78.22465239
90.84343693
102.6572335
93.37748269
93.00855817
133.3098287
92.02010694
99.0918937
89.4371333
99.32065336
84.99652824
1 115.5672342
2 101.3357809
3 101.6724076
4 113.7876408
5 95.68910046
6 108.8854032
7 104.4579998
8 83.7184095
9 105.1376931
10 103.3840573
11 97.108047
12 102.8863194
13 91.80224238
14 107.8733355
15 100.0570623
16 84.77812113
17 104.2708433
18 83.58915888
19 119.2028286
20 91.36226567
21 103.5615001
22 107.6779544
23 94.76216627
24 100.0407076
25 98.59099393
26 98.97322064
27 89.03294327
28 96.61044071
29 101.9896298
30 109.0401123
31 110.352971
32 104.1915472
33 117.1589045
34 97.90848846
35 85.20625064
36 92.69288295
37 100.2260665
38 100.1566312
39 80.02766644
40 91.42814089
41 89.3864446
42 88.9677123
43 108.4958817
44 94.18647487
45 94.96847674
46 77.22443059
47 97.89079577
48 83.87671394
49 88.35074546
50 98.77394575
51 81.99414957
52 83.64615794
53 71.43748108
54 89.16806585
55 78.70996228
56 99.22607491
57 96.09085418
58 105.6424002
59 88.22616544
60 86.34174213
61 95.34869802
62 93.71763483
63 106.1807007
64 83.92146704
65 108.3799273
66 88.06765169
67 77.6132481
68 83.73888411
69 94.14809038
70 87.01159366
71 99.624985
72 105.3576787
73 85.83087919
74 90.18409924
75 72.30046881
76 100.1933841
77 98.31605299
78 90.49155266
79 96.62514348
80 95.15200808
81 94.15575222
82 95.58012899
83 101.6875235
84 101.115882
85 70.37226926
86 72.90624072
87 86.60314889
88 97.59436959
89 94.97845285
90 98.98201763
91 80.16347967
92 83.20359805
93 102.0810666
94 85.19007105
95 91.29049014
96 95.0957678
97 89.50163019
98 91.17021425
99 97.8800246
100 75.52607134
101 92.57844899
102 106.1497789
103 96.41411921
104 92.36485672
105 89.51422721
106 104.7838475
107 96.17725716
108 90.01678633
109 82.28560782
110 96.74762492
111 89.87980463
112 102.9524253
113 91.49356528
114 88.47786854
115 91.89953738
116 92.05679454
117 103.5521627
118 104.9122446
119 114.7613801
120 87.09679678
121 108.9969937
122 97.64873656
123 92.90714047
124 99.90629576
125 90.47980483
126 95.68336412
127 92.59225994
128 109.7754145
129 99.40222421
130 117.9788645
131 102.697881
132 124.4631449
133 92.88725376
134 105.6340206
135 98.15966424
136 95.83107285
137 105.6690485
138 102.9762599
139 104.4605389
140 102.4323003
141 108.6613406
142 112.4860409
143 101.3532559
144 105.8401355
145 124.8188451
146 117.4719577
147 114.0244769
148 114.093192
149 108.6186442
150 117.267081
151 109.8336009
152 98.10280839
153 108.2027746
154 107.8761995
155 108.6823563
156 106.5287627
157 117.1288934
158 112.7673049
159 107.2468872
160 102.2892507
161 106.3075369
162 108.8614441
163 96.3907438
164 107.4083301
165 122.8648027
166 113.1388697
167 116.0475937
168 91.53295838
169 114.0964309
170 125.5864009
171 123.4359527
172 95.15809582
173 114.3160099
174 97.68391886
175 114.2807207
176 102.5933287
177 123.757588
178 114.7106846
179 98.47571736
180 114.3772897
181 109.9982995
182 88.58266139
183 120.7402025
184 101.9404413
185 95.56595759
186 114.6557442
187 114.9659106
188 107.4394786
189 116.9104855
190 101.2319698
191 105.739113
192 102.558704
193 106.3714351
194 93.32603438
195 107.9719309
196 113.4009992
197 100.8891301
198 121.2213373
199 118.3015657
200 116.9197236
201 98.27747503
202 109.7579138
203 101.702454
204 111.8144713
205 94.45877862
206 90.85046529
207 111.7009087
208 85.08914066
209 104.9564443
210 119.6430234
211 79.82081659
212 85.02040582
213 100.6112569
214 99.66734661
215 94.28496216
216 91.14047473
217 102.4678132
218 100.7167911
219 108.9990478
220 97.52459899
221 88.60344384
222 87.75681553
223 82.11521886
224 105.6632777
225 86.63615451
226 99.87026798
227 90.38661165
228 101.485997
229 104.0821776
230 96.0130618
231 91.51229294
232 102.1454517
233 102.6591517
234 83.90991997
235 77.36318964
236 87.21548837
237 80.84724051
238 101.5107836
239 92.56915106
240 82.69476282
241 80.99644386
242 96.46216773
243 98.11848977
244 96.07287469
245 91.64962756
246 66.33764057
247 79.197356
248 100.2617574
249 78.81026006
250 83.41548111
251 99.93882935
252 108.0824634
253 91.217859
254 90.37984683
255 79.6301169
256 90.36841859
257 87.76541977
258 92.01372667
259 86.45720893
260 88.59646597
261 84.81470254
262 107.7788264
263 91.67119408
264 92.77506032
265 87.55260617
266 89.11347241
267 81.43556855
268 86.38092042
269 85.66987323
270 109.7118734
271 91.1040111
272 83.88190076
273 85.55381268
274 91.4193938
275 101.3131808
276 81.43745522
277 87.31455329
278 90.33755891
279 99.81151408
280 106.684402
281 97.70792837
282 93.76621469
283 91.69048182
284 97.18574254
285 92.30079581
286 89.26458924
287 97.42861582
288 102.4719797
289 108.3840771
290 97.10767146
291 103.4646264
292 99.28298634
293 88.67955167
294 102.6768356
295 98.92729137
296 94.12663864
297 87.3663415
298 87.19902769
299 87.41923358
300 79.90165728
301 83.27061178
302 97.92832444
303 96.51270856
304 86.29228515
305 97.04999131
306 87.61700054
307 102.3950804
308 109.8183084
309 89.72060962
310 106.2124507
311 104.3946814
312 97.23175775
313 113.5856281
314 96.03594247
315 89.14733326
316 104.703616
317 121.5732584
318 99.93797428
319 114.3042129
320 78.84954727
321 103.2281991
322 128.2015951
323 94.42699371
324 103.9150872
325 81.92716427
326 100.1234421
327 100.2498074
328 138.3697542
329 100.4779671
330 112.6106694
331 118.3492065
332 93.42376516
333 93.9574748
334 91.68938826
335 85.91829157
336 102.7823054
337 108.8603989
338 99.29350704
339 105.4119148
340 104.8475803
341 118.2392459
342 114.9315706
343 104.5023825
344 115.2774196
345 93.6488869
346 111.6894641
347 115.7819675
348 98.39662966
349 104.1481387
350 117.2605802
351 126.7892667
352 106.9216245
353 108.9963278
354 122.4931013
355 94.24926393
356 104.4753435
357 120.2328613
358 101.1800659
359 115.8940486
360 95.36951165
361 104.3855795
362 118.1921456
363 110.6871452
364 116.0912641
365 114.7747094
366 125.2496692
367 106.7349761
368 115.4219948
369 114.3395831
370 105.917662
371 119.364546
372 112.6979065
373 96.20257895
374 107.6177896
375 105.9358521
376 115.8610687
377 99.20501345
378 87.68995605
379 123.1897901
380 98.02895782
381 95.48723167
382 98.35491481
383 92.57220462
384 118.5306661
385 99.24077403
386 112.9958766
387 111.3604642
388 112.3225746
389 74.85394314
390 106.244066
391 97.04028992
392 96.98762067
393 106.0505782
394 103.6805113
395 95.46956312
396 92.91983893
397 102.6308354
398 90.32892705
399 95.73816035
400 103.2442121
401 111.7224927
402 109.4991855
403 88.00131205
404 87.6079082
405 112.3614284
406 99.97522782
407 80.22998372
408 85.96033451
409 85.40340913
410 102.8643718
411 106.9974557
412 96.14400112
413 90.63832437
414 108.8355253
415 104.3734085
416 92.147686
417 96.39533626
418 111.2250368
419 81.65078792
420 99.81066025
421 98.01276717
422 78.07720187
423 85.8005895
424 99.30102938
425 87.2291675
426 85.05404714
427 99.99921664
428 105.1660088
429 86.63556105
430 99.86613219
431 93.77406649
432 104.6050015
433 90.43610971
434 107.7273762
435 96.01179742
436 112.8139616
437 94.65978303
438 87.56220328
439 85.12668017
440 90.07825587
441 81.64916045
442 89.00651045
443 93.38843
444 89.3393326
445 108.8127612
446 79.78539833
447 79.33010316
448 84.40458774
449 74.22738983
450 95.13661005
451 88.4526456
452 80.6699032
453 96.01623242
454 104.8575109
455 83.05433277
456 94.47077054
457 95.42820344
458 83.45761942
459 77.16736072
460 108.7108433
461 88.2118547
462 89.09641098
463 84.22192739
464 96.70630031
465 103.73901
466 95.14031225
467 77.62110462
468 89.47014925
469 97.66069651
470 98.51061704
471 105.1499812
472 96.00169182
473 103.0872119
474 86.4214719
475 94.98891096
476 105.3251198
477 84.07151501
478 90.96977702
479 84.47679852
480 87.56417784
481 71.36401469
482 93.52952914
483 85.30760156
484 106.4928465
485 109.1869557
486 95.51556128
487 95.57814343
488 106.6067326
489 103.8086802
490 78.22465239
491 90.84343693
492 102.6572335
493 93.37748269
494 93.00855817
495 133.3098287
496 92.02010694
497 99.0918937
498 89.4371333
499 99.32065336
500 84.99652824

Wyświetl plik

@ -1,5 +1,5 @@
"""
Signal Filtering/Smoothing and Generation of Synthetic Time-Series.
Signal Filtering and Generation of Synthetic Time-Series.
Copyright (c) 2020 Gabriele Gilardi
"""
@ -9,7 +9,7 @@ import numpy as np
def synthetic_wave(P, A=None, phi=None, num=1000):
"""
Generates a multi-sine wave given a periods, amplitudes, and phases.
Generates a multi-sine wave given periods, amplitudes, and phases.
P (n, ) Periods
A (n, ) Amplitudes
@ -46,10 +46,36 @@ def synthetic_wave(P, A=None, phi=None, num=1000):
return t, f
def synthetic_sampling(X, n_reps=1, replace=True):
"""
Generates surrogates of the time-series X using randomized-sampling
(bootstrap) with or without replacement. Input X must be a 1D array.
X (n, ) Original time-series
idx (n_reps, n) Random index of X
X_synt (n_reps, n) Synthetic time-series
"""
X = X.flatten() # Reshape to (n, )
n = len(X)
# Sampling with replacement
if (replace):
idx = np.random.randint(0, n, size=(n_reps, n))
# Sampling without replacement
else:
idx = np.argsort(np.random.rand(n_reps, n), axis=1)
# Synthetic time-series
X_synt = X[idx]
return X_synt
def synthetic_FFT(X, n_reps=1):
"""
Generates surrogates of the time-serie X using the phase-randomized
Fourier-transform algorithm. Input X needs to be a 1D array.
Generates surrogates of the time-series X using the phase-randomized
Fourier-transform algorithm. Input X must be a 1D array.
X (n, ) Original time-series
X_fft (n, ) FFT of the original time-series
@ -90,36 +116,10 @@ def synthetic_FFT(X, n_reps=1):
return X_synt
def synthetic_sampling(X, n_reps=1, replace=True):
"""
Generates surrogates of the time-serie X using randomized-sampling
(bootstrap) with or without replacement. Input X needs to be a 1D array.
X (n, ) Original time-series
idx (n_reps, n) Random index of X
X_synt (n_reps, n) Synthetic time-series
"""
X = X.flatten() # Reshape to (n, )
n = len(X)
# Sampling with replacement
if (replace):
idx = np.random.randint(0, n, size=(n_reps, n))
# Sampling without replacement
else:
idx = np.argsort(np.random.rand(n_reps, n), axis=1)
# Synthetic time-series
X_synt = X[idx]
return X_synt
def synthetic_MEboot(X, n_reps=1, alpha=0.1, bounds=False, scale=False):
"""
Generates surrogates of the time-serie X using the maximum entropy
bootstrap algorithm. Input X needs to be a 1D array.
Generates surrogates of the time-series X using the maximum entropy
bootstrap algorithm. Input X must be a 1D array.
X (n, ) Original time-series
idx (n, ) Original order of X
@ -259,7 +259,7 @@ def value2diff(X, percent=True):
Notes:
- the discrete difference can be calculated in percent or in value.
- dX is one element shorter than X.
- X needs to be a 1D array.
- X must be a 1D array.
"""
X = X.flatten() # Reshape to (n, )
@ -276,7 +276,7 @@ def value2diff(X, percent=True):
def diff2value(dX, X0, percent=True):
"""
Returns array X from the 1st discrete difference using X0 as initial value.
Rebuilds array X from the 1st discrete difference using X0 as initial value.
dX (n, ) Discrete differences
X0 scalar Initial value
@ -285,7 +285,7 @@ def diff2value(dX, X0, percent=True):
Notes:
- the discrete difference can be in percent or in value.
- X is one element longer than dX.
- dX needs to be a 1D array.
- dX must be a 1D array.
If the discrete difference is in percent:
X[0] = X0

Wyświetl plik

@ -1,17 +1,12 @@
"""
Signal Filtering/Smoothing and Generation of Synthetic Time-Series.
Signal Filtering and Generation of Synthetic Time-Series.
Copyright (c) 2020 Gabriele Gilardi
ToDo:
- do examples and check type (low pass, etc)
- put type in description
- see paper ZEMA for tests
- check results with ML
"""
import sys
import warnings
import numpy as np
import matplotlib.pyplot as plt
@ -20,83 +15,72 @@ import synthetic as syn
# Added to avoid message warning "The group delay is singular at frequencies
# [....], setting to 0" when plotting the lag for SMA filters.
np.seterr(all='ignore')
# np.seterr(all='ignore')
warnings.filterwarnings('ignore')
np.random.seed(1294404794)
# Read data to filter
# Read example to run
if len(sys.argv) != 2:
print("Usage: python test.py <data_file>")
print("Usage: python test.py <example>")
sys.exit(1)
data_file = sys.argv[1] + '.csv'
example = sys.argv[1]
# Read data from a csv file (one time-series each column)
data = np.loadtxt(data_file, delimiter=',')
print(data.shape)
# Read data from a csv file
data_file = 'spx'
data = np.loadtxt(data_file + '.csv', delimiter=',')
# t, f = syn.synthetic_wave([1., 2., 3.], A=None, phi=None, num=1000)
# plt.plot(t,f)
# plt.show()
# Example with a few filters
if (example == 'Filters'):
spx = flt.Filter(data)
ema = spx.EMA(N=10)
butter = spx.ButterMod(P=10, N=2)
zema = spx.ZEMA2(N=10, K=2.0)
signals = [spx.data, ema, butter, zema]
names = ['SPX', 'EMA', 'ButterMod', 'ZEMA2']
flt.plot_signals(signals, names=names, start=0, end=200)
spx = flt.Filter(data)
# res = spx.EMA(N=10)
# signals = [spx.data, res[0:400]]
# flt.plot_signals(signals, ['SPX', 'SMA'])
# Example with the three types of Kalman filter
elif (example == 'Kalman'):
spx = flt.Filter(data)
a_type = spx.Kalman(sigma_x=0.1, sigma_v=0.1, dt=1.0, abg_type="a")
ab_type = spx.Kalman(sigma_x=0.1, sigma_v=0.1, dt=1.0, abg_type="ab")
abg_type = spx.Kalman(sigma_x=0.1, sigma_v=0.1, dt=1.0, abg_type="abg")
signals = [spx.data, a_type, ab_type, abg_type]
names = ['SPX', 'a-type', 'ab-type', 'abg-type']
flt.plot_signals(signals, names=names, start=0, end=200)
res = spx.BandPass(P=10, delta=0.3)
# Example of filter frequency and lag
elif (example == 'Response'):
spx = flt.Filter(data)
band = spx.BandPass(P=10, delta=0.3)
spx.plot_response()
spx.plot_frequency()
spx.plot_lag()
# Example of surrogates time-series using the Fourier-transform algorithm
elif (example == 'FFT_boot'):
pass
# sigma_x = 0.1
# sigma_v = 0.1 * np.ones(n_samples)
# res = spx.Kalman(sigma_x=sigma_x, sigma_v=sigma_v, dt=1.0, abg_type="abg")
# alpha = 0.5
# beta = 0.005
# gamma = 0.0
# Yc, Yp = spx.ABG(alpha=alpha, beta=beta, gamma=gamma, dt=1.0)
# signals = (spx.data[:, 0], Yc[:, 0], Yp[:, 0])
# utl.plot_signals(signals, 0, 50)
# Example of surrogates time-series using maximum entropy bootstrap algorithm
elif (example == 'ME_boot'):
pass
# t, f = syn.synthetic_wave([1., 2., 3.], A=None, phi=None, num=100)
# plt.plot(t,f)
# plt.show()
# aa = np.array([
# [ 0.8252, 0.2820],
# [ 1.3790, 0.0335],
# [-1.0582, -1.3337],
# [-0.4686, 1.1275],
# [-0.2725, 0.3502],
# [ 1.0984, -0.2991],
# [-0.2779, 0.0229],
# [ 0.7015, -0.2620],
# [-2.0518, -1.7502],
# [-0.3538, -0.2857],
# [-0.8236, -0.8314],
# [-1.5771, -0.9792],
# [ 0.5080, -1.1564]])
# synt_data = syn.synthetic_FFT(aa[0:5,0], n_reps=1)
# print(synt_data)
else:
print("Example not found")
sys.exit(1)
# plt.plot(synt_data1)
# plt.plot(synt_data2)
# dX = syn.value2diff(data, percent=True)
# # X = syn.diff2value(dX, data[0], percent=True)
# signals = [data, X]
# flt.plot_signals(signals, start=0, end=200)
# dX = syn.value2diff(data, percent=False)
# dX_synt = syn.synthetic_sampling(dX, n_reps=1, replace=True)
# dX_synt = syn.synthetic_FFT(dX, n_reps=2)
# dX_synt = syn.synthetic_MEboot(dX, n_reps=4, alpha=0.1, bounds=False, scale=False)
# for i in range(dX_synt.shape[0]):
# # aa = dX_synt[:, i]
# aa = syn.diff2value(dX_synt[i, :], data[0], percent=False)
# plt.plot(aa)
# plt.xlim(0, 200)
# plt.plot(data)
# names = ['syn1', 'syn2', 'spx']
# plt.legend(names)
# plt.show()
# percent = False
# print(data[0:10, :])
# bb = syn.value2diff(data, percent)
# print(bb[0:10, :])
# cc = syn.diff2value(bb, percent)
# print(cc[0:10, :]+1399.48)
# i = np.arange(aa.shape[1])
# bb[:, i] = aa[idx[:, i], i]
# aa = np.array([4, 12, 36, 20, 8])
# bb = syn.synthetic_sampling(aa, n_reps=2, replace=True)
# print(bb)
# aa = np.array([4, 12, 36, 20, 8])
# W = syn.synthetic_MEboot(aa, n_reps=1, alpha=0.1, bounds=False, scale=False)
# print('W=')
# print(W)

Wyświetl plik

@ -1,4 +1,4 @@
# Signal Smoothing / Filtering and Generation of Synthetic Time-Series
# Signal Filtering and Generation of Synthetic Time-Series
## Reference
@ -10,6 +10,57 @@
## Characteristics
## Parameters
- The code has been written and tested in Python 3.7.7.
- Implementation of several digital signal filters and functions for the generation of synthetic (surrogate) time-series.
- Filter list (*filters.py*):
- **Generic** Generic filter.
- **SMA** Simple moving average.
- **EMA** Exponential moving average.
- **WMA** Weighted moving average.
- **MSMA** Modified simple moving average.
- **MLSQ** Modified least-squares quadratic.
- **ButterOrig** Butterworth original filter.
- **ButterMod** Butterworth modified filter.
- **SuperSmooth** Supersmoother filter.
- **GaussLow** Gauss low pass filter.
- **GaussHigh** Gauss high pass filter.
- **BandPass** Band-pass filter.
- **BandStop** Band-stop filter.
- **ZEMA1** Zero-lag EMA (type 1).
- **ZEMA2** Zero-lag EMA (type 2).
- **InstTrend** Instantaneous trendline.
- **SincFilter** Sinc function filter.
- **Decycler** De-cycler filter.
- **DecyclerOsc** De-cycle oscillator.
- **ABG** Alpha-beta-gamma filter.
- **Kalman** One-dimensional steady-state Kalman filter.
- Synthetic time-series (*synthetic.py*):
- **synthetic_wave** Generates multi-sine wave given periods, amplitudes, and phases.
- **synthetic_sampling** Generates surrogates using randomized-sampling (bootstrap) with or without replacement.
- **synthetic_FFT** Generates surrogates using the phase-randomized Fourier-transform algorithm.
- **synthetic_MEboot** Generates surrogates using the maximum entropy bootstrap algorithm.
- File *filters.py* includes also functions to plot the filter signal, frequency response, and group delay.
- File *synthetic.py* includes also functions to differentiate, integrate, normalize, and scale the discrete time-series.
- Usage: *python test.py example*.
## Main Parameters
`example` Name of the example to run.
`data_file` File name with the dataset (csv format). The extension is added automatically.
`X` Dataset to filter/time-series (input). It must be a 1D array, i.e. of shape `(:, )` or `(:, 1)` or `(1, :)`.
`b` Transfer response coefficients (numerator).
`a` Transfer response coefficients (denominator).
`Y` Filtered dataset (output).
`X_synt` Synthetic time-series (output)
`n_reps` Number of surrogates/synthetic time-series to generate.
## Examples
There are five examples: **Filters**, **Kalman**, **Response**, **FFT_boot**, **ME_boot**. For all, the dataset in *spx.csv* is used.