! ************************************************
! Fasors blokgolf en blokgolf-fasegedraaid.txt
! 23 aug 2012
! ************************************************

Declareer RMS1; RMS2

Naam Buffer F1 = Amp
Naam Buffer F2 = Fase
Naam Buffer F3 = Freq


! blokgolftoon van 200 Hz benaderd met 40 harmonischen.

FOR n = 1 TO 40
  Amp[n-1] = 5000 / n            ! Amplitudes
  Fase[n-1] = 0                  ! Fases 0 graden:
  Freq[n-1] = 200 * n            ! Frequenties 200, 400, 600... Hz:
NEXT n

! maak de amplitude van de EVEN boventonen gelijk aan nul:
FOR n = 0 TO 20
  Amp[2*n+1] = 0
NEXT n

! Doe animatie met fasors:
Fasor-Animatie
  Aantal fasors                         40
  Output ('S1', 'S2' of 'S3')           S1
  aantal beelden per seconde (max 20)   20
  Aantal beelden                        4
  Wissen na elke ... beelden            1

!******************************************************************************************

! blokgolftoon 90 graden fasegedraaid, van 200 Hz benaderd met 40 harmonischen.

FOR n = 1 TO 40
  Amp[n-1] = 5000 / n            ! Amplitudes
  Fase[n-1] = 90                 ! Fases 0 graden:
  Freq[n-1] = 200 * n            ! Frequenties 200, 400, 600... Hz:
NEXT n

! maak de amplitude van de EVEN boventonen gelijk aan nul:
FOR n = 0 TO 20
  Amp[2*n+1] = 0
NEXT n

! Doe animatie met fasors:
Fasor-Animatie
  Aantal fasors                         40
  Output ('S1', 'S2' of 'S3')           S2
  aantal beelden per seconde (max 20)   20
  Aantal beelden                        4
  Wissen na elke ... beelden            1

!******************************************************************************************
F4[0] = 0
F4[1] = 0
F4[2] = 0
Bewerk signaal
  n0          0
  n1          Fs
  Bewerking   F4[0] = F4[0] + S1[n]^2
Bewerk signaal
  n0          0
  n1          Fs
  Bewerking   F4[1] = F4[1]  + S2[n]^2

Print Fs
Print (F4[0]/Fs) ^ 0,5            ! RMS van blokgolf
Print (F4[1]/Fs) ^ 0,5            ! RMS van blokgolf 90 graden fasegedraaid
Print F4[0] / F4[1]

! uitkomst:
!   Fs = 44100
!   (F4[0]/Fs) ^ 0,5 = 3907,04996247718
!   (F4[1]/Fs) ^ 0,5 = 3907,49602046857
!   F4[0] / F4[1] = 0,999771704165889

