Jag vet att detta kan uppnås med boost som per. Men jag vill verkligen undvika att använda boost jag har googled och inte hittat några lämpliga eller läsbara exempel. I grund och botten vill jag spåra det rörliga genomsnittet av en pågående ström av en ström av flytande punktnummer Använder de senaste 1000 siffrorna som ett dataprov. Vilket är det enklaste sättet att uppnå detta. Jag experimenterade med att använda ett cirkulärt array, exponentiellt glidande medelvärde och ett enklare glidande medelvärde och fann att resultaten från den cirkulära gruppen passade mina behov bäst. asked jun 12 12 på 4 38. Om dina behov är enkla kan du bara försöka använda ett exponentiellt rörligt medelvärde. Du gör bara en ackumulatorvariabel, och när din kod tittar på varje prov uppdaterar koden ackumulatorn med nytt värde Du väljer en konstant alfa som är mellan 0 och 1 och beräknar detta. Du behöver bara hitta ett värde av alfa där effekten av ett visst prov endast varar för cirka 1000 prov. Hmm, jag är inte säker på att det här är Lämplig för dig, nu t Hat jag har lagt den här Problemet är att 1000 är ett ganska långt fönster för ett exponentiellt rörligt medelvärde. Jag är inte säker på att det finns en alfa som skulle sprida genomsnittet över de senaste 1000 talen utan underflöde i flytpunktsberäkningen. Men om du ville ha ett mindre medelvärde, som 30 nummer eller så, det här är ett mycket enkelt och snabbt sätt att göra det. svarade den 12 juni 12 på 4 44. 1 på ditt inlägg Det exponentiella glidande medlet kan låta alfabetet vara variabelt Så det tillåter det Används för att beräkna tidsbasen medelvärden, t. ex. bytes per sekund Om tiden sedan den senaste ackumulatoruppdateringen är mer än 1 sekund, låter du alpha vara 1 0 Annars kan du låta alfa vara usecs sedan senaste uppdateringen 1000000 jxh jun 12 12 vid 6 21.Basiskt vill jag spåra det rörliga genomsnittet av en pågående ström av en ström med flytande punktnummer med de senaste 1000 siffrorna som ett dataprov. Notera att nedanstående uppdaterar summan som element som tillsatt ersatt, så att kostsamma ON-traverser beräknas Summan - behövs för th E genomsnitt - på begäran. Total görs en annan parameter från T för att stödja t ex med lång längd när det är 1000 lång s, en int för char s eller en dubbel till total float s. Detta är lite bristfälligt i att nummemplar kunde gå förbi INTMAX - om du bryr dig att du kan använda en unsigned long long eller använda en extra bool data medlem att spela in när behållaren fylls först medan cykel nummor runt arrayen bäst sedan bytt namn på något oskadd som pos. answered 12 juni 12 på 5 19.an antar att tomrumsoperatören T-provet är faktiskt tomt operatör T-prov oPlats den 8 juni 14 på 11 52. oPless ahhh väl spotted egentligen menade jag att det skulle vara tomt operatör T-prov men självklart kan du använda vilken anteckning du helst vill fixa, Tack Tony D Jun 8 14 på 14 27.Account Deactivated. Email Verification Required. Almost Done. Thank you for Registering. Create Nytt Password. Create New Password. Sign In för att slutföra konto Merge. Resend Verification Email. Verification Email Sent. Email Verified . Ändra Password. Pass word Changed. Create New Password. Create New Password. Kraften i flyttande-genomsnittliga digitala filter. Många gånger använder ADC-användare medelvärdesalgoritmer med deras controller eller processor på utgången av flera prover från omvandlaren. Du kan jämföra en konverterad signal med detta Teknik Figur 1, samt förbättra systemets effektiva upplösning genom att reducera systembrus. Du implementerar utjämningseffekten på dina konverterade data genom att förvärva flera signaler med en konstant samplingsfrekvens, medelvärde en förutbestämd grupp eller ett antal prover och fortsätter sedan Denna process med flera grupper över tiden Som visas i figur 1 ger aggregatet av de genomsnittliga resultaten en jämn signal. Denna medelvärdesmetod tillhandahåller i huvudsak ett lågpassfilter på omvandlarens utgångsdata. Du kan styra effektiviteten av din filtrering genom att välja lämpligt antal prov för de genomsnittliga grupperna Om du använder fler prover i varje grupp kommer du att se en högre grad av utjämning medelvärdesprocessen eliminerar spikar i de råa data samt minskar bandbredden för den slutliga signalen. En annan biprodukt av denna medelteknik är att omvandlingsupplösningen eller precisionen av data ökar. Idealiskt är ett medelvärde av fyra prover 4 1 av en likström Signalen ökar omvandlarens effektiva upplösning med en 6-dB ökning i SNR-signal-brusförhållandet. Ett genomsnitt på 16 prover 4 2 ökar din upplösning med två och din SNR med 12 dB. Teoretiskt sett är en gruppstorlek på 4 N kommer att öka antalet effektiva bitar från din konvertering av N men det finns verkliga begränsningar för denna teori. Det är möjligt att öka antalet effektiva bitar med din ADC, så länge du upprätthåller realistiska mål och överväger nonideal förhållanden Exempelvis behöver förbättring av ett 12-bitars omvandlat resultat till 16 bitar kräva 4 4 prover för medelvärde. Fyra till fjärde motsvarar 256 Den första frågan du borde fråga är, Har jag tid att implementera den nödvändiga algoritmen i Min styrenhet eller processor Om du försöker uppnå en högre upplösning än 16 ökar den önskade provstorleken väldigt snabbt. Förresten borde de lägre bitarna i 12-bitarsomvandlaren i denna diskussion vara bullrig så att medelvärdet är effektivt. Detta brus bör vara gaussian. Nonidea förhållanden som kan påverka storleken på din genomsnittliga grupp inkluderar drift av ingången över tid, strömförsörjningsvariationer, spänningsreferensförändringar och temperatureffekter på ditt system. Vilken som helst av dessa icke-ideala förutsättningar kan ändra utdatavärdet av din omvandling Proverstorleken för ett icke-idealt system kan ändras från 2000 med ett idealiskt driftlöst system till flera hundra prover. Om du ökar provstorleken över några hundra prover för detta nonideala system börjar resultaten bli mer bullriga igen. Du kan dock använda Allan-variansmetoder för att beräkna det optimala antalet medelvärden för din dataset Slutligen granska din insignal och se till att du inte försöker konvertera en analog s ignal som har ett avvikande tidsfel eller en interfererande periodisk signal, såsom nätfrekvensen. Det finns tidsbesparande sätt att implementera medelvärdesalgoritmer som går utöver den enkla, brute force-tekniken för att samla all data och sedan utföra en Medelvärde Exempelvis kan du implementera ett FIFO genom att lägga till en ny datapunkt och subtrahera den första datapunkten som ackumulerats i gruppen. Dessutom kan du välja storleken på grupperna för att möjliggöra användningen av en växling rätt för delningen av den totala, som gruppvärden på 4, 8, 16 och så vidare. Signalbehandling av digitala filter. Digitala filter är i huvudsak samplade system. Ingångs - och utsignalerna representeras av prover med samma tidsavstånd. Finit Impulse Response FIR-filter kännetecknas av en Tidsreaktion beroende endast på ett givet antal av de sista proverna på ingångssignalen I andra termer när insignalen har fallit till noll, kommer filterutmatningen att göra detsamma efter ett givet antal provtagningar period. Utgången yk ges av en linjär kombination av de sista inmatningsproverna xk i. Koefficienterna bi ger vikten för kombinationen De motsvarar också koefficienterna för täljaren för z-domänfiltrets överföringsfunktion. Följande bild visar Ett FIR-filter i ordning N 1.For linjära fasfilter är koefficientvärdena symmetriska runt mitten och fördröjningslinjen kan vikas tillbaka runt denna mittpunkt för att minska antalet multiplikationer. Överföringsfunktionen hos FIR-filter endast pocesses en täljare Detta motsvarar ett helt nollfilter. FIR-filter kräver vanligtvis höga order, i storleken av flera hundrahundar. Valet av denna typ av filter behöver därför mycket hårdvara eller CPU. Trots detta är en anledning att välja En FIR-filterimplementering är förmågan att uppnå ett linjärt fassvar, vilket kan vara ett krav i vissa fall Ändå har fiterdesignern möjlighet att välja IIR-filter med en bra faslinjäritet i passbandet, såsom Bessel-filter eller för att designa ett allpassfilter för att korrigera fasresponsen hos ett standard IIR-filter. Flyttande genomsnittliga filter MA Edit. Moving Average MA-modeller är processmodeller i form. MA-processerna är ett alternativ representation av FIR filters. Average Filters Edit. A filter som beräknar genomsnittet av de N sista proverna av en signal. Det är den enklaste formen av ett FIR-filter, med alla koefficienter lika. Överföringsfunktionen hos ett medelfilter anges av. Överföringsfunktionen hos ett genomsnittligt filter har N lika fördelade nollar längs frekvensaxeln. Noll vid DC maskeras emellertid av polens pol. Därför finns en större lob en DC som står för filterpassbandet. Kaskad integrerad-kam CIC-filter Edit. A Cascaded integrator-comb filter CIC är en speciell teknik för att implementera genomsnittliga filter placerade i serie. Serieplaceringen av de genomsnittliga filtren ökar den första loben vid DC jämfört med alla andra lobes. A. CIC-filter implementerar överföringsfunktionen hos N-medelfilter, var och en beräknar medelvärdet av RM-prover. Dess överföringsfunktion ges således. CIC-filter används för att decimera antalet prover av en signal med en faktor R eller, i andra termer, Att prova en signal vid en lägre frekvens, kasta bort R 1 prover ur R Faktorn M anger hur mycket av den första loben som används av signalen Antalet genomsnittliga filtersteg, N indikerar hur bra andra frekvensband dämpas vid bekostnaden av en mindre platt överföringsfunktion runt DC. CIC-strukturen tillåter att implementera hela systemet med endast adderare och register, utan att använda några multiplicatorer som är giriga när det gäller hårdvara. Därefter sampling med en faktor R möjliggör att öka signalresolutionen Med log 2 RR bits. Canonical filters Edit. Canonical filters implementerar en filteröverföringsfunktion med ett antal fördröjningselement lika med filterordningen, en multiplikator per täljare koefficient, en multiplikator per denom inator koefficient och en serie adders På samma sätt som kanoniska strukturer i aktiva filter visade sig denna typ av kretsar vara mycket känsliga för elementvärdena hade en liten förändring i koefficienter stor effekt på överföringsfunktionen. Även här har utformningen av aktiva filter skiftas från kanoniska filter till andra strukturer som kedjor av andra ordningssektioner eller hoppfiltre. Kärna av andra ordningens sektioner Edit. A second order-sektion som ofta kallas biquad implementerar en andra orderöverföringsfunktion. Överföringsfunktionen hos ett filter kan delas upp i en Produkt av överföringsfunktioner som är förknippade med ett par poler och eventuellt ett par nollor Om överföringsfunktionens order är udda måste en första orderavdelning läggas till kedjan Denna sektion är associerad med den riktiga polen och den verkliga polen Noll om det finns one. direct-form 1.direct-form 2.direct-form 1 transposed. direct-form 2 transposed. Direktform 2 införlivad av följande figur är särskilt intresse Ing när det gäller nödvändig hårdvara samt signal - och koefficientkvantisering. Digital Leapfrog-filter Edit. Filter Structure Edit. Digital hoppfiltrets baserar sig på simuleringen av analoga aktiva hoppfiltrar. Incitamentet för detta val är att ärva från de goda känslighetsegenskaperna hos passbandets känslighet den ursprungliga stegen kretsen. Följande 4: e ordningen allpolig lowpass-hoppfiltret filter. kan implementeras som en digital krets genom att ersätta de analoga integratorerna med ackumulatorer. Att omforma de analoga integratorerna med ackumulatorer motsvarar att förenkla Z-transformen till z 1 s T vilka är de två första termerna av Taylor-serien av zexps T Denna approximation är bra nog för filter där samplingsfrekvensen är mycket högre än signalbandbredden. Överföringsfunktion Rediger. Statusutrymmesrepresentationen av den föregående filmen kan skrivas som. From denna ekvationsuppsättning kan man skriva A, B, C, D matriserna som från denna representation, signalbehandlingsverktyg såsom okt Ave eller matlab tillåter att plotta filterets frekvensrespons eller undersöka dess nollor och poler. I det digitala hoppfiltret sätts koefficienternas relativa värden i form av överföringsfunktionen Butterworth Chebyshev, medan deras amplituder ställer in brytningsfrekvensen Dividing all koefficienter med en faktor två skiftar avkänningsfrekvensen nedåt med en oktav också en faktor två. Ett speciellt fall är Buterworth 3: e orderfiltret som har tidskonstanter med relativa värden på 1, 1 2 och 1 På grund av detta är detta filter kan implementeras i maskinvara utan någon multiplikator, men använder skift istället. Utanvändargränssnitt AR Edit. Autoregressive AR-modeller är processmodeller i formuläret. Var un är utgången från modellen, xn är ingången till modellen och un-m Är tidigare samplar av modellens utgångsvärde Dessa filter kallas autogegressiva eftersom utgångsvärdena beräknas baserat på regressioner av tidigare utgångsvärden AR-processer kan representeras av en allpolig filter. ARMA-filter Edit. Autoregressive Moving-Average ARMA-filter är kombinationer av AR - och MA-filter. Filterets utmatning ges som en linjär kombination av både den viktade ingången och viktade utgångsproverna. ARMA-processer kan betraktas som ett digitalt IIR-filter , med både poler och nollor. AR-filter är föredragna i många fall eftersom de kan analyseras med användning av Yule-Walker-ekvationerna MA och ARMA-processer kan å andra sidan analyseras med komplicerade, olinjära ekvationer som är svåra att studera och modellera. Om vi har en AR-process med tryckviktskoefficienter aa vektor av an, an - 1 en ingång av xn och en utgång från yn kan vi använda yule-walker-ekvationerna Vi säger att x 2 är variansen av ingångssignalen vi behandlar Ingångsdata-signalen som en slumpmässig signal, även om det är en deterministisk signal, eftersom vi inte vet vad värdet kommer att vara tills vi tar emot det. Vi kan uttrycka Yule-Walker-ekvationerna som. Var R är korskorrelationsmatrisen av Förfarandet Ss output. And r är autokorrelationsmatrisen i processutgången. Varians Edit. We kan visa att. Vi kan uttrycka ingångssignalvarian som. Or, expanderar och ersätter för r 0 kan vi relatera processvariansvariationen till processen till inmatningsvariationen.
No comments:
Post a Comment