




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、電子測量技術(shù)大作業(yè)目錄題目一 測量數(shù)據(jù)誤差處理1(1)提供測試數(shù)據(jù)輸入、粗大誤差判別準(zhǔn)則選擇等的人機界面;1(2)編寫程序使用說明;1(3)通過實例來驗證程序的正確性。2題目二 時域反射計2(1)時域反射計簡介2(2)時域反射計原理2(3)時域反射計(TDR)組成2(4)仿真與結(jié)果2附錄223 / 26題目一 測量數(shù)據(jù)誤差處理2-21 參考例2-2-6的解題過程,用C語言或Matlab設(shè)計測量數(shù)據(jù)誤差處理的通用程序,要求如下:(1) 提供測試數(shù)據(jù)輸入、粗大誤差判別準(zhǔn)則選擇等的人機界面;圖 1 測試數(shù)據(jù)誤差處理的輸入(2) 編寫程序使用說明;本題用的是C語言編寫的數(shù)據(jù)誤差處理的通用程序,調(diào)試編譯
2、借助了CodeBlocks軟件。運行exe文件后,只需輸入所需測試數(shù)據(jù)的數(shù)目、各數(shù)值大小并選擇誤差處理方式與置信概率即可得出處理結(jié)果。在程序的子函數(shù)中已經(jīng)將ta值表、肖維納準(zhǔn)則表及格拉布斯準(zhǔn)則表的所有數(shù)據(jù)存入,無需人工查表填入。其他具體程序內(nèi)容可見附錄。圖 2 程序運行流程圖(3) 通過實例來驗證程序的正確性。例2-2-6中的原始數(shù)據(jù)如下表1表 1 測量電壓原始數(shù)據(jù)測量序號i1234567891011電壓/U2.722.752.652.712.622.452.622.702.672.732.74由書上計算可得:計算所得結(jié)果與圖3顯示結(jié)果近似相等,說明程序編譯無誤。圖 3 數(shù)據(jù)處理后的結(jié)果顯示題
3、目二 時域反射計6-14 在Multisim環(huán)境下,基于Tektronix TDS204虛擬示波器設(shè)計一種時域反射計,給出電路原理圖和實驗仿真結(jié)果。(本題設(shè)計以時域反射計測量阻抗為例)(1) 時域反射計簡介時域反射計(TDR)用來測量信號在通過某類傳輸環(huán)境傳導(dǎo)時引起的反射,如電路板軌跡、電纜、連接器等等。TDR儀器通過介質(zhì)發(fā)送一個脈沖,把來自“未知”傳輸環(huán)境的反射與標(biāo)準(zhǔn)阻抗生成的反射進(jìn)行比較。TDR 顯示了在沿著一條傳輸線傳播快速階躍信號時返回的電壓波形。波形結(jié)果是入射階躍和階躍遇到阻抗偏差時產(chǎn)生的反射的組合。(2) 時域反射計原理時域反射計TDR是最常用的測量傳輸線特征阻抗的儀器,它是利用時
4、域反射的原理進(jìn)行特性阻抗的測量。圖 4 TDR原理圖(3) 時域反射計(TDR)組成快沿信號發(fā)生器:典型的發(fā)射信號的特征是:幅度200mv,上升時間35ps,頻率250kHz方波。 采樣示波器:通用的采樣示波器; 探頭系統(tǒng):連接被測件和TDR儀器。(4) 仿真與結(jié)果圖 5 時域反射計仿真電路圖 6 信號發(fā)生器設(shè)置選項圖 7 信號發(fā)生器上升沿時間設(shè)置圖 8 示波器仿真顯示結(jié)果在圖8中,第一條黃線為終端開路(反射系數(shù)為1)時的結(jié)果;第二條藍(lán)線為終端有負(fù)載阻抗時的結(jié)果;第三條為終端短路(反射系數(shù)為-1)時的結(jié)果。圖 9 TDR測試信號理論運行特征圖圖 10 被測傳輸線特征阻抗的計算附錄#includ
5、e <stdio.h>#include <math.h>/求絕對值的函數(shù),因為“abs”只適用于整數(shù)float Abs(float a) if(a>0.0) return a; return-a;/計算平均值的子函數(shù)float Average(float a,int n) int i; float sum=0.0; for(i=0; i<=n-1; i+) sum+=ai; return sum/n;/計算方差的子函數(shù)float Variance(float a,int n) int i; float sum=0.0; float xi=Average(a,
6、n); for(i=0; i<=n-1; i+) sum+=(ai-xi)*(ai-xi); return (float)sqrt(sum/(n-1);/刪除數(shù)組中指定位置的子函數(shù)void Delete(float a,int n,int i) int j; for(j=i; j<=n-2; j+) aj=aj+1; /粗大誤差處理1/萊特檢驗法,出口參數(shù)為所剔除壞值的個數(shù)int Laite(float a,int n) int t=0; /t用來裝粗大誤差的個數(shù) int i; int z; int flag=1; float aver; float var; while(flag
7、) z=n; aver=Average(a,n); var=Variance(a,n); for(i=0; i<=n-1; i+) if(Abs(ai-aver)>3*var) printf(" %f是壞值!n",ai); Delete(a,n,i); n-; t+; if(n=z) flag=0; return t;/粗大誤差處理2/肖維納準(zhǔn)則int Xiaown(float a,int n) float ch38= 0,0,0,0,0,1.65,1.73,1.79,1.86,1.92,1.96,2.00,2.04,2.07, 2.10,2.13,2.16,2
8、.18,2.20,2.22,2.24,2.26,2.28,2.30, 2.32,2.33,2.34,2.35,2.37,2.38,2.39,2.45,2.50,2.58, 2.64,2.74,2.81,3.02 ; /肖維納準(zhǔn)則表 int t=0; /t用來裝粗大誤差的個數(shù) int i; int z; int flag=1; float aver; float var; while(flag) z=n; aver=Average(a,n); var=Variance(a,n); for(i=0; i<=n-1; i+) if(Abs(ai-aver)>chn*var) printf
9、(" %f是壞值!n",ai); Delete(a,n,i); n-; t+; if(z=n) flag=0; return t;/粗大誤差處理3/格拉布斯準(zhǔn)則/格拉布斯準(zhǔn)則表1:95%float Ge95(int n) float Ge30= 0,0,0,1.15,1.46,1.67,1.82,1.94,2.03, 2.11,2.18,2.23,2.29,2.33,2.37,2.41, 2.44,2.47,2.50,2.53,2.56,2.58,2.60, 2.62,2.64,2.66 ; if(n<=25) return Gen; switch (n) case
10、30: return 2.74; case 35: return 2.81; case 40: return 2.87; case 50: return 2.96; case 100: return 3.17; default: printf(" 輸入n值錯誤!"); return 0.0; /格拉布斯準(zhǔn)則表2: 99%float Ge99(int n) float Ge30= 0,0,0,1.16,1.49,1.75,1.94,2.10,2.22, 2.32,2.41,2.48,2.55,2.61,2.66,2.71, 2.75,2.79,2.82,2.85,2.88,2
11、.91,2.94, 2.96,2.99,3.01 ; if(n<=25) return Gen; switch (n) case 30: return 3.10; case 35: return 3.18; case 40: return 3.24; case 50: return 3.34; case 100: return 3.58; default: printf(" 輸入n值錯誤!"); return 0.0; /格拉布斯執(zhí)行函數(shù)int Glbs(float a,int n,int m) int t=0; /t用來裝粗大誤差的個數(shù) int i; int z;
12、float aver; float var; int flag=1,flag1=1,flag2=1; while(flag) if(m=1) while(flag1) z=n; aver=Average(a,n); var=Variance(a,n); for(i=0; i<=n-1; i+) if(Abs(ai-aver)>Ge95(n)*var) printf(" %f是壞值!n",ai); Delete(a,n,i); n-; t+; if(z=n) flag1=0; flag=0; return t; else if(m=2) while(flag2)
13、z=n; aver=Average(a,n); var=Variance(a,n); for(i=0; i<=n-1; i+) if(Abs(ai-aver)>Ge99(n)*var) printf(" %f是壞值!n",ai); Delete(a,n,i); n-; t+; if(z=n) flag2=0; flag=0; return t; else printf(" 輸入有錯!請重新輸入:n"); /誤差處理子函數(shù)int Wucha(float a,int n,int x,int m) int pa=1; int t; int i; w
14、hile (pa) if(x=1) pa=0; t=Laite(a,n); n=n-t; printf(" 處理后的數(shù)據(jù)如下:ntt"); for(i=0; i<=n-1; i+) printf("%ft",ai); return n; else if(x=2) pa=0; t=Xiaown(a,n); n=n-t; printf(" 處理后的數(shù)據(jù)如下:ntt"); for(i=0; i<=n-1; i+) printf("%ft",ai); return n; else if(x=3) pa=0; t
15、=Glbs(a,n,m); n=n-t; printf(" 處理后的數(shù)據(jù)如下:ntt"); for(i=0; i<=n-1; i+) printf("%ft",ai); return n; else printf(" 輸入錯誤,請重新輸入!n"); /判斷有無累進(jìn)性誤差的子函數(shù)float Max(float a,int n) int i; float f=Average(a,n); float x,y; x=Abs(a0-f); for(i=0; i<=n-1; i+) if(Abs(ai-f)>=x) x=Abs(
16、ai-f); return x;void Mlkf(float a,int n) int i; float sum1=0.0,sum2=0.0; float f=Average(a,n); if(n%2=0) /偶數(shù)個 for(i=0; i<=n/2-1; i+) sum1=sum1+(ai-f); for(i=n/2; i<=n-1; i+) sum2=sum2+(ai-f); printf("n"); if(Abs(sum1-sum2)>=Max(a,n) printf(" 測量中存在累進(jìn)性系統(tǒng)誤差。n"); else printf
17、(" 測量中不存在累進(jìn)性系統(tǒng)誤差。n"); if(n%2=1) /奇數(shù)個 for(i=0; i<=(n-1)/2-1; i+) sum1=sum1+(ai-f); for(i=(n+1)/2; i<=n-1; i+) sum2=sum2+(ai-f); printf("n"); if(Abs(sum1-sum2)>=Max(a,n) printf(" 測量中存在累進(jìn)性系統(tǒng)誤差。n"); else printf(" 測量中不存在累進(jìn)性系統(tǒng)誤差。n"); /判斷有無周期性誤差的子函數(shù)void Zwc(
18、float a,int n) float sum=0.0; int i; float f=Average(a,n); for(i=0; i<=n-2; i+) sum=sum+(ai-f)*(ai+1-f); if(sum>sqrt(n-1)*Variance(a,n)*Variance(a,n) printf(" 測量中存在周期性系統(tǒng)誤差。n"); else printf(" 測量中不存在周期性系統(tǒng)誤差。n");/置信區(qū)間子函數(shù)float Zhi05(int n) float z15= 0,0,1.000,0.816,0.765,0.741
19、,0.727,0.718,0.711,0.706, 0.703,0.700 ; if(n<=11)return zn; switch (n) case 15: return 0.691; case 20: return 0.687; case 25: return 0.684; case 30: return 0.683; case 40: return 0.681; case 60: return 0.679; case 120: return 0.677; case 999: /在這里把999作為無窮大! return 0.674; default: printf(" 輸入
20、n值錯誤!"); return 0.0; float Zhi06(int n) float z15= 0,0,1.376,1.061,0.978,0.941,0.920,0.906,0.896, 0.889,0.883,0.879 ; if(n<=11)return zn; switch (n) case 15: return 0.866; case 20: return 0.860; case 25: return 0.856; case 30: return 0.854; case 40: return 0.851; case 60: return 0.848; case
21、120: return 0.845; case 999: /在這里把999作為無窮大! return 0.842; default: printf(" 輸入n值錯誤!"); return 0.0; float Zhi07(int n) float z15= 0,0,1.963,1.386,1.250,1.190,1.156,1.134,1.119, 1.108,1.100,1.093 ; if(n<=11)return zn; switch (n) case 15: return 1.074; case 20: return 1.064; case 25: retur
22、n 1.058; case 30: return 1.055; case 40: return 1.050; case 60: return 1.046; case 120: return 1.041; case 999: /在這里把999作為無窮大! return 1.036; default: printf(" 輸入n值錯誤!"); return 0.0; float Zhi08(int n) float z15= 0,0,3.078,1.886,1.638,1.553,1.476,1.440,1.415, 1.397,1.383,1.372 ; if(n<=11
23、)return zn; switch (n) case 15: return 1.341; case 20: return 1.325; case 25: return 1.316; case 30: return 1.310; case 40: return 1.303; case 60: return 1.296; case 120: return 1.289; case 999: /在這里把999作為無窮大! return 1.282; default: printf(" 輸入n值錯誤!"); return 0.0; float Zhi09(int n) float
24、z15= 0,0,6.314,2.920,2.353,2.132,2.015,1.943,1.895, 1.860,1.833,1.812 ; if(n<=11)return zn; switch (n) case 15: return 1,753; case 20: return 1.725; case 25: return 1.708; case 30: return 1.697; case 40: return 1.684; case 60: return 1.671; case 120: return 1.658; case 999: /在這里把999作為無窮大! return
25、1.645; default: printf(" 輸入n值錯誤!"); return 0.0; float Zhi095(int n) float z15= 0,0,12.706,4.303,3.182,2.776,2.571,2.447,2.365, 2.306,2.262,2.228 ; if(n<=11)return zn; switch (n) case 15: return 2.131; case 20: return 2.086; case 25: return 2.060; case 30: return 2.042; case 40: return 2
26、.021; case 60: return 2.000; case 120: return 1.980; case 999: /在這里把999作為無窮大! return 1.960; default: printf(" 輸入n值錯誤!"); return 0.0; float Zhi098(int n) float z15= 0,0,31.821,6.965,4.541,3.747,3.365,3.143,2.998, 2.896,2.821,2.764 ; if(n<=11)return zn; switch (n) case 15: return 2.602; c
27、ase 20: return 2.528; case 25: return 2.485; case 30: return 2.457; case 40: return 2.423; case 60: return 2.390; case 120: return 2.358; case 999: /在這里把999作為無窮大! return 2.326; default: printf(" 輸入n值錯誤!"); return 0.0; float Zhi099(int n) float z15= 0,0,63.657,9.925,5.841,4.604,4.032,3.707,
28、3.499, 3.355,3.250,3.169 ; if(n<=11)return zn; switch (n) case 15: return 2.947; case 20: return 2.845; case 25: return 2.787; case 30: return 2.750; case 40: return 2.704; case 60: return 2.660; case 120: return 2.617; case 999: /在這里把999作為無窮大! return 2.576; default: printf(" 輸入n值錯誤!");
29、 return 0.0; float Zhi0999(int n) float z15= 0,0,636.619,31.598,12.924,8.610,6.859,5.959,5.405, 5.041,4.781,4.587 ; if(n<=11)return zn; switch (n) case 15: return 4.073; case 20: return 3.850; case 25: return 3.725; case 30: return 3.646; case 40: return 3.551; case 60: return 3.460; case 120: re
30、turn 3.373; case 999: /在這里把999作為無窮大! return 3.291; default: printf(" 輸入n值錯誤!"); return 0.0; /計算置信區(qū)間的子函數(shù)void Zhix(float a,int n,int t) float p=Average(a,n); float f=Variance(a,n); int flag=1; float pa; f=f/(sqrt(n); while(flag) switch(t) case 1: pa=Zhi05(n); flag=0; break; case 2: pa=Zhi06(
31、n); flag=0; break; case 3: pa=Zhi07(n); flag=0; break; case 4: pa=Zhi08(n); flag=0; break; case 5: pa=Zhi09(n); flag=0; break; case 6: pa=Zhi095(n); flag=0; break; case 7: pa=Zhi098(n); flag=0; break; case 8: pa=Zhi099(n); flag=0; break; case 9: pa=Zhi0999(n); flag=0; break; default: printf(" 輸入錯誤!請重新輸入!"); break; printf(" 數(shù)據(jù)的置信區(qū)間為:n tt%f,%fn",p-pa*f,p+pa*f);/主函數(shù)int main() float Data100; int n,i,t,x,m; printf("n 電子信息工程學(xué)院 自動化1002
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圍墻倒塌賠償協(xié)議書
- 安全產(chǎn)業(yè)合作協(xié)議書
- 吊車承包合同協(xié)議書
- 家禽養(yǎng)殖基地協(xié)議書
- 安全聯(lián)?;ケf(xié)議書
- 數(shù)學(xué)學(xué)習(xí)習(xí)慣養(yǎng)成教學(xué)計劃
- 一年級語文雙語教學(xué)實施計劃
- 五年級校園環(huán)境美化工作計劃
- 部編版五下語文教學(xué)計劃信息化應(yīng)用設(shè)計
- 國際朗誦交流活動計劃
- 高中主題班會 常規(guī)管理促狀態(tài)規(guī)范月課件-高二上學(xué)期主題班會
- 金屬冶煉負(fù)責(zé)人安管人員培訓(xùn)
- 關(guān)于比的知識圖文
- 拓?fù)浣Y(jié)構(gòu)特征提取-深度研究
- 建筑美學(xué)知到智慧樹章節(jié)測試課后答案2024年秋華南理工大學(xué)
- 統(tǒng)編版語文七年級下第18課《井岡翠竹》公開課一等獎創(chuàng)新教學(xué)設(shè)計
- 針刺傷預(yù)防與處理-2024中華護理學(xué)會團體標(biāo)準(zhǔn)
- 《高等教育心理學(xué)》講義
- 2025年汽車轉(zhuǎn)向橋總成行業(yè)深度研究分析報告
- 基裝合同范例版
- 《招生話術(shù)技巧》課件
評論
0/150
提交評論