freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)字濾波系統(tǒng)設計課程設計報告-在線瀏覽

2024-10-31 13:23本頁面
  

【正文】 ,并指出了每一種算法的具體適用范圍和注意事項。另外我們還使用了 AD 和 DA 來采集及輸出數(shù)據(jù)。通過 C語言編程實現(xiàn)濾波 算法。 另外我們還使用了 ADC0808 進行數(shù)據(jù)采集,這里 AD0808 是并聯(lián) AD 轉(zhuǎn)換器,輸入信號由時鐘信號和正弦信號通過加法器合成輸入到 AD 轉(zhuǎn)換器。此外,我們讓單片機外接四個開關,通過程序用開關控制具體使用哪種濾波方式。另外還利用了 P2 作為控制端口, 用來控制 AD 轉(zhuǎn)換器,而 外接四個開關,用來實現(xiàn)濾波方式的選擇。其中 IN0IN8是八個模擬量輸入端口, AD0808可以一次對八個模擬量進行模數(shù)轉(zhuǎn)換,但是在這里我們只使用了其中的一個輸入端 IN0,所以 ADDDA、 ADDB、ADDC 都應為 0,所以我讓它們都接地。 START 為轉(zhuǎn)換啟動信號,在其上跳變時,所有內(nèi)部寄存器清零,在其下調(diào)變時,開始進行 AD 轉(zhuǎn)換。這里我讓 START 和 ALE 均接在單片機的同一個端口上,即 ,讓單片機實現(xiàn)程序控制 AD 的轉(zhuǎn)換。EOC 是轉(zhuǎn)換結束信號, EOC=1時,表示轉(zhuǎn)換結束。 VREF(+)和VREF()都是參考電壓信號端口,這里我讓 VREF()的參考電壓為零,VREF(+)的參考電壓為 +3V。 DAC0832的引腳圖如 圖所示 我們用了 DAC0832 來進行數(shù)模轉(zhuǎn)換。但是我們并沒有加這個鎖存器,信號一直輸入,導致濾波效果有些差。 VREF 是參考電源。 DA0832 輸出的是電流,要利用運算放 大器轉(zhuǎn)換成電壓。剔除 Yn 后,可用 Yn1 代替 Yn;若未超過允許的最大偏差值范圍,則認為本次采樣值有效。 //新的數(shù)據(jù)和上一次的數(shù)據(jù) value=get_data(N2)。 //獲得新數(shù)據(jù) if ( ( new_value value A ) || ( value new_value A ) ) return value。 } 中位值濾波是先對某一參數(shù)連續(xù)采樣 N 次(一般 N 取奇數(shù)),然后把 N 次采樣值按從小到大排列,取中間值為本次采樣值。由于在冒泡法排序中,每出現(xiàn)一次前者數(shù)據(jù)大于后者數(shù)據(jù),就要進行二者數(shù)據(jù)的交換。 //定義存儲數(shù)據(jù)的數(shù)組 int count,i,j,k。countN。 } for(j=0。j++) //用冒泡法對數(shù)據(jù)進行排序,當然最好用其他排序方法 { k=j。jN。 {temp=value_buff[k]。 value_buff[i]=temp。 } 算術平均濾波法適用于對一般的具有隨機干擾的信號進行濾波。算術平均濾波法是要按輸入的 N 個采樣數(shù)據(jù),尋 找這樣一個 Y,使得 Y 與各個采樣值之間的偏差的平方和最小。 int i=0。 int sum=0。 if(i==N) i=0。countN。 return (uchar)(sum/N)。 } 算術平均濾波適用于對一般具有隨機干擾的信號進行濾波。算術平均濾波對信號的平滑程序完全取決于 N,當 N 較大時,平滑度高,但靈敏度低;當 N 較小時,平滑度低,但靈敏度高,應視具體情況選取 N,以便既少占用計算時間,又達到最好的效果。 sbit con2 = P2^4。 sbit con4 = P2^6。 sbit START = P2^1。 uchar a。 void change() { int i。iN1。 buf[N1]=a。 return buf[n]。 value=get_data(N2)。 if ( ( new_value value A ) || ( value new_value A ) ) return value。 } //中值濾波 uchar filter2() { uchar value_buff[N],temp。 for(count=0。count++) //獲取數(shù)據(jù) { value_buff[count]=get_data(count)。jN1。 for(j=i+1。j++) if(value_buff[j]value_buff[k]) k=j。 value_buff[k]=value_buff[i]。 } } return value_buff[(N1)/2]。 int i=0。 int sum=0。 if(i==N) i=0。countN。 return (uchar)(sum/N)。 uchar code sum_coe = 1+1+1+20+20+20+40+40+40+40+200。 uchar value_buf[N]。 for (count=0。count++) { value_buf[count] = get_data(count)。countN。 return (uchar)(sum/sum_coe)。
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1