Voorbeelden van FFT-toepassingen
FFT wordt meestal toegepast op gegevens die zijn gediscretiseerd uit een
tijdafhankelijk signaal. Die gegevens kunnen uit bijvoorbeeld een computer of
een gegevenslogger in de rekenmachine ingevoerd worden om verwerkt te
worden. U kunt ook uw eigen gegevens genereren door een functie te
programmeren en er een aantal willekeurige getallen aan toe te voegen.
Voorbeeld 1 – Definieer de functie f(x) = 2 sin (3x) + 5 cos(5x) + 0.5*RAND,
waarbij RAND de uniforme willekeurige getallengenerator van de
rekenmachine is. Genereer 128 gegevenspunten met de waarden van x in het
interval (0,12.8). Sla deze waarden op in een reeks en voer een FFT uit op
de reeks.
Eerst definiëren we de functie f(x) als een RPN-programma:
<<
x '2*SIN(3*x) + 5*COS(5*x)' EVAL RAND 5 * +
en slaan dit programma op in variabele @@@@f@@@. Voer vervolgens het volgende
m
programma in om 2
gegevenswaarden te genereren tussen a en b. Het
programma neemt de waarden van m, a en b:
<<
m a b << '2^m' EVAL
'a+(j-1)*Dx' EVAL f NEXT n
Sla dit programma op onder de naam GDATA (Genereer DATA). Voer dan
het programma uit voor de waarden m = 5, a = 0, b = 100. Gebruik in de
RPN-modus:
5#0#100@GDATA!
De onderstaande afbeelding is een vakdiagram van de geproduceerde
gegevens. Kopieer voor de grafiek eerst de zojuist aangemaakte verzameling
en zet deze om in een kolomvector met: OBJ
ARRY staan in de commandocatalogus, ‚N). Sla de
OBJ
en
verzameling op in variabele ΣDAT met de functie STOΣ (ook beschikbaar via
‚N). Selecteer Bar in TYPE voor de grafieken, wijzig het beeldvenster in
n << '(b-a)/(n+1)' EVAL
ARRY >> >> >> >>
1 +
NUM >>
Dx << 1 n FOR j
ARRY (Functies
Blz. 16-53