Discrete Weyl–Heisenberg transforms