實驗4 基本數(shù)據(jù)處理算法_第1頁
實驗4 基本數(shù)據(jù)處理算法_第2頁
實驗4 基本數(shù)據(jù)處理算法_第3頁
實驗4 基本數(shù)據(jù)處理算法_第4頁
實驗4 基本數(shù)據(jù)處理算法_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1實驗?zāi)康臏y量精度和可靠性是儀器的重要指標(biāo),引入數(shù)據(jù)處理算法后,使許多原來靠硬件電路難以實現(xiàn)的信號處理問題得以解決,從而克服和彌補了包括傳感器在內(nèi)的各個測量環(huán)節(jié)中硬件本身的缺陷或弱點,提高了儀器的綜合性能。智能儀器的基本數(shù)據(jù)處理算法包括:克服隨機誤差的數(shù)字濾波算法、消除系統(tǒng)誤差的算法、工程量的標(biāo)度變換等。通過本實驗,使學(xué)生能夠根據(jù)被測信號和干擾特征,選取合理的數(shù)據(jù)處理算法,設(shè)計恰當(dāng)?shù)膶嶒灁?shù)據(jù),驗證算法的有效性。2實驗要求與任務(wù)學(xué)習(xí)掌握數(shù)字濾波器設(shè)計方法,應(yīng)用頻譜知識和濾波器設(shè)計知識,對信號進行濾波,直流電壓數(shù)據(jù)中,迭加了脈沖干擾,采用不同的濾波算法進行處理,觀察處理效果。(1)設(shè)檢測信號是幅度

2、較小的直流電壓,經(jīng)過適當(dāng)放大和A/D轉(zhuǎn)換,由于50Hz工頻干擾使測量數(shù)據(jù)呈現(xiàn)周期性波動。根據(jù)實際采樣率等參數(shù),設(shè)計消除工頻干擾算法。(2)設(shè)計快速查表程序,實現(xiàn)標(biāo)度變換。本實驗要求完成:任務(wù)1:在Keil c51環(huán)境下運行,用單片機c語言實現(xiàn):1、限副濾波法;2、中值濾波法;3、算術(shù)平均濾波法4、遞推平均濾波法任務(wù)2:實現(xiàn)P261例5.3 。要求給出程序,自已給出一組數(shù)據(jù),給出運行結(jié)果。參考例子:/常用的軟件濾波方法/ 1、限副濾波/ A值可根據(jù)實際情況調(diào)整/牐?value為有效值,new_value為當(dāng)前采樣值 / 濾波程序返回有效的實際值/*#include <reg52.h>

3、 #include <stdio.h>void main(void) int y;int A=5;int value=10; int new_value = 30;if (new_value - value > A )|(value - new_value > A ) y=value; else y=new_value; SCON=0x52;TMOD=0x20;TH1=0xf3;TR1=1; /前面4行為PRINTF函數(shù)所必須printf("Hello I am KEIL. n"); printf("I will be your frien

4、d.n");printf("x=%dn",y);while (1) ;*/在VIEW-Serial#中看到運行結(jié)果/-/2、中位值濾波法/N值可根據(jù)實際情況調(diào)整/ 排序采用冒泡法#include <reg52.h> #include <stdio.h>#define N 13void main(void)unsigned int table=12,8,4,3,2,5,6,13,9,10,14,8,15;unsigned int y;unsigned int value_bufN;unsigned int count,i,j,temp;for

5、 (count=0;count<N;count+) value_bufcount = tablecount; for (j=0;j<N;j+) for (i=0;i<N-j;i+) if ( value_bufi>value_bufi+1 ) temp = value_bufi; value_bufi = value_bufi+1; value_bufi+1 = temp; y=value_buf(N-1)/2; SCON=0x52;TMOD=0x20;TH1=0xf3;TR1=1; /前面4行為PRINTF函數(shù)所必須printf("Hello I am KE

6、IL. n"); printf("I will be your friend.n");for (j=0;j<N;j+)printf("%4d,",value_bufj);printf("n");printf("y=%dn",y);while (1) ;/-3、算術(shù)平均濾波法#define N 12char filter() int sum = 0; for ( count=0;count<N;COUNT+) sum + = get_ad(); delay(); return (char)(su

7、m/N);4、遞推平均濾波法(又稱滑動平均濾波法)/*/#define N 12 char value_bufN;char i=0;char filter() char count; int sum=0; value_bufi+ = get_ad(); if ( i = N ) i = 0; for ( count=0;count<N,COUNT+) sum = value_bufcount; return (char)(sum/N);5、中位值平均濾波法(又稱防脈沖干擾平均濾波法)/*/#define N 12char filter() char count,i,j; char val

8、ue_bufN; int sum=0; for (count=0;count<N;COUNT+) value_bufcount = get_ad(); delay(); for (j=0;j<N-1;J+) for (i=0;i<N-J;I+) if ( value_buf>value_bufi+1 ) temp = value_buf; value_buf = value_bufi+1; value_bufi+1 = temp; for(count=1;count<N-1;COUNT+) sum += valuecount; return (char)(sum/

9、(N-2);6、限幅平均濾波法/*/ 略 參考子程序1、37、一階滯后濾波法/* 為加快程序處理速度假定基數(shù)為100,a=0100 */#define a 50char value;char filter() char new_value; new_value = get_ad(); return (100-a)*value + a*new_value; 8、加權(quán)遞推平均濾波法/* coe數(shù)組為加權(quán)系數(shù)表,存在程序存儲區(qū)。*/#define N 12char code coeN = 1,2,3,4,5,6,7,8,9,10,11,12;char code sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12;char filter() char count; char value_bufN; int sum=0; for (count=0,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論