QuakeLogic Blog Archive

Handling Non-Uniformly Spaced Data Using NUFFT and Sinc Interpolation

Illustration for NUFFT and sinc interpolation of non-uniformly sampled MRI and geophysical signals

In short: To process non-uniformly spaced data, apply a Non-Uniform FFT (NUFFT) directly to the irregular samples for frequency-domain analysis, or regrid the samples onto a uniform grid with cubic interpolation and then apply time-domain sinc interpolation (resampleSINC) for a band-limited reconstruction. The article's Python example uses pynufft, scipy interp1d and a sinc kernel on a 256-point two-tone test signal.

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.

Key Takeaways

  • NUFFT (pynufft) transforms non-uniformly sampled data to the frequency domain without first interpolating.
  • scipy.interpolate.interp1d with kind='cubic' regrids irregular samples onto a 256-point uniform grid.
  • resampleSINC sums signal * sinc((u – x) / dx) over all samples, an exact reconstruction for band-limited uniformly sampled data.
  • The example signal is sin(5x) + sin(15x) on 0 to 2π with randomly placed non-uniform sample points.
  • The method follows Erol Kalkan's Time-domain Sinc Interpolation (Resampling) submission on MATLAB File Exchange.

Frequently Asked Questions

What is NUFFT and when should I use it instead of a regular FFT?

A Non-Uniform FFT (NUFFT) computes the Fourier transform of data whose sample points are irregularly spaced, which a standard FFT cannot accept. Use NUFFT when the data arrives on a non-uniform grid, as in MRI k-space, radar or geophysical surveys, and you need a frequency-domain result without first interpolating. In Python the pynufft package plans the transform from the sample positions and grid size, then calls forward() on the samples.

How does sinc interpolation reconstruct a non-uniformly sampled signal?

Sinc interpolation reconstructs a band-limited signal exactly from uniformly spaced samples by summing each sample multiplied by a sinc kernel centred on it. Because the kernel assumes uniform spacing, the workflow first regrids the irregular samples with cubic interpolation, then applies the resampleSINC function, which computes sum(signal * sinc((u – x) / dx)) for every output point u. The result follows the original signal closely with minimal distortion.

Why regrid with cubic interpolation before applying resampleSINC?

Time-domain sinc interpolation is only exact when the input samples lie on a uniform grid, so the irregular samples must be mapped onto one first. scipy.interpolate.interp1d with kind='cubic' provides a smooth, fast approximation of the signal at the uniform grid points; resampleSINC then refines that estimate with a band-limited kernel, giving a reconstruction that is both smooth and faithful to the original data.

Which Python libraries does the NUFFT and sinc interpolation workflow need?

The example uses NumPy for arrays and the sinc function, Matplotlib for plotting, pynufft for the NUFFT class with its plan and forward calls, and SciPy's interpolate module for cubic regridding. The resampleSINC function itself is a short pure-NumPy loop, so no additional dependency is required for the sinc stage of the workflow.

Can this workflow be applied to seismic or geophysical data?

Yes. Geophysics is one of the fields the method targets, alongside MRI and radar. Field sensors with irregular timestamps, gaps or uneven station spacing produce non-uniform samples that break standard FFT-based processing. Regridding followed by sinc resampling restores a uniform time series suitable for spectral analysis, while NUFFT gives a direct spectrum when interpolation should be avoided.

Need help with a project? QuakeLogic designs and supplies seismic monitoring, earthquake early warning, structural health monitoring, infrasound, and shake table systems. Browse QuakeLogic products or contact our engineering team with your site, structure, or test requirements.

Ironcore Biaxial Shake Table With Magnetic Linear Motors

Iron-core linear motor shake table for seismic and vibration testing

In short: The Ironcore biaxial shake table achieves precise, low-friction motion because its magnetic linear motors drive the platform with no contact between motor and rail; the gap is under 1 mm and the only friction comes from the rail guards. It delivers 2g at a 50 kg payload, 125 mm stroke in each direction and up to 15 Hz on two lateral axes, with closed-loop PID control and EASYTEST software.

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.

Key Takeaways

  • Capacity: 2g at 50 kg payload, 125 mm stroke in each direction and up to 15 Hz operating frequency on two lateral axes.
  • Magnetic linear motors keep a sub-1 mm gap between motor and rail, so the only friction comes from the rail guards.
  • A closed-loop PID controller executes custom and standard waveforms including sine sweeps on X, Y or both axes.
  • EASYTEST software handles test setup, execution, real-time monitoring and data analysis.
  • Accessories: QL-MINI USB triaxial MEMS accelerometer/inclinometer, plexiglass model structure and GEOBOX for liquefaction demos.

Frequently Asked Questions

What are the specifications of the Ironcore biaxial shake table?

The Ironcore biaxial shake table provides two lateral degrees of freedom, 2g acceleration at a 50 kg payload, a stroke of 125 mm in each direction and operation up to 15 Hz. Motion is produced by magnetic linear motors under closed-loop PID control, supports custom and standard waveforms, and is set up, executed and analyzed through QuakeLogic's EASYTEST software in a plug-and-play configuration.

How do magnetic linear motors reduce friction in a shake table?

In a magnetic linear motor there is no mechanical contact between the motor and the rail; the gap is less than 1 mm and magnetic forces generate the motion directly. The only friction in the Ironcore table comes from the rail guards, so there is no gearbox, belt or ball screw to introduce backlash or wear. The result is smoother, quieter and more accurate reproduction of the commanded waveform.

What is EASYTEST software used for on QuakeLogic shake tables?

EASYTEST is QuakeLogic's proprietary control software integrated with the Ironcore shake table. It provides an interface for defining test parameters, executing sine sweeps, recorded earthquakes and custom waveforms, and monitoring the table in real time. It also handles data analysis so that a user can go from setup to consistent, repeatable results without separate control and acquisition tools.

Which accessories are available for the Ironcore biaxial shake table?

QuakeLogic offers QL-MINI digital triaxial MEMS accelerometer and inclinometer combo sensors that connect to a Windows PC by USB and use the free QL-VISIO software; a modular plexiglass model structure, best instrumented with five QL-MINI sensors; and the GEOBOX, a waterproof plexiglass container that mounts on the table for liquefaction, lateral spreading and slope-stability demonstrations.

Who uses QuakeLogic shake tables?

The institutions named as users of QuakeLogic shake tables include Nokia, Texas A&M, the University of Nevada Reno, UC San Diego, the University of Texas, Caltech, Imperial College, Virginia Tech and AUS. These users span industrial vibration testing and university earthquake engineering research and teaching, where quiet, repeatable two-axis motion matters.

Need help with a project? QuakeLogic designs and supplies seismic monitoring, earthquake early warning, structural health monitoring, infrasound, and shake table systems. Browse QuakeLogic products or contact our engineering team with your site, structure, or test requirements.

1-Ton Uniaxial Shake Table With ±1 g and ±200 mm Stroke

QuakeLogic shake table platform used for 3-ton and 5-ton seismic testing systems

In short: The QuakeLogic 1 ton uniaxial shake table has a 150 × 150 cm top plate, delivers ±1 g acceleration at a full 1 ton payload and provides ±200 mm of stroke. An electro-mechanical servo motor replaces hydraulics, so the table runs quietly and is practically maintenance-free. The IP-based controller supports remote operation, and the EASYTEST software runs on any Windows machine without special computer cards.


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

QL customer satisfaction for "Biaxial Shake Table: Revolutionizing Seismic Testing Across Industries"

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.

Key Takeaways

  • Top table 150 × 150 cm, ±1 g acceleration at 1 ton payload, ±200 mm stroke.
  • Electro-mechanical servo-motor drive: quiet, smooth and practically maintenance-free compared with hydraulic tables.
  • IP-based controller allows remote operation and monitoring over the network.
  • EASYTEST software needs no specialized computer cards and runs on any Windows PC.

Frequently Asked Questions

What are the specifications of the 1 ton uniaxial shake table?

QuakeLogic's 1 ton uniaxial shake table has a 150 × 150 cm top table, reaches ±1 g acceleration at its full 1 ton payload capacity and has a stroke of ±200 mm. It is driven by an electro-mechanical servo motor, controlled over IP and operated through the EASYTEST software on a standard Windows machine, with a compact design that installs quickly.

Is a 1 ton shake table hydraulic or electric?

This 1 ton table is electric. An advanced electro-mechanical servo motor moves the platform instead of hydraulic actuators, which removes the hydraulic power unit, oil and associated upkeep. The servo drive gives smooth, quiet operation and a practically maintenance-free system that installs quickly in a laboratory without the infrastructure a hydraulic table requires.

Can the shake table be operated remotely?

Yes. The 1 ton uniaxial shake table uses an IP-based control system, so tests can be started and monitored from a PC on the network rather than only at the table. Combined with EASYTEST, which needs no specialized computer cards and runs on any Windows machine, this gives flexible control for labs where the operator and table are not in the same room.

What can a 1 ton payload shake table test?

A 1 ton payload with a 150 × 150 cm platform and ±1 g acceleration suits scaled building and bridge models, equipment and component qualification, and research into earthquake resilience and structural integrity. The ±200 mm stroke allows long-period ground motion records to be reproduced within the displacement limits of the table.

Need help with a project? QuakeLogic designs and supplies seismic monitoring, earthquake early warning, structural health monitoring, infrasound, and shake table systems. Browse QuakeLogic products or contact our engineering team with your site, structure, or test requirements.