tf.keras.ops.irfft
Stay organized with collections
Save and categorize content based on your preferences.
Inverse real-valued Fast Fourier transform along the last axis.
tf.keras.ops.irfft(
x, fft_length=None
)
Computes the inverse 1D Discrete Fourier Transform of a real-valued signal
over the inner-most dimension of input.
The inner-most dimension of the input is assumed to be the result of RFFT:
the fft_length / 2 + 1
unique components of the DFT of a real-valued
signal. If fft_length
is not provided, it is computed from the size of the
inner-most dimension of the input (fft_length = 2 * (inner - 1))
. If the
FFT length used to compute is odd, it should be provided since it cannot
be inferred properly.
Along the axis IRFFT is computed on, if fft_length / 2 + 1
is smaller than
the corresponding dimension of the input, the dimension is cropped. If it is
larger, the dimension is padded with zeros.
Args |
x
|
Tuple of the real and imaginary parts of the input tensor. Both
tensors in the tuple should be of floating type.
|
fft_length
|
An integer representing the number of the fft length. If not
specified, it is inferred from the length of the last axis of x .
Defaults to None .
|
Returns |
A tensor containing the inverse real-valued Fast Fourier Transform
along the last axis of x .
|
Examples:
real = keras.ops.convert_to_tensor([0.0, 1.0, 2.0, 3.0, 4.0])
imag = keras.ops.convert_to_tensor([0.0, 1.0, 2.0, 3.0, 4.0])
irfft((real, imag))
array([0.66666667, -0.9106836, 0.24401694])
irfft(rfft(real, 5), 5)
array([0.0, 1.0, 2.0, 3.0, 4.0])
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-06-07 UTC.
[null,null,["Last updated 2024-06-07 UTC."],[],[],null,["# tf.keras.ops.irfft\n\n\u003cbr /\u003e\n\n|----------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/keras-team/keras/tree/v3.3.3/keras/src/ops/math.py#L569-L610) |\n\nInverse real-valued Fast Fourier transform along the last axis. \n\n tf.keras.ops.irfft(\n x, fft_length=None\n )\n\nComputes the inverse 1D Discrete Fourier Transform of a real-valued signal\nover the inner-most dimension of input.\n\nThe inner-most dimension of the input is assumed to be the result of RFFT:\nthe `fft_length / 2 + 1` unique components of the DFT of a real-valued\nsignal. If `fft_length` is not provided, it is computed from the size of the\ninner-most dimension of the input `(fft_length = 2 * (inner - 1))`. If the\nFFT length used to compute is odd, it should be provided since it cannot\nbe inferred properly.\n\nAlong the axis IRFFT is computed on, if `fft_length / 2 + 1` is smaller than\nthe corresponding dimension of the input, the dimension is cropped. If it is\nlarger, the dimension is padded with zeros.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|\n| `x` | Tuple of the real and imaginary parts of the input tensor. Both tensors in the tuple should be of floating type. |\n| `fft_length` | An integer representing the number of the fft length. If not specified, it is inferred from the length of the last axis of `x`. Defaults to `None`. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A tensor containing the inverse real-valued Fast Fourier Transform along the last axis of `x`. ||\n\n\u003cbr /\u003e\n\n#### Examples:\n\n real = keras.ops.convert_to_tensor([0.0, 1.0, 2.0, 3.0, 4.0])\n imag = keras.ops.convert_to_tensor([0.0, 1.0, 2.0, 3.0, 4.0])\n irfft((real, imag))\n array([0.66666667, -0.9106836, 0.24401694])\n\n irfft(rfft(real, 5), 5)\n array([0.0, 1.0, 2.0, 3.0, 4.0])"]]