johson's profileJohson-SpacePhotosBlogLists Tools Help

Windows Media Player

johson lee

Occupation
Location
Interests
年纪本来不大,都被朋友们叫老了~
No list items have been added yet.

Johson-Space

July 21

Windows Mobile&&CE 开发书籍介绍

 
Windows Mobile 开发书籍介绍
 
1、《Microsoft Windows CE 程序设计》 北京大学出版社
[美]Doudlas Boling 著
该书可以与经典著 作《Microsoft Windows 程序设计》相媲美,就象要想在Window平台上开发,必看 《Microsoft Windows 程序设计》一样,如果你想在Windows CE平台上开发,就不得不看《Microsoft Windows CE 程序设计》。
该书的CE是CE2.0版本。
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=3996
下载该书的源代码和英语电子书,上下面介绍的FTP:http://mobile.winfans.net/ccs/forums/89/ShowPost.aspx

《Programming Microsoft Windows CE .NET, Third Edition》 MS.Press
目前市面上没有该书的中译本,不过有个牛人在翻译该书,可以看看他的BLOG:
http://blog.csdn.net/tellmenow/

以上两本书,都有英文的电子书和书中例子的源代码。

2、《EVC高级编程及其应用开发(Embedded Visual C++嵌入式编程)》
中国水利水电出版社
汪兵 李存斌 陈鹏等 著
      该书非常适合初学者,例子介绍得很详细,都是一步一步教你怎么做的。
中国水利水电出版社 网上有该书书中例子的源代码。
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=24402

3、《Windows Mobile手机应用开发》   人民邮电出版社
傅曦 齐宇 徐骏 著 (MEDC 2005 指定用书) 偏MFC
该书需要一定的编程基础。
网上有该书中的例子源代码。
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=25574
4、《Windows CE应用程序设计》 机械工业出版社
田东风 著
该书也是不错的入门书籍,书上的例子都不错。以Microsoft eMbedded Visual Tools 3.0为开发工具。
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=14697
下载该书的源代码,上下面介绍的FTP:http://mobile.winfans.net/ccs/forums/89/ShowPost.aspx

以上的书,本人都多多少少看了一些,其他的书,没有怎么看,也不好推荐。
以下的书,也很不错:

5、《Microsoft .NET Compact Framework 技术内幕 》 清华大学出版社
Andy Wigley,Stephen Wheelwright 著
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=14775

6、《移动设备.NET应用程序设计》 清华大学出版社
[英]Andy Wigley;Peter Roxburgh 著
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=9931

7、《Windows CE权威指南 》     中国电力出版社
[美]CHRIS MUENCH 著
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=2196

8、《Windows CE.NET系统分析及实验教程》 机械工业出版社
   陈向群 等      著
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=9701

9、《Windows CE 程序设计实务:使用eMbedded Visual Basic 》
中国电力出版社
李永隆 健莲科技 著
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=6588

10、《Windows CE.net内核定制及应用开发》   电子工业出版社
周毓林 宁杨 陆贵强 付林林 著
详细介绍:http://www.china-pub.com/computers/common/info.asp?id=24208

另外:MEDC2005实验用 的HandBook也可以上下面介绍的FTP:http://mobile.winfans.net/ccs/forums/89/ShowPost.aspx

注明:最先发表在:http://www.justmobiler.com/319/ShowPost.aspx
另外,本人偷懒,上面给出的书籍的详细介绍,都是来自China-pub上的。其实,大家可以去第二书店看看,有时候可以来个互补。本人在这两个网站上都买过书,觉得还可以。至少到目前没有出错过。

最近刚发现的:
11、《Building Powerful Platforms with Windows CE》
作者:James Y. Wilson, Aspi Havewala
http://www.dearbook.com.cn/book/26941#bookCatalog

12、《 Pocket PC开发指南 》
作者:俞忠东
出版社: 清华大学出版社
http://www.dearbook.com/book/13406#bookCatalog

13、《实战Pocket PC程序设计》
作者:恒逸资讯 杨先民/著
出版社: 中国电力出版社
http://www.dearbook.com.cn/book/12725#bookCatalog

14、《The Windows CE Technology Tutorial: Windows Powered Solutions for the Developer》
作者:Chris Muench
出版社:Addison-Wesley, 2000
http://shopping.msn.com/Specs/shp/?itemId=2890232,ri=2890232,cname=prod#lstPos

15、《Windows Mobile 平台应用与开发》
作者
:马骐 胡砚 刘彦博 (MEDC 2006 指定用书) 偏C#
出版社: 人民邮电出版社
http://www.dearbook.com/book/109223

16、《Windows Mobile 应用程序开发实践》
作者:范盛荣
出版社:科学出版社
该书以EVB(eMbedded Visual Basic)作为开发工具
http://product.dangdang.com/product.aspx?product_id=9276070
June 25

掩膜型语音集成电路介绍

     掩膜型语音集成电路介绍
 
     我国是全世界语音集成电路的生产大国,同时也是语音电路的消费大国。全世界语音集成电路的生产基地主要集中在我国的台湾、香港、深圳、广州等地。语音集成电路属大规模CMOS电路。语音集成电路具有以下特点:1.品种多、规格齐全,数百个通用品种规格可供选择。2.电路简单、体积小巧、使用方便、售价便宜、功能强大。3.工作电压宽,直流2.4~5V,工作电流典型值0.2~10mA,静态电流仅1μA,通常可采用钮扣电池供电。4. 语音集成电路通常分为掩膜型和一次性可编程(OTP)烧结型两大类。下面首先介绍掩膜型语音集成电路。

    当前掩膜型语音集成电路主要来源于MSS系列、ML系列和HT系列。这几大系列的产品种类繁多、规格齐全,大致可分为:数字脉冲编码调制语音合成系列、自适应脉冲编码语音合成系列、语音+音乐合成系列、阵列式语音合成系列及微处理器语音合成系列等五大类。下面简单扼要地介绍这五大系列语音电路的有关信息,仅仅让读者作为一般性了解。

数字脉冲编码调制语音合成系列

    数字脉冲编码调制是将声音的模拟量信号变为数字量信号,它是对语音波形进行时钟周期采样,再经模/数(A/D)转换,最后把语音波形采样值变成"0"、"1"的数字序列。这是最常用的语音合成方法。图1分别为HT812D0/821A0/815D0型集成电路的引脚排列图。本系列电路电源电压为2.4V~5V,工作电流0.2~1mA,静态电流约1μA。图2是3种基本应用电路图。表1所列为小部分语音电路产品一览表.


自适应脉冲编码语音合成系列

    自适应脉冲编码调制方式是按照语音模拟信号变换率来改变数字量,即在脉冲编码调制方式中,相应改变其量化幅值。一般来讲,自适应脉冲编码调制方式合成语音的音质要比数字脉冲编码调制方式的好。这种语音合成方式主要采用外接存贮器组成长时间语音播报系统或其它产品的语音接口。图4是HT83XXX系列典型应用电路。图4是HT83XXX系列典型应用电路.

    图5所示为HT82013的应用电路图。HT820013具有20级二进制计数及3个选择输出端语音合成电路,采用24脚双列直插塑封。电源电压为3.5V~5V,工作电流2.8mA,静态电流5μA。HT82013为外接EPROM的语音合成电路,可外接3×8MB EPROM,语音长度最长可达1368秒。

语音+音乐语音合成系列

    本系列语音合成电路主要应用于玩具类产品。它可采取语音和音乐混合播放方式,也可以采用一路(或多路)播放语音,另一路(或多路)播放音乐的方式。本系列电路电源电压2.4V~5V,工作电流500~1000μA,静态电流1μA。图6是HY3864典型应用电路图,内部存储8首音乐,由KEY1~KEY8键分别控制,BSO键控制语音和音乐混合播放输出。   

阵列式语音合成系列

    本系列语音合成电路利用四路或四路以上的输入输出口组成矩阵键盘。图7是HT83XXX系列32键应用电路原理图。本系列语音电路也可采用外挂微处理器(CPU)方式,实现语句拼读等功能。图8是HT8210电原理图。

LCD微处理器语音合成系列

   本系列语音合成电路内含微处理器、LCD驱动器、时钟振荡器、输入输出口、多段语音存贮器和音频信号放大器等电路单元。本系列电路主要用于语音钟表、体温计、电子台历、智能语音玩具等。图9为HT1460典型应用电路图。

    我们平常所看到的和接触到的语音集成电路,其封装形式大部分为双列直插式塑封集成电路(DIP),俗称硬封装电路,按引脚数量分为8脚、14脚、16脚等,每个引脚都有不同功能。通常引脚越多,集成电路芯片的体积越大,电路功能也越强大,价值当然也就越高。另一种是印板封装集成电路(COB),俗称软封装电路,它是把集成电路芯片直接封装在印刷电路板上的简易半导体集成器件。软封装电路工艺简单、生产周期短、成本较低,而且可以多次修复,所以合格率非常高。
设计常规语音集成电路之前,须确定以下选择项目:

1.触发方式选择――有电平触发、边沿触发、随机触发、触发记忆保持、单键触发等方式。
2.按键方式选择――单键、多键直接控制、键盘、矩阵键盘等。
3.输出方式选择――保持语音段完整输出、非保持语音输出。
4.LED/STOP选择――LED随语音输出闪烁、长亮;语音输出结束时输出一个控制脉冲。
5. 选择语音后段盖前段功能――在现有语音尚未结束之前再次触发时,即该语音输出将覆盖前面语音输出。
6.CPU控制语音输出功能――可配合外部中央微处理器,控制各段语音智能输出。
7.放音遍数选择――根据需要可选择放音遍数,即触发一次,放音遍数由1~9遍可选。

    以上选项一经确定,生产出来的集成电路其功能就无法再改变 。下面以HT16500语音电路为例,介绍语音电路的主要参数及各种应用电路。 图10是HT16500型11.2秒语音集成芯片脚位坐标图,表2是它的脚位坐标数据,HT16500型芯片的外形尺寸为2940×2860(µm)²,图11是HT16500双列直插塑封集成电路引脚排列图。图12所示是典型应用电路图。表3列出HT16500各引脚功能简单说明,表4是HT16500集成电路电气参数。每种型号的语音集成电路都应给出上述3图3表。初学者通过图2~图5、表2~表4就可以掌握HT16500型语音集成电路的基本特性及应用电路。依据图2、图3,我们可以按照实际需要设计出各种不同的印刷电路板。

    在图10芯片脚位坐标图中,HT16500语音集成芯片IC一共有13个焊盘,由微电脑铝丝压焊机采用一种比头发还细的特殊金属丝,将它们分别压焊在印刷电路板上,专业人员通过显微镜检查,确认焊接无误,然后用黑色环氧树脂混合胶将芯片封装。HT16500的13条引脚,分别与印刷电路板PCB的13条印制线路相连接,其中第14脚VDD接到电源正(+)端,第3脚VSS接电源负(-)端,3V直流电源通过这两条引脚向IC供电。第1脚OSS2和第16脚OSS1之间外接振荡电阻ROSC,适当调整该电阻的电阻值,可改变IC内部的频率,从而达到调节放音速度的快慢。第2脚BUSYB通过电阻R将发光二极管LED接到电源正端,当电路播放语音时LED发光。第4脚ENDB通过电阻R将发光二极管LED接到电源正端,语音播放结束时LED亮。LED发光方式有3种:第1种是放音时长亮,第2种是伴随放音产生3HZ频闪,第3种是语音播放结束瞬间闪亮一下或长亮。这3种发光方式在掩膜前选择确定。第15脚AUD输出音频信号,通过NPN型硅三极管8050放大,推动8Ω扬声器工作。第7、8~10、11脚KEY1~KEY4分别接4只微动开关,控制触发4段不同的语音内容,语音IC触发电平分为高电平和低电平2种,HT16500为低电平触发方式。

    下面再介绍HT81813D0、HT3844等的几种典型应用电路,供初学者参考。

1.并联应用电路  如图13所示,将两片或多片语音内容不相同的电路的输出端连接在一起,电路采用并联接法。这种并联应用电路,可以扩展语音段数。

2.串联应用电路  如图14所示,将两片或多片语音内容不同的电路输出端接在一起,发光二极管输出端FLAG与下一片电路的触发端KEY相连接(发光二极管输出方式应选择上述第3种),第1片电路的输出信号作为第2片电路的控制触发信号,两片电路采用前后级串联控制方式。这种应用电路不但可以扩展每段语音的时间长度,而且还能简化电路。例如:第1片电路贮存着4段不同的语句,并要求每个语句后面加播一段音乐,就可以采用这种串联控制电路。

3.上电自动播放电路  应用电路见图15,该电路所不同之处是在IC的触发端KEY与VSS间串接一个0.1µ F电容和1.2MΩ电阻,当电路接通电源时,由于电容的作用,IC被瞬间触发,语音播放完毕自动停止工作。

4.上电循环播放电路  电路见图16,这时的触发端KEY直接接VSS,当接通电源时,电路自动循环播放,直至切断电源。

5.可调整音量应用电路  图17的音频输出端AUD外接1KΩ微调电阻和10µ F电容,这样可以改变三极管的输入电压,从而实现调节音量的目的。

6.差动放大电路  见图18所示,由8050型NPN硅三极管和8550型PNP硅三极管以及IN4148型整流二极管等构成晶体管差动放大电路,使电路输出的声音特别响亮。

7.外接功率放大电路  如图19所示,通过10KΩ电位器的滑动接点,可外接LM386、TDA2003等功率放大集成电路,以获得更大的输出功率。

8.光控电路   图20所示为两路CDS直接光控触发电路。

9.声控电路   图21所示为压电陶瓷蜂鸣器声控触发电路。一路输出语音信号,另一路输出通过两级三极管放大驱动直流电机工作。

语音COB芯片的设计应用

语音芯片的开发选型

1.  可录放型:即可随录随放型,可以不断擦除的FLASH芯片

ISD系列:从10s16分钟的一系列芯片,以FLASHRAM闪烁存储器为IC为介质,断电后语音还能保存。特点:内部没有单片机,语音的音质是高保真的,不经过数据转换,控制有两种:并口和串口控制,控制简单,可以直接用按键控制录放音。语音可以划分256段语音。

APR系列:APR9301为单段30秒录放语音芯片,APR960040s60s多段语音长度可调录放芯片,可分段录放,断电后语音能保存。特点:控制不方便。  

2.  一次性(OTP

APLUS系列:芯片内部是PROM存储器,将语音文件烧录进去,以后不可以更改。API8901010s可分8段),API89020(20s可分8)API8904240s可分32段), AP89085(85s),AP890170(170s),AP89341(340s),可以选择单片机并口控制和按键控制。此系列特点:控制较灵活,价格较低。产品数量不限制。可以选择3伏或者是5伏供电。

 3.  掩膜型(MASK

    标准片(标准声源型):如各种报警声,倒车语音等大批量生产出来的标准品,价格非常便宜,此类特点是不能根据自己的情况更改,包括音质,音调,控制方式等。

 

定制声源型:用户根据自己的要求而专门制作生产,需要经过设计开发,制作样片,确认样品,几万片起做的芯片投单,确认芯片,交货等几个过程,数量越大摊在芯片上价格越低。特点是不能小批量快速生产,首期投入较大,要开膜费。

如何根据自己产品的设计中选择语音IC

首先要明确产品的定单的情况如何

(1)  2万以上的生产定单,可直接选用掩膜芯片。

(2)  5000/批的定单,可以选用OTP芯片,语音内容可以调整。

(3)  1000/批的定单,可以选用OTPISD芯片。

第二是看产品设计中有没有单片机,如果有的话以上芯片都可以选,如果没有的话,选用OTP较方便。

第三是看产品的实际性能需要,可以从以下几个方面考虑

(1)       是否需要自己录音或修改内容

(2)       语音时间需要多长

(3)       需要分多少段

(4)       单片机预留的口线多少

ISD1420单片20秒高保真语音录放IC

   ISD1420为美国ISD公司出品的优质单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存入永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利--直接模拟存储技术(DAST TM)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器。直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。不仅语音质量优胜,而且断电语音保护。

一、特点:
使用方便的单片录放系统,外部元件最少
重现优质原声,没有常见的背景噪音
放音可由边沿或电平触发
无耗电信息存储,省掉备用电池
信息可保存100,可反复录放10万次
无需专用编程或开发系统
较强的分段选址能力可处理多达160段信息
具有自动节电模式
录或放后立即进入维持状态,仅需0.5μA电流
单一5伏电源供电

二、电特性:
工作电压:5V
静态电流:典型值0.5μA,最大值2μA
工作电流:典型值15mA,最大值30mA16欧姆)






 

三、电路外形图引出端功能说明:
各管脚功能如下:

 

四、操作模式:
  地址输入有双重功能,根据地址中的A6,A7的电平状态决定A0A7的功能。如果A6,A7有一个是低电平,A0A7输入全解释为地址位,作为起始地址用。地址位仅作为输入端,在操作过程中不能输出内部地址信息。根据 、 或 的下降沿信号,地址输入被锁定。如果A6,A7同为高电平时,它们即为模式位。
使用操作模式有两点要注意:
  ()所有初始操作都是从0地址开始,0地址是1420存储空间的起始端,以后的操作可根据模式的不同,而从不同的地址开始工作。当电路中录放音转换或进入省电状态时,地址计数器复位为0
  ()当 、 或 变为低电平,同时A6,A7为高电平时,执行对应操作模式。这种操作模式一直执行到下一个低电平控制输入信号出现为止,这一刻现行的地址/模式信号被取样并执行。
操作模式可以与微控制器一起使用,也可用硬件连线得到所需系统操作。
A0---
信息检索( only)
不知道每个信息的实际地址,A0可使操作者快速检索每条信息,A0每输入一个低脉冲,可使得内部地址计数器跳到下一个信息。这种模式仅用于放音,通常与A4操作同时应用。
A1---
删除 标志( only)可使录入的分段信息成为连续的信息,A1可删除掉每段中间信息后的 标志,仅在所有信息后留一个 标志。当这个操作模式完成时,录入的所有信息就作为一个连续的信息放出。
A3---
循环重放信息( only)可使存于存储空间始端的信息自动地连续重放。一条信息可以完全占满存储空间,那么循环就可以从头至尾进行工作,并由始至终反复重放。

A4--- 连续寻址:在正常操作中, 当一个信息放出, 遇到一个 标志时,地址计数器会复位,A4可防止地址计数器复位,使得信息连续不断地放出。
A2
A5--- 未用。

June 23

手机Audio驱动中的回音抑制技术











     在过去三十年中,回音消除(Echo cancellation)已演变发展出属于它自己的专业领域。一般人将它视为是一个难以理解的技术领域,想要了解它并取得可接受的实务性成果,往往必须具备深厚的理论基础和特殊的专业知识才能做到。

回音消除最早被用于长距离语音通道的传输中,但对于回音消除的需求已延伸到透过封包或无线网路传输的每一条语音通道中,其应用包括VoIP(Voice over IP)、Voice over DSL或第三代行动网路(3G)等等。由于有愈来愈多的语音是透过封包网路来传送,而封包式语音的本质上即存在着延迟的议题,因此迴音消除就成了主要的设计考量之一,也是在语音解决方案的整体成本中相当重要的一部分。

显然地,回音消除的成本将成为电信设备中的一部分,而这部分的成本与元件的尺寸及功耗息息相关。成本固然重要,但更重要的考量还是品质的达成。对于行动网路用户来说,语音品质一直是他们最关切的议题;对电信业者来说,语音也仍是他们最能获利的服务项目,因此语音的品质是不容妥协的。

传统的回音消除技术是从七十年代的早期作法发展而来,这类技术的采用相当昂贵。为了满足今日与未来的网路需求,回音消除技术的挑战正在于如何有效地降低成本并持续改善语音品质。

经过三十年的发展,回音消除技术的效益确实有所提升,但在演算法的建置上,基本上并没有太大的改变。透过今日高密度晶片所发展出的新技术,除了能揭露回音消除技术的神祕性外,还能够大幅地降低成本,并且以可量测的方式来提升解决方案的品质与效能。

自适应滤波器
在所有回音消除器的核心部分是自适应滤波器(Adaptive Filter, AF)。自适应滤波器会建立起回音路径的数学表示法或脉冲响应(impulse response)。这个表示法一旦被建立后,它会被储存在一般所知的H暂存器(H register)中。当自适应滤波器使用H暂存器来处理某个信号(Rin)时,输出值是一个近似于预期中Rin迴音的新信号值。此一新信号可以从传回的信号(Sin)中被减去,以移除或消除回音现象。

由于自适应滤波器只能估算回音的近似值,因此它并不能将回音完全消除,也就是说,仍然有些残余的迴音留在信号当中。在任何时刻中,H暂存器中的准确性正是决定残余回音音量的关键所在。如果残余的回音量大到听得见的音量,这时就得靠非线性处理器(non linear processor, NLP)来加以移除,NLP是每个迴音消除器组成架构中的一部分。

自适应滤波器的范围很广,可以有各种的解决方案。所有的自适应滤波器解决方案都有相同的目标,也就是找到一套最佳化的数学模型,让此模型和系统实际响应之间的误差能达到最小──这个过程被称为收敛(convergence)。

自适应滤波器演算法在技术作法上的竞争发展,可以上溯到19世纪早期,当时高斯(Carl Friedrich Gauss)和拉普拉斯(Pierre-Simon Laplace)两位数学大师分别对此问题提出了不同的解决途径,也引起了极大的争议。高斯的最小平方(Least Squares, LS)法将误差的平方做了最小化处理;拉普拉斯的解决方法则是对实际的误差进行最小化处理。针对特定的应用以及当时可行的技术,基于这两项途径又衍生出许多的解决方案,它们都试着要改善将模型与实际响应之间的误差达到最小的能力。不过,多数人都同意最小平方法较适用于在回音消除环境的系统中。基于建置 LS 的成本考量,多数的回音消除器采用最小均方(Least Means Squares)法来实现 LS 解决方案。

语音的回音消除设备对自适应滤波器演算法有两个主要的要求:快速性(sprint)和持久性(marathon)。快速性的要求是在通话一开始时即能快速的收敛,但回音路径改变时,也能快速地重新收敛。由于在一开始时还不知道回音路为何,初始收敛必须要能很快的完成。在快速的收敛后,还需要有一个自适应滤波器演算法来继续改善收敛状况,此演算法不管回音中所夹杂的任何回传噪音。这种持久性在整段通话中都会持续进行,包括不说话和同时说话(double talk)的含混语音状况。在整个过程中,回音路径的收敛是不能中断的。
简单地说,自适应滤波器的设计具有两个互相矛盾的特性,也就是快速收敛和高度的稳定性,如何同时实现这两项特性,正是设计上的主要挑战。

线上滤波器 vs. 离线滤波器
最简化的自适应滤波器型式会持续地对输入信号进行处理。自适应滤波器会根据每个新的采样数据来更新H暂存器。这个新的采样数据会被分配到一个权重(weight),此权重会决定它与H暂存器中既存的数据何者较为重要。此权重通常被称为自适应增益(adaptation gain)、步长大小(step size)或遗忘因子(forgetting factor)。在通话一开始时或回音路径改变后,此增益值应该会较大,其目的是要让H暂存器快速地逼近当下的回音路径。

当double talk时,必须分配一个很小的自适应增益值(有时此增益是 0)给新采样数据,其目的是要避免原本有效的H暂存器遭到不良的影响。在所有其他的状况中,一个低的增益值是用来让收敛速度放慢,而以较大量的取样数据来进行平均,此举能在H暂存器中产生更逼近的迴音路径。有一套用来决定自适应增益的逻辑,它控制了自适应滤波器的稳定性和响应特性,此逻辑正是一个自适应滤波器中最重要的技巧所在。

在上述演算法中的最大问题之一,就是如何区分出近端通话(包括double talk和背景噪音)和回音路径改变。如果近端通话被误认为回音路径改变,新采样数据就会因获得较大的自适应增益值,进而对原先收敛地很好的H暂存器造成破坏。不过,如果一个迴音路径的改变被误认为是近端通话,新取样数据所得到的低增益将让H暂存器无法在合理的时间内估算出新脉冲响应的真实特性。

为了解决这个问题,回音消除器演算法可以在完整地保有当前线上H暂存器的条件下,同时采用第二个自适应滤波器(称为离线滤波器)。此一离线滤波器会尝试对最新的取样数据进行收敛,以建置另一快速收敛的离线H暂存器。当这个离线H暂存器对迴音路径的匹配度达到比线上滤波器建置的H暂存器更佳的状态时,它就会取代原先的H暂存器。为线上应用选择正确的H暂存器,正是建立快速且稳定的离线滤波系统的关键所在。

比较这两个H暂存器的选择过程,通常称为离线滤波器选择(offline filter selection)。此演算法採用一个H误差暂存器来建立每个滤波器的收敛特性,进而能进行正确的比较。要实现稳定、不受double talk干扰和快速收敛的自适应滤 波器特性,此一误差的计量与标准统计方法的整合正是其中的关键。

简化回音消除器范例
我们将使用一个简化的回音消除范例来清楚地说明离线滤波器选择的决定过程。此一回音消除器包含一个延迟为 0 的单阶(single tap)H暂存器,这表示此一回音消除器只能量测衰减,但不能检查延迟。每隔1024个取样(128ms),此设备会针对这些取样计算出一个离线暂存器。当这些取样数据被用来计算出离线H暂存器后,它可能会取代线上暂存器(如果确信它是更佳的回音路径模型),也可能被捨弃。此一回音消除器会使用最小平方演算法,来计算它的H暂存器,如下图所示:

图二的范例显示一个延续了3072个取样的测试通话。为了满足此范例的目的,此一回音路径是一个起始样本为2048个、幅度为0.5的单阶脉冲(impulse)。后1024个取样包含一个不同的回音路径,它的幅度是0.2,也就是说,在第2048个取样时会出现回音路径的一次改变.

从图二可以很容易地看出,在第一个收敛时段(P0)中,其H暂存器中包含的误差应该是最小的,因为在Sin信号中存在最少的噪音量。由于相似的理由,在中间收敛时段(P1)中,其H暂存器包含的误差应该是最大的,因为它存在最大的噪音量。最后一个时段(P2)的误差应该是介于两者之间。显然地,一个好的自适应滤波器应该选择由时段P0所产生的H暂存器,只要它完成了(在第1024个取样后)就立即用于线上处理;由P1时段产生的H暂存器则应该被捨弃,因为在P1时段中因噪音而形成很大的误差;最后,由P2时段产生的H暂存器,其幅度与自P0时段后即被採用的线上H暂存器有很大的差异,因此它应该取代线上H暂存器以反应出迴音路径的改变。此一操作的细节将在下文中更具体的说明。

找出回音估算中的误差
自适应滤波器透过测量Rin和Sin信号(参考图一)之间的相关性来区分出回音和噪音的不同,其中Sin讯号是近端信号(背景噪音和近端语音)和回音信号的总合。要找出Sin信号中的迴音,需要将它和Rin进行交叉关联,因为此回音会是Rin的线性函数,不过,Rin讯号与回音之间的关联性很好,但它和近端信号的关联性就小很多。虽然近端信号(Snear)和Rin是独立的信号(通常不相关),但其相关性并不会等于零,这种相关性的结果正是让H暂存器产生误差的原因。

为了解释上述自适应滤波器的行为,势必会遭遇到不少的数学挑战。首先,在每次收敛后的H暂存器误差必须被估算出,但并不可能完全正确的计算出它的误差。如果真的算出来了,那就可能透过从H暂存器的估计值减去误差来找出实际的回音路径。不过,透过数学方式来计算出误差的标准偏差(standard deviation)还是可能实现的,此标准偏差值为围绕在H估计值附近的误差统计分布提供了一个可信度的参考。H暂存器误差的标准偏差会被储存在H误差暂存器中(见表一)。

有许多统计方法被用来确定一个随机过程的标准偏差。在此应用中,我们可以看出此误差是基于高斯分布的。使用高斯分析并知道误差的标准偏差,就可以算出误差超过某一特定值的概率,此特定值通常用标准偏差的倍数来衡量。表一显示不同标准偏差的倍数,以及试验中会产生大于这些特定值的误差在理论上的百分率。

H误差暂存器的用途在于确定H暂存器中的数值究竟产生了多大的误差。当H暂存器的实际误差比预期的误差来得低时,就会对演算法做出的决策进行修正。不过,如果实际的误差大于预期的数值时,就会做出错误的决策。

换个角度来看,在整个过程中,采用一个大的误差因子会拖慢决策确定的过程,因此必须在快速的反应时间和错误行为的数量之间做出妥协。在此一离线滤波演算法中必须针对稳定性做出妥协,这是在设计上必需知道的重要概念。

在上述的回音消除范例中,每经过1024次取样会做一次决定(也就是每次会有一个新的H暂存器可用)。如果决策过程採用 4σ (四倍标准偏差)误差因子,平均每15800个决策中将有一个是错误的(即0.0063%的错误率)。若使用8KHz的取样率,那每33分钟的操作中平均会出现一次错误的决策。如果改采 6σ 误差因子,每二年的操作才会出现一次错误的决策。

选择正确的过滤器
现在可以将这些资讯用于离线滤波器的选择过程。每取样1024次,就能计算出一个新的H暂存器值。采用下列的步骤来与线上H暂存器数值进行比较,就能确定回音路径是否有改变。

首先会进行一项一致性的测试,也就是计算出两个H暂存器之间的差异。如果两个暂存器之间的差异值大到无法解释它们的误差状况,新的H暂存器会自动成为新的线上H暂存器,并将基于旧迴音路模式所收集到的所有资讯都删除掉。这是一次回音路径的改变。

如果两个H暂存器的比较结果是一致的(它们通过先前的测试),具有最小误差的H暂存器会被保留来做为新的线上暂存器。

在P0时段之后,一个新的H暂存器被计算出,为了确定将它放在线上使用是否安全,它所代表的必须是非零的回音路径。换句话说,此一H暂存器的数值必须大于H误差暂存器与误差因子的乘积,此一回音路径才是有意义的。在我们的范例中使用 4σ 误差因子,结果能满足上述的条件[ 0.54 > (0.02 X 4) ],因此这个新的H暂存器可以被在线上使用。进行此一验证是很重要的,因为在经过一段double talk时段所计算出来的H暂存器,通常会包含很大的误差,此误差会放大返回的回音,採用此H暂存器的结果比什么都不做来得更糟。

在收敛时段P1之后,新的H暂存器会与线上H暂存器互相比较,以确定它们之间的一致性。线上暂存器和离线暂存器之间的差异必须大于两者的误差,才可做出回音路径发生改变的判断。在此范例中採用 4σ 误差,可以发现并不能满足阈值条件[(0.54 – 0.4) > ((0.02 + 0.13) X 4)],因此,这两个H暂存器是一致。

第二个测试是要检查那一个H暂存器具有最小的H误差暂存器,一般来说,这表示此一H暂存器是迴音路径的最佳模型。很显然地,线上H暂存器(来自P0时段)是较好的线路模型,因而被保留下来。

最后,当P2时段计算出的H暂存器出现后,将会进行与上述相同的回音路径改变测试。在这个例子中,两者的差异大于误差,因此可判断出回音路径发生改变 [(0.54 – 0.22) > ((0.02 + 0.05) X 4)]。新的H暂存器会取代线上H暂存器,即使新计算出的H误差暂存器高于线上的H误差暂存器。

模型的延伸
现在要将用来解释简化迴音消除器的上述数学工具延伸到更实务性的建置上。主要的差异是回音的尾部通常比单阶作法更长,这意味着它们也具有一个延迟分量。上述的概念也会再被用于1024阶(128ms有效尾部)的回音消除器之上。

H误差暂存器的延伸有其重要性。H误差暂存器可以在单一频段上找出误差的特性,并将H误差暂存器放置于这个频率区域,而不是在单阶作法上找出一个幅度误差(amplitude error)的特性。为了清楚地说明,图三中显示了在这个时域中的一般迴音路径脉冲响应,这正是H暂存器中所包含的。我们可以採用快速傅利叶转换(FFT)来将H暂存器从时域转换为频域。此一转换为一个1024阶的H暂存器产生了512个独立的频段,每个都具有幅度和相位的分量。

在图四中并没有显示相位的分量,一个以500Hz为中心的单频段从图四中被抽取出,并重新绘制出包含相位分量的图五。图五中的向量长度与图四中的幅度完全相符。图五中起于原点的向量角度代表相位分量。这两个具有相同幅度响应但不同相位的H暂存器有不同的回音路径。举例来说,不同延迟的相同混合会产生完全相同的幅度响应,但不同的相位。

现在H误差暂存器可以与频域中的H暂存器相关联。在简化的回音消除器中,H误差是一个没有符号的幅度,可以代表H暂存器中的正误差或负误差。频域中的H误差将H暂存器的向量端点往各个方向移动,而不是受限于只能增大或减小H暂存器的值,请见图五中的太灰色误差图。频域中的H误差可以同时改变频段的幅度和相位。误差圆的半径是由H误差暂存器值(即标准偏差)与误差因子的乘积来加以定义,误差因子愈大,这个圆也会愈大。表一中列出实际回音路径脉冲响应超出误差圆的机率。

1024阶H暂存器的复杂问题已被分解为512个较小的、更容易处理的问题。只要所有的计算都采用包含相位的复杂数值,那每个频域都可以使用和上述相同的简化回音消除器来进行处理。

加速多频段的决策
当采用了独立频段自适应滤波器的选择技巧后,有一些线路事件(line event)的发生会同时对所有512个频段发生影响。不过,因为实际的讯号有不同的频谱分布,有些频段在Rin中可能都不会得到有效的能量信号,有些频段则可能从近端(Snear)得到大量的噪音。这些频段对于一个独立性决策的确定来说都没有什么帮助,相反地,其他频段可以用来建立线路状况的清楚描述。

在实务上,这样做让回音路径改变的侦测能比其他可行方式更快速的进行。坚实的统计数学方法又一次让512组观察(每频段一组)的组合能够做出更准确的一般性决策。举例来说,如果多数的频段显示出现了回音路径的改变,即使有些频段并没有侦测到回音路径的改变,这时所有的频段都可以视为此一改变已经发生。显然地,当一个频段中的分析具有更高的准确性时,就只需要从其他频段中得到较少的资讯来确定回音路径的改变。

举例来说,在一个单一频段中,可能需要采用 5σ 误差因子来确定回音路径的改变(以便将侦测到伪回音路径改变的机率降低)。不过,即使在此一准确性的等级中并没有任何一个单频段侦测到回音路径的改变,当采用 4σ 误差因子时却有四个频段侦测出回音路径的改变,这显示在此一决策中的可信度至少达到相同的等级。不同的误差因子可在任何数量的频段中做为判断之用。

追求更佳的品质
使用最小平方(LS)演算法和高斯方程式的特性化,可以建置一套极为稳定及快速收敛的自适应滤波器演算法,它让设计者能够确实控制在每小时操作中的错误行为数量。此建置的关键在于消除自适应滤波器中的不务实性。

透过以离线滤波器选择过程取代标准线上自适应滤波器的方式,此滤波器不只变得更为可靠和有效率,而且更容易建置和进行稳定性测试。想要在实际的回音消除器建置这些特性以降低成本和功率,以及大幅的增加晶片密度,这需要具备极专业的技术能力,然而此技术途径能够成功地揭露当前用来建立准确性较低的回音消除器在技术上的神祕性。

这些基于高斯原创理论,并经过过去两世纪以来不断地发展、修正和证实的数学技巧,确保了回音消除器可以采用实务性而非想像性的方式来被开发,并能传送极高品质的回音消除语音。在本文描述的虽然是特殊的范例,但此技巧可被延伸到商用回音消除器的建置中所需要的任何参数组当中。

放眼未来,在先进语音网路的建置中,包括自适应噪音降低(adaptive noise reduction)和语音回音控制(acoustic echo control)等其他语音处理的技术面向都成了愈来愈重要的要素。踏实的科学基础同样能被用来处理这些问题,并提供较今日可行做法更佳的解决方案。



 



 



 



 


 



 

 
  
April 07

大花猫的梦!

今天第一次打开SPACE
写下第一篇我的网络日志
我要记写什么?仿佛很多的话想写出来
一大早,睁开睡眼的同时,接到猫猫世界的电话
突然感觉这么近!
也许你会问猫猫世界在哪,只能告诉你我家养了只世界上或许最大的大花猫了
 
 
There are no photo albums.