!*****************************************************
!  F M   B e s s e l s   i n   3 D - g r a f i e k
!*****************************************************

Declareer c; N;
Declareer duur; hop; AantalSpectra

Achtergrondkleur
  Rood     140
  Groen    122
  Blauw    110
Wis Grafiekvenster

Wis buffers
  Wis buffer (F1...F32, S1, S2, S3)   S1

Print 20*Fs/512       
! bij grondtoonfrequenties die veelvouden zijn van Fs/ N
! kan bij de FFT geen "leakage" optreden.

FM dynamisch
  Buffer                           S1
  Carrier   Freq start             1722,65625       ! 20*Fs/512
  Carrier   Freq Eind              1722,65625
  Carrier   Amp  start             8000
  Carrier   Amp  eind              8000
  Modulator Freq start             1722,65625
  Modulator Freq eind              1722,65625
  Modulator Amp  start             0
  Modulator Amp  eind              8
  Frequentie-eenheid               hz
  Vanaf samplenummer (ook 'sec')   0
  Aantal samples (ook 'sec')       6 sec

! *****************  FFT-blok  *************************************************************
N             = 2^9                  ! Het aantal samples van het FFT-venster moet een 2-macht zijn.
hop           = 0,05*Fs              ! verschuiving FFT-tijdvenster
duur          = 6*Fs
AantalSpectra = duur / hop

FOR k = 0 TO AantalSpectra
  FFT
    In Re                S1[k*hop]
    In Im                nvt
    Out Re               F3[0]
    Out Im               F4[0]
    Amp                  F1[k*N/2]
    Fase                 F2[0]
    Venster (in smp)     N
    Hann? ('j' of 'n')   n
  
  
NEXT k
! ********************************************************************************************

! Elk spectrum bestaat uit N/2 lijnen. Die worden getekend in de x-richting.
! Er zijn AantalSpectra spectra die getekend worden in z-richting.
! Dus variabele x stelt de frequentie voor en
!     variabele z stelt de tijd voor.

Grafiek van functie met 2 variabelen (3D)
  expressie y(x,z)                0,008*F1[z*N/2 + N/2 - x]
  x0                              0
  x1                              N/2 - 1
  z0                              0
  z1                              AantalSpectra
  vergroting x (breedte)          1
  rotatie y-as (graden)           100
  verschuiving x (breedte)        -60
  verschuiving y (hoogte)         -600
  verschuiving z (diepte)         800
  breedte grafiek (pixels)        1300
  linksboven hor (pixels)         1050
  linksboven vert (pixels)        50
  kleur x-lijnen (of vlakken)     geen
  kleur z-lijnen (of vlakken)     200, 200, 170
  stap x-lijnen                   1
  stap z-lijnen                   1
  pendikte (in pixels)            5
  'draad', 'dicht' of 'schaduw'   schaduw

Sonogram
  Buffer en index (s1, s2, s3)                    S1[0]
  lengte fragment (ook 'sec')                     6 sec
  FFT-venster  (in bits: 8...16)                  12
  Venstergrootte (ook 'sec')                      2000
  vensterverplaatsing (ook 'sec')                 0,01 sec
  weergave in decibel ('dB') of lineair ('lin')   lin
  kleur van laagste amp ('R', 'G' of 'B')         240
  kleur van hoogste amp ('R', 'G' of 'B')         60
  helderheid                                      16
  Hann-window ('j' of 'n')                        n
  Raster ('j' of 'n')                             j






