aboutsummaryrefslogtreecommitdiff
path: root/pyecsca/sca/trace/sampling.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyecsca/sca/trace/sampling.py')
-rw-r--r--pyecsca/sca/trace/sampling.py7
1 files changed, 3 insertions, 4 deletions
diff --git a/pyecsca/sca/trace/sampling.py b/pyecsca/sca/trace/sampling.py
index fdd5e5b..0a32c28 100644
--- a/pyecsca/sca/trace/sampling.py
+++ b/pyecsca/sca/trace/sampling.py
@@ -1,5 +1,4 @@
import numpy as np
-from copy import copy
from public import public
from scipy.signal import decimate
@@ -18,7 +17,7 @@ def downsample_average(trace: Trace, factor: int = 2) -> Trace:
"""
resized = np.resize(trace.samples, len(trace.samples) - (len(trace.samples) % factor))
result_samples = resized.reshape(-1, factor).mean(axis=1).astype(trace.samples.dtype)
- return Trace(result_samples, copy(trace.title), copy(trace.data))
+ return trace.with_samples(result_samples)
@public
@@ -32,7 +31,7 @@ def downsample_pick(trace: Trace, factor: int = 2, offset: int = 0) -> Trace:
:return:
"""
result_samples = trace.samples[offset::factor].copy()
- return Trace(result_samples, copy(trace.title), copy(trace.data))
+ return trace.with_samples(result_samples)
@public
@@ -45,4 +44,4 @@ def downsample_decimate(trace: Trace, factor: int = 2) -> Trace:
:return:
"""
result_samples = decimate(trace.samples, factor)
- return Trace(result_samples, copy(trace.title), copy(trace.data))
+ return trace.with_samples(result_samples)