


                          Spectrum Analyser V1.9 PL



Spectrum Analyser (c)1995 Dariusz J. "Thufor" Garbowski
reqtools.library  (c)1991-1993 Nico Franēois


    "Spectrum  Analyser"  jest  programem  GiftWare (wiėcej na temat GiftWare w
rozdziale  "Co to jest GiftWare?").  Pierwsza jego wersja ukazaīa siė pod nazwā
"Analizator Widma V1.0" i zostaīa napisana jako praca dyplomowa.  Obecna wersja
jest udoskonaleniem tego programu.


Wstėp
-----

    "Spectrum  Analyser" jest programem edukacyjnym.  Celem jego napisania byīo
graficzne  zobrazowanie  teorii  szeregów  trygonometrycznych  Fouriera.   Poza
obejrzeniem   widma   przebiegu   program   pozwala  na  zaobserwowanie  wpīywu
poszczególnych  skīadowych  (harmonicznych) na ksztaīt analizowanego przebiegu.
Daje  równieū  moūliwoōź  zaobserwowania  wpīywu  skīadowej  staīej  oraz braku
wyūszych  harmonicznych  na  ksztaīt  przebiegu  (poprzez  ograniczenie  liczby
obliczanych skīadowych).

     "Śródīem  inspiracji"  byī  dla  mnie  artykuī  Williama  Mobiusa "Analiza
spektralna  Fouriera"  (Magazyn Amiga 8/94, 9/94).  Temat zainteresowaī mnie na
tyle,  ūe postanowiīem napisaź program realizujācy postawione w treōci artykuīu
zaīoūenia.   Poza  tym  wykorzystaīem  wiadomoōci  wīasne  zdobyte  w szkole na
lekcjach podstaw elektrotechniki ;-?


Podziėkowania
-------------

Dziėkujė nastėpujācym osobom:


    mgr Henryk Hudy za moūliwoōź realizacji takiej pracy dyplomowej oraz za
                    wszelkie uwagi,

    mgr Bogdan Hering za przekazanā wiedzė z zakresu podstaw elektrotechniki,

    Elis/TRSI (ex Freezers ;-) za nieocenionā pomoc podczas kodowania i za
                    caīoksztaīt [thanx, my friend!],

    William Mobius za wspaniaīy artykuī "Analiza spektralna Fouriera" w
                    Magazynie Amiga,

    Mydīo/Ind       za poūyczenie drukarki i caīoksztaīt [heya!],

    Warhawk/CCP (ex. Obsession & Illusion) za ikonkė oraz caīoksztaīt,

    Marcin "Duddie" Dudar za ōwietne artykuīy w Kebabie #1, #2, #3 i
                    C64+4&Amiga,

    Nico Franēois for his holy reqtools.library!


Co to jest GiftWare?
--------------------

    Program  ten  jest  programem GiftWare.  Co to oznacza?  Znaczy to, ūe moūe
byź   kopiowany   dopóki   bėdzie  zawieraī  wszystkie  wyszczególnione  w  tej
dokumentacji  pliki  w postaci niezmienionej.  Moūe byź rozprowadzany w postaci
archiwum.    Dozwolone   jest   równieū   dokīadanie   dodatkowych   przebiegów
przykīadowych.   Nie  zezwalam  na pobieranie opīat za skopiowanie programu (za
wyjātkiem kosztów noōnika i opīat pocztowych).

    W archiwum powinny siė znajdowaź nastėpujāce pliki:

    SpectrumAnalyser
    SpectrumAnalyser.info
    SpectrumAnalyser.doc
    SpectrumAnalyser.doc.info
    Samples/SPA.COS_127
            SPA.IMP_100
            SPA.SIN_127
            SPA.SIN_127_wyprost
            SPA.SQR0_127
            SPA.SQR0_127_25%
            SPA.SQR0_64+32
            SPA.SQR180_127
            SPA.SQRX1
            SPA.SQRX1_wyprost
            SPA.SQR_127_max_czst
            SPA.TAW0
            SPA.TAW180
            SPA.TRI90_127
            SPA.TRI_127
    libs/reqtools.library

    Komentarza wymaga przebieg przykīadowy "SPA.SQR_127_max_czst".  Jest to 256
okresów  przebiegu  prostokātnego  o amplitudzie 127.  Kaūdy okres skīada siė z
dwóch  próbek:   jednej  127,  drugiej -127.  Analiza tego przebiegu wykaūe, ūe
pierwsze 255 harmonicznych ma wartoōź 0.  Co to oznacza?  Proponujė siė nad tym
zastanowiź.   (Wskazówka:  256 harmoniczna istnieje!  Jej wartoōź jest róūna od
0.)

    Jeōli  program  spodobaī Ci siė, czegoō Ciė nauczyī lub po prostu masz chėź
obdarowania  autora,  przeōlij  na  mój  adres (na koļcu dokumentacji, w INFO w
programie)  jakiō podarunek, kartkė pocztowā, wīasny program lub niewielkā sumė
pieniėdzy  (yeah!   money,  money!).   Zdopinguje  mnie to do dalszej pracy nad
programem.


Instrukcja obsīugi
------------------

    Program jest w 100% obsīugiwany przy pomocy myszy.

    Po uruchomieniu ukazuje siė okienko zawierajāce informacje o programie oraz
adres  autora.   Wciōniėcie  gadūetu  "OK" powoduje przejōcie do dalszej czėōci
programu, inny wybór - dodatkowe informacje, podziėkowania, pozdrowienia.

    Program  otwiera  swoje  okno  na ekranie workbencha.  W górnej czėōci okna
znajdujā siė gadūety obsīugi, natomiast w dolnej obrazowane sā wyniki dziaīania
programu.


W dolnej czėōci okna znajdujā siė cztery osie wspóīrzėdnych obrazujāce kolejno:

1. Przebieg - wyglād analizowanego przebiegu [A/t].
2. Skīadowe sinus - zawiera skīadowe sinusoidalne widma przebiegu
                    (kolejno: pierwsza harmoniczna, druga, itd.)
                    oraz skīadowā staīā (zaznaczonā na biaīo).
3. Skīadowe cosinus - skīadowe cosinusoidalne widma (j.w.).
4. Resynteza - wyglād przebiegu resyntezowanego na podstawie
               obliczonych skīadowych.

Górna czėōź okna

Poszczególne  funkcje  programu  wywoīywane  sā  przy  pomocy  gadūetów.  Sā to
kolejno:

1. ĪADUJ - wczytanie przebiegu z dysku (lub innego urzādzenia) do bufora.

2. ANALIZA - gīówna funkcja programu. Analizuje wczytany przebieg.
             Dokīadniejsze informacje poniūej.

3. CZYŌŹ BUFOR - czyōci bufor przebiegu.

4. INFO - wyōwietla okienko informacyjne o programie, autorze, itp.

5. WYJŌCIE - opuszczenie programu (równoznaczne z systemowym gadūetem wyjōcia w
             lewym górnym rogu okna).

6. Suwak - wybór liczby skīadowych do obliczenia.

    Po  wybraniu opcji "ANALIZA" program przystėpuje do analizy widma przebiegu
znajdujācego  siė  w  buforze.   W  przypadku,  gdy  bufor  jest  pusty program
wyōwietli  "wybieraczkė"  plików  z  proōbā  o wybranie przebiegu do wczytania.
Analiza  trochė  trwa, szczególnie w przypadku wczytania dīugiego przebiegu lub
obliczania duūej liczby skīadowych, wiėc dla niecierpliwych pojawia siė okienko
zawierajāce gadūet "STOP" sīuūācy do przerwania analizy oraz wskaśnik procentów
wykonenj  pracy.   Po  dokonaniu  niezbėdnych  obliczeļ  program przystėpuje do
resyntezy  przebiegu  na  podstawie  wyliczonych  skīadowych.   Sā  one kolejno
sumowane  (poczāwszy  od  skīadowej staīej) a wynik jest uwidaczniany na dolnym
wykresie.   Odtworzony  przebieg  moūe byź wiernym odpowiednikiem analizowanego
(np.    sinus),   lub   posiadaź  mniejsze  lub  wiėksze  znieksztaīcenia  (np.
prostokāt).   Zaleūy  to m.in.  od iloōci obliczonych skīadowych oraz od samego
analizowanego przebiegu.

    UWAGA:   wczytywane przebiegi powinny byź w formacie 8-bitowych sampli "raw
normal".   Sā  one  traktowane jako JEDEN OKRES caīego przebiegu!  (Wynika to z
samej teorii, ale o tym poniūej).


Trochė teorii...
----------------

    Kaūdy  przebieg  (np.   prādu, napiėcia, czy choźby fali dświėkowej) skīada
siė  z  mniejszej  lub wiėkszej iloōci przebiegów prostych.  Czym jest przebieg
prosty?   Przebieg  prosty  jest,  najproōciej  mówiāc, przebiegiem o ksztaīcie
sinusoidalnym.    Sumujāc  ze  sobā  okreōlonā  liczbė  przebiegów  prostych  o
odpowiedniej  amplitudzie,  czėstotliwoōci i fazie moūemy otrzymaź dowolny inny
przebieg.   [Dla tych, którzy nie wiedzā czym jest faza wyjaōniam, ūe jest to -
w  przypadku  przebiegów  o  ksztaīcie  sinusoidy  -  róūnica  fazy poczātkowej
przebiegu   w  stosunku  do  przebiegu  sinusoidalnego,  np.   cosinus  posiada
przesuniėcie fazowe +90 stopni.]

    Przebieg  prosty  (w  przybliūeniu)  generuje  np.   tzw.   kamerton, czyli
urzādzenie   ("kawaīek   drutu")  w  ksztaīcie  wideīek  sīuūāce  do  strojenia
instrumentów  muzycznych,  np.   gitary.   Moūna go równieū uzyskaź przy pomocy
elektronicznych generatorów, np.  Colpitz'a, czy syntezatorów dūwiėku.

    Po zsumowaniu odpowiednich przebiegów prostych moūemy otrzymaź dowolny inny
przebieg.   Teoretyczne  podstawy  analizy sygnaīów opracowaī francuski fizyk i
matematyk  Jean Baptiste Joseph Fourier.  Jest to tzw.  szereg trygonometryczny
Fouriera.   Wōród  doōwiadczeļ  z  tego zakresu moūemy wymieniź analizė dświėku
przeprowadzonā  w  roku  1863  przez  niemieckiego  fizyka  Hermana Ludwika von
Helmholtza.   Wykorzystaī  on w tym celu szereg róznych pustych kul szklanych i
metalowych,  z których kaūda wpadaīa w drgania pod wpīywem danego tonu prostego
(tonu  o danej czėstotliwoōci).  Tak przy okazji:  Helmholtz zajmowaī siė m.in.
zjawiskiem rezonansu, od niego pochodzi nazwa tzw.  rezonatora Helmholtza.

    Analiza  sygnaīów  oparta  na  szeregu  trygonometrycznym Fouriera znajduje
zastosowanie  tylko  w  przypadku  przebiegów okresowych.  Teraz wyjaōniė kilka
pojėź, bez których zrozumienie dalszej czėōci wywodu bėdzie niemoūliwe.

    Przebiegi  okresowe  posiadajā  okres, tj.  najmniejszy przedziaī czasu, po
którym  przebieg  powtórzy  siė  identycznie.  Okres oznacza siė duūā literā T.
Przebiegi okresowe ze wzglėdu na ksztaīt moūemy podzieliź na:

 1. Sinusoidalne.
 2. Odksztaīcone.

    Przebiegi sinusoidalne przedstawiamy za pomocā wartoōci chwilowych:


                            f(t) = A * sin(w*t+fi)


[Z   powodów   technicznych   w  powyūszych  wzorach  zastosowaīem  nastėpujāce
oznaczenia:
    A  - amplituda przebiegu (wartoōź maksymalna, szczytowa)
    w  - (powinna byź "maīa omega grecka") pulsacja (prėdkoōź kātowa)
    t  - czas
    fi - (powinno byź "maīe fi greckie") faza poczātkowa przebiegu
Z tych samych powodów musiaīem w zastėpstwie dolnych indeksów zastosowaź indeks
w postaci normalnej litery, bādś cyfry wziėtej w nawias kwadratowy.  I tak t[n]
oznacza  "t  z  indeksem  n",  a  nie  "t  razy  n",  czy "t od n".  Poza tym w
zastėpstwie znaku "nieskoļczonoōź" zastosowaīem "oo".]


    Wartoōź  chwilowa umoūliwia okreōlenie wartoōci przebiegu w dowolnej chwili
czasu t.  Dla danego przebiegu sinusoidalnego amplituda jest wartoōciā staīā.

    (w*t+fi) jest to tzw. faza przebiegu.

    Pulsacja, czyli prėdkoōź kātowa jest wyraūona wzorem:

                                   2*PI
                              w = ------ = 2*PI*f
                                    T

    gdzie:

    w  - ("maīa omega") pulsacja
    PI - liczba pi = 3.14159265...
    T  - okres
    f  - czėstotliwoōź

                                   f = 1/T         [1/s=Hz]


    Przebieg   sinusoidalny  -  sygnaī  sinusoidalny,  sygnaī  zmieniajācy  siė
cyklicznie,  którego  wartoōź  chwilowa  przybiera  w  czasie wartoōci zgodne z
funkcjā:   f(t)=A*sin(w*t+fi).   Okres  przebiegu  sinusoidalnego,  wyraūony  w
sekundach jest odwrotnoōciā czėstotliwoōci sygnaīu T=1/f.


    Przebiegi  odksztaīcone  sā  przebiegami  okresowymi niesinusoidalnymi (np.
przebieg trójkātny, prostokātny).

    Kaūdy   przebieg   odksztaīcony   moūna   przedstawiź   za  pomocā  szeregu
trygonometrycznego Fouriera.

    Poniūsze  wyprowadzenie  przedstawiam  dla  tych,  których  teoria szeregów
trygonometrycznych   zainteresowaīa   na   tyle,   ūe  "wgryzienie  siė"  w  te
matematyczne wzory ich nie odstrasza:


                      oo
                     ---
            f(t) =   >   C[k] * sin(k*w*t + fi[k]) =
                     ---
                     k=0


    = C[0]*sin(fi[0]) + C[1]*sin(w*t+fi[1]) + C[2]*sin(2*w*t+fi[2]) + ... +

      + C[n]*sin(n*w*t+fi[n]) + ...



    Zgodnie  z  szeregiem trygonometrycznym przebieg odksztaīcony skīada siė ze
skīadowej   staīej   C[0]*sin(fi[0])   oraz   nieskoļczonej  liczby  przebiegów
sinusoidalnych  róūniācych  siė  amplitudā,  fazā poczātkowā i czėstotliwoōciā.
Skīadowa   staīa,   zgodnie  ze  swojā  nazwā,  jest  przebiegiem  staīym,  nie
zmieniajācym swej wartoōci w czasie; wynika to równieū z jej wzoru.

    Przebiegi sinusoidalne w szeregu nazywamy harmonicznymi.
C[1]*sin(w*t+fi[1])  -  harmoniczna  podstawowa  (pierwsza).  Czėstotliwoōź tej
harmonicznej  jest  równa  czėstotliwoōci  przebiegu odksztaīconego.  Pozostaīe
harmoniczne  nazywamy  wyūszymi  harmonicznymi.   Im  wyūsza  harmoniczna,  tym
wiėksza jej czėstotliwoōź.  Harmoniczne moūemy podzieliź na:

 1. Parzyste,       np. C[2]*sin(2*w*t+fi[2]).
 2. Nieparzyste,    np. C[1]*sin(w*t+fi[1]).

    Weśmy  dla przykīadu przebieg o czėstotliwoōci 400 Hz.  Skīadowa staīa tego
przebiegu ma czėstotliwoōź 0 Hz (staīā wartoōź), skīadowa podstawowa (pierwsza)
400  Hz, natomiast kolejne:  druga - 2 * 400 = 800 Hz, trzecia - 3 * 400 = 1200
Hz, czarta - 4 * 400 = 1600 Hz, itd.

    Teraz przytoczė dalszā czėōź wyprowadzenia wzoru na kolejne skīadowe (jeōli
Ciė to nie interesuje, bādś tego nie rozumiesz - pomiļ to).


Z trygonometrii wynika, ūe:

    sin(x+y) = sin(x)*cos(y) +cos(x)*sin(y)

stād:


    C[k] * sin(k*w*t + fi[k]) = 

        = C[k] * cos(fi[k]) * sin(k*w*t) + C[k] * sin(fi[k]) * cos(k*w*t) =

          \______  _______/                \______  _______/
                 \/                               \/
                B[k]                             A[k]


        = A[k] * cos(k*w*t) + B[k] * sin(k*w*t)


Skīadowa staīa:

                           A[0]
                           ---- = C[0] * sin(fi[k])
                            2

stād:


                     oo                      oo
                    ---                     ---
    f(t) = A[0]/2 + >   A[k] * cos(k*w*t) + >   B[k] * sin(k*w*t)
                    ---                     ---
                    k=1                     k=1


             ^               ^                       ^
          skīadowa      harmoniczne             harmoniczne
           staīa       cosinusoidalne           sinusoidalne


    Powyūszy szereg trygonometryczny dotyczy przebiegów analogowych.

    Dla  przebiegów cyfrowych (dyskretnych; bo takie bėdziemy analizowaź) wzory
na poszczególne skīadowe wyglādajā w nastėpujācy sposób:


                         N-1
                         ---                    (przy czym naleūy pamiėtaź, ūe
            A[0] = 2/N * >   x[n]                skīadowa staīa wynosi A[0]/2)
                         ---
                         n=0


                         N-1
                         ---
            A[j] = 2/N * >   x[n] * cos(j*t[n])
                         ---
                         n=0


                         N-1
                         ---
            B[j] = 2/N * >   x[n] * sin(j*t[n])
                         ---
                         n=0


gdzie:

                    2*PI*n
            t[n] = --------
                      N


    j = 1, 2, ... , k < N/2     ; indeks harmonicznej

    N - liczba próbek sygnaīu

    n - indeks próbki sygnaīu, liczony od zera

    PI = 3.14159265...


    Przy   analizie   sygnaīów  cyfrowych  jedynym  ograniczeniem  jest  liczba
analizowanych  próbek  (N),  która  musi byź parzysta, oraz pasmo analizowanych
czėstotliwoōci.   Czėstotliwoōź  próbkowania  musi  byź  co  najmniej  dwa razy
wiėksza  od  czėstotliwoōci  analizowanego  przebiegu.  Jest to zwiāzane z tzw.
czėstotliwoōciā Nyquista, czyli najmniejszā czėstotliwoōciā próbkowania sygnaīu
analogowego  przy  której  sygnaī  ten  zostanie  przeksztaīcony na cyfrowy bez
znieksztaīcenia  niesionej  informacji.   Np.   jeūeli  mamy sygnaī analogowy o
czėstotliwoōci  8 kHz, to czėstotliwoōź próbkowania musi wynosiź co najmniej 16
kHz.   Z  tego  wynika  równieū  to, ūe liczba analizowanych harmonicznych moūe
wynieōź  co  najwyūej  (N-1)/2.  Np.  Jeūeli mamy 512 próbek moūemy zanalizowaź
(512-1)/2   =  255  skīadowych.   Czyli  im  wiėcej  mamy  próbek  (im  wiėksza
czėstotliwoōź  próbkowania),  tym  wiėcej  harmonicznych  moūemy  zanalizowaź i
dokīadniej okreōliź widmo sygnaīu.

    Na  postawie  wyliczonych  skīadowych, czyli znajāc szereg trygonometryczny
Fouriera  dla  danego przebiegu, moūemy odtworzyź przebieg zanalizowany.  W tym
celu  po prostu sumujemy wszystkie harmoniczne.  Tė funkcjė program wykonuje po
zanalizowaniu  przebiegu,  czego wynik moūemy obserwowaź na osi oznaczonej jako
"Resynteza".   Im  wiėcej  znamy  skīadowych,  tym  dokīadniej moūemy odtworzyź
przebieg zanalizowany.

    Jak wiėc daje siė zauwaūyź sygnaī da siė zapisaź w postaci sumy przebiegów:
sinus,  cosinus (przesuniėcie fazowe +90 stopni), minus sinus (przesuniėcie 180
stopni) oraz minus cosinus (-90 stopni).


    Proponujė  powyūsze  wnioski  przeanalizowaź, a podane przykīady przebiegów
wczytaź   do   "Spectrum  Analyser'a"  i  obejrzeź  widma  wraz  z  przebiegiem
zresyntezowanym, oraz zastanowiź siė nad otrzymanymi wynikami.


Podziaī przebiegów odksztaīconych
---------------------------------

    Przebiegi odksztaīcone moūemy podzieliź nastėpujāco:

 1. Przebieg przemienny - takim przebiegiem jest np. przebieg sinusoidalny i
    trójkātny (zobacz np. SIN_127.SPA, TRI_127.SPA).

    Dla tych przebiegów nie wystėpuje skīadowa staīa - jest ona równa 0.

                                    A[0]
                                    ---- = 0
                                     2

 2. Przebieg symetryczny wzglėdem poczātku ukīadu wspóīrzėdnych - jest to taki
    przebieg, dla którego wartoōź f(-x)=-f(x). (Zobacz SIN_127.SPA, SPA.TRI_127,
    SPA.IMP_100).

    W szeregu trygonometrycznym wystėpujā tylko harmoniczne sinusoidalne.

                                    A[0]
                                    ---- = 0
                                     2

                                    A[k] = 0    
 
 3. Przebieg symetryczny wzglėdem osi rzėdnych (oy) - taki przebieg, którego
    wartoōź f(x)=f(-x). Najlepszym przykīadem jest przebieg cosinusoidalny
    (SPA.COS_127 oraz np. SPA.TRI90_127).

    W szeregu trygonometrycznym wystėpujā tylko skīadowe cosinusoidalne.


                                   B[k] = 0

 4. Przebieg antysymetryczny - przebieg, dla którego wartoōź f(x)=-f(x+PI).
    Przykīadem takiego przebiegu jest sinus (zobacz SPA.SIN_127 oraz
    SPA.SQRX1).

    W szeregu trygonometrycznym wystėpujā harmoniczne sinusoidalne i
    cosinusoidalne nieparzyste, nie wystėpuje skīadowa staīa.

                                    A[0]
                                    ---- = 0
                                     2

                                   A[2l] = 0

                                   B[2l] = 0

 5. Przebieg antysymetryczny wyprostowany caīofalowo - przebieg, którego
    wartoōź f(x)=f(x+PI); przykīadem takiego przebiegu jest wyprostowany
    caīofalowo sinus (zobacz SPA.SIN_127_wyprost oraz SPA.SQRX1_wyprost).

    W szeregu trygonometrycznym wystėpujā harmoniczne sinusoidalne i
    cosinusoidalne parzyste.

                                  A[2l+1] = 0

                                  B[2l+1] = 0


Po co to wszystko?
------------------

    Gdzie  w  ogóle  ma zastosowanie powyūsza teoria?  Ostatnio wiele sīychaź o
cyfrowych  magnetofonach:   DAT, DCC, systemie Mini-Disc, a odtwarzacze pīyt CD
zadomowiīy  siė  juū  u  nas  na  dobre.   Wīaōnie w technice cyfrowej znalazīa
zastosowanie  tzw.   Szybka  Transformata  Fouriera  (FFT, z ang.  Fast Fourier
Transform).  Zastosowano jā miėdzy innymi przy cyfrowej filtracji dświėku.  DFT
to  skrót  angielskiej nazwy Dyskretnej Transformaty Fouriera (Discrete Fourier
Transform).   Pozwala  ona  na  zanalizowanie  widma  przebiegu  cyfrowego (np.
takiego,  jaki  wczytujemy  do  "Spectrum  Analyser'a").   Jest ona doōź wolna,
dlatego  teū  opracowano  algorytm  FFT,  który  jest o wiele szybszy, niemniej
zastosowano  w  nim pewne uproszczenie.  Wiėcej na ten temat moūna przeczytaź w
artykule Williama Mobiusa "Analiza Spektralna Fouriera" (Magazyn Amiga 8/94).


Informacje techniczne
---------------------

    Program zostaī napisany w 100% w asemblerze.  Wykorzystaīem w nim procedurė
'dborderprop' oraz 'prepare_name' by Elis [Elis, thanx!].

Przebiegi  zostaīy  wygenerowane w asemblerze lub Amosie.  Majā one dīugoōź 512
bajtów,  i  takā  teū  dīugoōź  zalecam dla przebiegów do analizy.  Krótsze nie
pozwalajā  na obliczenie maksymalnej oferowanej przez program liczby skīadowych
(255),  natomiast  dīuūsze  powodujā wydīuūenie czasu trwania obliczeļ.  Nie ma
jednak problemów z analizā przebiegów krótszych (min.  192 bajty) lub dīuūszych
(max.   65535  bajtów).   Wczytywane  pliki  sā traktowane jako 8-bitowa próbka
(sample) w formacie "raw normal".

    "Spectrum  Analyser"  byī  testowany na A500, OS1.3, 1 MB Chip, z dodatkowā
stacjā dysków 3.5" oraz A1200, OS3.0, 2 MB Chip, 4 MB Fast, MC68881, HD 122 MB.


Przyszīoōź
----------

    Co moūna zmieniź w programie w przyszīoōci?

 1. Zoptymalizowaź procedurė rozkīadu przebiegu na kolejne skīadowe, aby
    skróciź czas oczekiwania na wynik obliczeļ, napisaź wersjė na koprocesor
    matematyczny MC68881/MC68882.

 2. Doīāczyź procedurė odsīuchu przebiegu analizowanego i resyntezowanego.

 3. Doīāczyź menu rozwijane.

 4. Doīoūyź skalowanie amplitudy widma. Ma to znaczenie w przypadku widm, w
    których skīadowe majā niewielkie amplitudy, w zwiāzku sā one obrazowane
    jednym lub dwoma punktami ponad oō.

Zakoļczenie
-----------

    Jeōli  masz jakieō sugestie, uwagi, znalazīeō w programie jakiō bīād, itp.,
pisz na adres:


                            Dariusz J. Garbowski
                              ul. Lokietka 22/2
                               43-200 Pszczyna
                                   Poland
                                   Europe

lub e-mail (szybciej i wygodniej :-)

                         thufor@zeus.gliwice.edu.pl

Literatura
----------

1. Mobius William:  Analiza spektralna Fouriera.  Magazyn Amiga 8/94, 9/94.
2. Praca zbiorowa:  Leksykon Techniki hi-fi i video. Wydawnictwa Komunikacji i
Īācznoōci 1984.
