2014/04/17 meeteasy
1、電話會議系統的總體結構
電話會議系統的出現極大地提高了企業的工作效率,改善了企業的管理,提升了企業的競爭力。目前,市場上實現電話會議系統的方案較多,歸納起來基本屬于以下兩種方案:基于交換平臺的交換機方案和基于語音卡的CTI(計算機通信接口)方案。
電話會議系統的總體框圖如圖1所示。與會用戶的話音信號經過終端設備進行處理后變成8bitA律PCM話音數據傳送到數據交換網,數據交換網將由用戶傳來的多個輸入話音通道疊加到一條或幾條PCM鏈路上進行輸出,一般情況下,每32個用戶可以分配一條PCM鏈路。疊加后的輸入話音由DSP的多通道串口McBSP傳輸到DSP內部處理。DSP通過主機接口(HPI) 以共享信箱方式與MC68000主處理器進行通信,完成主處理 器對DSP的命令傳遞和實時監控。
電源模塊提供系統所需的兩種電壓:3.3V、2.5V,同時提供足夠的負載電流。時鐘電路提供系統所需要的時鐘,DSP 芯片內部的PLL鎖相環電路產生系統工作時所需的高頻信號。擴展的FLASH芯片在系統中保存程序代碼,同時還可以在線擦除、寫入,使得系統軟件編程變得十分容易。芯片的掉電保護作用,可以保證系統代碼的完整性和安全性。系統的所有控制邏輯由控制邏輯模塊完成
2、電話會議系統的基本原理
電話會議系統可以實現參加會議的用戶之間沒有障礙的交流,在現有的電話會議系統中,大多采用混音算法,但隨著需要合成的語音信道數量的增加,采樣量化數據疊加后會超出量化上限而引入噪聲。比較算法的出現有效地避免了混音算法溢出的缺點,但是當與會人數較少或進行激烈的討論時,同時發言的與會方不斷在最大方、次大方、旁聽中 切換,必將導致無論哪一方的發言都聽不清楚。
針對以上所討論的兩種方法的優缺點,本文則有針對性地提出一種可以在兩種模式 之間自由選擇的方案?;驹砣缦拢阂詫崿F32方通話為例,首先在DSP中開辟一個系統信箱,用于存放DSP與主機的握手信號及主機對DSP的控制字K,K=I表示對所有與會通道進行混音處理,K≠1表示對所有與會通道進行比較處理。DSP根據主機的要求對數據進行處理,用戶既可以聽到所有與會人員的話音,也可以聽到一路用戶話音。
DSP數據接收流程如圖2所示。
系統初始化DSP及其串口后,ST—BUS鏈路通過數據接口電路將數據送給McBSP,McBSP的接收端口收到8bit A律PCM話音數據后,將其轉換為13bit線性碼。 TMS320VC5410對片上RAM按16bit訪問,需將線性碼左端補上3bit 0送給接收寄存器DRR1。轉換完成后的線性碼,傳送給DMA控制器,接收DMA控制器立即將此16bit數 據按照其對應的地址寫入接收緩沖區DRR BUF中。
DMA接收完第N幀話音數據后向CPU發送中斷。DSP讀取命令信箱,在第N+I幀的期間,CPU依據電話會議中與會用戶所對應的時隙號,將會議中所包含的語音數據提取出來。根據控制字K,對所有成員的話音進行疊加或比大(得到最大及次大)處理。處理后的數據寫入第N+2幀與會用戶對應的發送數據緩沖區的地址內。語音數據的發送采用與接收相同的方法。圖3為電話會議的DSP數據處理流程圖。
3、電話會議系統的算法研究
本文實現的電話會議系統可以在兩種模式之間自由選擇,下面分兩部分介紹本系統的語音處理算法。
混音算法的研究與實現
混音算法常用箝位算法、平均值算法以及自適應加權算法來控制溢出。三種方法各有優缺點,自適應加權算法是目前應用最多的算法,由于引入了可以動態變化的衰減因子這必然會導致算法的運算次數大大增加。
本文提出了一種改進的更適合本系統的混音算法,通過前面的分析我們知道,當與會用戶人數較多時,如果選用混音算法會導致話音難以分辨,因此我們只需考慮將最多6路話音進行混音,若超出6路則選用比較法輸出。
混音算法過程如下:
首先,對混音數據進行貢獻加權處理。即通過將語音流的實際音量和系統當前的混音音量的比值來進行貢獻加權處理。貢獻加權 處理理論上保證了混音過程聲源對整個聲音的貢獻保持恒定,但對溢出沒有進行很好的控制;其次,確定衰減因子f,為簡化計算,將衰減 因子的取值分配到一個數組里面;接下來,判斷混音后的值在什么范圍,即可查表得到相應的衰減因子;最后,讓f逐漸恢復到1 。
具體流程如下:
1)初始化f=l。
2)對一幀中的樣本按順序處理:
③OutputData[i]=MixedData[t]xf
④若OutputData[i]>Max,則計算 =(MixedData[i]/Max)×10的值, 并判斷是否為整數,若是,則讓f =[ab一1];若不是,則先對j取整,再讓 f1=a[j]。最后令f=f1,OutputData[i]=Max
⑤若OutputData[i] 3)如果f<1,f=f+步步長;如果f>l,則令f=l。 這里的步長選擇可以依據系統的要求慢慢調整到合適的取值。具體流程圖如圖4所示。 3.2 比較算法的研究與實現 由前面的分析可知,當與會人數較多時,例如有32個用戶同時參與電話會議,同一時刻說話的人數較多時,混音法會造成話音混亂,誰的聲音都聽不清,此時比較法就會發揮它的優勢。 所謂的比較算法就是指對輸入的語音信號進行幅值比較,找出話音最大的與會用戶B及話音次大的與會用戶A。圖5是比較算法的電話會議示意圖 。以與會用戶為4的會議為例,假設在某一時刻A、B、C、D 4 方的第Ⅳ幀PCM編碼送人TMS320VC5410,DSP根據主機的要求在第N+1幀期間對4路話音幅度進行比較,假定判斷出B的話音幅度最大,A 的話音幅度第二大,于是在第N+2幀期間,將A的話音送給用戶B,B的話音送給A、C、D三方用戶,B用戶聽到的是A用戶的聲音,其他用戶聽到的是B用戶的聲音。 電話會議要求在每一幀所產生的DMA中斷服務程序中必須完成對所有與會用戶的話音處理。因為TMS320VC5410的運算速度為100MIPS,因此該DsP一個指令周期的時間為10ns,在ST—Bus一幀125txs內可處理的指令數為125p~s/10ns=12500條。 因此,需要找到一種運算速度最快,且占用內存最小的方法來實現與會用戶的話音比較,本文在常用排序算法的研究的基礎上 提出了一種改進的排序算法:逐位比較法。其思想為:當記錄的關鍵字是正整數時,從關鍵字的二進制高位到低位,依次取出每個關鍵字相對應的一位二進制數進行兩兩比較,然后根據比較位是 ‘1’或‘0’將其分別放在對應的子表中,按同樣的方法對子表中的關鍵字進行比較,直到關鍵字的最低二進制位將所有記錄排序完畢。 逐位比較法是由位排序演變過來的,由于位運算和位比較的速度較快,排序時間主要花費在記錄的交換上。而在本系統采用的逐位比較算法中,只需要找到幅值最大的數據及次大的數據。因此不需要對記錄進行交換,因此按位比較法的速度很快,滿足電話會議系統的要求。 3.3 電話會議系統的算法實現流程 圖6為本系統的算法流程圖。 4、算法仿真及結果分析 4.1混音算法及結果分析 在仿真測試平臺,利用現有的一些聲音樣本,用Matlab工具轉化成波形文件,把不同文件的樣本按照各種算法進行疊加,即可得到混合后的波形樣本,并且可以用Matlab里的相關函數播放混合后的聲音。這里要求幾個波形文件的采樣率、樣本位數等參數要一致。 在Matlab測試試平臺上,采用4個事先錄制好的采樣頻率為8KHz、時長為4秒的聲音樣本作為參與混合的音頻進行測試。圖7為4個錄制好的聲音樣本文件轉化成波形文件后的圖形。 圖8為4路語音信號的混音波形圖,從圖中可以看出,由于混音音源中有兩路女生的話音幅度較大,因此混音后輸出的話音幅度發生了較為嚴重的溢出,如A、B、C三處所示?;煲粜Ч懿缓?,噪音很大,基本上很難聽清楚話音內容。 圖9為用不同方式對4路語音信號進行混音處理后的話音波形圖: 由圖9(a)可以看出,箝位算法在最大和最小臨界值處生硬的切了一刀,混音后的聲音引入了較大的噪音。圖9(b)為用平均值處理后的結果。該算法解決了混音后盧音幅度的溢出問題,但波形的幅度偏小,和混音前一路的波形幅度差不多,混音后的聲音較小。圖9(c)、(d)是自適應加權算法及本系統算法的處理結果。由圖可見A、B、c三處都對溢出的語音信號進行了平滑處理,與自適應加權算法相比,本系統的算法語音溢出點數減少,另外,對溢出處的處理比較平滑,沒有跳躍現象出現,整體質量有很大提高。 4.2比較算法及結果分析 為了觀察到較好的實驗效果,這里只對4段語音信號進行分析,仿真結果同樣能夠說明多路語音信號的處理結果。圖l0為4段語音信號用Matlab 工具轉化成波形文件后的波形圖。下圖可以很好的表示出話音音量的大小。為了更好的說明仿真結果,這里我們只選取1至1.5秒這段時間內的波形圖 由圖10所示,4段聲音文件在不同時間段內聲音的大小不同,DSP每隔125s對4段語音信號的量化編碼值進行一次比較。雖 然每幀DsP都要對4段語音信號進行比較,但是由于聲音的恒定性,在幾幀甚至幾十幀內,輸出的比較結果都是一致的,這樣才能清楚地聽清楚每個人的講話。在這里為了對算法進行說明,只采用了短短0.5秒的時間內的聲音數據進行比較。 用逐位比較法對4段0.5秒的語音信號進行比較,得到每幀的最大話音及次大話音。圖11為0.5秒內的比較結果。 5、結論 本文所提出的電話會議系統方案能很好地解決實際應用中的實時性、高效性,系統簡單易行且能保證合成分量音頻特性的要求??朔爽F有電話會議系統存在的缺點和不足,此方案適合中小企業使用的電話會議系統方案。
由圖11可見,在1到1.O3秒期間,語音4要高于其他3路話音,語音3為次大話音。在這段時間內,DSP將用戶3的話音存入用戶4所對應的時隙,而將用戶4的話音輸出給其他3個用戶所對應的時隙。而在1.38到1.48這段時間內,語音3的話音幅度一直最大,語音4為次大話音,因此,用戶3聽到的是用戶4的話音,而其他3個與會用戶聽到的是用戶3的聲音。
40088 411661033743080@qq.com
中國廣東省深圳市南山區西麗九祥嶺工業區10棟3樓