<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM11的家用智能垃圾桶的設(shè)計與實現(xiàn)

          基于ARM11的家用智能垃圾桶的設(shè)計與實現(xiàn)

          作者: 時間:2012-12-12 來源:網(wǎng)絡(luò) 收藏

          2.2 特定語音識別算法
          針對特定語音的識別,采用動態(tài)時間規(guī)整(DTW)的算法,是一種把時間規(guī)整和距離測度的計算結(jié)合起來非線性規(guī)整技術(shù),多用于孤立詞的語音識別。語音識別過程如圖5所示。

          本文引用地址:http://www.ex-cimer.com/article/257215.htm


          首先應(yīng)濾掉輸入語音信號的噪音并進行預(yù)加重處理,提升高頻分量,然后線性預(yù)測系數(shù)等方法進行頻譜分析,找出語音的特征參數(shù)作為未知模式,與預(yù)先存儲的標準模式進行比較,當(dāng)輸入的未知模式與標準模式的特征一致時,便識別輸入的語音信號并輸出結(jié)果。

          3 系統(tǒng)軟件設(shè)計

          系統(tǒng)軟件主要包括:數(shù)據(jù)采集模塊、SCI通訊模塊、特定聲源定位算法模塊和避障軟件模塊。系統(tǒng)軟件總體流程圖如圖6所示。




          3.1 特定聲源定位算法設(shè)計

          系統(tǒng)的聲源定位算法主要基于傳聲器陣列時延估計法,利用A/D采樣模塊檢測不同拾音器所接收到的聲音信號,算法實現(xiàn)采用廣義互相關(guān)法。采樣得到的波形 接近為正弦波,將對應(yīng)采樣得到的值放入數(shù)組中保存,首先進行相關(guān)運算,得出互相關(guān)譜。為避免誤差和雜音的干擾,進行多次計算去除了誤差較大的值。其算法流 程圖如圖7所示。



          同時,為避免垃圾桶對接收到的任何聲音都進行定位,系統(tǒng)在定位時加入了語音識別,即只對需要的聲音進行方位判斷,對特定聲音進行語音識別的流程框圖如圖8所示。




          3.2 避障軟件設(shè)計

          避障軟件模塊采用對的GPIO口查詢方法。在垃圾桶加電后,主函數(shù)中一直查詢GPIO,某一路的GPIO出現(xiàn)低電平時,進入相應(yīng)的子函數(shù),執(zhí)行相應(yīng)的 控制動作。3個紅外傳感器同時工作,發(fā)射紅外信號。任何一個紅外接收裝置接收到反射的紅外信號進入相應(yīng)的子函數(shù)執(zhí)行控制電機轉(zhuǎn)動。紅外避障流程如圖9所示。



          4 結(jié)束語

          設(shè)計的“聽”到主人的呼喊后能自動到達主人身邊,并且能識別主人的聲音進行一系列動作,經(jīng)試驗證明該設(shè)計能夠滿足使用要求。

          光電開關(guān)相關(guān)文章:光電開關(guān)原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: S3C6410 智能垃圾桶 ARM

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();