Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Merenje efektivnog napona/struje 50 Hz microkontrolerom
#3
(10-15-2022, 09:45 PM)gorankg Wrote: Sumu kvadrata podeliš sa brojem uzoraka pa odatle vadiš koren Smile

E problem je taj koren koji zahtevan za namučeni PIC. Postoji skraćeni algoritam koji daje približan rezultat pa ako ti to nije problem možeš da ga koristiš. Algoritam je opisan u Microchip TB040 "Fast Integer Square Root"
https://www.microchip.com/en-us/application-notes/tb040

Ovo ispod je moj c kod za taj algoritam. Projekat merenja je stao vrlo nakon što je započet ali koliko se sećam davao je zadovoljavajući rezultat.
Evo koda za taj deo. Treba da je OK.

Code:
unsigned int isqrt(unsigned long data)
{
unsigned int bitloc = 0x8000;
unsigned int result = 0x8000;
unsigned int tmp = 0;
unsigned long ltmp = 0;
unsigned char i = 16;

    while(i--)
    {
        ltmp = (unsigned long)result * (unsigned long)result;
        if(ltmp > data)
        {
            result = tmp;
            bitloc >>= 1;
            result |= bitloc;

        }
        else
        {

            tmp = result;
            bitloc >>= 1;
            result |= bitloc;

        }
    }

    return result;
}
Reply


Messages In This Thread
RE: Merenje efektivnog napona/struje 50 Hz microkontrolerom - by tomam - 10-19-2022, 10:11 AM

Forum Jump:


Users browsing this thread: 10 Guest(s)