Utjevning Bevegelse Gjennomsnittet Matlab
Hva er utjevning og hvordan kan jeg gjøre det? Jeg har en matrise i Matlab som er størrelsesspektret til et tale signal (størrelsen på 128 poeng på FFT). Hvordan glatter jeg dette ved hjelp av et glidende gjennomsnitt Fra hva jeg forstår, bør jeg ta en vindusstørrelse på et visst antall elementer, ta gjennomsnitt, og dette blir det nye første elementet. Skift deretter vinduet til høyre ved ett element, ta gjennomsnitt som blir det andre elementet, og så videre. Er det virkelig hvordan det fungerer, jeg er ikke sikker på meg selv, siden hvis jeg gjør det, vil jeg i min endelige resultat ha mindre enn 128 elementer. Så hvordan virker det og hvordan hjelper det å glatte datapunktene, eller er det noe annet jeg kan gjøre utjevning av dataene som ble spurt 15. oktober klokken 6:30 migrert fra stackoverflow 15 okt 12 kl 14:51 Dette spørsmålet kom fra vår sted for profesjonelle og entusiast programmerere. for et spektrum vil du sannsynligvis gjennomsnittlig sammen (i tidsdimensjonen) flere spektre i stedet for et løpende gjennomsnitt langs frekvensaksen til et enkeltspektrum ndash endolitt 16. okt. 12 kl. 01:04 endolitt begge er gyldige teknikker. Gjennomsnitt i frekvensdomenet (noen ganger kalt et Danielle Periodogram) er det samme som vinduet i tidsdomene. Gjennomsnittlig antall periodogrammer (quotspectraquot) er et forsøk på å etterligne ensemble-middelverdi som kreves av det sanne periodogrammet (dette kalles Welch Periodogram). Også, som et spørsmål om semantikk, ville jeg hevde at quotsmoothingquot er ikke-kausal lavpassfiltrering. Se Kalman filtrering mot Kalman utjevning, Wiener filtrering v Wiener utjevning, osv. Det er en nontrivial forskjell og det er implementering avhengig. ndash Bryan Dec 12 12 at 19:18 Utjevning kan gjøres på mange måter, men i svært grunnleggende og generelle termer betyr det at du til og med ut et signal ved å blande elementene med naboene. Du smør signalet litt for å kvitte seg med støy. For eksempel vil en veldig enkel utjevningsteknikk være å beregne hvert signalelement f (t) til som 0,8 av den opprinnelige verdien, pluss 0,1 av hver av sine naboer: Legg merke til hvordan multiplikasjonsfaktorene, eller vektene, legger til en. Så hvis signalet er ganske konstant, endrer utjevning ikke mye. Men hvis signalet inneholdt en plutselig rykkende endring, vil bidraget fra naboene bidra til å fjerne den støyen litt. Vektene du bruker i denne omberegningsfunksjonen kan kalles en kjerne. En en-dimensjonal Gauss-funksjon eller en annen grunnkjerne bør gjøre i ditt tilfelle. Fint eksempel på en bestemt form for utjevning: Over: ujevnt signal Under: Glatt signal Eksempler på noen kjerne: I tillegg til det fine svaret på Junuxx vil jeg gjerne slippe noen notater. Utjevning er relatert til filtrering (dessverre ganske vag Wikipedia artikkel) - du bør velge den jevnere basert på egenskapene. En av mine favoritter er medianfilteret. Dette er et eksempel på et ikke-lineært filter. Den har noen interessante egenskaper, det bevarer kanter og er ganske robust under stor støy. Hvis du har en modell hvordan signalet ditt oppfører seg, er et Kalman-filter verdt å se. Dens utjevning er faktisk en Bayesian maksimal sannsynlighet estimering av signalet basert på observasjoner. besvart 15. okt 12 kl. 11:07 1 for å nevne kalman-filteret ndash Diego Des 13 12 kl 18:48 Utjevning innebærer bruk av informasjon fra nabobilder for å endre forholdet mellom naboprøver. For endelige vektorer, i enden er det ingen nærliggende informasjon til den ene siden. Dine valg er: Ikke glattfilter endene, aksepter en kortere resulterende glatt vektor, sminke data og glatt med det (avhenger av accuracyusefulness av eventuelle spådommer fra endene), eller kanskje bruke forskjellige asymmetriske utjevningskjerner i enden (som ender opp forkorte informasjonsinnholdet i signalet uansett). besvart 15. okt 12 kl 19:44 Andre har nevnt hvordan du gjør utjevning, jeg vil gjerne nevne hvorfor utjevning fungerer. Hvis du overskrider signalet ditt riktig, vil det variere relativt lite fra en prøve til den neste (prøve tidspunkter, piksler, osv.), Og det forventes å ha et generelt, jevnt utseende. Med andre ord inneholder signalet ditt få høye frekvenser, dvs. signalkomponenter som varierer i takt med samplingsfrekvensen din. Likevel blir målingene ofte ødelagt av støy. I en første tilnærming vurderer vi vanligvis støyen til å følge en Gauss-distribusjon med gjennomsnittlig null og en viss standardavvik som bare legges på toppen av signalet. For å redusere støy i signalet vårt, gjør vi vanligvis følgende fire antagelser: Støy er tilfeldig, er ikke korrelert blant prøvene, har et middel på null, og signalet er tilstrekkelig oversamplet. Med disse antagelsene kan vi bruke et glidende gjennomsnittsfilter. Tenk for eksempel tre påfølgende eksempler. Siden signalet er svært oversamplet, kan det underliggende signalet regnes for å endres lineært, noe som betyr at gjennomsnittet av signalet over de tre prøvene vil være lik det sanne signalet ved midtprøven. I motsetning, har støyen null null og er ukorrelert, noe som betyr at gjennomsnittet skal ha en tendens til null. Dermed kan vi bruke et treprøve glidende gjennomsnittsfilter, hvor vi erstatter hver prøve med gjennomsnittet mellom seg selv og de to tilstøtende naboene. Selvfølgelig, jo større vi lager vinduet, desto mer vil støyen gjennomsnittlig ut til null, men jo mindre antar vi at lineæriteten til det sanne signalet holder. Dermed må vi gjøre avslag. Én måte å forsøke på å få det beste fra begge verdener er å bruke et veid gjennomsnitt, hvor vi gir lengre vekk prøver mindre vekt, slik at vi gjennomsnittlige støyeffekter fra større områder, mens vi ikke veier sant signal for mye hvor det avviker fra vår linearitet antagelse. Hvordan du skal legge vektene avhenger av støy, signal og beregningsgrad, og selvfølgelig avstanden mellom å bli kvitt støyen og kutte inn i signalet. Legg merke til at det har vært mye arbeid gjort de siste årene for å tillate oss å slappe av noen av de fire forutsetningene, for eksempel ved å designe utjevningsordninger med variabel filtervinduer (anisotropisk diffusjon), eller ordninger som egentlig ikke bruker windows i det hele tatt (ikke-lokalt middel). besvart des 27 12 kl 15: 10 informasjonen, koden og dataene på denne siden er for å støtte et artikkel sitat The Black Art of Smoothing sitat publisert i Electrical amp Automation Technology. av David I. Wilson. Koden som presenteres på denne siden, inneholder algoritmer for: Flytende gjennomsnittsfiltreringsforsterker Savitzky-Golay-filtre Loess (lokalvektet regresjon) filtrering Whittaker-kjernen smoothers Hodrick-Prescott-filtre i utviklingsmiljøene Matlab og Scicos. I begge tilfeller er det ikke nødvendig med spesielle verktøykasser. Matlab er et kommersielt produkt, men Scilab er en freeware-ekvivalent. Merk: Koden her er presentert kvoter isquot uten garanti uttrykt eller underforstått. Hvis du er interessert i å prøve ut disse utjevningsoperasjonene på dine egne data, gjør du følgende: Hvis du har Matlab (et kommersielt produkt), laster du ned og pakker ut Matlab-utjevningsfilene. Kjør smootherdemo. m skriptfilen. Du bør se tomter noe som dette, som ligner tallene i den publiserte artikkelen. Hvis du vil bruke dine egne data, plasser du (tid, data) parene i et Excel-regneark, og rediger smootherdemo-filen for å lese ditt eget Excel-spreadsheet. Du må redigere skriptfilen, og muligens justere de ulike utjevningsparametrene. Alternativt, hvis du helst vil bruke freeware Scilab, så: Last ned og installer Scilab (ca. 13 MB). Du har muligheten til Windows, Linux eller Mac. Last ned Scilab-glattere filer og pakk ut i noen praktisk katalog. Utfør filen smootherdemo. sci. Matlab er et kommersielt vitenskapelig programvare og prototypemiljø som er populært blant mange ingeniører. Matlab selges i New Zealand av Hoare Research Software. Last ned og pakke ut Matlab-utjevningsfilene i arbeidskatalogen din, og kjør smootherdemo. m Matlab-skriptfilen. Scilab er en gratis vitenskapelig programvarepakke som ligner på, men ikke akkurat kompatibel med, Matlab. Scilab er tilgjengelig for Linux, Windows og Mac, og er tilgjengelig for nedlasting herfra. (Ca 13Mb). Det er for tiden utviklet av forskere fra INRIA og ENPC i Frankrike, og som Matlab, inneholder mange verktøykasser og en grafisk blokkdiagramsimulator som ligner på Simulink kalt Scicos. Følgende datafiler ble brukt i artikkelen. De er gitt i Excel-format og rett ascii-tekst med en en rad header. Remove støy og periodiske komponenter fra datasett mens du beholder underliggende mønstre. Utjevningsalgoritmer brukes ofte til å fjerne periodiske komponenter fra et datasett samtidig som langsiktige trender opprettholdes. For eksempel viser tidsseriedata som samples en gang i måneden ofte sesongmessige svingninger. Et tolvmåneders glidende gjennomsnittlig filter fjerner sesongkomponenten samtidig som den langsiktige trenden opprettholdes. Alternativt kan utjevningsalgoritmer brukes til å generere en beskrivende modell for utforskende dataanalyse. Denne teknikken brukes ofte når det er upraktisk å spesifisere en parametermodell som beskriver forholdet mellom et sett med variabler. Signal - eller tidsserieutjevningsteknikker brukes i en rekke fagområder, inkludert signalbehandling, systemidentifikasjon, statistikk og økonometri. Felles utjevningsalgoritmer inkluderer: LOWESS og LOESS: Nonparametriske utjevningsmetoder ved hjelp av lokale regresjonsmodeller Kjernelettelse: Ikkeparametrisk tilnærming til å modellere en jevn distribusjonsfunksjon Utjevning av splines: Ikkeparametrisk tilnærming til kurvefitting Autoregressivt glidende gjennomsnittlig (ARMA) filter: Filter brukt når data utviser seriell autokorrelasjon Hodrick-Prescott filter: Filter som brukes til å glatte økonometriske tidsserier ved å trekke ut sesongkomponenter SavitzkyGolay utjevningsfilter: Filter som brukes når et signal har høyfrekvent informasjon som skal beholdes Butterworth filter: Filter som brukes i signalbehandling for å fjerne høyfrekvent støy Velg ditt land informasjon, kode og data på denne siden er for å støtte en artikkel sitat The Black Art of Smoothing sitat publisert i Electrical amp Automation Technology. av David I. Wilson. Koden som presenteres på denne siden, inneholder algoritmer for: Flytende gjennomsnittsfiltreringsforsterker Savitzky-Golay-filtre Loess (lokalvektet regresjon) filtrering Whittaker-kjernen smoothers Hodrick-Prescott-filtre i utviklingsmiljøene Matlab og Scicos. I begge tilfeller er det ikke nødvendig med spesielle verktøykasser. Matlab er et kommersielt produkt, men Scilab er en freeware-ekvivalent. Merk: Koden her er presentert kvoter isquot uten garanti uttrykt eller underforstått. Hvis du er interessert i å prøve ut disse utjevningsoperasjonene på dine egne data, gjør du følgende: Hvis du har Matlab (et kommersielt produkt), laster du ned og pakker ut Matlab-utjevningsfilene. Kjør smootherdemo. m skriptfilen. Du bør se tomter noe som dette, som ligner tallene i den publiserte artikkelen. Hvis du vil bruke dine egne data, plasser du (tid, data) parene i et Excel-regneark, og rediger smootherdemo-filen for å lese ditt eget Excel-spreadsheet. Du må redigere skriptfilen, og muligens justere de ulike utjevningsparametrene. Alternativt, hvis du helst vil bruke freeware Scilab, så: Last ned og installer Scilab (ca. 13 MB). Du har muligheten til Windows, Linux eller Mac. Last ned Scilab-glattere filer og pakk ut i noen praktisk katalog. Utfør filen smootherdemo. sci. Matlab er et kommersielt vitenskapelig programvare og prototypemiljø som er populært blant mange ingeniører. Matlab selges i New Zealand av Hoare Research Software. Last ned og pakke ut Matlab-utjevningsfilene i arbeidskatalogen din, og kjør smootherdemo. m Matlab-skriptfilen. Scilab er en gratis vitenskapelig programvarepakke som ligner på, men ikke akkurat kompatibel med, Matlab. Scilab er tilgjengelig for Linux, Windows og Mac, og er tilgjengelig for nedlasting herfra. (Ca 13Mb). Det er for tiden utviklet av forskere fra INRIA og ENPC i Frankrike, og som Matlab, inneholder mange verktøykasser og en grafisk blokkdiagramsimulator som ligner på Simulink kalt Scicos. Følgende datafiler ble brukt i artikkelen. De er gitt i Excel-format og rett ascii-tekst med en rad i en rad.
Comments
Post a Comment