Tuesday 28 November 2017

Flytting Gjennomsnitt Filter Vhdl


Jeg har et spørsmål relatert til kontinuerlig gjennomsnittlig ADC-verdi. Tilnærmingen som jeg brukte, er kontinuerlig gjennomsnittlig for eksempel 256 eksempler. Adcaout-verdien vist i koden nedenfor som jeg mottar på min GUI-trinn sakte. For eksempel, hvis jeg forventer verdi 100mA, Min GUI viser 4mA, 8mA, 15mA og så til slutt etter 2 minutter blir jeg stabil 100mA verdi Jeg vil se 100mA direkte på min GUI fra adcaout i stedet for økningsverdier og stabilisering etter en gang. Et annet spørsmål er det, kan jeg på en eller annen måte gjøre denne prosessen raskt slik at jeg ikke må vente i 3 minutter for å motta stabile 100 mA fra adcaout Klokken CLK i den digitale designen nedenfor er 20 MHz Klokken for mottak av ADC-verdier på FPGA-kortet er 15 KHz. - filen er under . Din kode er endret som følger. Den endelige utgangen som jeg ser på min GUI er slvvalue1 og slvvalue2.How om dette ved tilbakestilling eller til enhver annen tid hvis du vil, tilordne datainverdi til alle elementene i ditt scenarium Dette bør umiddelbart satt ditt gjennomsnitt til dagens verdi. Eksempelet nedenfor viser hele koden for en glidende gjennomsnittlig kalkulator. Mitt forslag er at du studerer det til du forstår det. Prøv deretter å bruke det i designet. Endelig, og først etter at du har en grunnleggende krets som virker , kan du endre det for å tilfredsstille designbegrensningene data bredde, antall prøver, rekkefølge av heltall, bruk av signert vs heltall etc. Finally, hvis du vil bruke den ovennevnte koden for å holde to separate gjennomsnitt for to forskjellige signaler, kan du bare ordne gjennomsnittlig enhet twice. Edit Som jeg forstår fra dine kommentarer, kan det hende du trenger en ekstra inngang for å angi gjennomsnittet øyeblikkelig til gjeldende inngangsverdi. I så fall kan du bruke en belastningsinngang som vist under. ansvaret 26. november kl. 13 kl. 15 45.Det er mulig å implementere et bevegelige gjennomsnitt i C uten behov for et vindu av prøver. Jeg har funnet ut at jeg kan optimalisere litt ved å velge en vindusstørrelse som er kraften til to for å tillate bitforskyvning i stedet for å dele, men trenger ikke en buffer ville være fint Er det en måte å uttrykke et nytt, glidende gjennomsnittsresultat bare som en funksjon av det gamle resultatet og den nye prøven. Finn et eksempel som beveger gjennomsnittet, over et vindu på 4 prøver å være. Legg til ny prøve eA glidende gjennomsnitt kan være implementert rekursivt, men for en nøyaktig beregning av det bevegelige gjennomsnittet må du huske den eldste innsatsprøven i summen, dvs. a i ditt eksempel. For et lengde N glidende gjennomsnitt beregner du hvor yn er utgangssignalet og xn er inngangssignalet Eq 1 kan skrives rekursivt som. Så du må alltid huske prøven x nN for å beregne 2. Som påpekt av Conrad Turner, kan du bruke et uendelig langt eksponensielt vindu i stedet, noe som gjør det mulig å beregne utdataene bare fra siste utgang og nåværende input. but dette er ikke et standard uvevet glidende gjennomsnitt, men et eksponentielt vektet glidende gjennomsnitt, hvor prøver tidligere i det siste får en mindre vekt, men i det minste i teorien glemmer du aldri noe vekter bare g et mindre og mindre for prøver langt tidligere. Jeg implementerte et glidende gjennomsnitt uten individuelt elementminne for et GPS-sporingsprogram jeg skrev. Jeg starter med 1 prøve og deler med 1 for å få gjeldende avg. I så legger jeg til prøve og deler med 2 til den nåværende avg. This fortsetter til jeg kommer til lengden av gjennomsnittet. Hver gang etterpå legger jeg til den nye prøven, får gjennomsnittet og fjerner det gjennomsnittet fra totalen. Jeg er ikke en matematiker, men dette virket som en god måte å gjøre det, skjønte jeg at det ville slå magen til en ekte matte fyr, men det viser seg at det er en av de aksepterte måtene å gjøre det på. Og det fungerer bra Bare husk at jo lengre lengre jo tregere det følger hva du vil følge Det kan ikke være noe som helst mesteparten av tiden, men når du følger satellitter, hvis du er treg, kan stien være langt fra den faktiske posisjonen, og det vil se dårlig. Du kan ha et mellomrom mellom lørdene og de etterfølgende punktene jeg valgte en lengde på 15 oppdatert 6 ganger per minutt for å få tilstrekkelig te utjevning og ikke komme for langt fra den faktiske lette posisjonen med den glatte stien dots. answered 16. november 16 kl 23 03.initialiser totalt 0, teller 0 hver gang du ser en ny verdi. Deretter legger du inn en ny scanf, en ny totalValue, en økningstall, en deling av gjennomsnittlig total telling. Dette ville være et bevegelige gjennomsnitt over alle innganger. For å beregne gjennomsnittet over bare de siste 4 inngangene, ville det kreve 4 inputvariables, kanskje kopiering av hvert inngang til en eldre inputvariable og deretter beregning av det nye glidende gjennomsnittet som summen av de 4 inputvariablene divideres med 4 høyre skift 2 ville være bra dersom alle inngangene var positive for å gjøre gjennomsnittlig beregning. ansvaret 3. februar klokken 4 06. Det vil faktisk beregne totalt gjennomsnitt og IKKE glidende gjennomsnitt Som teller blir større effekten av en ny inngangsprøve blir forsinket liten Hilmar 3. februar kl 13 13. Ditt svar.2017 Stack Exchange, Inc. Moving Avergare Filter MAF i VHDL 2008 for DE0-NANO med FPGA Cyclone IV. Dette filteret fungerer med faste peker på at th e antall biter avhenger av ADC. About Moving Average Filter. A Moving Average Filter er et digitalt filter som gjennomsnittet av inntastingene s siste M 1-termer, slik som følgende uttrykk. Ved å bruke det andre direkte skjemaet kan vi definere hn som denne hnxnh n -1.Så det kan uttrykkes i denne waw ynhn - h nM M 1.Struktur av filteret. Topphierarkiet er det som definerer all filter s struktur. For å generere fra h n-1 til h nM, flip - flops brukes til forsinkelser. Du kan ikke utføre denne handlingen på dette tidspunktet. Du logget på med en annen fane eller et vindu. Oppdater for å oppdatere økten din. Du logget ut på en annen fane eller et vindu. Oppdater for å oppdatere økten din.

No comments:

Post a Comment