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 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
Graph.convolve_pwc
: Create an Stf by convolving a Pwc with a kernel.
Graph.filter_and_resample_pwc
: Filter a Pwc with a sinc filter and resample it.
Graph.gaussian_convolution_kernel
: Create a convolution kernel representing a normalized Gaussian.
Notes
The sinc kernel that this node represents is defined as
In the frequency domain, the sinc function is constant in the range 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.