!********************************************************************
! Preset Pulsrespons FDN 16X16.txt
!********************************************************************

Declareer early_strek; early; b; c; g; h; direct
Declareer M; eps; gain; duur

Wis buffers
  Wis buffer (F1...F32, S1, S2, S3)   S1 | S2|  F1  | F2

Priemgetallen
  buffer F?[?]   F2[0]
  interval A;B   18; 8000

early_strek = 7
early       = 1
b           = 1
c           = 0,38
direct      = 0,22
eps         = 0,00001
gain        = 0,995
duur        = 20*Fs

!*******************************************************************************
FOR n = 0 TO 15
  F1[n]    = early / (n+1)                    ! Gain early
  F1[n+16] = b * 0,05 * random(1;20)          ! Gain b
  F1[n+32] = c * 0,05 * random(1;20)          ! Gain c
  F1[n+80] = F2[2*n]  * early_strek           ! Early delay lengten in smp
  F1[n+96] = F2[int(180+3*(n^1,7))]           ! FDN delay lengten in smp
NEXT n

F1[112] = direct
F1[113] = 1       ! coefficient A van tonal correction filter
F1[114] = 0       ! coefficient B van tonal correction filter

!*******************************************************************************
! loop-filter PASP 2012 pag 117
FOR n = 0 TO 15
  M = F1[n+96]                                ! FDN-delaylengte
  g = 0,7                                     ! eps^(1/M)
  h = 1-g
  F1[n+48] = g*gain                           ! g coef loop-filter
  F1[n+64] = h*gain                           ! h coef loop-filter
NEXT n

!*******************************************************************************
S1[0] = 32000
Galm
  bronspoor en index        S1[0]
  doelspoor en index        S1[0]
  buffer parameters F?[?]   F1[0]
  aantal samples (duur)     duur
  
  
  Bewerk signaal
  n0          0
  n1          duur
  Bewerking   S2[n] = S1[n]
  