RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是滑動(dòng)均值濾波?matlab如何實(shí)現(xiàn)滑動(dòng)平均濾波?詳細(xì)分析

0BFC_eet_china ? 來(lái)源:未知 ? 作者:易水寒 ? 2018-07-15 09:18 ? 次閱讀

什么是滑動(dòng)均值濾波

滑動(dòng)平均濾波就是把連續(xù)取得的N個(gè)采樣值看成一個(gè)隊(duì)列,隊(duì)列的長(zhǎng)度固定為N,每次采樣得到一個(gè)新數(shù)據(jù)放到隊(duì)尾,并丟掉原來(lái)隊(duì)首的一次數(shù)據(jù),把隊(duì)列中的N個(gè)數(shù)據(jù)進(jìn)行平均運(yùn)算,就可以獲得新的濾波結(jié)果。

具體的matlab代碼

clear

clc

load boxinfo.mat %載入音頻數(shù)據(jù)

T = data;

figure(1)

plot(T,'-*')

title('原始數(shù)據(jù)')

hold on;

%%

%滑動(dòng)平滑濾波

L = length(T);

N=10; % 窗口大下

k = 0;

m =0 ;

for i = 1:L

m = m+1;

if i+N-1 > L

break

else

for j = i:N+i-1

k = k+1;

W(k) = T(j) ;

end

T1(m) = mean(W);

k = 0;

end

end

plot(T1,'r-o')

grid

legend('原始數(shù)據(jù)','濾波之后')

濾波前后對(duì)比圖

什么是滑動(dòng)均值濾波?matlab如何實(shí)現(xiàn)滑動(dòng)平均濾波?詳細(xì)分析

簡(jiǎn)單分析一下

經(jīng)過(guò)滑動(dòng)濾波之后,波形整體變得平滑,這里我們重點(diǎn)關(guān)注一下x軸附近的點(diǎn),可以發(fā)現(xiàn),在波形與x軸交叉的地方,波形都平穩(wěn)過(guò)度,這極大方便的我們后期進(jìn)行統(tǒng)計(jì)。

窗口大小選擇

從代碼中我們可以發(fā)現(xiàn)窗口大小我們選擇的是10,如何選擇窗口大小,這里我們需要進(jìn)行一些簡(jiǎn)單的分析和測(cè)試。如果x軸附近的噪點(diǎn)數(shù)量(一上一下)比較多,那么窗口大小就應(yīng)該大一些,反之,小一些。但是過(guò)大又會(huì)出現(xiàn)過(guò)擬合的現(xiàn)象,所以可以多取幾個(gè)值,然后對(duì)比一下,選擇一個(gè)最好的即可。

不同的窗口大小對(duì)比圖

什么是滑動(dòng)均值濾波?matlab如何實(shí)現(xiàn)滑動(dòng)平均濾波?詳細(xì)分析

簡(jiǎn)單分析一下

從圖中我們可以很明顯的看出,當(dāng)N=4的時(shí)候,濾波效果還不是很好,在x軸附近依然有噪點(diǎn)(一上一下),當(dāng)N=7的時(shí)候,已經(jīng)基本滿足我們的要求,圖形已經(jīng)可以很平穩(wěn)的過(guò)度了,但是從右邊的標(biāo)記處可以看出還是不是很平穩(wěn),所以可以繼續(xù)提高N值,當(dāng)N=10的時(shí)候,波形就完全能夠達(dá)到我們的要求,所以取10即可。

滑動(dòng)平均(movingaverage):在地球物理異常圖上,選定某一尺寸的窗口,將窗口內(nèi)的所有異常值做算術(shù)平均,將平均值作為窗口中心點(diǎn)的異常值。按點(diǎn)距或線距移動(dòng)窗口,重復(fù)此平均方法,直到對(duì)整幅圖完成上述過(guò)程,這種過(guò)程稱為滑動(dòng)平均。

滑動(dòng)平均相當(dāng)于低通濾波,在重力勘探和測(cè)井資料處理解釋中常用此方法。如果滑動(dòng)窗長(zhǎng)為n的話,滑動(dòng)平均就是讓數(shù)據(jù)通過(guò)一個(gè)n點(diǎn)的FIR濾波器,濾波器抽頭系數(shù)都是1,這樣取滑動(dòng)平均就是起到序列平滑的作用。

利用filter函數(shù)求滑動(dòng)平均

Matlab有多種計(jì)算滑動(dòng)平均的方法,現(xiàn)介紹基于filter函數(shù)的計(jì)算方法。設(shè)原始數(shù)據(jù)為x,平均窗口設(shè)為a(a為正整數(shù)),那么無(wú)權(quán)重滑動(dòng)平均后的數(shù)據(jù)y為:windowSize =a;y=filter(ones(1,windowSize)/windowSize,1,x);上述命令實(shí)際上計(jì)算的是:y(1)=(1/a)*x(1);y(2)=(1/a)*x(2)+(1/a)*x(1);... ...y(a)=(1/a)*x(a)+(1/a)*x(a-1)+...+(1/a)*x(1);... ...y(i)=(1/a)*x(i)+(1/a)*x(i-1)+...+(1/a)*x(i-a+1);... ....可以看出,計(jì)算某一位置處的平均值時(shí),窗口的前端位于該處。有時(shí)為了將窗口中部放在所計(jì)算的位置處,這樣上述計(jì)算方式則變?yōu)椋閿⑹龇奖闫鹨?jiàn),設(shè)a為奇數(shù)):y(1)=(1/a)*x(1)+(1/a)*x(2)+...+(1/a)*x((a+1)/2);y(2)=(1/a)*x(1)+(1/a)*x(2)+...+(1/a)*x((a+1)/2+1);... ...y((a+1)/2)=(1/a)*x(1)+(1/a)*x(2)+...+(1/a)*x((a+1)/2)+...+(1/a)*x(a);... ...y(i)=(1/a)*x(i-(a-1)/2)+(1/a)*x(i-(a-1)/2+1)+...+(1/a)*x(i)+...+(1/a)*x(i+(a-1)/2);... ...這種方式的滑動(dòng)平均稱為中心滑動(dòng)平均,其Matlab的計(jì)算語(yǔ)句為:windowSize =a;y1=filter(ones(1,a/2+1)/windowSize,1,x);y2=filter(ones(1,a/2+1)/windowSize,1,fliplr(x));y=y1+fliplr(y2)-(1/a)*x;如利用1-2-1 濾波器計(jì)算有權(quán)重的中心滑動(dòng)平均,其Matlab語(yǔ)句為:y1=filter([0.50.25],1,x);y2=filter([0.5 0.25],1,fliplr(x));y=y1+fliplr(y2)-0.5*x;

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • matlab
    +關(guān)注

    關(guān)注

    185

    文章

    2974

    瀏覽量

    230382
  • 濾波
    +關(guān)注

    關(guān)注

    10

    文章

    667

    瀏覽量

    56633
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7002

    瀏覽量

    88941

原文標(biāo)題:matlab實(shí)現(xiàn)滑動(dòng)平均濾波

文章出處:【微信號(hào):eet-china,微信公眾號(hào):電子工程專(zhuān)輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的多級(jí)CIC濾波器原理

    實(shí)現(xiàn)多級(jí)CIC濾波器前我們先來(lái)了解滑動(dòng)平均濾波器、微分器、積分器以及梳狀濾波器原理。CIC
    的頭像 發(fā)表于 12-03 11:55 ?5836次閱讀
    基于FPGA的多級(jí)CIC<b class='flag-5'>濾波</b>器原理

    rtt4.1.1做滑動(dòng)平均值濾波的時(shí)候,被意外賦值,為什么?

    1. 問(wèn)題描述 我使用rtt4.1.1版本,其中adc采樣直接采用cubemx生成的庫(kù)函數(shù),用DMA讀取方式讀取AD的值。并在DMA中斷內(nèi)回調(diào)AD值計(jì)算函數(shù)。 結(jié)果在做滑動(dòng)平均值濾波的時(shí)候出現(xiàn)了
    發(fā)表于 09-13 06:33

    FPGA實(shí)現(xiàn)滑動(dòng)平均濾波算法和LZW壓縮算法

    采集數(shù)據(jù)中的量化噪聲,在進(jìn)行數(shù)據(jù)壓縮前采用濾波的預(yù)處理技術(shù)。介紹LZW算法和滑動(dòng)濾波算法的基本理論,詳細(xì)闡述用單片F(xiàn)PGA實(shí)現(xiàn)兩種算法的方法
    發(fā)表于 04-24 09:05

    平均值濾波

    平均值濾波
    發(fā)表于 07-18 16:37

    如何利用labview對(duì)CSV文件里的數(shù)據(jù)進(jìn)行一階滯后濾波滑動(dòng)

    如何利用labview對(duì)CSV文件里的數(shù)據(jù)進(jìn)行一階滯后濾波滑動(dòng)平均濾波?會(huì)做的大神幫我講解一下哈,謝謝!!
    發(fā)表于 03-01 20:41

    uboot代碼詳細(xì)分析

    [url=]uboot代碼詳細(xì)分析[/url]
    發(fā)表于 01-29 13:51

    用LabVIEW設(shè)計(jì)簡(jiǎn)易逐點(diǎn)式滑動(dòng)平均濾波

    每n個(gè)點(diǎn)的和2.創(chuàng)建輸入控件,對(duì)采樣長(zhǎng)度設(shè)定,輸出端除以采樣長(zhǎng)度就得到滑動(dòng)平均值了。注意采樣長(zhǎng)度是整型,到除數(shù)段應(yīng)轉(zhuǎn)化為浮點(diǎn)數(shù)以避免精度損失。3.封裝成子VI,就可以調(diào)用啦。是不是很簡(jiǎn)單?
    發(fā)表于 11-30 12:28

    詳細(xì)分析stm32f10x.h

    每日開(kāi)講---學(xué)習(xí)STM32不得不看的剖析(詳細(xì)分析stm32f10x.h)摘要: 學(xué)習(xí)STM32不得不看的剖析(詳細(xì)分析stm32f10x.h)。/**這里是STM32比較重要的頭文件*******************************************
    發(fā)表于 08-05 07:44

    一種基于改進(jìn)的滑動(dòng)平均濾波器的DDoS 攻擊檢測(cè)方法

    本文通過(guò)對(duì)網(wǎng)絡(luò)流量統(tǒng)計(jì)的分析,提出了一種基于滑動(dòng)平均濾波器的DDoS 攻擊檢測(cè)方法。該方法不同于以往單一根據(jù)網(wǎng)絡(luò)流量的突變或根據(jù)攻擊對(duì)流量分布的影響來(lái)
    發(fā)表于 06-17 09:41 ?35次下載

    一種基于改進(jìn)的滑動(dòng)平均濾波器的DDoS攻擊檢測(cè)方法

    本文通過(guò)對(duì)網(wǎng)絡(luò)流量統(tǒng)計(jì)的分析,提出了一種基于滑動(dòng)平均濾波器的DDoS 攻擊檢測(cè)方法。該方法不同于以往單一根據(jù)網(wǎng)絡(luò)流量的突變或根據(jù)攻擊對(duì)流量分布的影響來(lái)
    發(fā)表于 06-17 09:44 ?5次下載

    滑動(dòng)濾波器型譜分析器在極窄帶濾波中的應(yīng)用

    【摘 要】滑動(dòng)濾波器型譜分析器是通過(guò)短時(shí)傅立葉變換來(lái)進(jìn)行實(shí)時(shí)譜分析的,本文詳細(xì)分析了其用作濾波
    發(fā)表于 05-22 20:46 ?1198次閱讀
    <b class='flag-5'>滑動(dòng)</b><b class='flag-5'>濾波</b>器型譜<b class='flag-5'>分析</b>器在極窄帶<b class='flag-5'>濾波</b>中的應(yīng)用

    采用MATLAB對(duì)SPWM進(jìn)行輔助設(shè)計(jì)與詳細(xì)分析和解決方法

    采用MATLAB對(duì)SPWM進(jìn)行輔助設(shè)計(jì)與詳細(xì)分析和解決方法
    發(fā)表于 09-14 14:22 ?18次下載
    采用<b class='flag-5'>MATLAB</b>對(duì)SPWM進(jìn)行輔助設(shè)計(jì)與<b class='flag-5'>詳細(xì)分析</b>和解決方法

    均值濾波均值濾波算法程序

    均值濾波是典型的線性濾波算法,它是指在圖像上對(duì)目標(biāo)像素給一個(gè)模板,該模板包括了其周?chē)呐R近像素(以目標(biāo)像素為中心的周?chē)鷤€(gè)像素,構(gòu)成一個(gè)濾波模板,即去掉目標(biāo)像素本身),再用模板中的全體像
    發(fā)表于 12-19 15:35 ?6734次閱讀

    通過(guò)滑動(dòng)平均濾波器解決數(shù)控系統(tǒng)加減速控制的跳變問(wèn)題

    本文通過(guò)在直線加減規(guī)劃之后,通過(guò)滑動(dòng)平均濾波器來(lái)解決加速度的跳變問(wèn)題,在不改變?cè)谐绦蚪Y(jié)構(gòu)的情況下,實(shí)現(xiàn)了和S形曲線等效的加減速效果。
    的頭像 發(fā)表于 04-29 08:30 ?4748次閱讀
    通過(guò)<b class='flag-5'>滑動(dòng)</b><b class='flag-5'>平均</b><b class='flag-5'>濾波</b>器解決數(shù)控系統(tǒng)加減速控制的跳變問(wèn)題

    模擬量平均值濾波是什么

    的模擬量輸入模塊一般都有平均濾波的功能,例如,S7-200編程軟件的系統(tǒng)塊中模擬量輸入濾波器的“樣本數(shù)日”就是用來(lái)設(shè)置平均值濾波的采樣周期的
    發(fā)表于 12-22 11:34 ?1875次閱讀
    RM新时代网站-首页