JEE Syllabus JEE Matematikk Syllabus Algebra av komplekse tall, tillegg, multiplikasjon, konjugasjon, polar representasjon, egenskaper av modul og hovedargument, trekant ulikhet, kube røtter av enhet, geometriske tolkninger. Kvadratiske ligninger med ekte koeffisienter, relasjoner mellom røtter og koeffisienter, dannelse av kvadratiske ligninger med gitte røtter, symmetriske funksjoner av røtter. Aritmetiske, geometriske og harmoniske progresjoner, aritmetiske, geometriske og harmoniske midler, summene av endelige aritmetiske og geometriske progresjoner, uendelig geometrisk serie, summer av kvadrater og kuber av de første n naturlige tallene. Logaritmer og deres egenskaper. Permutasjoner og kombinasjoner, Binomialteorem for en positiv integrert indeks, egenskaper av binomiale koeffisienter. Matriser som en rektangulær rekke av ekte tall, likestilling av matriser, tillegg, multiplikasjon med en skalar og et produkt av matriser, transponering av en matrise, determinant av en kvadratisk matrise i rekkefølge opp til tre, omvendt av en kvadratisk matrise med opptil tre , egenskaper til disse matriksoperasjoner, diagonale, symmetriske og skjevsymmetriske matriser og deres egenskaper, løsninger av samtidige lineære ligninger i to eller tre variabler. Tilleggs - og multiplikasjonsregler for sannsynlighet, betinget sannsynlighet, hendelses uavhengighet, beregning av sannsynlighet for hendelser ved bruk av permutasjoner og kombinasjoner. Trigonometriske funksjoner, periodicitet og grafer, tilleggs - og subtraksjonsformler, formler som involverer flere og sub-multiple vinkler, generell oppløsning av trigonometriske ligninger. Forhold mellom sider og vinkler av en trekant, sinusregel, cosinusregel, halvvinkels formel og arealet av en trekant, inverse trigonometriske funksjoner (kun hovedverdien). To dimensjoner. Kartesiske koordinater, avstand mellom to punkter, delformler, opprinnelsesskifte. Ligning av en rett linje i forskjellige former, vinkel mellom to linjer, avstand fra et punkt fra en linje. Linjer gjennom skjæringspunktet mellom to gitt linjer, bivirkningens ekvivalent mellom to linjer, samtidighet av linjer, sentroid, orthocentre, incentre og circumcentre av en trekant. Ligning av en sirkel i forskjellige former, ekvasjoner av tangent, normal og akkord. Parametriske ligninger i en sirkel, kryss av en sirkel med en rett linje eller en sirkel, en sirkels ekvation gjennom krysspunktene mellom to sirkler og en sirkel og en rett linje. Ligninger av en parabola, ellipse og hyperbola i standardform, deres foci, directrices og excentricitet, parametriske ligninger, ekvasjoner av tangent og normal. Tre dimensjoner. Retnings-cosinus og retningsforhold, likning av en rett linje i rom, ligning av et plan, avstand av et punkt fra et plan. Virkelige verdifulle funksjoner av en ekte variabel, til, på og en-til-en-funksjoner, sum, forskjell, produkt og kvotient av to funksjoner, sammensatte funksjoner, absolutt verdi, polynomial, rasjonell, trigonometrisk, eksponentiell og logaritmisk funksjon. Grense og kontinuitet i en funksjon, grense og kontinuitet i summen, differansen, produkt og kvotient av to funksjoner, lHospitalregel for evaluering av funksjonsbegrensninger. Selv og ulike funksjoner, invers av en funksjon, kontinuitet i komposittfunksjoner, mellomverdier av kontinuerlige funksjoner. Derivat av en funksjon, derivat av summen, differansen, produkt og kvotient av to funksjoner, kjedestyre, derivater av polynom, rasjonelle, trigonometriske, inverse trigonometriske, eksponentielle og logaritmiske funksjoner. Derivater av implisitte funksjoner, derivater opp til orden to, geometrisk tolkning av derivatet, tangenter og normaler, økende og avtagende funksjoner, maksimale og minste verdier av en funksjon, applikasjoner av Rolles Theorem og Lagranges Mean Value Theorem. Integrasjon som den inverterte prosessen med differensiering, ubestemte integraler av standardfunksjoner, bestemte integraler og deres egenskaper, anvendelse av grunnleggende teorem for integrert beregning. Integrasjon av deler, integrasjon med substitusjons - og delfraksjonene, anvendelse av bestemte integraler til bestemmelse av områder som involverer enkle kurver. Dannelse av vanlige differensialligninger, løsning av homogene differensialligninger, variabler separerbar metode, lineære første-ordens differensialligninger. Tilsetning av vektorer, skalar multiplikasjon, skalarprodukter, punkt - og kryssprodukter, skalar tredoble produkter og deres geometriske tolkninger. JEE Chemistry Syllabus Generelle emner. Konseptet med atomer og molekyler Daltons atomteori Molekonsept Kjemiske formler Balanserte kjemiske ligninger Beregninger (basert på molkoncept) som involverer vanlige oksidasjonsreduserende, nøytraliserings - og forskyvningsreaksjoner Konsentrasjon i form av molfraksjon, molaritet, molalitet og normalitet. Gassformige og flytende tilstander. Absolutt temperaturskala, ideell gassligning Avvik fra idealitet, van der Waals-ligning Kinetisk teori for gasser, gjennomsnitt, rotmiddelkvadrat og mest sannsynlige hastigheter og deres forhold til temperatur Partialtrykksregulering Damptrykk Diffusjon av gasser. Atomstruktur og kjemisk binding: Bohr-modell, hydrogenatomspektrum, kvantum Wave-partikkel dualitet, de Broglie-hypotesen Usikkerhetsprinsipp Quantum mekanisk bilde av hydrogenatom (kvalitativ behandling), former for s, p og d-orbitaler Elektroniske konfigurasjoner av elementer ( opp til atomnummer 36) Aufbau-prinsipp Paulis ekskluderingsprinsipp og hundrevisjon Orbitaloverlapping og kovalent binding Hybridisering med bare s-, p - og d-orbitaler Orbital-energidiagrammer for homonukleære diatomiske arter Hydrogenbinding Polaritet i molekyler, dipolmoment (kun kvalitative aspekter) VSEPR-modell og former av molekyler (lineær, vinkel, trekantet, kvadratisk, pyramidal, kvadratisk pyramidal, trigonal bipyramidal, tetrahedral og oktaedisk). Energetikk. Første lov av termodynamikk Intern energi, arbeid og varme, trykkvolum Arbeid Enthalpy, Hesss lov Reaksjonsreaktor, fusjon og fordampning Andre lov av termodynamikk Entropi Fri energi Kriterium for spontanitet. Kjemisk likevekt. Massespektrasjonsreglering Likvettskonstant, Le Chateliers-prinsipp (effekt av konsentrasjon, temperatur og trykk) Betydningen av DG og DGo i kjemisk likevekt Løslighetsprodukt, vanlig ion-effekt, pH og bufferløsninger Syrer og baser (Bronsted og Lewis-konsepter) Hydrolys av salter . Elektrokjemi. Elektrokjemiske celler og cellereaksjoner Elektrodepotensialer Nernst-ligning og dens forhold til GD Elektrokjemiske serier, emf av galvaniske celler Faradays-lovene for elektrolyse Elektrolytisk konduktans, spesifikk, ekvivalent og molar konduktans, Kohlrauschs lov Koncentrasjonsceller. Kjemisk kinetikk. Reaksjoner på kjemiske reaksjoner Reaksjonsreaksjoner Rask konstant Første rekkefølgereaksjoner Temperaturavhengighet av hastighetskonstant (Arrhenius-ligning). Fast tilstand. Klassifisering av faste stoffer, krystallinsk tilstand, syv krystallsystemer (celleparametere a, b, c, a, b, g), tett pakket struktur av faste stoffer (kubikk), pakking i fcc, bcc og hcp gitter. Nærmeste naboer, ioniske radier, enkle ioniske forbindelser, punkt defekter. Løsninger. Raoults lov Molekylær vektbestemmelse ved å senke damptrykket, stigning på kokepunkt og depresjon av frysepunkt. Overflatekjemi. Elementære konsepter for adsorpsjon (unntatt adsorpsjonsisotermer) Kolloider: typer, metoder for fremstilling og generelle egenskaper Elementære ideer om emulsjoner, overflateaktive midler og miceller (kun definisjoner og eksempler). Nukleær kjemi. Radioaktivitet: isotoper og isobre Egenskaper av a, b og g stråler Kinetikk av radioaktivt henfall (utslettingsserie ekskludert), karbondestinasjon Kjernestabilitet i forhold til protonnutronforhold Kort diskusjon om fisjon og fusjonsreaksjoner. Isolasjonspreparasjon og egenskaper til følgende ikke-metaller. Bore, silisium, nitrogen, fosfor, oksygen, svovel og halogener Egenskaper for allotropene av karbon (bare diamant og grafitt), fosfor og svovel. Forberedelse og egenskaper av følgende forbindelser: Oksider, peroksyder, hydroksyder, karbonater, bikarbonater, klorider og sulfater av natrium, kalium, magnesium og kalsium Bor. diboran, borsyre og borax Aluminium: aluminiumoksyd, aluminiumklorid og alun. Karbon: oksider og oksy-syre. Karbon: silikater, silikater og silisiumkarbid. Kväve: oksider, oksy-syrer og ammoniakk. Fosfor: oksider, oksy syrer (fosforsyre, fosforsyre) og fosfin Oksygen: ozon og hydrogenperoksid Svovel: hydrogensulfid, oksyder, svovelsyre, svovelsyre og natriumtiosulfat Halogener: Hydrohalogen syrer, oksider og oksy-syrer av klor, blekepulver Xenonfluorider Gjødsel: kommersielt tilgjengelig (vanlig) NPK-type. Overgangselementer (3d-serien). Definisjon, generelle karakteristika, oksidasjonstilstander og stabilitet, farge (unntatt detaljene for elektroniske overganger) og beregning av magnetisk øyeblikk for magnetisering. Koordinasjonsforbindelser: Nomenklatur av mononukleære koordinasjonsforbindelser, cis-trans og ioniseringsisomerer, hybridisering og geometrier av mononukleær koordinasjon forbindelser (lineær, tetrahedral, kvadratisk plan og oktaedisk). Fremstilling og egenskaper av de følgende forbindelser. Oksider og klorider av tinn og bly Oksider, klorider og sulfater av Fe2, Cu2 og Zn2 Kaliumpermanganat, kaliumdikromat, sølvoksyd, sølvnitrat, sølvtiosulfat. Malm og mineraler. Vanlige malmer og mineraler av jern, kobber, tinn, bly, magnesium, aluminium, sink og sølv. Ekstraherende metallurgi. Kemiske prinsipper og reaksjoner bare (industrielle detaljer utelukket) Kullreduksjonsmetode (jern og tinn) Selvreduksjonsmetode (kobber og bly) Elektrolytisk reduksjonsmetode (magnesium og aluminium) Cyanidprosess (sølv og gull). Prinsipper for kvalitativ analyse. Grupper I til V (kun Ag, Hg2, Cu2, Pb2, Bi3, Fe3, Cr3, Al3, Ca2, Ba2, Zn2, Mn2 og Mg2) Nitrat, halogenider (unntatt fluorid), sulfat, sulfid og sulfitt. Begreper . Hybridisering av karbon Sigma og pi-bindinger Former for molekyler Strukturell og geometrisk isomerisme Optisk isomerisme av forbindelser som inneholder opptil to asymmetriske sentre, (R, S og E, Z nomenklatur ekskludert) IUPAC-nomenklatur av enkle organiske forbindelser (kun hydrokarboner, monofunksjonelle og bi-funksjonelle forbindelser) Konformasjoner av etan og butan (Newman-projeksjoner) Resonans og hyperkonjugering Keto-enol-tautomerisme Bestemmelse av empirisk og molekylær formel for enkle forbindelser (kun forbrenningsmetode) Hydrogenbindinger: definisjon og deres virkninger på fysiske egenskaper av alkoholer og karboksylsyre Syrer Induktive og resonanseffekter på surhet og basalitet av organiske syrer og baser. Polaritet og induktive effekter i alkylhalogenider. Reaktive mellomprodukter produsert under homolytisk og heterolytisk bindingsspaltning. Formasjon, struktur og stabilitet av karboksider, karbanioner og frie radikaler. Fremstilling, egenskaper og reaksjoner av alkaner. Homologe serier, fysiske egenskaper av alkaner (smeltepunkt, kokepunkt og tetthet) Forbrenning og halogenering av alkaner Fremstilling av alkaner ved Wurtz-reaksjon og dekarboksyleringsreaksjoner. Fremstilling, egenskaper og reaksjoner av alkener og alkyner. Fysiske egenskaper til alkener og alkyner (kokepunkt, tetthet og dipolmomenter) Syrer av alkyner Syrekatalysert hydrering av alkener og alkyner (unntatt stereokjemien for tilsetning og eliminering) Reaksjoner av alkener med KMnO4 og ozon Reduksjon av alkener og alkyner Fremstilling av alkener og alkyner alkyner ved eliminasjonsreaksjoner Elektrofile addisjonsreaksjoner av alkener med X2, HX, HOX og H2O (Xhalogen) Tilsetningsreaksjoner av alkyner Metallacetylider. Reaksjoner på benzen. Struktur og aromatisitet Elektrofil substitusjonsreaksjoner: halogenering, nitrering, sulfonering, Friedel-Crafts-alkylering og acylering Effekt av o-, m - og p-ledende grupper i monosubstituerte benzener. Fenoler. Syrerid, elektrofil substitusjonsreaksjoner (halogenering, nitrering og sulfonering) Reimer-Tieman-reaksjon, Kolbe-reaksjon. Karakteristiske reaksjoner av følgende (inkludert de som er nevnt ovenfor). Alkylhalogenider: omorganiseringsreaksjoner av alkylkarbokasjon, Grignard-reaksjoner, nukleofile substitusjonsreaksjoner Alkoholer: esterifisering, dehydrering og oksidasjon, reaksjon med natrium, fosforhalogenider, ZnCl2konc. - HCl, omdannelse av alkoholer til aldehyder og ketoner Aldehyder og ketoner: oksidasjon, reduksjon, oksym og hydrazon dannelse aldol kondensasjon, Perkin reaksjon Cannizzaro reaksjon haloform reaksjon og nukleofile addisjon reaksjoner (Grignard tillegg) Karboksylsyrer: dannelse av estere, syre klorider og amider, ester hydrolys Aminer: basicitet av substituerte aniliner og alifatiske aminer, fremstilling av nitroforbindelser, reaksjon med salpetersyre, azo-koblingsreaksjon av diazoniumsalter av aromatiske aminer, Sandmeyer og relaterte reaksjoner av karbamaminreaksjon av diazoniumsalter Haloarener: nukleofil aromatisk substitusjon i haloarene og substituerte haloarener - (unntatt Benzyne-mekanisme og Cine-substitusjon). Karbohydrater. Klassifikasjon av mono - og di-sakkarider (glukose og sukrose) Oksidasjon, reduksjon, glykosiddannelse og hydrolys av sukrose. Aminosyrer og peptider. Generell struktur (kun primær struktur for peptider) og fysiske egenskaper. Egenskaper og anvendelser av noen viktige polymerer. Naturgummi, cellulose, nylon, teflon og PVC. Praktisk organisk kjemi. Deteksjon av elementer (N, S, halogener) Deteksjon og identifisering av følgende funksjonelle grupper: hydroksyl (alkoholisk og fenolisk), karbonyl (aldehyd og keton), karboksyl, amino og nitro Kjemiske metoder for separasjon av monofunksjonelle organiske forbindelser fra binære blandinger. JEE Fysikk Syllabus General. Enheter og dimensjoner, dimensjonal analyse minste teller, signifikante tall Metoder for måling og feilanalyse for fysiske mengder knyttet til følgende eksperimenter: Eksperimenter basert på bruk av vernier-kalipre og skruemåler (mikrometer), Bestemmelse av g ved bruk av enkel pendel, Youngs modul ved Searles metode, spesifikke varmen til en væske ved hjelp av kalorimeter, brennvidde for et konkavt speil og en konveks linse ved bruk av uv-metoden, lydhastighet ved bruk av resonanskolonne, verifisering av ohm-lov ved bruk av voltmeter og ammeter og spesifikk motstand av materialet til en ledning ved bruk av meter bro og postkontor boks. Mekanikk. Kinematikk i en og to dimensjoner (kun kartesiske koordinater), prosjektiler Sirkulær bevegelse (uniform og ikke-uniform) Relativ hastighet. Newtons bevegelseslover Inertial og ensartet akselerert referanseramme Statisk og dynamisk friksjon Kinetisk og potensiell energi Arbeide og strøm Bevaring av lineær momentum og mekanisk energi. Systemer av partikler Senter av masse og dens bevegelse Impuls Elastiske og uelastiske kollisjoner. Gravitasjonsloven Gravitasjonspotensial og - felt Akselerasjon på grunn av tyngdekraften Bevegelse av planeter og satellitter i sirkulære baner. Stiv kropp, tröghetsmoment, parallelle og vinkelrettede aksestorier, tröghetsmoment med ensartede legemer med enkle geometriske former. Vinkelmoment. Moment Bevaring av vinkelmoment. Dynamikk av stive legemer med fast rotasjonsakse. Ruller uten å glide av ringer, sylindre og kuler. stive kropper Kollisjon av punktmasser med stive legemer. Lineære og kantede enkle harmoniske bevegelser. Hookes lov, Youngs modulus. Trykk i flytende Pascallover Oppdrift Overflate energi og overflatespenning, kapillærøkning Viskositet (ekskludert Poiseuilles-ekv.), Stokes-lov Terminalhastighet, strømlinjestrøm, kontinuitetsbalanse, Bernoullis-teorem og dens anvendelser. Bølge bevegelse (bare flybølger), langsgående og tverrgående bølger, Superposisjon av bølger progressive og stasjonære bølger Vibrasjon av strenger og luftkolonner. Resonans Beats Hastighet av lyd i gasser Doppler effekt (i lyd). Termisk fysikk. Termisk ekspansjon av faste stoffer, væsker og gasser Kalorimetri, latent varme Varmeledning i en dimensjon Elementære konsepter av konveksjon og stråling Newtons kjølelov Ideelle gasslover Spesifikke varmer (Cv og Cp for monatomiske og diatomegasser) Isotermiske og adiabatiske prosesser, bulkmodul av gasser Ekvivalens av varme og arbeid Første lov av termodynamikk og dens anvendelser (kun for ideelle gasser). Blackbody stråling: absorberende og emissive krefter Kirchhoffs lov, Wiens forskyvningsloven, Stefans lov. Elektrisitet og magnetisme. Coulombs lov Elektrisk felt og potensial Elektrisk potensiell energi i et system av punktladninger og elektriske dipoler i et jevnt elektrostatisk felt, Elektriske feltlinjer Flux av elektrisk felt Gausss lov og bruk i enkle tilfeller, for eksempel å finne felt på grunn av uendelig lang glatt ledning, jevnt ladet uendelig planark og jevnt ladet tynt sfærisk skall. Kapasitans Parallell plate kondensator med og uten dielektrikum Kondensatorer i serie og parallell Energi lagret i kondensator. Elektrisk strøm: Ohms lov Serie og parallelle arrangementer av motstander og celler Kirchhoffs lover og enkle applikasjoner Oppvarming effekt av dagens. Biot-Savart lov og Amperes lov, magnetfelt nær en strømbærende rett wire langs aksen til en sirkulær spole og inne i en lang rett solenoid Force på en flytende ladning og på en strømbærende ledning i et jevnt magnetfelt. Magnetisk øyeblikk av en strømsløyfe Effekt av et ensartet magnetfelt på en strømsløyfe. Flytende spiralgalvanometer, voltmeter, ammeter og deres ombygginger. Elektromagnetisk induksjon. Faradays lov, Lenzs lov Selv og gjensidig induktans RC, LR og LC kretser med d. c. og a. c. kilder. Optikk. Rektilinær forplantning av lys Refleksjon og refraksjon ved plan og sfæriske overflater Totalt intern refleksjon Avvik og spredning av lys ved et prisme Tynne linser Kombinasjoner av speil og tynne linser Forstørrelse. Wave natur av lys. Huygens-prinsippet, interferens begrenset til Youngs dobbeltspalt-eksperiment. Moderne fysikk. Atomkjerne Alfa-, beta - og gamma-stråling Lov om radioaktivt henfall Forfallskonstant Halveringstid og middels liv Bindende energi og beregning Fisjon og fusjonsprosesser Energibalanse i disse prosessene. Fotoelektrisk effekt Bohrs teori om hydrogenlignende atomer Karakteristisk og kontinuerlig røntgenstråling, Moseleys law de Broglie bølgelengde av materielle bølger. JEE Syllabus for Aptitude Test i B. Arch. forsterker B. Des. Freehand drawing. Dette vil utgjøre en enkel tegning som viser den totale gjenstanden i sin rette form og proporsjon, overflatestruktur, relativ plassering og detaljer av dens komponentdeler i passende skala. Vanlige hjemlige eller daglige livbrukbare gjenstander som møbler, utstyr, etc. fra minnet. Geometrisk tegning. Øvelser i geometrisk tegning som inneholder linjer, vinkler, trekanter, firkanter, polygoner, sirkler etc. Studie av plan (toppvisning), høyde (forside eller sidevisninger) av enkle faste gjenstander som prismer, kjegler, sylindre, kuber, splayed overflateholdere osv. Tredimensjonal oppfatning. Forståelse og forståelse av tredimensjonale former med bygningselementer, farge, volum og orientering. Visualisering gjennom strukturering av objekter i minnet. Fantasi og estetisk følsomhet. Sammensetning øvelse med gitt elementer. Kontekst kartlegging. Kreativitet sjekke gjennom nyskapende uvanlig test med kjente objekter. Sans for fargegruppering eller applikasjon. Arkitektonisk bevissthet. Allmenn interesse og bevissthet om kjente arkitektoniske kreasjoner - både nasjonalt og internasjonalt, steder og personligheter (arkitekter, designere etc.) i det relaterte domenet. RMS Spenningstutorial I vår veiledning om AC Waveform så vi kort på RMS Spenningsverdien av en sinusformet bølgeform og sa at denne RMS-verdien gir den samme oppvarmingseffekten som en likestrømskraft, og i denne opplæringen vil vi utvide denne teorien litt mer ved å se nærmere på RMS spenninger og strømmer. Begrepet 8220RMS8221 står for 8220Root-Mean-Squared8221. De fleste bøker definerer dette som 8220 vekselstrøm av vekselstrøm som produserer den samme oppvarmingseffekten som en tilsvarende DC power8221, eller noe lignende i disse linjene, men en RMS-verdi er mer enn bare det. RMS-verdien er kvadratroten av den gjennomsnittlige (gjennomsnittlige) verdien av den kvadratiske funksjonen av de øyeblikkelige verdiene. Symbolene som brukes til å definere en RMS-verdi er V RMS eller I RMS. Begrepet RMS, KUN refererer til tidsvarierende sinusformede spenninger, strømmer eller komplekse bølgeformer var størrelsen på bølgeformendringer over tid og er ikke brukt i DC-kretsanalyse eller beregninger hvor størrelsen er konstant. Når det brukes til å sammenligne den ekvivalente RMS-spenningsverdien av en alternerende sinusformet bølgeform som tilveiebringer den samme elektriske kraft til en gitt belastning som en ekvivalent likstrøms krets, blir RMS-verdien kalt 8220effektiv verdi8221 og presenteres vanligvis som: V eff eller I eff. Med andre ord, den effektive verdien er en ekvivalent DC-verdi som forteller deg hvor mange volt eller forsterkere av DC at en tidsvarierende sinusformet bølgeform er lik med hensyn til dens evne til å produsere samme effekt. For eksempel er den innenlandske strømforsyningen i Storbritannia 240Vac. Denne verdien antas å indikere en effektiv verdi på 8220240 Volts rms8221. Dette betyr at den sinusformede rms-spenningen fra veggkontaktene til et britisk hjem er i stand til å produsere samme gjennomsnittlige positive effekt som 240 volt jevn likespenning som vist nedenfor. RMS spenning ekvivalent Så hvordan beregner vi RMS spenningen av en sinusformet bølgeform. RMS-spenningen av en sinusformet eller kompleks bølgeform kan bestemmes ved to grunnleggende metoder. Grafisk metode 1608211160 som kan brukes til å finne RMS-verdien av en ikke-sinusformet tidsvarierende bølgeform ved å tegne et antall mellomordinater på bølgeformen. Analytisk metode 1608211160 er en matematisk prosedyre for å finne den effektive eller RMS-verdien av en hvilken som helst periodisk spenning eller strøm ved bruk av kalkulator. RMS Spennings Grafisk Metode Selv om beregningsmetoden er den samme for begge halvdeler av en AC-bølgeform, for dette eksempelet, vil vi bare vurdere den positive halv-syklusen. Den effektive eller rms-verdien av en bølgeform kan bli funnet med en rimelig mengde nøyaktighet ved å ta like fordelte øyeblikkelige verdier langs bølgeformen. Den positive halvdelen av bølgeformen er delt inn i et hvilket som helst antall 8220n8221 like porter eller mellomordinater, og jo flere midordinater som trekkes langs bølgeformen, desto mer nøyaktig blir sluttresultatet. Bredden på hver midordinat vil derfor være n o grader, og høyden til hver midordinat vil være lik den øyeblikkelige verdien av bølgeformen på den tiden langs bølgeformens x-akse. Grafisk metode Hver midordinatverdi av en bølgeform (spenningsbølgeformen i dette tilfellet) multipliseres med seg selv (kvadrert) og legges til neste. Denne metoden gir oss 8220square8221 eller Squared-delen av RMS-spenningsuttrykket. Deretter divideres denne kvadratverdien med antall midordinater som brukes til å gi oss den midtre delen av RMS-spenningsuttrykket, og i vårt enkle eksempel ovenfor var antall midordinater brukt tolv (12). Til slutt er kvadratroten til det forrige resultatet funnet å gi oss Roten-delen av RMS-spenningen. Da kan vi definere begrepet som brukes til å beskrive en rms spenning (V RMS) som å være 8220 kvadratroten av middelverdien av kvadratet av midjeordinatene til spenningsbølgeform8221, og dette er gitt som: og for vårt enkle eksempel ovenfor, RMS spenningen beregnes som: Så det kan antas at en vekspenning har en toppspenning (V pk) på 20 volt, og ved å ta 10 mellomordinære verdier, er det funnet å variere over en halv syklus som følger: Så RMS spenningsverdien bruker Den grafiske metoden er gitt som: 14.14 Volt. RMS-spenningsanalysemetode Den grafiske metoden ovenfor er en veldig god måte å finne den effektive eller RMS-spenningen på (eller strømmen) av en vekslende bølgeform som ikke er symmetrisk eller sinusformet. Med andre ord ligner bølgeformen form som en kompleks bølgeform. Men når vi arbeider med rene sinusformede bølgeformer, kan vi gjøre livet litt enklere for oss selv ved å bruke en analytisk eller matematisk måte å finne RMS-verdien på. En periodisk sinusformet spenning er konstant og kan defineres som V (t) Vm. cos (969116) med en periode på 084. Da kan vi beregne den røde middelverdien av en sinusformet spenning (V (t) ) som: Integrering gjennom med grenser tatt fra 0 til 360 o eller 8220T8221, gir perioden: Deling gjennom videre som 9690320322960T. Den komplekse ligningen ovenfor reduserer til slutt også: RMS Spenningsligning Da bestemmes RMS-spenningen (V RMS) for en sinusformet bølgeform ved å multiplisere toppspenningsverdien med 0,7071. som er den samme som en delt med kvadratroten på to (160 18730 2 160). RMS-spenningen, som også kan refereres til som den effektive verdien, avhenger av bølgeformens størrelse og er ikke en funksjon av enten bølgeformens frekvens eller dens fasevinkel. Fra det grafiske eksemplet ovenfor ble toppspenningen (V pk) for bølgeformen gitt som 20 volt. Ved å bruke analysemetoden som nettopp er definert, kan vi beregne RMS-spenningen som: Merk at denne verdien på 14,14 volt er den samme verdien som for den forrige grafiske metoden. Deretter kan vi enten bruke den grafiske metoden for midordinatene eller den analytiske metoden for beregning for å finne RMS spenningen eller nåværende verdier av en sinusformet bølgeform. Merk at multiplisere topp - eller maksimumsverdien med konstanten 0.7071. Gjelder bare for sinusformede bølgeformer. For ikke-sinusformede bølgeformer må den grafiske metoden brukes. RMS Spenningssammendrag deretter for å oppsummere. Når vi arbeider med alternerende spenninger (eller strømmer) står vi overfor problemet med hvordan vi representerer en spenning eller signalstyrke. En enkel måte er å bruke toppverdiene for bølgeformen. En annen vanlig metode er å bruke den effektive verdien som også er kjent ved sitt mer vanlige uttrykk for rotmånefirkant eller bare RMS-verdien. Rotenes gjennomsnittlige kvadratiske, RMS-verdien av en sinusoid er ikke den samme som gjennomsnittet av alle øyeblikkelige verdier. Forholdet mellom RMS-verdien av spenning og den maksimale verdien av spenningen er den samme som forholdet mellom RMS-verdien av strømmen og den maksimale verdien av strømmen. De fleste multimeter, enten voltmetere eller ammetere, måler RMS-verdi, forutsatt en ren sinusformet bølgeform. For å finne RMS-verdien av ikke-sinusformet bølgeform er en 8220True RMS Multimeter8221 nødvendig. RMS-verdien av en sinusformet bølgeform gir samme oppvarmingseffekt som en likestrøm av samme verdi. Det er hvis en likestrøm, jeg går gjennom en motstand av R ohm. DC-effekten som forbrukes av motstanden som varme vil derfor være 2 W watt. Så hvis en vekselstrøm, i160160Im. sin952 strømmer gjennom samme motstand, vil vekselstrømmen omdannes til varme: I 2 rms. R watt. Deretter skal de behandles som RMS-verdier, med mindre annet er angitt, når de behandler vekslende spenninger og strømmer. Derfor vil en vekselstrøm på 10 ampere ha samme oppvarmingseffekt som en likestrøm på 10 ampere og en maksimumsverdi på 14,14 ampere. Etter å ha bestemt RMS-verdien av en vekslingsspenning (eller nåværende) bølgeform, vil vi i neste veiledning se på beregning av gjennomsnittsverdien. V AV av en vekspenning og til slutt sammenligne de to. En annen rask fastpunkts-tilnærming. Så her er jeg, gleder meg til en fin rolig helg, henger tilbake, se noen telly og kanskje lese litt ndash, men NNnnneeeEEEEEUUUuuuuuuuu Noen måtte skrive en interessant artikkel om sinus tilnærming. Med en utfordring på slutten. Og ved hjelp av en ineffektiv type tilnærming. Og så nå, i stedet for bare å slappe av, må jeg tilbringe hele helgen, og det meste av uken er å finne ut en bedre måte å gjøre det på. Jeg hater det når dette skjer. Sarkasme til side, det er en interessant lesning. Mens den vanlige måten å beregne en sinusdash via et oppslagstabell ndash virker og fungerer bra, er det bare noe utilfredsstillende om det. Den LUT-baserte tilnærmingen er bare hellip kjedelig. Uinspirert. Feigt. Inelegant. I motsetning til dette finner du en passende algoritme for det krever innsats og en kreativitet, slik at det alltid er noe jeg interesserer meg for. I dette tilfellet er sin tilnærming tilnærmet. Jeg har lurt på det da jeg gjorde min arctan artikkel. men skjønte det ville kreve for mange vilkår å virkelig være verdt innsatsen. Men ser på Mr Schrauts innlegg (hvis nettsted du bør besøke fra tid til annen, for det er gode ting der) det ser ut til at du kan få en anstendig versjon ganske raskt. Artikkelen senterer rundt arbeidet som ble funnet på devastertråden 5784. Som avledet følgende to likninger: Disse tilnærmingene fungerer ganske bra, men jeg føler at det faktisk bruker feil startpunkt. Det er alternative tilnærminger som gir mer nøyaktige resultater til nesten ingen ekstra kostnad i kompleksitet. I dette innlegget oppnår jeg høyereordningsalternativer for begge. I forbi snakker jeg også om noen av verktøyene som kan bidra til å analysere funksjoner og selvfølgelig gi noen kildekoden og gjøre noen sammenligninger. 1.1 Symmetri Det første analytiske verktøyet er symmetri. Symmetri er faktisk en av de mest kraftfulle konseptene som aldri er oppfattet. Symmetri av tid fører til bevaring av energisymmetrien i rommet fører til bevaring av momentum i en 3D-verden, retningssymmetri gir opphav til den inverse kvadratiske loven. I mange tilfeller definerer symmetri i utgangspunktet hvilke funksjoner du leter etter. En slags symmetri er paritet, og funksjoner kan også ha paritet. Ta en hvilken som helst funksjon f (x). En funksjon er selv om f (minus x) f (x) det er merkelig hvis f (minus x) minus f (x). Dette kan ikke høres imponerende, men en funksjonsparitet kan være en god kilde til informasjon og en måte å feilkontrollere. For eksempel er produktet av to odde eller jevne funksjoner en jevn funksjon, og et merkelig produkt er merkelig (sammenligne positivenegative tallprodukter). Hvis i en beregning du merker dette ikke holder sant, så vet du at det er en feil et sted. Symmetri kan også redusere mengden arbeid du trenger å gjøre betydelig. Ta neste sum, for eksempel. Hvis du finner noe som dette i naturen på en test, kan din første tanke være ldquoWTF. rdquo (forutsatt at du ikke løpe vekk skrikende). Som det skjer, y 0, på grunn av symmetri. Funksjonen er merkelig, så delene til venstre og høyre for x 0 avbrytes. I stedet for å faktisk prøve å gjøre hele beregningen, kan du bare skrive ned svaret i en linje: ldquo0, cuz of symmetryrdquo. En annen egenskap med symmetriske funksjoner er at hvis du bryter dem ned i serieutvidelser, vil ulike funksjoner bare ha ulike ord, og selv funksjoner har bare like vilkår. Dette blir viktig i neste avsnitt. 1.2 Polynomial - og Taylor-utvidelser Hver funksjon kan brytes ned i en rekke mer håndterbare funksjoner. Et ganske åpenbart valg for disse delfunksjonene er økende krefter på x. polynomer. Den vanligste av disse er Taylor-serien. som bruker et referansepunkt (a. f (a)) og ekstrapolerer til et annet punkt noen avstand h bort ved å bruke derivatene av f ved referansepunktet. I likningsform ser det slik ut: Sjansene er at du faktisk har brukt en del av Taylor-serien i spillprogrammering. På implementering av bevegelse med akselerasjon, vil du ofte se noe som Eq 4. Dette er de tre første betingelsene for Taylor-utvidelsen. Ihe trinnstørrelsen (h i Eq 3 og Delta t i Eq 4) er liten, ordene med høyere ordre vil ha mindre effekt på sluttresultatet. Dette gjør at du kan kutte utvidelsen kort på et tidspunkt. Dette gir deg en kort likning som du gjør beregningene med og en slags feilbegrepet, som består av den delen du har fjernet. Feilperioden er vanligvis knyttet til ordren du har avkortet serien til jo høyere rekkefølgen, jo mer nøyaktig er tilnærmingen. Hvis du trener matematikken for en sinus Taylor-serie, med en 0 som referansepunkt, slutter du med Eq 6. Merk at alle jevne krefter er iøynefallende fraværende. Dette er det jeg mente at symmetrien var nyttig: en sinusfunksjon er merkelig, derfor er det bare merkelige vilkår som trengs for utvidelsen. Men det er mer enn det. Nøyaktigheten er gitt av den høyeste rekkefølgen i det tilnærmende polynomet. Dette viser at det bare ikke er noe poeng i selv å starte med et enda drevet polynom, fordi du kan få en ekstra ordre i utgangspunktet gratis. Det er derfor å bruke en kvadratisk tilnærming for en sinus, er noe ubrukelig, en kubikk vil også ha to vilkår, og være mer nøyaktig å starte opp. Bare fordi den buede betyr ikke at en parabola er den mest passende tilnærming. 1.3 Kurvefitting (og et tredje ordreeksempel) Bruke Taylor-serien som grunnlag for en sinusimplementering er fin, men det har også et problem. Serien er ment å ha et uendelig antall vilkår, og når du avkorter serien, vil du miste noe nøyaktighet. Selvfølgelig, dette var å forvente, men dette er ikke det virkelige problemet. Det virkelige problemet er at hvis funksjonen din har noen avgjørende punkter, må den passere gjennom (som sikkert gjelder for trigonometrifunksjoner), vil trunken flytte kurven bort fra de punkter. For å fikse dette må du bruke et polynom med hittil ukjente koeffisienter (det vil si multiplikatorer til kreftene) og et sett forhold som må tilfredsstilles. Disse betingelsene vil bestemme den nøyaktige verdien av koeffisientene. Taylor-ekspansjonen kan tjene som grunnlaget for din første tilnærming, og de endelige vilkårene skal være ganske nær Taylor-koeffisientene. La oss prøve dette for en tredje rekkefølge (kubisk) sinus tilnærming. Teknisk betyr et tredje ordens polynom fire ukjente, men. Siden sinusen er merkelig, er alle koeffisientene for de jevne kreftene null. Det tar seg av halvparten av koeffisientene allerede. Jeg fortalte at symmetrien var nyttig :). Utgangspolynomet er redusert til Eq7, som har to koeffisienter a og b som må bestemmes. For godt mål har jeg også lagt til derivatet, da det ofte er nyttig å ha det også. To ukjente betyr at vi trenger to betinget for å løse systemet. De mest nyttige forholdene er vanligvis oppførselen ved grensene. Når det gjelder en sinus, betyr det at du ser på x 0 ogor x frac12pi. Sistnevnte skjer for å være mer nyttig her, så vi kan se på det. For det første synd (frac12pi) 1, så det er en god en. Også, vi vet at frac12pi er en sinus flatt (et derivat av 0). Dette er den andre betingelsen. Betingelsene er oppført i Eq 8. Løsning av dette systemet er ganske enkelt og vil gi deg verdier for a og b. som også er gitt i Eq 8. Merk at verdiene er omtrent 5 og 30 unna de rene Taylor-koeffisientene. I figur 1 kan du se en rekke forskjellige tilnærminger til sinus. Merk at Ive har gjort en liten koordinat transformasjon for x - aks: z x (frac12pi), så z 1 betyr x frac12pi. Fordelen med dette vil bli klart senere. Som du kan se, begynner den tredje rekkefølge Taylor-ekspansjonen helt til høyre, men veer selvfølgelig nær slutten. I motsetning matcher tredje-ordens passform sinus i begge endepunkter. Det er også andre ordens passform fra devmaster-siden. Som du ser, er den tredje ordens tilnærming nærmere. Fig. 1. Sine-tilnærminger ved å bruke tredje orden Taylor og parabolske kubiske polynomier for første kvadrant. z x frac12pi Nå husk at koeffisienter fra Eq 8 ikke er de eneste du kan bruke. Betingelsene definerer hva verdiene vil være forskjellige forhold fører til forskjellige verdier. For eksempel, i stedet for å bruke derivatet ved frac12pi, kunne jeg ha brukt det på x 0. Dette danner settet av ligninger av Eq 10, og som du ser, er koeffisientene nå forskjellige. Dette settet er faktisk mer nøyaktig (en 0,6 gjennomsnittlig feil i stedet for 1.1), men det har også noen ganske ubehagelige egenskaper ved å ha et maksimum som ikke er frac12pi og går over 1,0 dette kan være veldig foruroligende hvis du har tenkt å bruke sinusen i noe som rotasjon. 1.4 Dimensjonsløse variabler og koordinatransformasjoner For høyere nøyaktighet, bør en høydestil-polynom brukes. Før du gjør det, skjønner jeg likevel ett ekstra triks som kan gjøre din matematiske analyse betydelig lettere: dimensjonsløse variabler. Problemet med de fleste mengder og ligninger er enheter. Meter, føtter, liter, gallons de slags enheter. Enheter suger. For en, er det forskjellige enheter for identiske mengder som kan være en total smerte å konvertere og kan noen ganger føre til katastrofe. Bokstavelig. Da er det faktum at enhetens størrelser i utgangspunktet plukkes tilfeldig og har ingenting å gjøre med den fysiske situasjonen de har brukt til. Så du har rare verdier for konstanter som G i Newtons lov om universell gravitation. lysets hastighet c og Planck-konstanten. h. Å holde oversikt over disse tingene i ligninger er irriterende, spesielt siden de har en tendens til å bunke opp og alle vil helst at Theyd bare går bort. Skriv inn dimensjonsløse variabler. Ideen her er at i stedet for å bruke standard enheter, uttrykker du mengder som forhold til en meningsfull størrelse. For eksempel, i relativitet får du ofte v c. hastighet over lysets hastighet. Ligninger blir mye enklere hvis du bare betegner hastigheter som brøkdeler av lysets hastighet: beta v c. Å bruke beta i ligningene forenkler dem enormt og har bonusen at du ikke er bundet til en bestemt hastighetsenhet lenger. Den dimensjonsløse variabelen er en type koordinat transformasjon. Spesielt er det en skalering av den opprinnelige variabelen til noe mer nyttig. En annen nyttig transformasjon er oversettelse: å flytte variabelen til en mer egnet posisjon. Vi kommer over dette senere, men først: et eksempel på dimensjonsløse variabler. En sinusbølge har mange symmetri linjer, som alle dreier seg om kvart-sirkler. På grunn av dette er uttrykket som holder opp med overalt frac12pi. Dette er den karakteristiske størrelsen på bølgen. Ved å bruke z x (frac12pi) er alle de viktige punktene nå i integrale z-verdier. Å ha de i ligningene dine er vanligvis en god ting fordi de har en tendens til å forsvinne i multiplikasjoner. Look at what Eq 9 becomes when expressed in terms of z Doesnt that look a lot nicer It goes deeper than that though. With dimensionless units, the units your measurements are in simply cease to matter For angles, this means that whether youre working in radians, degrees or brads, theyll all result in the same circle-fraction, z . This makes converting algorithms to fixed-point notation considerably easier. 2 Derivations and implementations In the section above, I discussed the tools used for analysis and gave an example of a cubic approximation. In this section Ill also derive high-accuracy fourth and fifth order approximations and show some implementations. Before that, though, theres some terminology to go through. Since multiple different approximations will be covered, there needs to be a way to separate all of them. In principle, the sine approximation will be named S n . where n is the order of the polynomial. So thatll give S 2 to S 5 . I will also use S 4d for the fourth-order approximation from devmaster. In the derivation of my own fourth-order function, Ill use C n . because what will actually be derived is a cosine. Third-order implementation Lets start with finishing up the story of the third-order approximation. The main equation for this is Eq 11. Because this equation is still rather simple, Ill make this a fixed-point implementation. The main problem with turning a floating-point function into a fixed-point one is keeping track of the fixed-point during the calculations, always making sure theres no overflow, but no underflow either. This is one of the reasons why I wrote Eq 11 like it is: by using nested parentheses you can maximize the accuracy of intermediate calculations and possibly minimize the number of of intermediate calculations and possibly minimize the number of operations to boot. To correctly account for the fixed-point positions, you need to be aware of the following factors: The scale of the outcome (i. e. the amplitude): 2 A The scale on the inside the parentheses: 2 p. This is necessary to keep the multiplications from overflowing. The angle-scale: 2 n. This is basically the value of frac12pi in the fixed-point system. Using x for the angle, you have z x 2 n. Filling this into Eq 11 will give the following: with r 2 n minus p and s n p 1minus A . These represent the fixed-point shifts you need to apply to keep everything on the level. With p as high as multiplication with x will allow and the standard libnds units leads to the following numbers. Thats the calculation necessary for the first quadrant, but the domain of a sine is infinite. To get the rest of the domain, you can use the symmetries of the sine: the 2pi periodicity and the frac12pi mirror symmetries. The first is taken care of by doing z 4. This reduces the domain to the four quadrants of a circle. The next part is somewhat tricky, so pay attention. Look at Fig 2. S 3 works for quadrant 0. Because its antisymmetric, it will also correctly calculate quadrant 3, which is equivalent to quadrant minus1. Quadrants 1 and 2 are the problem. As you can see in Fig 2, what needs to happen is for those quadrants to mirror onto quadrants 0 and minus1. A reflection of x at D is defined by Eq 13. In this case, that means that z 2 minus z Some test need to be done to see when the reflection should take place. The quadrant numbers in binary are 00, 01, 10, 11. If you build a truth-table around that, youll see that a XOR of the two bits will do the trick. If you really want to show off, you can combine the periodicity modulo and the quadrant test by doing the arithmetic in the top bits. The implementation is now complete. A sine approximation via a third-order approx. param x Angle (with 215 unitscircle) return Sine value (Q12) s32 isinS3(s32 x) S(x) x ( (3ltltp) - (xxgtgtr) ) gtgt s n. Q-pos for quarter circle 13 A. Q-pos for output 12 p. Q-pos for parentheses intermediate 15 r 2n-p 11 s A-1-p-n 17 static const int qN 13. qA 12. qP 15. qR 2 qN-qP, qS qNqP 1 - qA x xltlt( 30 - qN) shift to full s32 range (Q13-gtQ30) if ( (x(xltlt 1 )) lt 0 ) test for quadrant 1 or 2 x ( 1 ltlt 31 ) - x return x ( ( 3 ltltqP) - (xxgtgtqR) ) gtgt qS And, of course, theres an assembly version as well. Its only ten instructions, which I think is actually shorter than a LUTlerp implementation. ARM assembly version, using n13, p15, A12 A sine approximation via a third-order approx. param r0 Angle (with 215 unitscircle) return Sine value (Q12).arm. align. global isinS3a isinS3a: mov r0. r0. lsl ( 30 - 13 ) teq r0. r0. lsl 1 rsbmi r0. r0. 1 ltlt 31 mov r0. r0. asr ( 30 - 13 ) mul r1. r0. r0 mov r1. r1. asr 11 rsb r1. r1. 3 ltlt 15 mul r0. r1. r0 mov r0. r0. asr 17 bx lr Oh wait, the requirement was for the input to be in Q12 radians, right Weeell, thats no biggy. You just have to do the x rarr z conversion yourself. Take, say, 2 20 (2pi). Multiply x by this gives z as a Q30 number exactly what the first line in the C code resulted in. This means that all you have to do is change the first line to x 166886 . NDS special The assembly version given above uses standard ARM instructions, but one of the interesting things is that the NDS ARM9 core has special multiplication instructions. In particular, there is the SMULWx instruction, which does a wordhalfword multiplication, where the halfword can be either the top or bottom halfword of operand 2.The main result is 32times16rarr48 bits long, of which only the top 32 bits are put in the destination register. Effectively its like a b gtgt16 without overflow problems. As a bonus, its also slightly faster than the standard MUL. By slightly changing the parameters, the down-shift factors r and s can be made 16, fitting perfectly with this instruction, although the internal accuracy is made slightly worse. Additionally, careful placement of each instruction can avoid the interlock cycle that happens for multiplications. The alternate isinS3a() becomes: Special ARM assembly version, using n13 and lots of Q14 A sine approximation via a third-order sine, using special ARM9 instructions param r0 Angle (with 215 unitscircle) return Sine value (Q12).arm. align. global isinS3a9 isinS3a9: mov r0. r0. lsl ( 30 - 13 ) x Q30 teq r0. r0. lsl 1 rsbmi r0. r0. 1 ltlt 31 smulwt r1. r0. r0 yxx Q30Q14Q16 Q28 mov r2. 3 ltlt 13 B1432 sub r1. r2. r1. asr 15 32-y2 Q14Q28Q142 smulwt r0. r1. r0 Q14Q14Q16 Q12 Technically its only two instruction less, but is quite a bit faster due to the difference in speed between MUL and SMULWx. 2.1 High-precision, fifth order The third order approximation actually still has a substantial error, so it may be useful to use an additional term. This would be the fifth-order approximation, S 5 . It and its derivative are given in Eq 14. To find the terms, I will again use z instead of x . The conditions of note are the position and derivative at z 1 and the derivative at 0. With these conditions the approximation should behave amicably at both edges. Notice that these equations are linear with respect to a . b and c . which means that it can be solved via matrices. Technically this system of equations forms a 3times3 matrix, but since a is already immediately known it can be reduced to a 2times2 system. Ill spare you the details, but it leads to the coefficients of Eq 16. Note the complete absence of any horrid pi 5 terms that would have appeared if you had decided not to use dimensionless terms. Eq 17 is the final quintic approximation in the form thats most accurate and easiest to implement. The implementation is basically an extension of the S 3 function and left as an exercise for the reader. 2.2 High precision, fourth order Lastly, a fourth-order approximation. Normally, I wouldnt even consider this for a sine (odd function odd power series and all that), but since the devmaster post uses them and they even seem to work, there seems to be something to them after all. The reason those approximations work is simple: they dont actually approximate a sine at all they approximate a co sine. And, because of all the symmetries and parallels with sines and cosines, one can be used to implement the other. Eq 18 is the transformation you need to perform to turn a cosine into a sine wave. This can be easily done in at the start of an algorithm. Whats left is to derive a cosine approximation. Because a cosine is even, only even powers will be needed. The base form and its derivative are given in Eq 19. For the conditions, we once again look at z 0 and z 1, which comes down to the eqt of equations in Eq 20. One of the interesting thing about even functions is that the derivative at 0 is zero, so thats a freebie. A very important freebie, as it means that one of the required symmetries happens automatically. The resulting set of coefficients are listed in Eq 21. Note that b c 1, which may be of use later. The final equation for the fourth order cosine approximation is Eq 22. Only three MULs and two SUBs nice. Implementation The floating-point implementation of Eq 22 is again too easy to mention here, so Ill focus on fixed-point variations. Like with S 3 . you can mix and match fixed-point positions until you get something you like. In this case Ill stick to Q14 for almost everything to keep things simple. The real trick here is to find out what you need to do about all the other quadrants. Cutting down to four quadrants is, again, easy. For the rest, remember that the cosine approximation calculates the top quadrants and you need to flip the sign for the bottom quadrants. If you think in terms of the parameter that a sine gets, you see that only for odd semi-circles the sign needs to change. Tracing this can be done with a single bitwise AND or a clever shift. A sine approximation via a fourth-order cosine approx. param x angle (with 215 unitscircle) return Sine value (Q12) s32 isinS4(s32 x) int c, x2, y static const int qN 13. qA 12. B 19900. C 3516 c xltlt( 30 - qN) Semi-circle info into carry. x - 1 ltltqN sine - gt cosine calc x xltlt( 31 - qN) Mask with PI x xgtgt( 31 - qN) Note: SIGNED shift (to qN) x xxgtgt( 2 qN - 14 ) xx2 To Q14 y B - (xCgtgt 14 ) B - x2C y ( 1 ltltqA)-(xygtgt 16 ) A - x2(B-x2C) return cgt 0. y. - y And an ARM9 assembly version too. As it happens, its only two instuctions longer than isinS3a9(). ARM assembly version of S4 C4(gamma-1), using n13, A12 and. miscellaneous. A sine approximation via a fourth-order cosine param r0 Angle (with 215 unitscircle) return Sine value (Q12).arm. align. global isinS4a9 isinS4a9: movs r0. r0. lsl ( 31 - 13 ) r0x2 ltlt31 carryx2 sub r0. r0. 1 ltlt 31 r0 - 1.0 sin lt-gt cos smulwt r1. r0. r0 r1 xx Q31Q15Q16Q30 ldr r2 , 14016 C (1-pi4)ltlt16 smulwt r0. r2. r1 Cx2gtgt16 Q16Q14Q16 Q14 add r2. r2. 1 ltlt 16 B C1 rsb r0. r0. r2. asr 2 B - Cx2 Q14 smulwb r0. r1. r0 x2 (B-Cx2) Q30Q14Q16 Q28 mov r1. 1 ltlt 12 sub r0. r1. r0. asr 16 1 - x2 (B-Cx2) rsbcs r0. r0. 0 Flip sign for odd semi-circles. Deriving approximations is nice and all, but theres really no point unless you do some sort of test to see how well they perform. Ill look at two things: accuracy and some speed-tests. For the speed-test, Ill only consider the functions given here along with some traditional ones. The accuracy test is done only for the first quadrant and in floating-point, but the results should carry over well to a fixed-point case. Finally, Ill show how you can optimize the functions for accuracy. 3.1 Third and fourth-order speed For the speed test I calculated the sine at 256 points for x isin 0, 2pi). There will be some loop-overhead in the numbers, but it should be small. Tests were performed on the NDS. Functions under investigation are the three S 3 and two S 4 functions given earlier. Ive also tested the standard floating-point sin() library function, the libnds sinLerp() and my own isin() function that you can find in arctan:sine. The cumulative and average times can be found in Table 1. Table 1 . sine cycle-times (roughly). The first thing that should be clear is just why we dont use the floating-point sine. I mean, seriously. There is also a clear difference between the Thumb-compiled and ARM assembly versions, the latter being significantly faster. Within the compiled versions, I find it interesting to see that the algorithmic calculations are actually faster than the LUTlerp-based implementations. I guess loading all those numbers from memory really does suck. And then theres the assembly versions. Wow. Compared to the compiled version theyre twice as fast, and up to four times as fast as the LUT-based functions. NDS timers measure half-cycles The cycle-times from Table 1 do not make sense if you count instruction cycles. For example, for isinS3a the function overhead alone should already be around 10 cycles. The thing here is that the numbers are taken from the hardware timers, which use the bus-frequency (33 MHz) rather than the ARM9 cpu (66 MHz). As such, it measures in half-cycles. For details, see gbatek:nds-timings. 3.2 Accuracy Fig 4 shows all the approximations in one graph. It only shows one quadrant because the rest can be retrieved by symmetry. Ive also scaled the sine and its approximations by 2 12 because thats the scale that usual fixed-point scale right now. And to be sure, yes, this is a different chart than Fig 1 its just hard to tell because the fourth and fifth order functions are virtually identical to the real sine line. For the high-accuracy approximations, its better to look at Fig 5, which shows the errors. Here you can clearly see a difference between S 4d and S 5 . the latter is roughly 3 times better. Theres also a large difference between the devmaster fourth-order sine and my own. The reason behind this is a difference in conditions. In my case, Ive fixed the derivatives at both end-points, which always results in an over - or underestimate. The devmasters S 4d let go of those conditions and minimized the error. Ill also do this in the next sub-section. Table 2 and Table 3 list some interesting statistics about the various approximations, namely the minimum, average and maximum errors. It also contains a Root Mean Square Deviation (RMSD), which is a special kind of distance. If you consider the data-points as a vector, the RMSD is the average Pythagorean length for each point. Table 2 is normed to 2 12. whereas Table 3 is table for the traditional floating-point sine scale. The RMSD values are probably the most useful to look at. From them you can see that there is a huge gap between the low-accuracy and high-accuracy functions of about a factor 60. And if you do your math right, all it costs is one multiplication and one addition, and maybe some extra shifts in the fixed-point case. Thats quite a bargain. Compared to that, the difference between the odd and even functions is somewhat meager: only a factor three or so. Still, it is something. If you look at the fixed-point table, you can see that the error you make with S 4d and S 5 is in the single digits. This means that this is probably accurate enough for practical purposes. Combined with the fact that even fifth order polynomials can be made pretty fast, this makes them worth considering over LUTs. Table 2 . error statistics for 2 12 sin(x) approx. 3.3 Optimizing higher-order approximations From the charts, you can see that S 4 and S 5 all err on the same side of the sine line. You can increase the accuracy of the approximation by tweaking the coefficients in such a way that the errors are redistributed in a preferable way. Two methods are possible here: shoot for a zero error average, or minimize the RMSD. Technically minimizing the RMSD is standard (it comes down to least-squares optimization), but because a zero-average allows for an analytical solution, Ill use that. In any case, the differences in outcomes will be small. First, think of what an average of a function means. The average of a set of numbers is the sum divided by the size of the set. For functions, its the integral of that function divided by the interval. When you want a zero-average for an approximation, the integral of the function and that of the approximation should be equal. With a polynomial approximation to a sine, we get: with a n reducing to the coefficients of the polynomials we had before. This can be used as an alternate condition to the derivative at 0. For S 4 and S 5 . youll end up with the following coefficients. If youre still awake and remember the devmaster S 4d coefficients, there should be something familiar about a 4 . Yes, theyre practically identical. If you optimize S 4 for the RMSD, you actually get the exact same function as S 4d . Table 4 shows the statistics for the original approximations and the new optimized versions, S 4o and S 5o . The numbers for S 4o are basically those from S 4d seen earlier. More interesting are the details for S 5o . The maximum and minimum errors are now within plusmn1. That is to say, this approximation gives values that are at most 1 off from the proper Q12 sine. This is about as good as any Q12 approximation is able to get. 4 Summary and final thoughts Heres a few things to take from all this. Symmetry is your friend. When constructing a polynomial approximation, more terms mean higher accuracy. Symmetry properties of the function approximated allow you to remove terms from consideration, simplifying the equation. Coordinate transformations are your friends too. Sometimes its much easier to work on a scaled or moved version of the original problem. If your situation has a characteristic length (or time, velocity, whatever) consider using dimensionless variables: expressing parameters as ratios of the characteristic length. This makes the initial units pretty much irrelevant. For angles, think circle-fractions. Zero and one (0 and 1) are the best values to have in your equations, as they tend to vanish to easily. Any approximation formula will have coefficients to be determined. In general, the Taylor series terms are not the best set values slightly offset from these terms will be better as they can correct for the truncation. To determine the values of the coefficients, define some conditions that need to be satisfied. Examples of conditions are values of the function and its derivative at the boundaries, or its integrals. Or you can wuss out and just dump the thing in the Excel Solver. When converting to fixed-point, accuracy and overflow comes into the fray. If you know the domain of the function beforehand, you can optimize for accuracy. Also, it helps if you construct the algorithm in a sort of recursive form instead of a pure polynomial: not a x b x 2 but x ( a x b ). Ordered like this, each new additional term only requires one multiplication and one addition extra. For fixed-point work, SMULWx is teh awesome. Even a fourth order (and presumably fifth order as well) polynomial implementation in C is faster than the LUT-based sines on the NDS. And specialized assembly versions are considerably faster still. The difference in accuracy of S 4 vs S 2 or S 5 vs S 3 is huge: a factor of 60. Going from an even to the next odd approximation only gains you a factor 3. Shame Id hoped itd be more. Unlike I initially thought, the even-powered polynomials work out quite well. This is because theyre actually modified cosine approximations. Exercises for the reader Express the parabolic approximation S 2 ( x ) of Eq 1 in terms of z . s Not hard, I promise. Implement the fixed-point version of the fifth-order sine approximation, S 5 ( x ). For the masochists: derive the coefficients for S 5 ( x ) without dimensionless variables. That is to say, with the conditions at x frac12pi instead of z 1. Solve Eq 24 and Eq 25 for minimal RMDS. Also, try to derive an analytical form for minimal RMDS I think its exists, but it may be tricky to come up with the right form. 63 thoughts on ldquo Another fast fixed-point sine approximation rdquo Comment navigation Okay, Ive uploaded two files in a zip that you can take a look at. You can find them here . sine-aprx. xls is my original filed during writing the article. Despair all ye who enter here isins3.xlsx specifically covers isins3() as its given above. Theres some magic in column K and L to emulate integer overflow, but the rest is pretty straightforward. The sheet is set up for quadrant 0, but you can fiddle with cells B2 and B3 to change the interval and angle scale. 1). sin(18) 0.309, which translates to 4F1h which is a better match to 4BCh It is not clear to me how you got 4F1 which equation is been used to get 4F1h. sin(18) 0.3090170273 is clear to me. Fixed-point just means. apply a scaling factor to everything. A Q12 (12-bit fixed-point number) value means. scale everything by 2 12. So sin(18) 4096 1265 04F1h. 18 is 0.05 circle. Look up that value in the spreadsheet to see the real sin value and compare it with isins3. 2) I have another question which needs clarification, isnt x u16 when unit circle is been divided into Q15(32768) I answered to myself this way and I want to cross check with you, -32768 to 0 -- gives sine on negative x-axis(-2pi, -3pi2, - pi, - pi2, 0) 0 to 32768 -- gives sine on positive x-axis(0, pi2, pi, 3pi2, 2pi) just because s16 range is -32768 to 32767, just for one bit on the positive side, you want to use s32, which accomodates -32768 to 32768(do you agree that, this should be mentioned as Q16 instead of Q15) and similarly for -65536 to 65536(Q17). Is my interpretation correct No, this isnt how it works. You have a circle. What you want as the domain is a full run around the circle. For radians, thatd be 0, 2pi). Or minuspi, pi), it doesnt really matter. What matters is: you want one run around the circle. Everything else just maps back to that. When you normalize that run, you get a natural 0, 1) domain, where 0 means the starting point, frac14 means frac14 circle, etc. In Q15, that 0, 1) domain translates to 0, 2 15 ). What youre proposing is a -1, 1) domain, which covers two circles. Because everything just repeats, theres no need to cover positive and negative directions separately, because the sine over -1, 0) is identical to that over 0, 1) (and 1, 2), etc). This periodicity is automatic if you use 16-bit variables and a 2 16 - unit circle. - frac14-circle then automatically maps to frac34-circle, or vice versa via integer overflow. Comment navigation
Forex Weekly Outlook 28 november-3 desember Den amerikanske dollaren nådde nye høyder mot euro og yenen, men noen gevinsttak ble sett midt i Thanksgiving vaction. Vi er ikke tilbake til full virksomhet: BNP-data i USA og Canada, USAs forbrukertillid og en full oppbygging til USAs ikke-gårdslønn skiller seg ut. Dette er de viktigste hendelsene i kalenderen vår. Her er en oversikt over høydepunktene i denne uken. Amerikanske varige ordre i oktober viste en kraftig stigning i oktober, og økte med 4,8 på sterkere salg. Dette var den fjerde måneden med gevinster ut av fem, noe som tyder på at bedriftens investeringer begynner å vise. Utgivelsen overgikk prognoser på 1,2 gevinst. Et annet oppmuntrende nyhetsbrev var økningen i Core-ordre utenom transportvarer, og økte med 1,0 etter en økning på 0,2 i forrige måned. Denne positive utgivelsen øker håpet om at bedriftsinvesteringene til slutt endrer seg og er satt til å bli bedre. Letrsquos starter, Mario Draghi snakker: Mandag, 14:00. Den euro...
Comments
Post a Comment