This commit is contained in:
linarphy 2024-05-27 17:05:13 +02:00
parent 974702246d
commit 87bfb96cf6
No known key found for this signature in database
GPG key ID: E61920135EFF2295

View file

@ -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)