3

Without specific constraints on the data/noise properties or sampling assumptions, smoothing splines could be helpful. Indeed, constraining the curve to pass exactly through the given points could be too harsh. One example of such a toolbox in Matlab is SPLINEFIT with several examples: Direct spline interpolation of noisy data may result in a curve with ...


3

You can download it here NFFT Library (Nonequispaced Fast Fourier transform): http://www-user.tu-chemnitz.de/~potts/nfft/ Enjoy.


2

This can be split up in two questions for the sampling frequency and the window. 1) The required sampling frequency is given by the Nyquist theorem to be $f_s>2*f_{max}$ with $f_{max}$ being the largest frequency in your signal. When sampling actual signals with an ADC there is usually a low pass filter to ensure an upper frequency limit. 2) The ...


1

[WARNING, RUDE OPINION AHEAD] Engine people often record data in a speed-invariant fashion using angular sampling. I have been working in that domain for a while, and I bear with you. I have been testing the performance of $0.1$ CA sensors, most of them doing some weird and undocumented interpolation. I also have tested $6$ CA sensors, at the other end of ...


1

If you want to make sure that your interpolation stays within the bounds of sampled points (no over or under swings) use Piecewise Cubic Hermite Interpolating abd chose the derivatives at the boundary so that the function preservces monotonicity. Matlab explains it https://www.mathworks.com/help/matlab/ref/pchip.html


1

Without knowing what you want to get, I will assume you are interested in periodicities of the elevated dot patterns. They can give you access to roughness measures, texture attributes. Visually, 2D periodicities are apparent from your data point $(x,y)$ locations. At different scales though: beside a potential periodic base pattern, little streaks of 5 to ...


1

Your formula isn't accurate. Since you aren't trying for speed and internally consider the interpolation between data points as a step/pulse then the formula should be. $$ S(\omega)=\sum_{n=0}^{N-1}s_{k}sinc(\frac{\omega\triangle\left(t_{k}\right)}{2})e^{-wt_{k}} $$ Having said that, what is "adequate"? This is, more or less, subjective. The original ...


1

In case someone else has any use for it here's some MATLAB code similar to what I ended up using. It basically filters the WGN, splits it up to separate signals for each sampler, upsamples these signals and filters with a fractional delay filter approximation (truncated version of ideal step response used as FIR filter). This would approximate the effects of ...


1

As you mention, you could upsample the signal to a sufficiently high rate. An alternative would be to compute an interpolation kernel for every desired output sample. This would probably be pretty inefficient for a large number of output samples. You could tabulate many interpolation kernels. That would again leave you with a fixed set of possible ...


1

The correct way to implement the sum in the previous answer is for $l=-m N/2$ to $m N/2-1$ $\quad$ for $k=0$ to $N$ $\quad\quad$ for $j=-q/2$ to $q/2$ $\quad\quad\quad$ if $l==\mod(\mu_k+j+m N/2,m N)-m N/2$, $\quad\quad\quad\quad$ $\tau_l=\tau_l+\alpha_k P_{jk}$ $\quad\quad\quad$ end $\quad\quad$ end $\quad$ end In this way all the terms $\alpha_k ...


1

After more testing I think I found a problem with the way the algorithm is formulated. According to Eq. (60) $$ \sum_{k=0}^N\alpha_k \sum_{j=-q/2}^{q/2}P_{jk}\, e^{i(\mu_k+j)x/m}=\sum_{j=-mN/2}^{mN/2-1}\tau_j\, e^{ijx/m} $$. The idea is to compute the r.h.s. using an inverse FFT. The problem with this is is that some terms of the sum on the l.h.s. are left ...


Only top voted, non community-wiki answers of a minimum length are eligible