導航:首頁 > 源碼編譯 > 限幅濾波演算法c

限幅濾波演算法c

發布時間:2023-03-26 23:14:39

⑴ 數字濾波常用方法有幾種,維納、卡爾曼、自適應濾波是非線性濾波方法,線性的有FIR和IIR濾波結構嗎

現在濾波方法主要該算是維納和卡爾曼,自適應濾波中LMS其實就是變系數的維納濾波,維納濾波本身也是線性濾波,FIR和IIR是傳統的頻率域的濾波方式,和維納卡爾曼這種現代濾波出發點不是一回事兒

⑵ 中學生計算機三級考試內容

計算機三級考試(A)筆試試題
一. 選擇題:((1))~(40)題每題1分,(41)~(55)題每題2分,共70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。

(1)下面關於微處理器的敘述中,不正確的是:
A)微處理器通常以單片集成電路製成
B)它至少具有運算和控制功能,但不具備存儲功能彎中搏
C)Pentium是目前PC機中使用最廣泛的一種微處理器
D)Intel公司是國際上研製、生產微處理器最有名的公司

(2)下面關於PC機CPU的敘述中,不正確的是:
A)為了暫存中間結果,CPU中包含幾十個甚至上百個寄存器,用來臨時存放數據
B)CPU是PC機中不可缺少的組成部分,它擔負著運行系統軟體和應用軟體的任務
C)所有PC機的CPU都具有相同的機器指令
D)CPU至少包含1個處理器,為了提高計算速度,CPU也可以由2個、4個、8個甚至更多個處理器組成

(3)微型計算機主存儲器的基本編址單元的長度為:
A)32位 B)l位 C)8位 D)16位

(4)長度相同但格式不同的培散2種浮點數,假設前者階碼長、尾數短,後者階碼短、尾數長,其它規定均相同,則它們可表示的數的范圍和精度為:
A)兩者可表示的數的范圍和精度相同
B)前者可表示的數的范圍大但精度低
C)後者可表示的數的范圍大且精度高
D)前者可表示的數的范圍大且精度高

(5)所謂「變號操作」是指將一個整數變成絕對值相同但符號相反的另一個整數。假設使用補碼表示的8位整數X=10010101,則經過變號操作後結果為:
A)01101010 B)00010101
C)11101010 D)01101011

(6)漢字的區位碼、國標碼和機內碼(又稱內碼)是3個不同的概念,假設某個漢字的區號是30(十進制)、位號是63(十進制),則在PC機中它的內碼(十六進制)是:
A)BEDF B)3E5F
C)9EBF D)BOE3

(7)下面關於計算機圖形和圖像的敘述中,正確的是:
A)圖形比圖像更適合表現類似子照片和繪畫之類的有真實感的畫面
B)一般說來圖像比圖形的數據量要少一些
C)圖形比圖像更容易編輯、修改
D)圖像比圖形更有用

(8)分時操作系統的主要特點是:
A)個人獨占計算機資源 B)自動控製作業運行
C)高可靠性和安全性 D)多個用戶共享計算機資源

(9)下面關於計算機病毒的敘述中,正確的敘述是:
A)計算機病毒有破壞性,它能破壞計算機中的軟體和埋祥數據,但不會損害機器的硬體
B)計算機病毒有潛伏性,它可能會長時間潛伏,遇到一定條件才開始進行破壞活動
C)計算機病毒有傳染性,它能通過軟磁碟和光碟不斷擴散,但不會通過網路進行傳播
D)它是開發程序時未經徹底測試而附帶的一種寄生性的計算機程序,它能在計算機系統中生存和傳播

(10)對線性表,在下列哪種情況下應當採用鏈表表示?
A)經常需要隨機地存取元素
B)經常需要進行插入和刪除操作
C)表中元素需要佔據一片連續的存儲空間
D)表中元素的個數不變

(11)字元A、B、C依次進入一個棧,按出棧的先後順序組成不同的字元串,至多可以組成多少個不同的字元串?
A)5 B)4 C)6 D)1

(12)設有一個用數組Q〔1..m」表示的環形隊列,約定f為當前隊頭元素在數組中的位置,r為隊尾元素的後一位置(按順時針方向),若隊列非空,則計算隊列中元素個數的公式應為:
A)r-f B)(m+r-f) mod m
C)(m-r+f)mod m D)(m-r-f) mod m

(13)對數據組R[1..n]中的n個元素進行排序的某一種方法描述如下:
step1:令h=n;
step2:進行h-1次比較,從R[1],R[2],…,R[h]中找出最大的元素R[i](1≤i≤h);
step3:若i≠h,則交換R[i]和R[h]
step4:令h=h-1;
step5:若h=1,則排序完成,否則轉向step2。
對上述排序方法,下列選項中不正確的是:
A)排序過程中,元素的交換次數至少為0次
B)排序過程中,元素的交換次數至多為n-1次
C)方法是穩定的
D)方法是不穩走的

(14)對上題中描述的排序方法,下列選項中正確的是:
A)排序過程中,比較的次數與元素的初始排列順序無關
B)排序過程中,比較的次數與元素的初始排列順序有關
C)確定數組中最大元素需要比較 次
D)確定數組中最小元素需要比較n-1次

(15)對一個排好序的線性表,用二分法檢索表中的元素,被檢索的表應當採用哪種存儲表示?
A)順序存儲 B)鏈接存儲 C)散列法存儲 D)存儲表示不受限制

(16)假定中根遍歷二叉樹的定義如下:若二叉樹為非空二叉樹,則中根遍歷根的右子樹;訪問根結點;中根遍歷根的左子樹。按此定義遍歷下圖所示的二叉樹,遍歷的結果為:
A)DBEAFHGC A
B)CGHFADBE B C
C)EBDAGHFC E D F
D)FHGCADBE G
H

(17)具有指令流水線結構的CPU,一般情況下指令的執行時間主要取決於:
A)指令執行的步驟 B)CPU有無等待狀態
C)CPU的時鍾周期 D)CPU內的cache存儲器大小

(18)在具有PCI匯流排的奔騰機中,二級cache存儲器經常通過cache控制器掛在
A)ISA匯流排(AT匯流排)上 B)CPU局部匯流排上
C)PCI匯流排上 D)EISA匯流排上

(19)作為現行PC機的主要系統匯流排是:
A)ISA匯流排(AT匯流排) B)PCI匯流排和ISA匯流排
C)EISA匯流排 D)PCI匯流排

(20)CPU通過介面電路向液晶顯示器輸出數據時, 在介面電路中
A)數據可以直接輸出到顯示器 B)數據只需經過三態門輸出到顯示器
C)數據經反相器後輸出到顯示器 D)數據經鎖存後輸出到顯示器

(21)當並行介面晶元8255A被設定為方式2時,其工作的I/O口
A)僅能作輸入口使用
B)僅能作輸出口使用
C)既能作輸入口、也能作輸出口使用
D)僅能作不帶控制信號的輸入口或輸出口使用

(22)某顯示器的分辯率為1024*768,表示像素顏色的位寬為16bit,則應配置的顯示存儲器容量一般為:
A)4MB B)2MB C)1Mb D)8MB

(23)現行PC機中列印機與主機的介面標准大多採用
A)RS-232-C B)Centronics C)IDE D)IEEE-488

(24)在目前流行的大多數奔騰機中,硬碟一般是通過硬碟介面電路連接到:
A)CPU局部匯流排 B)PCI匯流排
C)ISA匯流排(AT匯流排) D)存儲器匯流排

(25)假設V1和V2是用DW定義的變數,下列指令中正確的是:
A)MOV V1,20H B)MOV V1,V2
C)MOV AL,V1 D)MOV 2000H,V2

(26)在80386以上的微處理器指令系統中,PUSH EAX指令的目的操作數尋扯方式是:
A)立即定址 B)寄存器定址
C)寄存器間接定址 D)存儲器直接定址

(27)下列那條指令不合法?
A)IN AX,0278H B) RCR DX,CL
C)CMPSB D) RET 4

(28)假設AX和BX寄存器中存放的是有符號整數,為了判斷AX寄存器中的數據是否大於BX寄存器中的數據,應採用下面哪一種指令序列?
A)SUB AX,BX B)SUB AX,BX C)CMP AX,BX D)CMP AX,BX
JC label JNC label JA label JG 1abel
註:label表示條件轉移指令的目標地址

(29)下列指令經匯編後,機器指令代碼最長的是:
A)MOV AX,0 B)SUB Ax,AX
C)XOR AX, AX D)MUL BX

(30)為了使MOV AX,vAR指令執行後,AX寄存器中的內容為4142H,下面哪一種數據定義會產生不正確的結果?
A)VAR DW 4142H B)VAR DW 16706
C)VAR DB 42H,41H D)VAR BW,『AB』

(31)在下列指令中,隱含使用AL寄存器的指令有幾條?
SCASB; XLAT; MOVSB; DAA; NOP; MUL BH;
A)1條 B)2條 C)4條 D)5條

(32)根據下面提供的PC機內存中的數據,lNT 11H中斷服務程序的人口地址是什麼
0000:0040 B3 18 8A CC 4D F8 00 F0--41 F8 00 F0 C5 18 8A CC
0000:0050 39 E7 00 F0 A0 19 8A CC--2E E8 00 F0 D2 EF 00 F0
A)4DF8:00F0 B)F000:F840
C)A019: 8ACC D)CC8A:19A0

(33)若(AX)=0122H,四個標志位CF、SF、ZF、OF的初始狀態為0,執行指令
SUB AX,0FFFH後,這四個標志位的狀態是:
A)(CF)=0,(SF)= 0,(ZF)= 0, (OF)= 0
B)(CF)=1,(SF)= 1,(zF)= 0, (OF)= 0
C)(CF)=0,(SF)= 0,(ZF)= 1, (OF)= 1
D)(CF)=1,(SF)= 1,(ZF)= 1, (OF)= 1

(34)執行下列三條指令後、A寄寄存器中的內容是多少?
MOV AX,'8'
ADD AL,'9'
AAA
A)0017H B)0077H C)0107H D)0071H

(35)微機化儀表中,若全部採用CMOS邏輯器件,則其雜訊容限約為採用TTL邏輯器件時的幾倍?
A)5倍 B)3倍 C)2倍 D) 1倍

(36)微機控制系統中的監控定時器也稱為:
A)絕對時鍾 B)相對時鍾
C)82531PIT D)看門狗(watchdog)

(37)數字濾波演算法中的程序判斷演算法也稱為:
A)算術平均濾波演算法 B)遞推平均演算法
C)限幅濾波演算法 D)中位濾波演算法、

(38)過程數字量輸入/輸出通道中,為抑止因共阻抗耦合所產生的干擾,採取的主要措施是:
A)光電隔離 B)數字濾波 C)模擬濾波 D)接地

(39)計算機網路最突出的優點是:
A)計算精度高 B)內存容量大
c)運算速度快 D)連網的計算機能夠相互共享資源

(40)計算機網路分為區域網、城域網與廣域網,其劃分的依據是:
A)數據傳輸所使用的介質 B)網路的作用范圍
C)網路的控制方式 D)網路的拓撲結構

(41)F=(A+B)(A+C)+B的反函數是:
A)A+B
B)AB
C)A+B
D)A+BC

(42)數字視頻的數據量非常大,VCD使用MPEG-1對視頻信息進行壓縮編碼後,每秒鍾的數碼率大約是:
A)150Kbps B)64Kbs C)10Mbps D)1.2Mbps

(43)在進程運行過程中,一個進程的狀態會發生變化,下列哪種變化是不可能發生的?
A)就緒→運行 B)就緒→等待 C)運行→就緒 D)運行→等待

(44)UNIX操作系統區別於WINDOWS95的主要特點是:
A)具有多用戶分時功能, B)提供圖形用戶界面
C)文件系統採用多級目錄結構 D)提供字元用戶界面

(45)設二叉樹根結點的層次為0,一棵深度(高度)為k的滿二叉樹和同樣深度的完全二叉樹各有f個結點和c個結點,下列關系式不正確的是:
A)f>=c B)c>f C)f=2k+1-1 D)C>2k-1

(46)用二分法查找一個長度為10的、排好序的線性表,查找不成功時,最多需要比較多少次?
A)5 B)2 C)4 0)1

(47)在現行PC機中,常用存儲器地址線中的低10位作輸入/輸出口地址線。設某介面晶元內部有16個埠,該介面晶元的片選信號由地址解碼器產生,則地址解碼器的輸入地址線一般應為:
A)全部10位地址線 B)其中的高8位地址線
C)其中的高6位地址線 D)其中的高4位地址線

(48)8237DMA本身有16位地址線,每個通道一次可傳輸64K位元組,如定義64KB為1頁,並在8237與主機連接的控制電路中增加12位頁地址寄存器,其寄存器的12位頁地址作為它的高12位地址,此時8237能定址的內存容量為:
A)32MB B)64MB C)128MB D)256MB

(49)採用SCSI介面時,一塊SCSI主介面卡可以連接含有SCSI協議標准控制器的設備為:
A)1個 B)2個 C)7個 D)8個

(50)在一個多主STD匯流排系統中,使用郵箱通信法,可實現各個多主CPU模板問的信息傳送,所謂「郵箱」是指:
A)各CPU晶元內部的RAM B)高速緩沖存儲器(cache)
C)各多主CPU模板上的SDRAM D)系統存儲器

(51)測控微機主機模板上,採用局部匯流排技術的作用是:
A)節省系統匯流排的帶寬 B)提高抗干擾能力
C)抑制匯流排終端反射 D)構成緊耦合系統

(52)測控系統中所採用的高質量的D/A轉換器,其非線性誤差通常在下列哪個誤差范圍之內?
A)±2LSB B)±1LSB C)±1/2 LSB D)±1/4 LSB

(53)微機測控系統硬體標准化設計的關鍵是採用:
A)標准化的CPU B)標准化的數字邏輯器件
C)標准化的模擬電路器件 D)標准化的匯流排結構及標准通信協議

(54)數據通信中數據傳輸速率是最重要的性能指標之一,它指單位時間內傳送的二進制數據位數,常用的計量單位是:
A)Kb/s B)Byte/s C)MB/s D)KB/s
(55)雙絞線由兩根相互絕緣的、絞合成勻稱的螺紋狀的導線組成,下列關於雙絞線的敘述中,不正確的是:
A)它的傳輸速率達10Mb/s~100Mb/s,甚至更高,傳輸距離可達幾十公里甚至更遠
B)它既可以用於傳輸模擬信號,也可以用於傳輸數字信號
C)與同軸電纜相比,雙絞線易受外部電磁波的干擾,線路本身也產生雜訊,誤碼率較高
D)通常只用作區域網通信介質

二. 填空題:(每空2分,共30分)
請將每空的正回答案寫在答題卡 1 ~ 15 序號的橫線上,答在試卷上不得分,

(1)PC機硬體在邏輯上主要由CPU、主存儲器、輔助存儲器、輸入/輸出設備與 1 五類主要部件組成。

(2)下圖門電路所輸出的邏輯函數F= 2 。
A
B &—
F
B
A
(3)Windows操作系統提供了 3 並行處理能力,它可以使多個應用程序同時運行。

(4)軟體測試中,根據程序內部邏輯結構設計測試用例的方法稱為 4 法測試。

(5)如果一棵哈夫曼(Huffmam)樹共有9個結點,則其中的葉子結點的個數是 5 個。

(6)設森林F由n棵樹組成,它的第一棵樹,第二棵樹,...,第n棵樹分別有t1,t2,…,和、tn個結點,則與森林F對應的二叉樹中,根結點的左子樹有 6 個結點。

(7)CRT顯示器上構成圖像的最小單元或圖像中的一個點稱為 7 。
(8)現行24速光碟機在讀出光碟上存放的軟體時,每秒鍾傳輸的數據為 8 KB。

(9)閱讀下面的匯編語言程序,填充,使程序能按預定的設計要求正常執行:
DSEG SEGMENT
ARRAY DB 34H, 56H, 23H,70H,96H
CNT DW $-ARRAY
DSEG ENDS
SSEG SEGMENT PARA STACK 『STACK』
DB 256 DUP(0)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:SSEG
START: MOV AX.DSEG
MOV DS.AX
MOV SI.OFFSET ARRAY
MOV CX,CNT
CLD
NEXT: LODSD
MOV BL, AL
AND AL, 0F0H
PUSH CX
MOV CL,4
SHR AL,CL

9
OR AL,30H
CALL DISP
MOV AL,BL
AND AL,0FH
OR AL,30H
CALL DISP
DEC CX
JCXZ DONE
MOV AL,『,』
CALL DISP
JMP NEXT
DONE: MOV AH,4CH ; 終止當前進程,返回調用進程
INT 21H
DlSP: MOv AH, 14 ;寫字元到當前游標位置,游標前進一格
INT 10H
RET
CSEG ENDS
END START
(10)在保證第(9)題程序功能不變的情況下,程序中的MOV SI,OFFSET ARRAY指令可以用指令(僅一條) 10 替代。

(11)在第(9)題程序執行結束後,屏幕上顯示的內容是 11 。
(12)一個由8位單片機構成的測控裝置,採用線性溫度感測器構成其測溫表計,量程為500 OC~800 OC,設裝置獲取一溫度數據為55(十六進制),則對應的溫度值(十進制)為

12 OC。

(13)A/D轉換器的量化誤差以它的一個單位解析度量度,則12位A/D轉換器的量化誤差為 13 。
(14)為了實現計算機系統的互連,ISO開放系統互連參考模型把整個網路的通信功能劃分為7個層次,每個層次完成各自的功能,通過各層間的介面和功能的組合與其相鄰層連接,從而實現不同系統之間、不同結點之間的信息傳輸。OSI參考模型中的7個層次從高層到低層分別是:應用層、表示層、會話層、運輸層、網路層、 14 和物理層。

(15)計算機網路的發展非常迅速,目前正在向B-ISDN的方向演變。其中B表示 15 。指網路的傳輸速率非常高,能達到幾十或幾百Mb/S,甚至達到幾十Gb/s;ISDN表示「綜合業務」,是指將話音傳輸、圖像傳輸、數據傳輸等多種業務綜合到一個網路中,這樣做成本較低而且適合於傳送多媒體信息。

1999年
全國計算機等級考試三級(A)筆試試卷
答案及評分標准
一. 選擇題:((1))~(40)題每題1分,(41)~(55)題每題2分,共70分)
1 2 3 4 5 6 7 8 9 10
B C C B D A C D B B
11 12 13 14 15 16 17 18 19 20
A B C A A B C B B D

21 22 23 24 25 26 27 28 29 30
C B B B A C A D A C
31 32 33 34 35 36 37 38 39 40
C B B C B D C A D B
41 42 43 44 45 46 47 48 49 50
B D B A B C C D C D

51 52 53 54 55 56 57 58 59 60
A C D A A

二. 填空題:(每空2分,共30分)
1、匯流排(或系統匯流排)
2、AB+AB
3、多任務(或多進程)
4、白盒法(或白箱法)

5、5
6、t1-1
7、像素
8、3600
9、POP CX
10、LEA SI,ARRAY
11、34,56,23,70,96
12、600
13、±1/8192(或±0.0122%FSR或±0.0122%(滿量程)),未加±號得1分。

14、數據鏈路層(或鏈路層)

15、帶寬

⑶ 如何進行軟體濾波

1、限幅濾波法(又稱程序判斷濾波法)
A、方法:
根據經驗判斷,確定兩次采樣允許的最大偏差值(設為A),每次檢測到新值時判斷:
如果本次值與上次值之差<=A,則本次值有效
如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值
B、優點:
能有效克服因偶然因素引起的脈沖干擾
C、缺點
無法抑制那種周期性的干擾
平滑度差

2、中位值濾波法
A、方法:
連續采樣N次(N取奇數)
把N次采樣值按大小排列
取中間值為本次有效值
B、優點:
能有效克服因偶然因素引起的波動干擾
對溫度、液位變化緩慢的被測參數有良好的濾波效果
C、缺點:
對流量、速度等快速變化的參數不宜

3、算術平均濾波法
A、方法:
連續取N個采樣值進行算術平均運算
N值較大時:信號平滑度較高,但靈敏度較低
N值較小時:信號平滑度較低,但靈敏度較高
N值的選取:一般流量,N=12;壓力:N=4
B、優點:
適用於對一般具有隨機干擾的信號進行濾波
這樣信號的特點是有一個平均值,信號在某一數值范圍附近上下波動
C、缺點:
對於測量速度較慢或要求數據計算速度較快的首坦謹實時控制不適用
比較浪費RAM

4、遞推平均濾波法(又稱滑動平均濾波法)
A、方者基法:
把連續取得的N個采樣值看成一個隊列
隊列的長度固定為N
每次采樣到一個新數據放入隊尾,並扔掉原來隊首的一次數據.(先進信陪先出原則)
把隊列中的N個數據進行算術平均運算,就可獲得新的濾波結果
N值的選取:流量,N=12;壓力:N=4;液面,N=4~12;溫度,N=1~4
B、優點:
對周期性干擾有良好的抑製作用,平滑度高
適用於高頻振盪的系統
C、缺點:
靈敏度低
對偶然出現的脈沖性干擾的抑製作用較差
不易消除由於脈沖干擾所引起的采樣值偏差
不適用於脈沖干擾比較嚴重的場合
比較浪費RAM

5、中位值平均濾波法(又稱防脈沖干擾平均濾波法)
A、方法:
相當於「中位值濾波法」+「算術平均濾波法」
連續采樣N個數據,去掉一個最大值和一個最小值
然後計算N-2個數據的算術平均值
N值的選取:3~14
B、優點:
融合了兩種濾波法的優點
對於偶然出現的脈沖性干擾,可消除由於脈沖干擾所引起的采樣值偏差
C、缺點:
測量速度較慢,和算術平均濾波法一樣
比較浪費RAM

⑷ 需要一些c語言寫得經典濾波,pid控制,模糊控制的演算法。

這個世界沒有免費的晚餐,還是多看資料,自己動手吧。 下面資料僅供參考
http://wenku..com/view/8466a429cfc789eb172dc86c.html
http://wenku..com/view/89b366e9e009581b6bd9ebf2.html
http://wenku..com/view/8e9d022f2af90242a895e593.html
http://wenku..com/view/55d3532f7375a417866f8fed.html
http://wenku..com/view/bb24150d76c66137ee0619dc.html
http://wenku..com/view/5b0fbce0524de518964b7ddd.html
http://wenku..com/view/90a2edf49e314332396893d3.html

⑸ 限服濾波特點

限服濾波特點,均值濾波,是圖像處理中最常用的手段,從頻率域觀點來看均值濾波是一種低通濾波器,高頻信號將會去掉,因此可以幫助消除圖像尖銳雜訊,實現圖像平滑,模糊等功能。理想的均值濾波是用每個像素和它周圍像素計算出來的平均值替換圖像中每個像素。采樣Kernel數據通常是3X3的矩陣,如下表示。

從左到右從上到下計算圖像中的每中敏個像素,最終得到處理後的圖像。均值濾波可以加上兩個參數,即迭鉛衫代次數,Kernel數據大小。一個相同的Kernel,但是多次迭代就會效果越來越好。同樣,迭代次數相同,Kernel矩賣激枝陣越大,均值濾波的效果就越明顯。

⑹ 什麼是限幅濾波

就是AD采樣後去掉超過某個幅值的信號

⑺ 濾波在數學上是如何實現的

在單片機進行數據採集時,會遇到數據的隨機誤差,隨機誤差是由隨機干擾引起的,其特點是在相同條件下測量同一量時,其大小和符號會現無規則的變化而無法預測,但多次測量的結果符合統計規律。為克服隨機干擾引起的誤差,硬體上可採用濾波技術,軟體上可採用軟體演算法實現數字濾波。濾波演算法往往是系統測控演算法的一個重要組成部分,實時性很強。

採用數字濾波演算法克服隨機干擾的誤差具有以下優點:

1、數字濾波無需其他的硬體成本,只用一個計算過程,可靠性高,不存在阻抗匹配問題。尤其是數字濾波可以對頻率很低的信號進行濾波,這是模擬濾波器做不到的。
2、數字濾波使用軟體演算法實現,多輸入通道可共用一個濾波程序,降低系統開支。
3、只要適當改變濾波器的濾波程序或運算,就能方便地改變其濾波特性,這對於濾除低頻干擾和隨機信號會有較大的效果。
4、在單片機系統中常用的濾波演算法有限幅濾波法、中值濾波法、算術平均濾波法、加權平均濾波法、滑動平均濾波等。

(1)限幅濾波演算法

該運算的過程中將兩次相鄰的采樣相減,求出其增量,然後將增量的絕對值,與兩次采樣允許的最大差值A進行比較。A的大小由被測對象的具體情況而定,如果小於或等於允許的最大差值,則本次采樣有效;否則取上次采樣值作為本次數據的樣本。

演算法的程序代碼如下:

#defineA //允許的最大差值
chardata; //上一次的數據
char filter()
{
chardatanew; //新數據變數
datanew=get_data(); //獲得新數據變數
if((datanew-data)>A||(data-datanew>A))
return data;
else
returndatanew;
}

說明:限幅濾波法主要用於處理變化較為緩慢的數據,如溫度、物體的位置等。使用時,關鍵要選取合適的門限制A。通常這可由經驗數據獲得,必要時可通過實驗得到。

(2)中值濾波演算法

該運算的過程是對某一參數連續采樣N次(N一般為奇數),然後把N次采樣的值按從小到大排列,再取中間值作為本次采樣值,整個過程實際上是一個序列排序的過程。

演算法的程序代碼如下:
#define N11 //定義獲得的數據個數
char filter()
{
charvalue_buff[N]; //定義存儲數據的數組
char count,i,j,temp;
for(count=0;count
{
value_buf[count]=get_data();
delay(); //如果採集數據比較慢,那麼就需要延時或中斷
}
for(j=0;j
{
for(value_buff[i]>value_buff[i+1]
{
temp=value_buff[i];
value_buff[i]=value_buff[i+1];
value_buff[i+1]=temp;
}
}
returnvalue_buff[(N-1)/2];
}

說明:中值濾波比較適用於去掉由偶然因素引起的波動和采樣器不穩定而引起的脈動干擾。若被測量值變化比較慢,採用中值濾波法效果會比較好,但如果數據變化比較快,則不宜採用此方法。

(3)算術平均濾波演算法

該演算法的基本原理很簡單,就是連續取N次采樣值後進行算術平均。
演算法的程序代碼如下:
char filter()
{
int sum=0;
for(count=0;count
{
sum+=get_data();
delay():
}
return (char)(sum/N);
}

說明:算術平均濾波演算法適用於對具有隨機干擾的信號進行濾波。這種信號的特點是有一個平均值,信號在某一數值附近上下波動。信號的平均平滑程度完全到決於N值。當N較大時,平滑度高,靈敏度低;當N較小時,平滑度低,但靈敏度高。為了方便求平均值,N一般取4、8、16、32之類的2的整數冪,以便在程序中用移位操作來代替除法。

(4)加權平均濾波演算法

由於前面所說的「算術平均濾波演算法」存在平滑度和靈敏度之間的矛盾。為了協調平滑度和靈敏度之間的關系,可採用加權平均濾波。它的原理是對連續N次采樣值分別乘上不同的加權系數之後再求累加,加權系數一般先小後大,以突出後面若干采樣的效果,加強系統對參數變化趨勢的認識。各個加權系數均小於1的小數,且滿足總和等於1的結束條件。這樣加權運算之後的累加和即為有效采樣值。其中加權平均數字濾波的數學模型是:

式中:D為N個采樣值的加權平均值:XN-i為第N-i次采樣值;N為采樣次數;Ci為加權系數。加權系數Ci體現了各種采樣值在平均值中所佔的比例。一般來說采樣次數越靠後,取的比例越大,這樣可增加新采樣在平均值中所佔的比重。加權平均值濾波法可突出一部分信號抵制另一部分信號,以提高采樣值變化的靈敏度。

樣常式序代碼如下:

char codejq[N]={1,2,3,4,5,6,7,8,9,10,11,12}; //code數組為加權系數表,存在程序存儲區
char codesum_jq=1+2+3+4+5+6+7+8+9+10+11+12;
char filter()
{
char count;
char value_buff[N];
int sum=0;
for(count=0;count
{
value_buff[count]=get_data();
delay();
}
for(count=0;count
sum+=value_buff[count]*jq[count];
return(char)(sum/sum_jq);
}

(5)滑動平均濾波演算法

以上介紹和各種平均濾波演算法有一個共同點,即每獲取一個有效采樣值必須連續進行若干次采樣,當采速度慢時,系統的實時得不到保證。這里介紹的滑動平均濾波演算法只採樣一次,將一次采樣值和過去的若干次采樣值一起求平均,得到的有效采樣值即可投入使用。如果取N個采樣值求平均,存儲區中必須開辟N個數據的暫存區。每新採集一個數據便存入暫存區中,同時去掉一個最老數據,保存這N個數據始終是最新更新的數據。採用環型隊列結構可以方便地實現這種數據存放方式。

程序代碼如下:
char value_buff[N];
char i=0;
char filter()
{
char count;
int sum=0;
value_buff[i++]=get_data();
if(i==N)
i=0;
for(count=0;count
sum=value_buff[count];
return (char)(sum/N);
}

(6)低通濾波

將普通硬體RC低通濾波器的微分方程用差分方程來表求,變可以採用軟體演算法來模擬硬體濾波的功能,經推導,低通濾波演算法如下:

Yn=a* Xn+(1-a) *Yn-1
式中 Xn——本次采樣值
Yn-1——上次的濾波輸出值;
,a——濾波系數,其值通常遠小於1;
Yn——本次濾波的輸出值。

由上式可以看出,本次濾波的輸出值主要取決於上次濾波的輸出值(注意不是上次的采樣值,這和加權平均濾波是有本質區別的),本次采樣值對濾波輸出的貢獻是比較小的,但多少有些修正作用,這種演算法便模擬了具體有教大慣性的低通濾波器功能。濾波演算法的截止頻率可用以下式計算:

fL=a/2Pit pi為圓周率3.14…
式中 a——濾波系數;
, t——采樣間隔時間;
例如:當t=0.5s(即每秒2次),a=1/32時;
fL=(1/32)/(2*3.14*0.5)=0.01Hz

當目標參數為變化很慢的物理量時,這是很有效的。另外一方面,它不能濾除高於1/2采樣頻率的干攪信號,本例中采樣頻率為2Hz,故對1Hz以上的干攪信號應採用其他方式濾除,

低通濾波演算法程序於加權平均濾波相似,但加權系數只有兩個:a和1-a。為計算方便,a取一整數,1-a用256-a,來代替,計算結果捨去最低位元組即可,因為只有兩項,a和1-a,均以立即數的形式編入程序中,不另外設表格。雖然采樣值為單元位元組(8位A/D)。為保證運算精度,濾波輸出值用雙位元組表示,其中一個位元組整數,一位元組小數,否則有可能因為每次捨去尾數而使輸出不會變化。
設Yn-1存放在30H(整數)和31H(小數)兩單元中,Yn存放在32H(整數)和33H(小數)中。濾波程序如下:
雖千萬里,吾往矣。

閱讀全文

與限幅濾波演算法c相關的資料

熱點內容
編譯忽略空字元 瀏覽:113
多店鋪阿里雲伺服器教程 瀏覽:378
單片機求初值 瀏覽:420
安卓機如何在電腦備份圖片 瀏覽:925
ca證書加密機價格 瀏覽:798
天乾地支年份演算法 瀏覽:796
程序員打造的視頻 瀏覽:7
java和php通信 瀏覽:680
為什麼黑程序員 瀏覽:163
程序員男生 瀏覽:456
戴爾文件夾內文件怎麼置頂 瀏覽:582
雲伺服器6m網速 瀏覽:722
vivo手機中國聯通伺服器地址 瀏覽:862
工程總控編譯失敗 瀏覽:707
燕趙紅楓app如何下載 瀏覽:867
php查殺軟體 瀏覽:878
教育管理學pdf 瀏覽:547
伺服器均衡怎麼使用 瀏覽:626
linux中jps 瀏覽:954
單片機實驗感想 瀏覽:561