diff --git a/src/science_signal/signal.py b/src/science_signal/signal.py index 4c15847..069998b 100644 --- a/src/science_signal/signal.py +++ b/src/science_signal/signal.py @@ -126,7 +126,7 @@ class Signal: y = irfft(freq_y) return Signal( self.x[: len(y)], - y[: len(self.y)], + y[: len(self.x)], ) def psd(self, fft_length: int = 10) -> "Signal": @@ -146,19 +146,13 @@ class Signal: """ Return the sinus of this signal """ - return Signal( - self.x, - sin(self.y), - ) + return Signal(self.x, sin(self.y)) def sqrt(self) -> "Signal": """ Return the root square of this signal """ - return Signal( - self.x, - self.y ** (1 / 2), - ) + return Signal(self.x, self.y ** (1 / 2)) def operator_signal( self, other: "Signal", operator: str @@ -174,22 +168,13 @@ class Signal: except ValueError: self, other = interpolate(self, other) if operator == "+": - return Signal( - self.x, - self.y + other.y, - ) + return Signal(self.x, self.y + other.y) if operator == "-": return Signal(self.x, self.y - other.y) if operator == "*": - return Signal( - self.x, - self.y * other.y, - ) + return Signal(self.x, self.y * other.y) if operator == "/": - return Signal( - self.x, - self.y / other.y, - ) + return Signal(self.x, self.y / other.y) raise Exception(_("unknown operator {}").format(operator)) @@ -212,25 +197,13 @@ class Signal: except TypeError: pass if operator == "+": - return Signal( - self.x, - self.y + other, - ) + return Signal(self.x, self.y + other) if operator == "-": - return Signal( - self.x, - self.y - other, - ) + return Signal(self.x, self.y - other) if operator == "*": - return Signal( - self.x, - self.y * other, - ) + return Signal(self.x, self.y * other) if operator == "/": - return Signal( - self.x, - self.y / other, - ) + return Signal(self.x, self.y / other) raise Exception(_("unkown operator {}".format(operator))) def roperator_arraylike( @@ -248,15 +221,9 @@ class Signal: except TypeError: pass if operator == "-": - return Signal( - self.x, - other - self.y, - ) + return Signal(self.x, other - self.y) if operator == "/": - return Signal( - self.x, - other / self.y, - ) + return Signal(self.x, other / self.y) raise Exception(_("unknown operator {}".format(operator))) def __add__(self, other: ArrayLike | "Signal") -> "Signal": @@ -296,25 +263,16 @@ class Signal: return self.roperator_arraylike(other, "/") def __pow__(self, other: float | int) -> "Signal": - return Signal( - self.x, - self.y**other, - ) + return Signal(self.x, self.y**other) def __array__(self) -> NDArray[float64]: return array([self.x, self.y]) def __abs__(self) -> "Signal": - return Signal( - self.x, - abs(self.y), - ) + return Signal(self.x, abs(self.y)) def __neg__(self) -> "Signal": - return Signal( - self.x, - -self.y, - ) + return Signal(self.x, -self.y) def __len__(self) -> int: return len(self.x)