基于DSP和FPGA的機器人聲控系統設計
1 引言
本文引用地址:http://www.j9360.com/article/241691.htm機器人聽覺系統主要是對人的聲音進行語音識別并做出判斷,然后輸出相應的動作指令控制頭部和手臂的動作,傳統的機器人聽覺系統一般是以PC機為平臺對機器人進行控制,其特點是用一臺計算機作為機器人的信息處理核心通過接口電路對機器人進行控制,雖然處理能力比較強大,語音庫比較完備,系統更新以及功能拓展比較容易,但是比較笨重,不利于機器人的小型化和復雜條件下進行工作,此外功耗大、成本高。本次設計采用了性價比較高的數字信號處理芯片TMS320VC5509作為語音識別處理器,具有較快的處理速度,使機器人在脫機狀態下,獨立完成復雜的語音信號處理和動作指令控制,FPGA系統的開發降低了時序控制電路和邏輯電路在pcb板所占的面積[1],使機器人的"大腦"的語音處理部分微型化、低功耗。一個體積小、低功耗、高速度能完成特定范圍語音識別和動作指令的機器人系統的研制具有很大的實際意義。
2 系統硬件總體設計
系統的硬件功能是實現語音指令的采集和步進電機的驅動控制,為系統軟件提供開發和調試平臺。如圖1所示。
系統硬件分為語音信號的采集和播放,基于DSP的語音識別,FPGA動作指令控制、步進電機及其驅動、DSP外接閃存芯片,JTAG口仿真調試和鍵盤控制幾個部分。工作流程是麥克風將人的語音信號轉化為模擬信號,在經過音頻芯片TLV320AIC23量化轉化成數字信號輸入DSP.DSP完成識別后,輸出動作指令。
FPGA根據DSP輸入的動作指令產生正確的正反轉信號和準確的脈沖給步進電機驅動芯片,驅動芯片提供步進電機的驅動信號,控制步進電機的轉動。片外FLASH用于存儲系統程序和語音庫并完成系統的上電加載。JTAG口用于與PC機進行聯機在線仿真,鍵盤則用于參數調整和功能的切換。
3 語音識別系統設計
3.1 語音信號的特點
語音信號的頻率成分主要分布在300~3400Hz之間,根據采樣定理選擇信號的采樣率為8 kHz。語音信號的一個特點在于他的"短時性",有時在一個短時段呈現隨機噪聲的特性,而另一段表現周期信號的特性,或二者兼而有之。語音信號的特征是隨時間變化的,只有一段時間內,信號才表現穩定一致的特征,一般來說短時段可取5~50 ms,因此語音信號的處理要建立在其"短時性"上[2],系統將語音信號幀長設為20 ms,幀移設為10 ms,則每幀數據為160×16 b。
3.2 語音信號的采集和播放
語音采集和播放芯片采用的是TI公司生產的TLV320AIC23B,TLV320AIC23B的模數轉換(ADC)和數模轉換(DAC)部件高度集成在芯片內部,芯片采用8 k采樣率,單聲道模擬信號輸入,雙聲道輸出。TLV320AIC23具有可編程特性,DSP可通過控制接口來編輯該器件的控制寄存器,而且能夠編譯SPI,I2C兩種規格的接口,TLV320AIC23B與DSP5509的電路連接如圖2所示。
DSP采用I2C口對TLV320AIC23的寄存器進行設置。當MODE=O時,為I2C規格的接口,DSP采用主發送模式,通過I2C口對地址為0000000~0001111的11個寄存器進行初始化。I2C模式下,數據是分為3個8 b寫入的。而TLV320AIC23有7位地址和9位數據,也就是說,需要把數據項上面的最高位補充到第二個8 B中的最后一位。
MCBSP串口通過6個引腳CLKX,CLKR,FSX,FSR,DR和CX與TLV320AIC23相連。數據經MCBSP串口與外設的通信通過DR和DX引腳傳輸,控制同步信號則由CLKX,CLKR,FSX,FSR四個引腳實現。將MCBSP串口設置為DSP Mode模式,然后使串口的接收器和發送器同步,并且由TLV320AIC23的幀同步信號LRCIN,LRCOUT啟動串口傳輸,同時將發送接收的數據字長設定為32 b(左聲道16 b,右聲道16 b)單幀模式。
3.3 語音識別程序模塊的設計
為了實現機器人對非特定人語音指令的識別,系統采用非特定人的孤立詞識別系統。非特定人的語音識別是指語音模型由不同年齡、不同性別、不同口音的人進行訓練,在識別時不需要訓練就可以識別說話人的語音[2]。系統分為預加重和加窗,短點檢測,特征提取,與語音庫的模式匹配和訓練幾個部分。
3.3.1 語音信號的預加重和加窗
預加重處理主要是去除聲門激勵和口鼻輻射的影響,預加重數字濾波H(Z)=1一KZ-1,其中是為預加重系數,接近1,本系統中k取0.95。對語音序列X(n)進行預加重,得到預加重后的語音序列x(n):x(n)=X(n)一kX(n一1) (1)
系統采用一個有限長度的漢明窗在語音序列上進行滑動,用以截取幀長為20 ms,幀移設為10 ms的語音信號,采用漢明窗可以有效減少信號特征的丟失。
3.3.2 端點檢測
端點檢測在詞與詞之間有足夠時間間隙的情況下檢測出詞的首末點,一般采用檢測短時能量分
評論