SignalProcessingTools 1.2.0__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/PKG-INFO +5 -2
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/ReadMe.md +4 -1
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools/__version__.py +1 -1
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools/time_signal.py +13 -5
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools.egg-info/PKG-INFO +5 -2
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/tests/test_time_signal.py +28 -0
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools/__init__.py +0 -0
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools/space_signal.py +0 -0
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools.egg-info/SOURCES.txt +0 -0
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools.egg-info/dependency_links.txt +0 -0
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools.egg-info/requires.txt +0 -0
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools.egg-info/top_level.txt +0 -0
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/pyproject.toml +0 -0
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/setup.cfg +0 -0
- {signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/tests/test_space_signal.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SignalProcessingTools
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: Signal processing tools
|
|
5
5
|
Author: attr: SignalProcessingTools.__author__
|
|
6
6
|
Author-email: bruno.zuadacoelho@deltares.nl, aron.noordam@deltares.nl
|
|
@@ -18,7 +18,10 @@ Requires-Dist: tox>=4.24; extra == "testing"
|
|
|
18
18
|
|
|
19
19
|
# SignalProcessingTools
|
|
20
20
|
|
|
21
|
-

|
|
22
|
+
[](https://pypi.org/project/SignalProcessingTools/)
|
|
23
|
+
[](https://pypi.org/project/SignalProcessingTools/)
|
|
24
|
+
|
|
22
25
|
|
|
23
26
|
A comprehensive Python package for time and space domain signal processing operations with a focus on vibration analysis and frequency-domain transformations.
|
|
24
27
|
The space domain operations focus on railway applications, while the time domain operations are more general.
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# SignalProcessingTools
|
|
2
2
|
|
|
3
|
-

|
|
4
|
+
[](https://pypi.org/project/SignalProcessingTools/)
|
|
5
|
+
[](https://pypi.org/project/SignalProcessingTools/)
|
|
6
|
+
|
|
4
7
|
|
|
5
8
|
A comprehensive Python package for time and space domain signal processing operations with a focus on vibration analysis and frequency-domain transformations.
|
|
6
9
|
The space domain operations focus on railway applications, while the time domain operations are more general.
|
{signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools/time_signal.py
RENAMED
|
@@ -191,12 +191,22 @@ class TimeSignalProcessing:
|
|
|
191
191
|
nfft = self.window_size
|
|
192
192
|
sig = self.signal
|
|
193
193
|
odd_length = False
|
|
194
|
+
normalise_fct = np.sum(self.window)
|
|
194
195
|
else:
|
|
195
196
|
# if nb_points is None: nb_points is signal length
|
|
196
197
|
if nb_points is None:
|
|
197
198
|
nfft = len(self.signal)
|
|
198
199
|
sig = self.signal
|
|
199
200
|
odd_length = False
|
|
201
|
+
normalise_fct = np.sum(self.window)
|
|
202
|
+
else:
|
|
203
|
+
nfft = nb_points
|
|
204
|
+
sig = np.zeros(nfft)
|
|
205
|
+
sig[:len(self.signal)] = self.signal
|
|
206
|
+
odd_length = False
|
|
207
|
+
self.window = np.ones(nfft)
|
|
208
|
+
self.window_size = nfft
|
|
209
|
+
normalise_fct = len(self.signal)
|
|
200
210
|
|
|
201
211
|
# if length is even
|
|
202
212
|
if nfft % 2 != 0:
|
|
@@ -206,11 +216,6 @@ class TimeSignalProcessing:
|
|
|
206
216
|
self.window_size = nfft
|
|
207
217
|
odd_length = True
|
|
208
218
|
|
|
209
|
-
# Normalize by the sum of the window samples.
|
|
210
|
-
# This compensates for the energy reduction caused by non-rectangular windows, aiming to preserve the
|
|
211
|
-
# peak amplitude of stationary sinusoids.
|
|
212
|
-
normalise_fct = np.sum(self.window)
|
|
213
|
-
|
|
214
219
|
spectrum_w = np.zeros((nfft, self.nb_windows), dtype="complex128")
|
|
215
220
|
hop_size = int(self.window_size * (1 - 0.5))
|
|
216
221
|
|
|
@@ -224,6 +229,9 @@ class TimeSignalProcessing:
|
|
|
224
229
|
signal_w = self.window * sig[idx_ini:idx_end]
|
|
225
230
|
|
|
226
231
|
# fft window signal
|
|
232
|
+
# Normalize by the sum of the window samples.
|
|
233
|
+
# This compensates for the energy reduction caused by non-rectangular windows, aiming to preserve the
|
|
234
|
+
# peak amplitude of stationary sinusoids.
|
|
227
235
|
spectrum_w[:, w] = np.fft.fft(signal_w, nfft) / normalise_fct
|
|
228
236
|
|
|
229
237
|
|
{signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SignalProcessingTools
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.2
|
|
4
4
|
Summary: Signal processing tools
|
|
5
5
|
Author: attr: SignalProcessingTools.__author__
|
|
6
6
|
Author-email: bruno.zuadacoelho@deltares.nl, aron.noordam@deltares.nl
|
|
@@ -18,7 +18,10 @@ Requires-Dist: tox>=4.24; extra == "testing"
|
|
|
18
18
|
|
|
19
19
|
# SignalProcessingTools
|
|
20
20
|
|
|
21
|
-

|
|
22
|
+
[](https://pypi.org/project/SignalProcessingTools/)
|
|
23
|
+
[](https://pypi.org/project/SignalProcessingTools/)
|
|
24
|
+
|
|
22
25
|
|
|
23
26
|
A comprehensive Python package for time and space domain signal processing operations with a focus on vibration analysis and frequency-domain transformations.
|
|
24
27
|
The space domain operations focus on railway applications, while the time domain operations are more general.
|
|
@@ -54,6 +54,34 @@ def test_fft(test_data):
|
|
|
54
54
|
np.testing.assert_almost_equal(sig.frequency[np.argmax(sig.amplitude[:int(len(sig.amplitude) / 2)])], 2.675, 2)
|
|
55
55
|
np.testing.assert_almost_equal(np.max(sig.amplitude[:int(len(sig.amplitude) / 2)]), 1.137, 2)
|
|
56
56
|
|
|
57
|
+
def test_fft_nb_points(test_data):
|
|
58
|
+
"""
|
|
59
|
+
Test the fft function
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
# results half representation
|
|
63
|
+
x, y, _ = test_data
|
|
64
|
+
sig = TimeSignalProcessing(x, y)
|
|
65
|
+
sig.fft(nb_points=2**18)
|
|
66
|
+
|
|
67
|
+
# check if signal lenght has been adapted to window size
|
|
68
|
+
assert len(sig.amplitude) == (2**18)/2
|
|
69
|
+
assert len(sig.frequency) == (2**18)/2
|
|
70
|
+
|
|
71
|
+
np.testing.assert_almost_equal(sig.frequency[np.argmax(sig.amplitude)], FREQ, 2)
|
|
72
|
+
np.testing.assert_almost_equal(np.max(sig.amplitude), AMP, 2)
|
|
73
|
+
|
|
74
|
+
# results full representation
|
|
75
|
+
sig.fft(nb_points=2**18, half_representation=False)
|
|
76
|
+
|
|
77
|
+
# check if signal lenght has been adapted to window size
|
|
78
|
+
assert len(sig.amplitude) == 2**18
|
|
79
|
+
assert len(sig.frequency) == 2**18
|
|
80
|
+
|
|
81
|
+
np.testing.assert_almost_equal(sig.frequency[np.argmax(sig.amplitude[:int(len(sig.amplitude) / 2)])], FREQ, 2)
|
|
82
|
+
np.testing.assert_almost_equal(np.max(sig.amplitude[:int(len(sig.amplitude) / 2)]), AMP / 2, 2)
|
|
83
|
+
|
|
84
|
+
|
|
57
85
|
def test_fft_window(test_data):
|
|
58
86
|
"""
|
|
59
87
|
Test the fft function with window
|
{signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools/__init__.py
RENAMED
|
File without changes
|
{signalprocessingtools-1.2.0 → signalprocessingtools-1.2.2}/SignalProcessingTools/space_signal.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|