智能機器人語音控制系統的設計_第1頁
智能機器人語音控制系統的設計_第2頁
智能機器人語音控制系統的設計_第3頁
智能機器人語音控制系統的設計_第4頁
智能機器人語音控制系統的設計_第5頁
已閱讀5頁,還剩51頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

智能機器人語音控制系統的設計摘要語音識別技術是當今世界的研究熱點之一,一直受到學術界和企業的普遍關注,語音識別技術的應用對于智能機器人的實用化會取到巨大的作用。同時,通過智能機器人這一平臺,也可以更好的研究語音技術的實用化問題,從而使之得到更廣泛的運用。本系統的設計的目的就是為了方便人機交互,論文首先介紹了智能機器人語音識別技術的發展歷程,并分析了影響機器人語音識別的主要因素。然后詳細介紹了語音識別的原理以及在語音信號處理過程中采用的分析方法和技術。接著介紹了芯片SPCE061A單片機的特點,并以此芯片為主控芯片建立起了語音控制系統的硬件結構,并編寫了相應的程序。最后,通過對系統進行了調試和仿真得出結論:該機器人采用語音識別對機器人進行控制,可以完成向前走、倒退、左轉、右轉、停止、發射等功能。關鍵字:SPCE061A單片機;機器人;語音識別;調試和仿真THEDESIGNOFSPEECH-CONTROLLED

INTELLIGENTROBOTSYSTEMABSTRACTSpeechrecognitiontechnologyisoneofthefocusoftoday'sworld,hasbeenthegeneralconcernofacademiaandbusiness.Speechrecognitiontechnologyforintelligentrobotswillbepracticaltotakeagreatrole.Meanwhile,theintelligentrobotplatformcanbetterstudythepracticalproblemsspeechtechnology,thusmakingitmorewidelyused.Thepurposeofthisdesignistofacilitatehuman-computerinteraction.Firstthepaperintroducesthedevelopmentprocessoftheintelligentrobotvoicerecognitiontechnology,andanalyzestheimpactofthemainfactorstotherobotspeechrecognition.Thenitintroducestheprincipleofspeechrecognitionandspeechsignalprocessingmethodsandtechniquesusedinanalysis.AndthenitdescribesthecharacteristicsofthechipmicrocomputerSPCE061A,andtoestablishavoicecontrolsystemhardwarestructureofthissystem,compiledthecorrespondingprogram.Finally,thesystemwasdebuggedandsimulated.Theconclusionisthattherobotspeechrecognitiontocontroltherobotcanbedoneforward,backward,turnleft,turnright,stop,firingandotherfunctions.Keyword:SPCE061AMCU;robotics;peechrecognition;debuggingandsimulation目錄TOC\o"1-5"\h\z\o"CurrentDocument"1 緒論 1\o"CurrentDocument"1.1課題研究背景 1\o"CurrentDocument"1.2智能機器人概述及現狀 21.2.1智能機器人概述 2\o"CurrentDocument"1.2.2智能機器人發展方向 3\o"CurrentDocument"1.3語音識別技術的概述 5\o"CurrentDocument"1.4語音識別的發展歷史 5\o"CurrentDocument"1.4.1國外研究歷史及現狀 51.4.2國內研究歷史及現狀 6\o"CurrentDocument"1.5語音識別技術的前景和應用 7\o"CurrentDocument"1.6影響智能機器人語音識別系統設計的主要因素 8\o"CurrentDocument"1.7論文主要研究內容 9語音識別原理和設計采用方案 10\o"CurrentDocument"2.1語音識別的分類 10\o"CurrentDocument"2.2語音識別基本原理 10\o"CurrentDocument"2.3語音信號預處理 11\o"CurrentDocument"2.4特征量的提取 12\o"CurrentDocument"2.4.1線性預測分析 13\o"CurrentDocument"2.4.2倒譜分析 152.5模式匹配及模型訓練技術 15\o"CurrentDocument"2.6本設計選用的方案 162.6.1系統采用的芯片 16\o"CurrentDocument"2.6.2系統采用的語音識別算法 17\o"CurrentDocument"智能機器人語音控制系統硬件電路設計 19\o"CurrentDocument"3.1設計總體方案 19\o"CurrentDocument"3.2SPCE061A單片機的主要特點 20\o"CurrentDocument"3.3電源模塊 21\o"CurrentDocument"MIC輸入模塊 22\o"CurrentDocument"3.5語音輸出模塊 23\o"CurrentDocument"3.6超聲波傳感模塊 23\o"CurrentDocument"3.7通信模塊 24\o"CurrentDocument"3.8機器人動作模塊 25智能機器人語音控制系統軟件設計 27\o"CurrentDocument"4.1設計總體方案 27\o"CurrentDocument"4.2語音識別模塊 29\o"CurrentDocument"4.3語音訓練模塊 304.4語音播放模塊 31\o"CurrentDocument"4.5機器人動作模塊 325系統調試及仿真 335.1系統調試 33\o"CurrentDocument"5.1.1硬件調試 33\o"CurrentDocument"5.1.2軟件調試 335.2系統仿真 34\o"CurrentDocument"5.3結論 35參考文獻 36致謝 37\o"CurrentDocument"附錄設計源程序 38附件:附件1開題報告(文件綜述)附件2譯文及原件影印件1緒論1.1課題研究背景隨著現代科學技術和計算機技術的發展,人們在與計器的信息交流中,需要一種更加方便、自然的方式。語言是人類最重要、最有效、最常用的和最方便的通信形式。這很容易讓人想到能否用自然語言代替傳統的人機叫交流方式,如鍵盤、鼠標等,人機自然語音對話就意味著機器應具有聽覺,能聽懂人類的口頭語言,這就是語音識別的功能。語音識別是語音信號處理的重要研究方向之一,控制論創始人維納在1950年曾指出:“通常,我們把語音僅僅看作人與人之間的通信手段,但是,要使人向機器,機器向人以及機器講話,那也是完全辦得到的”。語音是語言信息的載體,語音識別的基本任務是將輸入的語音轉化為相應的語言代碼。這樣,不僅使存儲或傳輸這樣的語言代碼時的數碼率比起存儲或傳輸原來有語音信號來大幅降低,而且還在于它把一種連續的語音信號變成一種有限符號,這樣的符號容易被計算機理解其含義,并且便于與人類交流,因而語音識別得到十分廣泛的應用。隨著計算機技術、模式識別和信號處理技術及聲學技術等的發展,使得能滿足各種需要的語音識別系統的實現成為可能。近二三十年來,語音識別在工作、軍事、交通、醫學、民用諸方面,特別是在計算機、信息處理、通信與電子系統、自動控制等領域中有著廣泛的應用[1]。當今,語音識別產品在人機交互應用中己經占到越來越大的比例。近年來,隨著消費類電子產品對低成本、高穩健性的語音識別芯片的需求快速增加。使得語音識別系統大量地從PC機轉移到嵌入式設備中。通過研究者的不斷努力,現在嵌入式非特定人語音識別系統識別精度己經達到85%以上,而對特定人語音識別系線的識別精度就更高了。嵌入式語音識別系統與PC機的語音識別系統相比,雖然其運算速度和存儲容量有限,但它具有自己的一些特點。首先,除語音識別功能外。為了有一個友好的人機界面和對識別正確與否的驗證,該系統還具備語音提示及語音回放功能其次,嵌入式語音識別系統多為實時系統。即當用戶說完待識別的詞條后,系統立即完成識別功能洋右樂回應。最后,嵌入式語音識別系統具有體積小。可靠性高、耗電省、投入少、價格低廉并且便攜性好。可支持移動作業等優點。這是嵌入式語音識別系統與PC機的語音識別系統相比最大的優勢,嵌入式語音識別系統的優點使得其應用的領城十分廣泛。從研究現狀來看,作為語音識別的標志性技術,無限詞匯量、非特定人、連續語音識別系統在比較安靜環境下,對于比較正式的書面語言已經達到了相當高的使用程度,在限定環境下還能達到更好的效果,我們仍要進一步提高識別系統對不同環境、不同說話人和不太說話內容的穩健性。語音識別技術主要包含幾個方面:語音控制、電子發聲、連續語音識別、非連續語音識別和語音學習。目前主要是在支持中英文混合識別問題上,存在一些障礙,同時在識別大量詞匯和個別發音方面還很難做到準確。作為語音識別技術新方向的語音學習,它則要求人模仿標準發音,其面臨的困難是如何衡量人的好壞。智能機器人概述及現狀1.2.1智能機器人概述我們從廣泛意義上理解所謂的智能機器人,它給人的最深刻的印象是一個獨特的進行自我控制的“活物”。其實,這個自控“活物”的主要器官并沒有像真正的人那樣微妙而復雜。智能機器人具備形形色色的內部信息傳感器和外部信息傳感器,如視覺、聽覺、觸覺、嗅覺。除具有感受器外,它還有效應器,作為作用于周圍環境的手段。這就是筋肉,或稱自整步電動機,它們使手、腳、長鼻子、觸角等動起來。我們稱這種機器人為自控機器人,以便使它同前面談到的機器人區分開來。它是控制論產生的結果,控制論主張這樣的事實:生命和非生命有目的的行為在很多方面是一致的。正像一個智能機器人制造者所說的,機器人是一種系統的功能描述,這種系統過去只能從生命細胞生長的結果中得到,現在它們已經成了我們自己能夠制造的東西了[2]。智能機器人能夠理解人類語言,用人類語言同操作者對話,在它自身的“意識”中單獨形成了一種使它得以“生存”的外界環境——實際情況的詳盡模式。它能分析出現的情況,能調整自己的動作以達到操作者所提出的全部要求,能擬定所希望的動作,并在信息不充分的情況下和環境迅速變化的條件下完成這些動作。當然,要它和我們人類思維一模一樣,這是不可能辦到的。不過,仍然有人試圖建立計算機能夠理解的某種“微觀世界”。比如維諾格勒在麻省理工學院人工智能實驗室里制作的機器人。這個機器試圖完全學會玩積木:積木的排列、移動和幾何圖案結構,達到一個小孩子的程度。這個機器人能獨自行走和拿起一定的物品,能“看到”東西并分析看到的東西,能服從指令并用人類語言回答問題。更重要的是它具有“理解”能力。為此,有人曾經在一次人工智能學術會議上說過,不到十年,我們把電子計算機的智力提高了10倍;如維諾格勒所指出的,計算機具有明顯的人工智能成分。第2頁共43頁機器人現在已被廣泛地用于生產和生活的許多領域,按其擁有智能的水平可以分為三個層次。一是工業機器人,它只能死板地按照人給它規定的程序工作,不管外界條件有何變化,自己都不能對程序也就是對所做的工作作相應的調整。如果要改變機器人所做的工作,必須由人對程序作相應的改變,因此它是毫無智能的。二是初級智能機器人。它和工業機器人不一樣,具有象人那樣的感受,識別,推理和判斷能力。可以根據外界條件的變化,在一定范圍內自行修改程序,也就是它能適應外界條件變化對自己怎樣作相應調整。不過,修改程的原則由人預先給以規定。這種初級智能機器人已擁有一定的智能,雖然還沒有自動規劃能力,但這種初級智能機器人也開始走向成熟,達到實用水平。三是高級智能機器人。它和初級智能機器人一樣,具有感覺,識別,推理和判斷能力,同樣可以根據外界條件的變化,在一定范圍內自行修改程序。所不同的是,修改程序的原則不是由人規定的,而是機器人自己通過學習,總結經驗來獲得修改程序的原則。所以它的智能高出初能智能機器人。這種機器人已擁有一定的自動規劃能力,能夠自己安排自己的工作。這種機器人可以不要人的照料,完全獨立的工作,故稱為高級自律機器人。這種機器人也開始走向實用。智能機器人發展方向不過,盡管機器人人工智能取得了顯著的成績,控制論專家們認為它可以具備的智能水平的極限并未達到。問題不光在于計算機的運算速度不夠和感覺傳感器種類少,而且在于其他方面,如缺乏編制機器人理智行為程序的設計思想。你想,現在甚至連人在解決最普通的問題時的思維過程都沒有破譯,人類的智能會如何呢——這種認識過程進展十分緩慢,又怎能掌握規律讓計算機“思維”速度快點呢?因此,沒有認識人類自己這個問題成了機器人發展道路上的絆腳石。制造“生活”在具有不固定性環境中的智能機器人這一課題,近年來使人們對發生在生物系統、動物和人類大腦中的認識和自我認識過程進行了深刻研究[3]。結果就出現了等級自適應系統說,這種學說正在有效地發展著。作為組織智能機器人進行符合目的的行為的理論基礎,我們的大腦是怎樣控制我們的身體呢?純粹從機械學觀點來粗略估算,我們的身體也具有兩百多個自由度。當我們在進行寫字、走路、跑步、游泳、彈鋼琴這些復雜動作的時候,大腦究竟是怎樣對每一塊肌肉發號施令的呢?大腦怎么能在最短的時間內處理完這么多的信息呢?我們的大腦根本沒有參與這些活動。大腦——我們的中心信息處理機“不屑于”去管這個。它根第3頁共43頁本不去監督我們身體的各個運動部位,動作的詳細設計是在比大腦皮層低得多的水平上進行的。這很像用高級語言進行程序設計一樣,只要指出“間隔為一的從1?20的一組數字”,機器人自己會將這組指令輸入詳細規定的操作系統。最明顯的就是,“一接觸到熱的物體就把手縮回來”這類最明顯的指令甚至在大腦還沒有意識到的時候就已經發出了。把一個大任務在幾個皮層之間進行分配,這比控制器官給構成系統的每個要素規定必要動作的嚴格集中的分配合算、經濟、有效。在解決重大問題的時候,這樣集中化的大腦就會顯得過于復雜,不僅腦顱,甚至連人的整個身體都容納不下。在完成這樣或那樣的一些復雜動作時,我們通常將其分解成一系列的普遍的小動作(如起來、坐下、邁右腳、邁左腳)。教給小孩各種各樣的動作可歸結為在小孩的“存儲器”中形成并鞏固相應的小動作。同樣的道理,知覺過程也是如此組織起來的。感性形象——這是聽覺、視覺或觸覺脈沖的固定序列或組合(馬、人),或者是序列和組合二者兼而有之。學習能力是復雜生物系統中組織控制的另一個普遍原則,是對先前并不知道、在相當廣泛范圍內發生變化的生活環境的適應能力。這種適應能力不僅是整個機體所固有的,而且是機體的單個器官、甚至功能所固有的,這種能力在同一個問題應該解決多次的情況下是不可替代的。適應能力這種現象,在整個生物界的合乎目的的行為中起著極其重要的作用。控制機器人的問題在于模擬動物運動和人的適應能力。建立機器人控制的等級——首先是在機器人的各個等級水平上和子系統之間實行知覺功能、信息處理功能和控制功能的分配。第三代機器人具有大規模處理能力,在這種情況下信息的處理和控制的完全統一算法,實際上是低效的,甚至是不中用的。所以,等級自適應結構的出現首先是為了提高機器人控制的質量,也就是降低不定性水平,增加動作的快速性。為了發揮各個等級和子系統的作用,必須使信息量大大減少。因此算法的各司其職使人們可以在不定性大大減少的情況下來完成任務。總之,智能的發達是第三代機器人的一個重要特征。人們根據機器人的智力水平決定其所屬的機器人代別。有的人甚至依此將機器人分為以下幾類:受控機器人——“零代”機器人,不具備任何智力性能,是由人來掌握操縱的機械手;可以訓練的機器人——第一代機器人,擁有存儲器,由人操作,動作的計劃和程序由人指定,它只是記住(接受訓練的能力)和再現出來;感覺機器人——機器人記住人安排的計劃后,再依據外界這樣或那樣的數據(反饋)算出動作的具體程序;智能機器人——人指定目標后,機器人獨自編制操作計劃,依據實際情況確定動作程序,然后把動作變為操作機構的運動。因此,它有廣泛的感覺系統、智能、模擬裝置(周圍情況及自身——機器人的意識和自我意識)。1.3語音識別技術的概述語音識別技術,也被稱為自動語音識別AutomaticSpeechRecognition,(ASR),其目標是將人類的語音中的詞匯內容轉換為計算機可讀的輸入,例如按鍵、二進制編碼或者字符序列。與說話人識別及說話人確認不同,后者嘗試識別或確認發出語音的說話人而非其中所包含的詞匯內容。語音識別技術的應用包括語音撥號、語音導航、室內設備控制、語音文檔檢索、簡單的聽寫數據錄入等。語音識別技術與其他自然語言處理技術如機器翻譯及語音合成技術相結合,可以構建出更加復雜的應用,例如語音到語音的翻譯。語音識別技術所涉及的領域包括:信號處理、模式識別、概率論和信息論、發聲機理和聽覺機理、人工智能等等[4]。語音識別的發展歷史1.4.1國外研究歷史及現狀語音識別的研究工作可以追溯到20世紀50年代AT&T貝爾實驗室的Audry系統,它是第一個可以識別十個英文數字的語音識別系統。但真正取得實質性進展,并將其作為一個重要的課題開展研究則是在60年代末70年代初[5]。這首先是因為計算機技術的發展為語音識別的實現提供了硬件和軟件的可能,更重要的是語音信號線性預測編碼(LPC)技術和動態時間規整(DTW)技術的提出,有效的解決了語音信號的特征提取和不等長匹配問題。這一時期的語音識別主要基于模板匹配原理,研究的領域局限在特定人,小詞匯表的孤立詞識別,實現了基于線性預測倒譜和DTW技術的特定人孤立詞語音識別系統;同時提出了矢量量化(VQ)和隱馬爾可夫模型(HMM)理論。隨著應用領域的擴大,小詞匯表、特定人、孤立詞等這些對語音識別的約束條件需要放寬,與此同時也帶來了許多新的問題:第一,詞匯表的擴大使得模板的選取和建立發生困難;第二,連續語音中,各個音素、音節以及詞之間沒有明顯的邊界,各個發音單位存在受上下文強烈影響的協同發音(Co-articulation)現象;第三,非特定人識別時,不同的人說相同的話相應的聲學特征有很大的差異,即使相同的人在不同的時間、生理、心理狀態下,說同樣內容的話也會有很大的差異;第四,識別的語音中有背景噪聲或其他干擾。因此原有的模板匹配方法已不再適用。實驗室語音識別研究的巨大突破產生于20世紀80年代末:人們終于在實驗室突破了大詞匯量、連續語音和非特定人這三大障礙,第一次把這三個特性都集成在一個系統中,比較典型的是卡耐基梅隆大(CarnegieMellonUniversity)的Sphinx系統,它是第一個高性能的非特定人、大詞匯量連續語音識別系統。這一時期,語音識別研究進一步走向深入,其顯著特征是HMM模型和人工神經元網絡(ANN)在語音識別中的成功應用。HMM模型的廣泛應用應歸功于AT&TBell實驗室Rabiner等科學家的努力,他們把原本艱澀的HMM純數學模型工程化,從而為更多研究者了解和認識,從而使統計方法成為了語音識別技術的主流。統計方法將研究者的視線從微觀轉向宏觀,不再刻意追求語音特征的細化,而是更多地從整體平均(統計)的角度來建立最佳的語音識別系統。在聲學模型方面,以Markov鏈為基礎的語音序列建模方法HMM(隱式Markov鏈)比較有效地解決了語音信號短時穩定、長時時變的特性,并且能根據一些基本建模單元構造成連續語音的句子模型,達到了比較高的建模精度和建模靈活性。在語言層面上,通過統計真實大規模語料的詞之間同現概率即N元統計模型來區分識別帶來的模糊音和同音詞。另外,人工神經網絡方法、基于文法規則的語言處理機制等也在語音識別中得到了應用。20世紀90年代前期,許多著名的大公司如IBM、蘋果、AT&T和NTT都對語音識別系統的實用化研究投以巨資。語音識別技術有一個很好的評估機制,那就是識別的準確率,而這項指標在20世紀90年代中后期實驗室研究中得到了不斷的提高。比較有代表性的系統:IBM公司推出的ViaWice和DragonSystem公司NaturallySpeaking,Nuance公司的NuanceVoicePlatform語音平臺,Microsoft的Whisper,Sun的VoiceTone等。其中IBM公司于1997年開發出漢語ViaWice語音識別系統,次年又開發出可以識別上海話、廣東話和四川話等地方口音的語音識別系統ViaWice'98。它帶有一個32.000詞的基本詞匯表,可以擴展到65,000詞,還包括辦公常用詞條,具有“糾錯機制”,其平均識別率可以達到95%。該系統對新聞語音識別具有較高的精度,是目前具有代表性的漢語連續語音識別系統。國內研究歷史及現狀我國語音識別研究工作起步于五十年代,但近年來發展很快。研究水平也從實驗室逐步走向實用。從1987年開始執行國家863計劃后,國家863智能計算機專家組為語音識別技術研究專門立項,每兩年滾動一次。我國語音識別技術的研究水平已經基本上第6頁共43頁與國外同步,在漢語語音識別技術上還有自己的特點與優勢,并達到國際先進水平。中科院自動化所、聲學所、清華大學、北京大學、哈爾濱工業大學、上海交通大學、中國科技大學、北京郵電大學、華中科技大學等科研機構都有實驗室進行過語音識別方面的研究,其中具有代表性的研究單位為清華大學電子工程系與中科院自動化研究所模式識別國家重點實驗室[6]。清華大學電子工程系語音技術與專用芯片設計課題組,研發的非特定人漢語數碼串連續語音識別系統的識別精度,達到94.8%(不定長數字串)和96.8%(定長數字串)。在有5%的拒識率情況下,系統識別率可以達到96.9%(不定長數字串)和98.7%(定長數字串),這是目前國際最好的識別結果之一,其性能已經接近實用水平。研發的5000詞郵包校核非特定人連續語音識別系統的識別率達到98.73%,前三選識別率達99.96%;并且可以識別普通話與四川話兩種語言,達到實用要求。中科院自動化所及其所屬模式科技(Pattek)公司2002年發布了他們共同推出的面向不同計算平臺和應用的“天語”中文語音系列產品一PattekASR,結束了中文語音識別產品自1998年以來一直由國外公司壟斷的歷史。語音識別技術的前景和應用在電話與通信系統中,智能語音接口正在把電話機從一個單純的服務工具變成為一個服務的“提供者”和生活“伙伴”。使用電話與通信網絡,人們可以通過語音命令方便地從遠端的數據庫系統中查詢與提取有關的信息;隨著計算機的小型化,鍵盤已經成為移動平臺的一個很大障礙,想象一下如果手機僅僅只有一個手表那么大,再用鍵盤進行撥號操作已經是不可能的。語音識別正逐步成為信息技術中人機接口的關鍵技術,語音識別技術與語音合成技術結合使人們能夠甩掉鍵盤,通過語音命令進行操作。語音技術的應用已經成為一個具有競爭性的新興高技術產業[7]。語音識別技術發展到今天,特別是中小詞匯量非特定人語音識別系統識別精度已經大于98%,對特定人語音識別系統的識別精度就更高。這些技術已經能夠滿足通常應用的要求。由于大規模集成電路技術的發展,這些復雜的語音識別系統也已經完全可以制成專用芯片,大量生產。在西方經濟發達國家,大量的語音識別產品已經進入市場和服務領域。一些用戶交機、電話機、手機已經包含了語音識別撥號功能,還有語音記事本、語音智能玩具等產品也包括語音識別與語音合成功能。人們可以通過電話網絡用語音識別口語對話系統查詢有關的機票、旅游、銀行信息,并且取得很好的結果。調查統計表明多達85%以上的人對語音識別的信息查詢服務系統的性能表示滿意。可以預測在近五到十年內,語音識別系統的應用將更加廣泛。各種各樣的語音識別系統產品將出現在市場上。人們也將調整自己的說話方式以適應各種各樣的識別系統。在短期內還不可能造出具有和人相比擬的語音識別系統,要建成這樣一個系統仍然是人類面臨的一個大的挑戰,我們只能一步步朝著改進語音識別系統的方向一步步地前進。至于什么時候可以建立一個像人一樣完善的語音識別系統則是很難預測的。就像在60年代,誰又能預測今天超大規模集成電路技術會對我們的社會產生這么大的影響。影響智能機器人語音識別系統設計的主要因素現在語音識別技術存在的一些瓶頸主要在于:方言或口音降低語音識別率、背景噪音、“口語”的問題:它既涉及到自然語言理解、又與聲學有關,口語的語法不規范和語序不正常的特點會給語義的分析和理解帶來困難,有些很不自然的合成效果往往是因為沒有能正確的使用合成與識別系統而導致的,并不是說是合成技術的不成熟。而是語音庫德完善度存在一定的差距。由于對語音識別的需要來自不同的領域和部門,因此對語音識別系統應具有的性能和指標提出了差異極大的要求,語音識別系統要根據一定的指標、要求設計。因此有必要討論系統設計過程中要考慮的各種因素、語音識別系統的基本結構以及系統的設計方略和步驟。語音識別系統的設計要考慮到服務對象、詞表大小、工作環境、發音方式等許多因素,下面逐一討論這些因素對語音識別系統結構設計和識別方法研究的影響[8]。(1)服務對象:語音識別系統根據服務對象的不同分為特定人識別系統和非特定人識別系統,一個特定人的語音識別系統中每一個使用者都必須建立自己專用的參考模式庫,而非特定人識別系統事先將許多人的語音樣本訓練好,使用者無論是否參加過訓練都可以共用一套參考模式。兩者的系統結構、參數選擇、識別方法都可能有很大差別,后者在技術上的難度也遠比前者大。總之,服務對象是決定語音識別系統設計方案的重要影響因素。(2)詞匯表的大小:每個語音識別系統都有一個詞匯表,它只可以識別詞匯表中的詞,隨著詞匯量的增大,詞間的相似性增加,分辨會更困難,而且系統的存儲開銷和搜索運算開銷也會增加,所以詞表的大小影響識別策略的選擇。(3)發音方式:發音方式可以分為孤立詞發音和連續語音發音,孤立詞發音容易進行端點檢測,識別系統在結構上簡單的多。連續語音發音很難確定詞的聲學邊界,語音單位相連時相互影響會出現很大變異,識別系統在結構上相當復雜。(4)語音的質量:通常在實驗室環境下工作良好的識別器在含有噪聲的環境下性能會明顯下降,因此必須明確一個系統的使用場合。(5)工作性質:對于聽寫機來說要求將口述語言正確無誤地轉換為書面文字。而在問詢、查詢系統中,用戶在說話中常帶有一些不必要的添加話語,這時系統需作關鍵字檢出,對用戶的要求作出正確響應。在一些特定任務的語音識別中,我們可以總結出語法規則,而大多數情況下,用語法規則涵蓋所有可能的情況幾乎是不可能的。工作性質的不同決定了語音識別系統的不同的影響。論文主要研究內容本文主要研究基于凌陽SPCEO61A單片機的智能機器人的語音控制系統的設計,若慮影響語音控制系統的主要因素,本文具體內容安排如下:(1)簡要介紹智能機器人語音識別系統的基本概念和發展過程,繼而分析影響語音識別系統的主要因素,最后闡明本論文的主要研究內容。(2)總體介紹語音識別的基本概念和分類,重點語音識別的原理以及在識別過程中所采用的技術。(3)根據本論文的具體要求選擇凌陽16位單片機芯片,繼而簡要介紹SFCE060lA芯片的結構以及相關特性,最后進行智能機器人語音識別系統的硬件設計。(4)在語音識別硬件系統的設計基礎上為了實現語音系統交互功能進行語音命令訓練、語音資源的存儲和播放、串口通訊、中斷控制等軟件設計。(5)對智能機器人語音控制系統實驗仿真,并指出影響語音識別穩定性的因素。2語音識別原理和設計采用方案語音識別技術關系到多學科的研究領域,不同領域上的研究成果都對語音識別的發展作了貢獻。機器人語音識別過程與人對語音識別處理過程基本上是一致的,目前主流的語音識別技術是基于統計模式識別的基本理論。一個完整的語音識別系統可大致分為語音特征提取、聲學模型和模式匹配、語言模型和語言處理三部分,而對小詞表語音識別系統,往往不需要語音處理部分[9]。2.1語音識別的分類語音識別系統可以根據對輸入語音的限制加以分類。如果從說話者與識別系統的相關性考慮,可以將識別系統分為3類:(1)特定人語音識別系統:僅考慮對于專人的話音進行識別;(2)非特定人語音系統:識別的語音與人無關,通常要用大量不同人的語音數據庫對識別系統進行學習;(3)多人的識別系統:通常能識別一組人的語音,或者成為特定組語音識別系統,該系統僅要求對要識別的特定人的語音進行訓練。如果從說話的方式考慮,也可以將識別系統分為3類:(1)孤立詞語音識別系統:孤立詞識別系統要求輸入每個詞后要停頓;(2)連接詞語音識別系統:連接詞輸入系統要求對每個詞都清楚發音,一些連音現象開始出現;(3)連續語音識別系統:連續語音輸入是自然流利的連續語音輸入,大量連音和變音會出現。本系統屬于第一類。如果從識別系統的詞匯量大小考慮,也可以將識別系統分為3類:(1)小詞匯量語音識別系統。通常包括幾十個詞的語音識別系統。(2)中等詞匯量的語音識別系統。通常包括幾百個詞到上千個詞的識別系統。(3)大詞匯量語音識別系統。通常包括幾千到幾萬個詞的語音識別系統。隨著計算機與數字信號處理器運算能力以及識別系統精度的提高,識別系統根據詞匯量大小進行分類也不斷進行變化。目前是中等詞匯量的識別系統到將來可能就是小詞匯量的語音識別系統。這些不同的限制也確定了語音識別系統的困難度。本系統屬于小詞匯量語音識別系統。語音識別基本原理語音識別技術就足讓機器通過識別和理解過程把語行信號轉變為相應的文本或命令的高技術,然而語音信號本身的特點造成了語音識別的困難。這些特點包括多變性、動態性、瞬時性和連續性等。計算機語語音識別過程與人對語言識別處理過程從本上是一致的。日前主流的語音識別技術是基于統計模式識別的基本理論[10]。對于不同的語音識別系統來說,雖然具體實現的細節有所不同。但所采用的基本技術和方法步驟基本相似,如圖2.1語音識別系統的基本結構是一個典型的語音識別系統的實現過程。圖2.1語音識別系統的基本結構語音識別系統實質上是一種模式識別系統,與常規模式識別系統一樣包括有特征提取、模式匹配、參考模式庫等三個基本單兀。語音識別的步驟分為三步。第一步是根據識別系統的類型選擇一種識別方法,采用語音分析方法分析出這種識別方法所要求的語音特征參數,這些參數作為標準模式由機器存儲起來,形成參考模式庫。第二步是語音識別的核心,采用選擇的語音識別方法進行模式匹配。語音識別核心部分又分別表現為模型的建立、訓練和識別三個部分。第三步,語音識別可以進行后處理,后處理通常是一個音字轉換過程,有可能包括更高層次的詞法、句法和文法處理,另外也有可能作為某個具體的任務語法的輸入。2.3語音信號預處理預處理是提高語音識別性能,增強穩健性的重要環節。預處理一般包括預加重、加窗、分幀和端點檢測等。預加重的目的是提升高頻部分,使信號的頻譜變得平坦,保持在低頻到高頻的整個頻帶中,能用同樣的信噪比求頻譜,以便進行頻譜分析或聲道參數分析。上述過程可以用公式(2-1)表示:y(n)=x(n)一0.97x(n一1) (2-1)根據語音信號的短時平穩性,可以對它進行分幀操作,為防止泄漏(Gibbs)現象,可以加窗處理。加窗分幀的目的是為了利用有限容量的數據區依次處理數量極大的語音數據。根據語音信號在10?20ms內語音信號特性小變的特點,一般取幀長為20ms,幀移為幀長的0?1/2倍。常用的函數窗為漢明窗、漢寧窗和矩形窗。漢明窗可以有效的克第11頁共43頁服泄露現象,具有更平滑的低通特性,因此應用更為廣泛。矩形窗:11w(n)11w(n)二<|0(0<n<N-1)(n<0或n>N)2-2)漢明窗:w(n)w(n)=H-0-46cos(2N-?(0<n<N-1)(n<0或n>N)2-3)漢寧窗:w(nw(n)=H-叭皆))(0<n<N-1)(n<0或n>N)2-4)經過加窗分幀處理后,語音信號就已經被分割成一幀一幀的加窗函數的短時信號,然后再把每一個短時語音幀看成平穩的隨機信號,利用數字信號處理技術來提取語音特征參數。在進行處理時,按幀從數據區中取出數據,處理完成后再取下一幀。最后得到由每一幀參數組成的語音特征參數的時間序列。端點檢測是將語音信號從背景噪聲中提取出來,以確定語音信號的起止點。端點檢測可以避免不必要的計算量,同時設定語音識別解碼的起點和終點,防止無效搜索。端點檢測大多數采用短時能量或者過零率作為判別準則,經過預加重的語音信號通過分幀之后,以幀的形式進行處理。分幀的過程由兩個參數決定幀長、幀移。對于短時過程而言,幀長決定了頻率區分度和時間區分度。幀長較長的幀(>300ms),其時間區分度較差。而幀長太短,則短頻率區分度下降。目前采用的幀長在100?250ms之問。幀移決定了相鄰兩幀之間的時間間隔,一般在語音識別中,80ms是常用的幀移。當幀移小于幀長時,就出現了部分重疊。2.4特征量的提取語音信號中含有豐富的信息,特征提取就是對語音信號進行分析處理,去除對語音識別無關緊要的冗余信息,提取出對語音識別有用的重要信息。對于非特定人語音識別來講,希望特征參數盡可能多的反映語音信息,盡量減少說話人的個人信息對特定人語音識別來講,則相反。從信息論角度講,這是信息壓縮的過程。特征提取是語音識別前端處理的主要任務。特征如果具有很好的區別性,模型的設計和訓練就會變得簡單高效。特征提取包括對語音共振峰頻率、幅度等參數,以及對線性預測參數、倒譜參數等的提取和分析[11]。2.4.1線性預測分析線性預測,通常又稱為線性預測編碼。線性預測是語音處理的核心技術,應用于信號處理的各個方面,是最有效、最流行的語音分析技術之一。線性預測是基于全極點模型的假設,采用時域均方誤差最小準則來估計模型參數。線性預測的計算效率很高,而且還能與聲管發音模型相聯系,并發展出了多種與人們聽覺聯系緊密的譜失真測度方法,所以本文選取其作為特征矢量計算方法。線性預測分析的墾本思想是每個語音信號采樣值,都可以用它過去的取樣值的加權和來表示,各加權系數應使實際語音采樣值與線性預測采樣值之間的誤差的平方和達到最小,即進行最小均方誤差的逼近。這里的加權系數就是線性預測系數。線性預測是將被分析信號用一個模型來表示,即將語音信號看作是某一模型的輸出。因此,它可以用簡單的模型參數來描述。如圖2.2信號模型圖所示:圖2.2信號模型圖(2-5)(2-6)u(n)表示模型的輸入,(2-5)(2-6)H(z)= -—1-乞az-iii=1式子中a是系數,p是預測模型的階數。iu(n)與s(n)的關系可用差分方程(2-6)表示:s(n)=Yas(n-k)+Gu(n)kk=1即,用信號的前一個樣本來預測當前樣本,定義預測器:(2-7)s'(n)=Yas(n-k)(2-7)kk=1由于頂測系數占}在預測過程可看作作常數,所以它是一種線性預測器。這種線性k預測技術最早被應用于語音編碼,因此常被稱為線性預測編碼。此線性預測器的系統函數可表示為:第13頁共43頁P(z)=Xaz-kkk=1如果是s(n)信號符合此模型,那么線性預測器的預測誤差為式(2-9):2-8)e(n)=G*u(n)2-9)但是實際信號不一定符合這個假定的模型,因此實際中存在預測誤差。預測誤差可表示為式(2-10):e(n)=s(n)-s'(n)=s(n)-Xas(n-k)kk=1能使信號序列產生上面的預測誤差序列的系統,其函數表達式可以用式(2-11)表2-10)示:A(z)=1-Xaz-kkk=1可以看出,預測誤差濾波器A(z)是系統函數的逆濾波器。要使此模型盡可能精確的2-11)描述信號s(n),預測誤差能量在某一短時間內的總能量應該盡量的小,在此準則下求最佳預測系數{a}。短時平均誤差能量定義為:kE=X[S(m)-XpaS(m-k)]n n knm k=1S(m)表示寬度為N的語音據幀。使E達到最小值的{a}必須滿足2-12)n n kQE/Qa=0(i=1,2......p),由此便得到以{a}為變量的線性方程組(2-13):ni kXa0(i,k)=0(i,0) i=1,2 pknk=1式中0(i,k)為系數矩陣:n2-13)0(i,k)=XS(m-1)S(m-k)nm對長度為N的語音信號數列,可以利用短時自相關定義求解2-14)0(i,k)=R(i-k)nn2-15)式中短時自相關函數R(k)=嗆S(m)*S(m+k)n n n0考慮到R(k)是偶函數,于是可以表示為n2-16)£aR(i-k|)=R(i) (2-17)kn nk=1這就是Yule-Walker方程,其中R(i-k)組成的矩陣是一個托步利茲矩陣。這n種特殊的線性方程組有多種高效的遞推算法可求出系數。正是這些高效的遞推算法,保證了線性預測技術,被廣泛應用于信號處理的各個方面。2.4.2倒譜分析語音信號特征向量采用Mel頻率倒譜系數MFCC(MelFrequencyCepstrumCoeficient)的提取,MFCC參數是基于人的聽覺特性的,它利用人聽覺的臨界帶效應,采用MEL倒譜分析技術對語音信號處理得到MEL倒譜系數矢量序列,用MEL倒譜系數表示輸入語音的頻譜。在語音頻譜范圍內設置若干個具有三角形或正弦形濾波特性的帶通濾波器,然后將語音能量譜通過該濾波器組,求各個濾波器輸出能量,對其取對數,并作離散余弦變換(DCT),即可得到MFCC系數。在計算機平臺的仿真實驗中,通過各種參數的實際比較,采用MFCC參數比采用線性預測系數(LPCC)參數有更好的識別效果。但在Matlab平臺上做實時處理時,MFCC系數計算雖然有兩個缺點:一是計算時間長;二是精度難以保證。由于MFCC系統的計算需要FFT變換和對數操作,影響了計算的動態范圍;要保證系統識別的實時性,就只有犧牲參數精度,但是MFCC由于反映人的聽覺特性,因此其性能和魯棒性是所有參數中最好的,雖然LPCC參數的計算有遞推公式,速度和精度都可以保證,但在噪聲比較大的情況下,識別效果無法滿足實際需要。模式匹配及模型訓練技術模型訓練是指按照一定的準則,從大量已知模式中獲取表征該模式本質特征的模型參數,而模式匹配則是根據一定準則,使未知模式與模型庫中的某一個模型獲得最佳匹配。語音識別所應用的模式匹配和模型訓練技術主要有動態時間歸正技術(DTW)、隱馬爾可夫模型(HMM)和人工神經元網絡(ANN)[12]。DTW是較早的一種模式匹配和模型訓練技術,它應用動態規劃方法成功解決了語音信號特征參數序列比較時時長不等的難題,在孤立詞語音識別中獲得了良好性能。但因其不適合連續語音大詞匯量語音識別系統,目前已被HMM模型和ANN替代。HMM模型是語音信號時變特征的有參表示法。它由相互關聯的兩個隨機過程共同描述信號的統計特性,其中一個是隱蔽的(不可觀測的)具有有限狀態的Markor鏈,另一個是與mARKOR鏈的每一狀態相關聯的觀察矢量的隨機過程(可觀測的)。隱蔽Markor鏈的特性要靠可觀測到的信號特征揭示。這樣,語音等時變信號某一段的特征就由對應狀態觀察符號的隨機過程描述,而信號隨時間的變化由隱蔽Markor鏈的轉移概率描述。模型參數包括HMM拓撲結構、狀態轉移概率及描述觀察符號統計特性的一組隨機函數。按照隨機函數的特點,HMM模型可分為離散隱馬爾可夫模型(采用離散概率密度函數,簡稱DHMM)和連續隱馬爾可夫模型(采用連續概率密度函數,簡稱CHMM)以及半連續隱馬爾可夫模型(SCHMM,集DHMM和CHMM特點)。一般來講,在訓練數據足夠時,CHMM優于DHMM和SCHMM。HMM模型的訓練和識別都已研究出有效的算法,并不斷被完善,以增強HMM模型的魯棒性。人工神經元網絡在語音識別中的應用是現在研究的又一熱點。ANN本質上是一個自適應非線性動力學系統,模擬了人類神經元活動的原理,具有自學、聯想、對比、推理和概括能力。這些能力是HMM模型不具備的,但ANN又不具有HMM模型的動態時間歸正性能。因此,現在已有人研究如何把二者的優點有機結合起來,從而提高整個模型的魯棒。本設計選用的方案依據嵌入式語音識別系統的特點,在對本系統進行設計前,應對系統定制一個總體上的標準,用于指導系統的軟硬件的設計。系統標準是體積小、可靠性高、耗電省、價格低、且為實時識別,識別詞匯量為小詞匯量,需進行訓練才能識別。此外,系統還要具備語音提示功能。2.6.1系統采用的芯片根據語音識別的性能,識別算法及發展時期的不同,語音識別系統芯片大可以分為以下幾個類型:(1) 由帶通濾波器及線形匹配電路構成的專用IC。這是20世紀80年代初期的產品,也是早期的語音識別專用集成電路。它由一組帶通濾波器組成特征提取電路,然后用線性匹配電路進行模式匹配。這種電路的語音識別性能低,現已很少應用。(2) 由單片機MCU組成的語音識別專用IC。它以8位機或者16位機為計算核心,A/D轉換,D/A轉換及存儲器組成。由于單片機的運算能力有限,因而其識別算法不可能復雜,精度也低,故一般識別率不會太高。典型芯片是1996年美國sensory公司生產的Rsc-146。由數字信號處理器DSP組成的語音識別系統。它一般由定點16位DSP。外加A/D轉換和D/A轉換以及ROM,RAM,FLASH等存儲器組成。由于DSP包含用做數字信號處理的專用部件,因而運算能力強,精度高,適于組成較高性能的語音識別系統。最常用DSP芯片是TI公司的TMS320AC54XX系列,AD公司的ADSPZ18X系列及DSPG公司開發的OAK系列。用DSP組成的語音識別系統可以實現特定人和非特定人語音識別功能,識別詞條可以達到中等詞匯量;由人工神經網絡構成的語音識別專用芯片。由于語音信號是一個時間區間動態變化的信號,一般采用的多層前向感知機算法。但是,由于人工神經網絡很難達到和語音信號的最佳匹配,因此用人工神經網絡實現的語音識別系統的識別性能很不理想。而如果采用時延單元神經網絡,并且與其他方法配合,則可以實現較高性能的語音識別。語音識別系統級芯片(SoC)。將MCU或DSP、A/D、D/A、RAM、ROM以及預放、功放等電路集成在一個芯片上,只要加上極少的電源供電等單元就可以實現語音識別、語音合成以及語音回放等功能。這是最近兩年出現的最先進的語音識別芯片,其性能價格比較高,功耗省。最有代表性的是Sensory公司的RSC-364及Infineon公司的UniSpeech-SDA80D51。凌陽公司的SPCE061A也是這類產品。由于SPCE061A單片機內置32位I/O端口,2路D/A轉換,8位A/D轉換,14個中斷源等功能,可編程音頻處理功能以及在線仿真功能具有較高的處理速度,能夠更容易處理的數字信號,這些都為語音的識別、播放、錄放及合成提供條件,所以本設計采用SPCEO61A單片機為主控制芯片。系統采用的語音識別算法輸入語音信號經過預處理和特征提取后就要對其進行語音識別。想要得到最優的語音識別性能,關鍵是要選擇合適的語音識別算法。識別算法選擇與確立的唯一標準就是系統自身特點及系統設計的目的與要求。比較常用的識別算法有基于模板匹配的動態時間規整法(DTW)、基于統計模型的隱馬爾柯夫模型法(HMM)以及基于神經網絡的識別法(ANN)等。HMM和ANN算法適用于大詞匯量、非特定人的語音識別系統,需要大量的前期訓練工作,對系統資源要求比較高,比較適合于PC機系統。DTW算法是采用模板匹配法進行相似度計算,當詞匯表所包含的詞匯量較小時,可以得到較好的效果。該算法的優點就是不需大量的前期運算,可以有效節約系統資源,降低系統成本開支。完全適合本系統的設計要求,所以語音識別算法選用DTW算法來實現。綜合上述比較,由于單片機系統資源有限,大量運算的前期訓練是無法在有限的單片機資源上獨立完成的。而且系統要求是小詞匯量,孤立詞短語識別,故使用DTW就可以滿足系統設計的要求。3智能機器人語音控制系統硬件電路設計3.1設計總體方案本設計采用凌陽單片機SPCE061A為語音控制芯片來設計,機器人語音控制系統主要包括以下幾個模塊:麥克風(MIC)輸入模塊,超聲波傳感器,SPCE061A控制控制模塊,機器人動作模塊,通信模塊和喇叭輸出模塊,其系統結構圖如圖3.1智能機器人語音控制系統設計模塊結構圖所示。圖3.1智能機器人語音控制系統設計模塊結構圖其中機器人動作模塊包括左右腿電機、頭部電機推進電機和發射電機幾個部分,機器人實物連接結構圖如圖3.2智能機器人硬件連接結構圖。圖3.2智能機器人硬件連接結構圖

SPCE061A單片機的主要特點SPCE061A是凌陽科技研發生產的性價比很高的一款十六位單片機,⑵使用它可以非常方便靈活的實現語音的錄放系統,該芯片擁有8路10位精度的ADC,其中一路為音頻轉換通道,并且內置有自動增益電路。這為實現語音錄入提供了方便的硬件條件。兩路10位精度的DAC,只需要外接功放(SPY0030A)即可完成語音的播放。另外凌陽十六位單片機具有易學易用的效率較高的一套指令系統和集成開發環境。在此環境中,支持標準C語言,可以實現C語言與凌陽匯編語言的互相調用,并且,提供了語音錄放的庫函數,只要了解庫函數的使用,就會很容易完成語音錄放,這些都為軟件開發提供了方便的條件。SPCE061A內部結構如圖3.3SPCE061A內部結構。ICEENICESCKICESDA16位徽處理器ICEENICESCKICESDA16位徽處理器+ICEFLASHROMRAM歡+六位走時器/計救器時基中斷控制MICIN鎖相環振蕩器CPU時鐘實時時鐘7通道m位ADC單通道ADC+AGC底電壓監測>1 Fv収通道1D位鎖相環振蕩器CPU時鐘實時時鐘7通道m位ADC單通道ADC+AGC底電壓監測>1 Fv収通道1D位低電壓復位%——DAC輸出討串行輸A.輸出接AUDIUART(通用異歩串行接LI■!AUD2IOB101057IOBOI0B132位管腳通用輸入輸出端口SPCE061A的功能特點[13]:16位u'nSP微處理器;工作電壓:內核工作電壓VDD為3.0?3.6V(CPU),IO口工作電壓VDDH為VDD?5.5V(I/O);CPU時鐘:0.32MHz?49.152MHz;內置2K字SRAM;內置32K閃存ROM;可編程音頻處理;晶體振蕩器;?系統處于備用狀態下(時鐘處于停止狀態),耗電小于2口A、3.6V;2個16位可編程定時器/計數器(可自動預置初始計數值);2個10位DAC(數-模轉換)輸出通道;32位通用可編程輸入/輸出端口;14個中斷源可來自定時器A/B,時基,2個外部時鐘源輸入,鍵喚醒;具備觸鍵喚醒的功能;使用凌陽音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語音數據;鎖相環PLL振蕩器提供系統時鐘信號;32768Hz實時時鐘;7通道10位電壓模-數轉換器(ADC)和單通道聲音模-數轉換器;?聲音模-數轉換器輸入通道內置麥克風放大器和自動增益控制(AGC)功能;具備串行設備接口;低電壓復位(LVR)功和低電壓監測(LVD)功能;內置在線仿真板(ICE,In-CircuitEmulator)接口。電源模塊電源電路模塊電源采用四節五號電池,其6V直接給機器人運動模塊供電,并引出一個電源接口給SPCE061A板供電,SPCE061A上的電源模塊如圖3.4電源模塊電路所示,為了獲得標準的3.3V電壓,加入SPY0029三端穩壓器,并前后兩組電容用來濾波,使直流更加干凈平滑,兩個二極管的作用是防止電源反接,后面的零電阻及其電源、地分成幾路的目的是為了減少電磁干擾。

圖3.4圖3.4電源模塊電路3.4MIC輸入模塊SPCE061A的A/D轉換器有8個通道,其中有1個通道是MIC-NI輸入,它專門用于對語音信號進行采樣。語音信號經過MCI轉換成電信號,然后輸入至SPCE061A內部前置放大器。由于人們說話時,麥克風距離嘴邊的距離不同,語音信號的能量將會有很大的差異,此時,如果芯片的的輸入信號太大或是太小都將影響識別的精度。而SPCE061A內部就帶有自動增益控制電路AGC能隨時跟蹤、監視前置放大器輸出的音頻信號電平,當輸入信號增大時AGC電路自動減小放大器的增益;當輸入信號減小時,AGC電路自動增大放大器的增益,從而以補償太小或是太大的信號,以便使進入戶A/D的信號保持在最佳電平。K1KQCROPHOKE~F141DKVMICVCM4ikFmicp-IkknewmcouT502K1KQCROPHOKE~F141DKVMICVCM4ikFmicp-IkknewmcouT5021 <OPL3.5語音輸出模塊語音輸出用的是SPCE061A內部集成的DAC,它是電流輸出,為了能夠驅動揚聲器SPEAKEY放音需要相應的驅動電路。圖中采用的是凌陽公司生產的語音集成放大器SPY0030單運放。SPY0030與常用的單運放LM386相比其優點如下:(1)LM386的工作電壓必須在4V以上,而SPY0030的只需要2.4V即可工作:(2)LM386的輸出功率在100W以下,而SPY0030約為700,可以提供足夠的驅動能力。要輸出的語音信號經D/A轉換后經SPY0030放大后由喇叭輸出,通過調節電位器R9的大小可以控制輸出語音的通路,使得DAC通道處于開路狀態,這樣便于DAC做其他用途,也可以通過這個跳線來加入自己的外圍電路。其電路圖如下:R161K圖3.6語音輸出電路3.6超聲波傳感模塊單片機通過A7口輸出一40KHZ的方波,再經反相器驅動超聲波發射頭,發出脈沖超聲波。超聲波遇到物體將反射回來,接受頭將接收到的超聲波調制脈沖變為交變電壓信號,經兩級運算放大器放大,輸出信號控制單片機。其電路圖如圖3.7產生波傳感電路。

圖3.7超聲波傳感電路3.7通信模塊通信模塊電路是一串行接口電路,單片機的數據通過串口由MAX232電平轉換成RS-232電平向上位傳輸。凌陽SPCE061A單片機串行通信的接收管腳RXD和發送管腳TXD分別與IOB7和IOB10共用。SPCE061A的串行接口為全雙工的接口,還沒有接收緩沖器。電路中選用標準的RS-232C串行接口是異步串行通信中最為廣泛的標準。由于SPCE061A的串行口都為TTL電平,它與RS-232C電平互不相容,所以在二者接口處,必須進行電平轉換。利用MAX232芯片處接5V電源,外接電容,可以產生正負10V的電源,形成RS-232C的收發器。本系統中設有通信電路是為了將大量語音數據處理都需要上傳給PC,由PC完成。比如,噪聲能量和過零率的計算,數字濾波器設計,模型庫訓練等。其電路原理圖如圖3.8通信模塊電路。2 3 4 5U3Cl?D.luFC20O-.luTg蟲

遼TcFR2OUTR2INR1OUTRLINT2INT1TNC2-C2+Cl-C1+T2OUTU3Cl?D.luFC20O-.luTg蟲

遼TcFR2OUTR2INR1OUTRLINT2INT1TNC2-C2+Cl-C1+T2OUTT1OUTGNDVCCV-V+MAX230J3DB91660liiF2_buT7h'5VCAP4CZ1o.niF圖3.8通信模塊電路3.8機器人動作模塊機器人共有五個直流電機,除發射電機和推進電機外,其他三個都是正反轉兩用電機,即在電機驅動端的兩路為高低電平時電機轉動,改變高低電平的輸入順序,電機反向轉動,這樣可以控制機器人的前進、后退,左右搖等雙向動作。發射電機和推進電機的轉動方向是固定的,發射電機的轉速較高,高速的旋轉帶動轉盤依靠摩擦力把飛盤發射出去。推進電機的任務就是把發射所需要的飛盤從存儲倉輸送到發射轉盤位置。它依靠的是電機帶動一個彈簧的機械裝置,電機轉動一圈,機簧就會彈射一下,從而完成輸送炮彈的任務。由于機器人的左右腿以及脖子驅動電路工作原理相似,這里就以機器人的左腿電機驅動控制電路為例。如圖3.9左腿電機所示通過調節IOB8和IOB9的不同電平實現電機的正反轉。當IOB8為高IOB9為低時,三極管QI、Q2、Q6導通,則M-L1端相當于接電源VDD;此時又三極管Q3、Q4、Q5截止,則M-L2端相當于接地,這時驅動電機正向轉動,當需要電機反轉時,只需要IOB8和IOB9反向。R]5圖3.9左腿電機發射電機和推進電機的轉動方向是固定的,發射電機的轉速較高,高速的旋轉帶動轉盤依靠摩擦力把飛盤發射出去。推進電機的任務就是把發射所需要的飛盤從存儲倉輸送到發射轉盤位置。它依靠的是電機帶動一個彈簧的機械裝置,電機轉動一圈,機簧就會彈射一下,從而完成輸送炮彈的任務。圖3.10發射電機第26頁共43頁4智能機器人語音控制系統軟件設計對于智能機器人軟件編程是重要的一環。在軟件方面,需要利用C語言和匯編語言在IDE編譯環境下對單片機進行編程,主要采取主函數調用子函數的形式。在主函數中,定義在不同的識別結果運行那一個子函數;在子函數中,對各個功能模塊進行定義。另外,還需要定義頭函數和語音資源模塊,在頭函數主要定義系統涉及到的中斷和存儲模塊,在語音資源模塊主要定義系統所涉及的語音資源,方便在程序中調用。通過利用集成開發環境IDE提供的大量庫函數以及C語言,匯編語言的軟件編程語句,對機器人所涉及的接口,芯片等硬件和如何根據命令完成各項動作進行編程。軟件編程的主要形式就是在主函數中用相關子函數完成特定人語音的訓練,然后在訓練成功后進行語音識別,并根據識別的命令進行相關的操作[14]。4.1設計總體方案在程序的編制過程中,由于要用到許多函數,不僅要用到C語言的,還需要用到匯編語言的一些指令,所以為了簡化程序的編制流程,在設計時,定義了許多模塊,便于程序中的調用。整個軟件設計基本思路是:程序開始以后,首先初始化10B端口,在判斷是否第一次下載,如果是第一次下載不需要擦除閃存FLASH,直接進入語音識別階段;否則,就要首先擦除閃存中的內容,進入語音訓練與存儲階段,完成后置相關位,再進入語音識別階段。在識別過程中,還需要考慮到延時問題,如果出現延時,就消除觸發標志,重新返回語音識別初始化階段,這就是整個程序的流程如圖4.1軟件設計總體方案所示。宣相關標志位語音識別初始化設置觸發左 右 炭停扌艮警瘵涂FLASH標志軟件程序模塊主要包括:語音識別程序、語音訓練程序、語音播放程序。中斷服務程序、機器人動作程序。下面將—介紹。4.2語音識別模塊首先初始化語音識別芯片,識別初始化是確定語音輸入來源于AD轉換器的晰C通道,播放提示音,此時訓練人可以對控制系統發出語音命令。然后,系統將采集的語音進行處理,并與存儲器中訓練人的語音樣本進行比較[15]。如果采生的語音是訓練人的語音,系統則將該語音與存儲的語音命令比較,恨據比較結果產生相應的控制信號,否則不產生控制信號。語音識別過程循環進行,完成一條語音命令的控制任務后系統等待訓練人再次發出語音命令。如果訓練人不再發出語音命令,系統將一直處于等待狀態,語音識別程序包括識別程序和中斷服務程序,識別程序完成選取詞庫、初始化A/D和定時器TimerA、識別運算及識別結果處理。中斷服務程序定時讀取A/D轉換結果,并存入緩沖區,A/D的輸入為MIC通道的語音信號。語音識別和語音播放分時復用TimerAFIQ中斷,由標志位判斷語音識別處理和語音播放處理。圖4.2語音識別模塊

其中斷服務系統設計流程圖如圖4.3中斷系統所示。圖4.3中斷系統4.3語音訓練模塊語音訓練主要是靠調用庫函數BSR_Train(int_WorD,intTrainMode)來實現的,其中參WordlD為命令序號,范圍為0x100?1x105,并且對于侮組訓練語句都是唯一的;參數TrainMode為訓練次數,為1時表示要求使用者在應用之前訓練一次;為0時表示訓練兩次,為了防止誤識命令,每條語音命令訓練兩次,只有兩次命令相同時才成功,訓練成功則開始下一條命令的訓練,否則繼續訓練,該函數由6種可能返回值,其中“0”表示訓練成功。流程圖如圖4.4語音訓練指令流程圖所示。

凌陽單片機SPCE061A單片機具有很強的語音壓縮和語音播放功能,語音播放子程序主要完成D/A轉換器、定時器和語音初始化,從ROM中取出預先壓縮好的語音數據,解壓縮后存放到播放列表中。圖4.5語音播放4.5機器人動作模塊機器人能夠按照特定人的指令完成前進、后退、左轉、右轉、扭頭、發射等動作,主要靠控制相應的直流電機完成的。機器人行駛狀態由兩個電機控制,采用左右輪分開控制的策略,左右輪分別用一個電機控制,控制信號由SPCE061A的B口提供,比如讓機器人前進時先設置相應的管腳為高電平并保持一段時間,電機正轉,機器人就前進,后退、左轉、右轉、停止。10B13,I0B14控制機器人頭部轉動。如圖4.6機器人前進動作程序流程圖。圖4.6機器人前進動作程序流程圖5系統調試及仿真5.1系統調試機器人語音系統調試分為硬件調試和軟件調試。硬件調試系統的硬件調試和軟件調試是密切相關的,許多硬件錯誤是在軟件調試中被發現和糾正的。通常是先排除明顯的硬件故障以后,再和軟件結合起來調試以進一步排除故障[16]。5.1.1硬件調試在硬件設計中,首先設計各個模塊的硬件電路原理圖,然后采購元器件,使用塑料板、仿真開發工具和萬用電表等,做好試驗樣機。接著編寫軟件,逐一調試各硬件電路模塊。針對發現的錯誤現象,分析原因,修改原理圖設計。調通硬件電路之后,就開始PCB設計,設計完PCB板圖要按實際尺寸打印出來,把元器件按實際位置對應擺放,檢查器件封裝呈否正確。檢查硬件電路故障一般分為以下幾步:(1)排除邏輯故障邏輯故障往往是由于設計和加工制板過程中工藝性錯誤所造成的。主要包括錯線、開路、短路。排除的方法是首先將加工的印制板認真對照原理圖,看兩者是否一致。需要特別檢查電源系統,以防止電源短路和極性錯誤,并重點檢查關鍵信號線之間是否短路。(2)排除失效的元器件元器件失效的兩個原因:一是元器件買來時已經壞了,二是安裝錯誤造成原器件燒壞。焊接安裝時要檢查一下元器件與設計要求的型號、規格是否一致,以避免燒壞。在保證安裝無誤后,用替換法排除錯誤。(3)仿真調試開發凌陽單片機系統有IDE編譯環境和在線仿真器,仿真和調試非常方便。當錯誤排除之后就可以進行軟件調試了。5.1.2軟件調試軟件調試是為了分析問題和改正錯誤的,是一項具有很強技巧性的工作。軟件人員在表現常常沒有明顯的關系。在組成程序的數以萬計的元素(語句、數據結構等)中,每一個元素都可能是錯誤的根源。在浩如煙海的程序元素中找出產生錯誤的那個(或幾個)元素,排除潛在的錯誤,不是一件易事。因此,調試是通過現象找出原因的一個思維分析過程[17]。軟件調試的任務和步驟是:(1)從錯誤的外部表現形式入手,確定程序的出錯位置;(2)研究有關部分的程序,找出錯誤的內在原因;(3)修改設計和代碼,排除有關錯誤;(4)進行回歸測試,以確認錯誤是否排除,是否引入了新的錯誤;(5)如果不能通過回歸測試,則撤銷此次修改,并重復上述過程,直到錯誤得以正。其中第一項工作的工作量最大,大約占調試總工作量的95%。因而根據錯誤跡象去定位錯誤是調試過程的重中之重。經過硬件、軟件單獨調試后,便可進入硬件和軟件的聯合仿真調試階段,以找出軟硬件之間不匹配的地方,反復修改和調試。5.2系統仿真機器人語音控制系統將語音識別結果通過串口通訊發送給主控板,可以控制機器人完成前進、后退、左轉、右轉和停止等功能。智能機器人語音控制系統調試步驟如下:(1)將麥克風從電路板中引出來安放在機器人殼體上,喇叭固定在內側,用戶可以和機器人正面交談。(2)啟動u'SPIDE。打開機器人實例程序,編譯、連接確認沒有錯誤。(3)下載程序到機器人的61板上,將機器人系統進行組裝。(4)打開機器人的電源,進行語音訓練,訓練指令有:“名稱”、“開始”、“前進”、“后退”、“左轉”、“右轉”、“停止”、“發射”這幾條指令。每

溫馨提示

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

最新文檔

評論

0/150

提交評論