Next  |  Prev  |  Up  |  Top  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Lagrange Interpolation in Faust, Fixed Delay $ d$

Fast time-invariant-delay algorithm fdelaylti -- derived by truncated Taylor series expansion above -- in Faust's filter.lib

import("music.lib");

fdelaylti(N,n,d,x)
  = delay(n,id,x) <: seq(i,N,section(i)) : !,_
with {
  o = (N-1.00001)/2;  // ~center FIR interpolator
  dmo = d - o; // assumed >=0 [d > (N-1)/2]
  id = int(dmo);
  fd = o + frac(dmo);
  section(i,x,y) = (x-x') * c(i) <: _,+(y);
  c(i) = (i - fd)/(i+1);
};

process = fdelayl(5,1024,5.4); // 5th-order ex.


Next  |  Prev  |  Up  |  Top  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Download Interpolation.pdf
Download Interpolation_2up.pdf
Download Interpolation_4up.pdf
Visit the online book containing this material.

``Bandlimited Interpolation, Fractional Delay Filtering, and Optimal FIR Filter Design'', by Julius O. Smith III, (From Lecture Overheads, Music 420).
Copyright © 2022-09-05 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University
CCRMA  [Automatic-links disclaimer]