diff --git a/src/scipy-stubs/signal/__init__.pyi b/src/scipy-stubs/signal/__init__.pyi
index 4592fb8fac95ec26eee2cb67fb5b52327d700e49..7046d28aafd14192edc09eacd27994b36c5a0ee9 100644
--- a/src/scipy-stubs/signal/__init__.pyi
+++ b/src/scipy-stubs/signal/__init__.pyi
@@ -8,6 +8,9 @@ from typing import Tuple, Optional, Union, overload, TypeVar
 from scientific_plots.types_ import Vector, Matrix, Tensor
 
 
+Input = TypeVar("Input", Vector, Matrix, Tensor)
+
+
 def welch(
     Y: Union[Vector, list[float]],
     fs: Optional[float] = None,
@@ -47,17 +50,17 @@ def savgol_filter(
 
 
 def sosfilt(
-    sos: Single, x: Union[Single, Matrix],
+    sos: Single, x: Input,
     axis: int = -1, zi: Optional[Single] = None,
     padtype: Optional[str] = "odd", padlen: Optional[int] = None)\
-        -> Vector: ...
+        -> Input: ...
 
 
 def sosfiltfilt(
-    sos: Single, x: Union[Single, Matrix],
+    sos: Single, x: Input,
     axis: int = -1, zi: Optional[Single] = None,
     padtype: Optional[str] = "odd", padlen: Optional[int] = None)\
-        -> Vector: ...
+        -> Input: ...
 
 
 def butter(
@@ -65,9 +68,6 @@ def butter(
     output: str = "ba", fs: Optional[float] = None) -> Vector: ...
 
 
-Input = TypeVar("Input", Vector, Matrix, Tensor)
-
-
 def wiener(
     im: Input,
     noise: Optional[float] = None,