Handling Non-Uniformly Spaced Data Using NUFFT and Sinc Interpolation

When processing non-uniformly spaced data in fields like MRI, radar, or geophysics, it’s crucial to use methods that can handle irregular sampling. In this blog, we discussed two important techniques: Non-Uniform FFT (NUFFT) and Time-domain Sinc Interpolation after regridding the data onto a uniform grid.

Here’s how we integrate both approaches using Python for practical applications.

Step-by-Step Workflow: NUFFT and ResampleSINC Interpolation

  1. Simulate Non-Uniformly Sampled Data: First, create a sinusoidal signal on a uniform grid, then sample it non-uniformly (like in MRI k-space).
  2. Apply NUFFT: Use NUFFT to handle the non-uniform data directly.
  3. Regrid Non-Uniform Data to Uniform Grid: Use interpolation methods like interp1d to map the data to a uniform grid.
  4. Apply ResampleSINC: Use the resampleSINC function for precise interpolation onto the uniform grid.

Let’s look at the complete Python code:

import numpy as np
import matplotlib.pyplot as plt
from pynufft import NUFFT
from scipy import interpolate

# Step 1: Generate a signal on a uniform grid
N = 256  # Number of points in the signal
x = np.linspace(0, 2*np.pi, N)
signal = np.sin(5*x) + np.sin(15*x)  # A test signal with two frequencies

# Step 2: Simulate non-uniform sampling
non_uniform_grid = np.sort(np.random.rand(N) * 2 * np.pi)

# Step 3: Perform NUFFT
nufft = NUFFT()
nufft.plan(non_uniform_grid, (N,), (256,))
signal_non_uniform = np.interp(non_uniform_grid, x, signal)
nufft_transform = nufft.forward(signal_non_uniform)

# Step 4: Regrid non-uniform data onto uniform grid using cubic interpolation
uniform_grid = np.linspace(0, 2*np.pi, N)
regridded_signal = interpolate.interp1d(non_uniform_grid, signal_non_uniform, kind='cubic')(uniform_grid)

# Step 5: Apply ResampleSINC for precise interpolation
def resampleSINC(signal, x, u):
    """
    Resample a signal using sinc interpolation in time domain
    Parameters:
    - signal : original signal on non-uniform grid
    - x : non-uniform grid
    - u : uniform grid to resample onto

    Returns:
    - interpolated_signal : the resampled signal on the uniform grid
    """
    interpolated_signal = np.zeros_like(u)

    for i in range(len(u)):
        interpolated_signal[i] = np.sum(signal * np.sinc((u[i] - x) / (x[1] - x[0])))

    return interpolated_signal

# Apply ResampleSINC on regridded signal
sinc_interpolated_signal = resampleSINC(regridded_signal, uniform_grid, uniform_grid)

# Step 6: Plot the results
plt.figure(figsize=(12, 6))

# Original and Non-Uniform Sampled Signal
plt.subplot(1, 2, 1)
plt.plot(x, signal, label='Original Signal')
plt.scatter(non_uniform_grid, signal_non_uniform, color='red', label='Non-uniform Samples')
plt.legend()
plt.title('Original and Non-Uniformly Sampled Signal')

# Sinc Interpolated Signal
plt.subplot(1, 2, 2)
plt.plot(x, signal, label='Original Signal')
plt.plot(uniform_grid, sinc_interpolated_signal, label='Sinc Interpolated Signal', linestyle='dashed')
plt.legend()
plt.title('Sinc Interpolation after Regridding')
plt.show()

Workflow Breakdown

  1. Simulate Non-Uniform Sampling: We create a simple sinusoidal signal on a uniform grid and simulate non-uniform sampling, common in MRI k-space.
  2. Regrid to Uniform Grid: Using cubic interpolation (interp1d from scipy), we map the non-uniform samples onto a uniform grid to facilitate subsequent operations like FFT or interpolation.
  3. ResampleSINC: The resampleSINC function is applied after regridding to precisely interpolate the signal onto a uniform grid. This technique uses sinc interpolation, which is ideal for band-limited signals when applied to uniformly spaced data.
  4. Plot Results: We visualize the original, non-uniform samples, and the signal reconstructed using sinc interpolation. As seen in the plot, the sinc-interpolated signal closely follows the original signal, providing an accurate reconstruction.

Conclusion

When working with non-uniformly spaced data, especially in fields like MRI or geophysics, it’s essential to use the right tools to process and reconstruct the signal. This blog demonstrated two key techniques:

  • NUFFT allows direct handling of non-uniform data without interpolation, providing accurate frequency-domain transforms.
  • ResampleSINC is ideal for signal reconstruction after regridding non-uniform data to a uniform grid, ensuring minimal distortion.

These methods, when used together, offer a powerful solution for handling non-uniformly sampled signals. By first regridding and then applying sinc interpolation, you ensure your final signal is both smooth and faithful to the original data.

Reference

Dr. Erol Kalkan, P.E. (2024). Time-domain Sinc Interpolation (Resampling) (https://www.mathworks.com/matlabcentral/fileexchange/59027-time-domain-sinc-interpolation-resampling), MATLAB Central File Exchange. Retrieved September 17, 2024.


If you’re dealing with non-uniform sampling in your field, contact QuakeLogic today for advanced solutions at info@quakelogic.net.

Let us show you how our state-of-the-art technologies can transform your signal processing workflows.

Ironcore Biaxial Shake Table with Magnetic Motors: Precision and Power in Vibration Testing

At QuakeLogic, we understand that precise and reliable seismic testing is crucial for advancing structural integrity and earthquake resilience. That’s why we’re proud to offer the state-of-the-art ironcore shake biaxial table, designed to meet the highest standards in the industry.

Why Choose the BI-AXIAL IRON CORE Shake Table?

Our ironcore shake table is equipped with cutting-edge linear motor technology, which uses magnetic forces to generate motion. Unlike traditional systems, there is no physical contact between the motor and the rail (gap is less than a 1 mm), resulting in minimal friction. The only friction comes from the rail guards, ensuring smoother, more accurate simulations. This advanced design provides the direct-drive precision and control necessary for high-fidelity testing, making it ideal for engineers and researchers on the forefront of structural testing.

Click HERE for the IRONCORE BIAXIAL shake table product page.

If you want to learn more about the linear motor technology, read our blog HERE.


Key Features of IRONCORE BIAXIAL shake table:

  • Bi-Axial Motion: Two lateral degrees of freedom for comprehensive testing.
  • High Capacity: ± 2g at 50 kg, with a stroke of ±125 mm and up to 15 Hz operational frequency.
  • Precision Control: Closed-loop PID system ensures exact motion execution.
  • Magnetic Linear Motors: No contact between motor and rail, reducing friction and wear.
  • Versatile Waveforms: Supports custom and standard waveforms for diverse testing scenarios.
  • Plug & Play Design: Easy setup, high reliability, and minimal maintenance.
  • EASYTEST Software: The ironcore shake table is integrated with our proprietary EASYTEST software, offering an intuitive interface for test setup, execution, and data analysis. EASYTEST simplifies complex testing procedures, enhances workflow efficiency, and provides comprehensive real-time monitoring and control, making it easier than ever to achieve accurate and consistent results.

Seeing is Believing

Experience the quiet and precise performance of the ironcore biaxial shake table as it effortlessly executes sine sweeps along the x-axis, y-axis, and simultaneously across both axes.

X-AXIS SINE WAVE

Y-AXIS SINE WAVE

X AND Y-AXIS SINE WAVE



The QuakeLogic Advantage

Trusted by leading institutions like NOKIA, TEXAS AM, UNR, UCSD, UNIVERSITY OF TEXAS, CALTECH, IMPERIAL COLLEGE, VIRGINIA TECH, AUS and many more, our shake tables are the pinnacle of seismic testing technology. It’s an investment in accuracy, efficiency, and the future of your research.

Click HERE for our extensive list of past clients.

Additional Accessories

Introducing the QL-MINI digital triaxial MEMS accelerometers and inclinometers combo sensor, designed for seamless integration with a Windows PC via USB. These sensors come with our complimentary QL-VISIO software, enabling real-time data analysis and retrieval with ease.

For enhanced demonstrations, we offer a modular plexiglass model structure specifically designed for use with the shake table. We recommend pairing this structure with five QL-MINI sensors to maximize the demonstration’s effectiveness.

Additionally, we provide a custom-made plexiglass box, known as the GEOBOX, ideal for geotechnical earthquake engineering demonstrations. This robust, waterproof box is perfect for simulating liquefaction, lateral spreading, slope stability, and more, and is designed for easy mounting on the shake table.


About QuakeLogic

QuakeLogic is a leader in seismic and vibration monitoring solutions, committed to enhancing testing and analysis with innovative, high-performance products.

Contact Us

  • Email: sales@quakelogic.net
  • Phone: +1-916-899-0391
  • WhatsApp: +1-650-353-8627
  • Website: www.quakelogic.net

Discover how QuakeLogic’s ironcore shake table, powered by our EASYTEST software, can elevate your seismic testing projects. Contact us today for more information.

Discover the Most Advanced 1-Ton Uniaxial Shake Table


QuakeLogic is proud to introduce our state-of-the-art 1-ton Uniaxial Shake Table, designed to bring unparalleled precision and power to your seismic testing needs. With a 1-ton payload capacity, this shake table is an indispensable tool for engineers and researchers focused on enhancing structural integrity and earthquake resilience.

Key specifications

A spacious top table with dimensions of 150×150 cm (L x W), capable of delivering up to ±1 g acceleration at 1-ton capacity, with a stroke of ±200 mm.

Powered by an advanced electro-mechanical servo motor, this shake table ensures smooth and quiet operation. Unlike traditional hydraulic systems, our shake table is practically maintenance-free, making it a hassle-free addition to your lab.

This IP-based system allows for remote operation and monitoring, providing flexibility and control like never before. Designed for ease of use, the shake table comes with our intuitive EASYTEST software, which requires no specialized computer cards and runs seamlessly on any Windows machine. Plus, its compact design means it’s ready to be installed quickly, so you can start testing without delay.

For more information, visit our product page HERE or contact us at sales@quakelogic.net

About QuakeLogic

QuakeLogic is a leading provider of advanced seismic monitoring solutions, offering a range of products and services designed to enhance the accuracy and efficiency of testing, data acquisition, and analysis.

Contact Information:

For more information about our products and services, please visit our website or contact our sales team. We are here to help you with all your testing and monitoring needs.