Jag behöver beräkna ett glidande medelvärde över en dataserie, inom en kretslopp måste jag få det glidande medeltalet över N 9 dagar. Den matris jag använder i är 4 serier av 365 värden M, som i sig är medelvärden för en annan uppsättning Data Jag vill räkna ut medelvärdena för mina data med det rörliga genomsnittet i en plot. Jag googlade lite om glidande medelvärden och conv-kommandot och hittade något som jag försökte implementera i min kod. Så i princip beräknar jag mitt medelvärde och diagram Det med ett fel glidande medelvärde jag valde wts-värdet direkt utanför mathworks-webbplatsen, så det är felaktig källa Mitt problem är dock att jag inte förstår vad det här är. Kan någon förklara om det har något att göra med vikten av Värden som är ogiltiga i det här fallet Alla värden är viktade samma. Och om jag gör det här helt fel, kan jag få lite hjälp med det. Min uppriktiga tack. Skal den 23 september kl 14 på 19 05. Att använda conv är ett utmärkt sätt att Implementera ett glidande medelvärde I koden du använder är wts hur mycket y Ou väger varje värde som du gissade summan av den vektorn ska alltid vara lika med en Om du vill vikta varje värde jämnt och göra ett rörligt N-filter, så skulle du vilja göra. Användning av det giltiga argumentet i samtal kommer att resultera i Ha färre värden i Ms än du har i M Använd samma om du inte tänker på effekterna av noll padding Om du har signalbehandlingsverktygslådan kan du använda cconv om du vill försöka ett cirkulärt glidande medelvärde. Något liknande. Du borde läsa conv Och cconv dokumentation för mer information om du redan har t. You kan använda filter för att hitta ett löpande medelvärde utan att använda en för loop Det här exemplet hittar det löpande genomsnittet av en 16-element vektor, med en fönsterstorlek på 5,2 slät som en del av Kurvpassningsverktygslådan som är tillgänglig i de flesta fall. yy släpper och släpper upp data i kolumnvektorn y med hjälp av ett glidande medelfilter. Resultat returneras i kolumnvektorn yy Standardvärdet för det glidande medlet är 5 som anger ett löpande medelvärde av en enkel 1 - D Datavektorn verkar enkelt nog Faktum är att MATLAB-dokumentationen för FILTER häftigt hävdar något som. Du kan använda filter för att hitta ett löpande medelvärde utan att använda en för-loop. Detta exempel visar löpande medelvärde för en 16-elements vektor med en fönsterstorlek på 3.Image av rå och filtrerad dataplot från ovanstående exempel. För mina ändamål finns det två irriterande saker om detta resultat utgångspunkt n är medelvärdet av ingångspunkterna n-windowSize-1 nie-centrerad, vilket framgår av det horisontella skiftet och punkterna Till vänster om tillgängliga data behandlas som nuller. FILTFILT behandlar båda problemen, men har andra nackdelar Det är en del av Signal Processing Toolbox, och det klarar inte bra med NaNs som jag tycker uteslutet från medelvärdet. Vissa människor På FEX hade uppenbarligen samma frustrationer, men det verkar konstigt att det här är något som helt enkelt kräver anpassad kod. Allt jag saknar här. Skakad 10 augusti 10 på 21 39. Hmm är det till och med ett sätt att göra vaddering och få medelvärdet Is Verkar som om Säg att 3 fack faller utanför kanten jämfört med 1, skulle du behöva padda med olika värden för att få rätt medel för den första facket. Specifikt måste du kasta med medeltalet av de giltiga facken, vilket beror på punkten Under övervägande Så jag är inte säker på att det här även är möjligt med padding Matt Mizumi 11 aug 10 vid 4 06.Frekvensrespons för löpande medelfilter. Frekvensresponsen hos ett LTI-system är DTFS av impulsresponsen. Impulsresponsen hos en L-provrörande medelvärdet är. Eftersom det rörliga genomsnittliga filtret är FIR, minskar frekvensresponsen till den ändliga summan. Vi kan använda den mycket användbara identiteten. för att skriva frekvensresponsen som. som vi har låt aej N 0 och ML 1 Vi kan vara intresserade av storleken på den här funktionen för att bestämma vilka frekvenser som kommer igenom filtret obetydligt och vilka dämpas. Nedan är en plot av storleken på denna funktion för L 4 röd, 8 grön och 16 blå. Den horisontella axeln varierar Från zer O till radianer per prov. Notera att frekvensresponsen i alla tre fall har en lowpass-karakteristik. En konstant komponent nollfrekvens i inmatningspasset genom filtret obetydligt Vissa högre frekvenser, såsom 2, elimineras helt av filtret Men om Avsikten var att designa ett lågpassfilter, då har vi inte gjort det bra. Några av de högre frekvenserna dämpas endast med en faktor på cirka 1 10 för 16-punktets glidande medelvärde eller 1 3 för det fyrapunkts glidande medlet Vi kan göra mycket Bättre än det. Ovanstående diagram skapades av följande Matlab code. omega 0 pi 400 pi H4 1 4 1-exp - i omega 4 1-exp - i omega H8 1 8 1-exp - i omega 8 1-exp - I omega H16 1 16 1-exp - i omega 16 1-exp - i omega tomt omega, abs H4 abs H8 abs H16 axel 0, pi, 0, 1.Copyright 2000- - University of California, Berkeley.
No comments:
Post a Comment