sinc_convolution_kernel
- Graph.sinc_convolution_kernel(cutoff_frequency)
Create a convolution kernel representing the sinc function.
Use this kernel to eliminate angular frequencies above a certain cutoff.
- Parameters
cutoff_frequency (float or Tensor) – Upper limit \(\omega_c\) of the range of angular frequencies that you want to preserve. The filter eliminates components of the signal that have higher angular frequencies.
- Returns
A node representing the sinc function to use in a convolution.
- Return type
See also
convolve_pwc
Create an Stf by convolving a Pwc with a kernel.
gaussian_convolution_kernel
Create a convolution kernel representing a normalized Gaussian.
utils.filter_and_resample_pwc()
Filter a Pwc with a sinc filter and resample it.
Notes
The sinc kernel that this node represents is defined as
\[K(t) = \frac{\sin(\omega_c t)}{\pi t}.\]In the frequency domain, the sinc function is constant in the range \([-\omega_c, \omega_c]\) and zero elsewhere. The filter it represents therefore passes angular frequencies only in that range.
For more information on Stf nodes see the Working with time-dependent functions in Boulder Opal topic.
Examples
Filter a signal by convolving it with a sinc kernel.
>>> sinc_kernel = graph.sinc_convolution_kernel(cutoff_frequency=300e6) >>> sinc_kernel <ConvolutionKernel: operation_name="sinc_convolution_kernel"> >>> pwc_signal <Pwc: name="pwc_signal_#1", operation_name="pwc_signal", value_shape=(), batch_shape=()> >>> filtered_signal = graph.convolve_pwc(pwc=pwc_signal, kernel=sinc_kernel) >>> filtered_signal <Stf: operation_name="convolve_pwc", value_shape=(), batch_shape=()>
Refer to the How to create leakage-robust single-qubit gates user guide to find the example in context.