HannWindow#
- class sionna.phy.signal.HannWindow(normalize: bool = False, precision: Literal['single', 'double'] | None = None, device: str | None = None, **kwargs)[source]#
Bases:
sionna.phy.signal.window.WindowBlock for defining a Hann window function.
The window function is applied through element-wise multiplication.
The Hann window is defined by
\[w_n = \sin^2 \left( \frac{\pi n}{N} \right), 0 \leq n \leq N-1\]where \(N\) is the window length.
- Parameters:
normalize (bool) – If True, the window is normalized to have unit average power per coefficient. Defaults to False.
precision (Literal['single', 'double'] | None) – Precision used for internal calculations and outputs. If set to None,
precisionis used.device (str | None) – Device for computation. If None,
deviceis used.
- Inputs:
x – […, N], torch.complex or torch.float. The input to which the window function is applied. The window function is applied along the last dimension. The length of the last dimension
Nmust be the same as thelengthof the window function.- Outputs:
y – […, N], torch.complex or torch.float. Output of the windowing operation.
Examples
import torch from sionna.phy.signal import HannWindow window = HannWindow() x = torch.randn(32, 64) y = window(x) print(y.shape) # torch.Size([32, 64])