True RMS
Moczik Gabor
progzmaster at freemail.hu
Mon Jan 19 21:10:10 CET 2004
Petrik Gergely wrote:
> szinusz, es van eleg hely a uC-ben, akkor nem lehet esetleg
Hely van meg, CPU ido az viszont minimalis. Lehet hogy 18F452-re cserelem a
16F877-et, labkompatibilis, kavrcot 10Mhz-re, 4x PLL-t be, maris 40MHz-en
ketyegek. Igaz, ez alig tobb mint 2szeres sebesseg lesz csak. Cserebe kell
egy PICC-18 forditot keresnem, idoziteseket atszamitgatni...
> kell, es egy tablazatbol kiolvasod adott fazisu hasitashoz
> mekkora effektiv ertek tartozik, azt folszorzod a
> csucsertekkel, es jol van. a nullatmenetekkel trukkozve
> sporolhatsz a csucsertekmeressel es a kov. nullatmenet
Otletes megoldasnak hangzik! Csucserteket nem is kell merni, mert stab
feszrol megy a cumo, igy az _elvileg_ const. Viszont erdekes kerdes, hogyan
szamitom majd ki a digitalizalt jelalakbol a fazishasitas szoget... De ez
mar legyen az en gondom.
Meg egy picit vissza a TrueRMS-hez:
Ugye elvileg ugy kell szamolni hogy n db minta negyzetet osszeadom, majd a
vegen n-el oszom es gyokolok. Programozastechnikailag problema (PIC-en),
hogy egy 10-bites ertek negyzete bazi nagy, ebbol meg n db-ot ossze is adok,
ehhez legalabb 4-byte egesz kell amibol majd gyokot kell vonni. Zabalja a
ciklusidot.
Nincs valakinek otlete, hogy lehetne iterativ modon, egybol egy olyan szamot
szamolni, amibol mar csak gyokot kell vonni, mert az osztast valami
korrekcios tenyezovel mar negyzetreemels es szummazas kozben kikuszoboltuk?
olyasmire gondolok, hogy
----------
n=0; // vett mintak szama
sum=0; // osszegzett jel
ciklus (ameg egy periodus le nem telik)
{
n = n + 1;
korrekcio = f(n);
sum = sum + minta^2/korrekcio;
}
rms = sqrt(sum);
----------
Lehet ilyen f(n) fuggvenyt konstrualni, ami ha 10 mintat veszek akkor is, ha
100-at akkor is jo eredmenyt ad?
Aki nagyon vagja a matekot annak jo kis fejtoro lesz :-)
--
((( Móczik Gábor )))--((( hu <- DOT <- freemail <- AT <- progzmaster )))
((( Debian unstable )))-((( Kernel 2.4.20 )))-((( Celeron466 / 128Mb )))
((( --> Vigyázat! Ön súlyos közlekedési balesetet szenvedett. <-- )))
((( --> Kívánja, hogy a légzsák felfúvódjon? <-- )))
More information about the Elektro
mailing list