数字助听器设计,dsp,单片机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字助听器设计挑战及注意事项
最新的助听器是数字可编程的,这意味着虽然它们有模拟信号处理功能,但由听力学家可调节的数字参数来控制处理。
在设计数字助听器时,工程师将会遇到哪些挑战?他们应该如何应对?本文将为你一一解读。
设计挑战
助听器的设计人员有着严格的技术要求。
助听器必须足够小以便放入人体的耳内或耳后,运行功率必须超低,并且没有噪声或失真。
为满足这些要求,现有的助听设备消耗的功率要低于1mA,工作电压为1V,利用的芯片面积少于10mm2,这通常意味着两个或三个设备相互叠放。
典型的模拟助听器由具有非线性输入/输出功能和频率相关增益的放大器组成。
但此模拟处理依赖于自定义电路,与数字处理相比,缺乏可编程性且成本更高。
最新的数字设备与其对应的模拟设备相比,降低了设备成本,减少了功率消耗。
数字设备最大的优势在于其提高的处理能力和可编程性,允许定制助听器以适用于特定的听力损伤和环境。
代之以简单的声音放大和可调节的频率补偿,可获得更复杂的处理策略来提高提供给受损耳朵的声音质量。
但此类策略需要DSP可提供的极度复杂的处理功能。
一般而言,听力损失分为两类:传导性听力损失和神经性听力损失(SNHL)。
当通过病人的外耳或中耳的声音传导异常时会发生传导性听力损失,而当耳蜗中的感觉细胞或听觉系统中较高的神经机制出现问题时会发生神经性听力损失。
如果是传导性听力损失,则无法正常地通过中耳或外耳传输声音。
由于声音主要由传导性损失衰减,因此只需放大声音就可恢复接近正常的听力。
不需要任何特殊的信号处理,传统的模拟助听器即可良好地工作。
但是,只有5%遭受某些听力损失的人归因于传导性损失。
另一种听力损失是SNHL。
它包括与年纪变老有关的听力损失,以及噪声引起的听力损失和服用了对听觉系统有害的药物导致的听力损失。
大多数SNHL 是由耳蜗故障所导致。
SNH L 被认为是由对内毛细胞和外毛细胞或二者的损害所导致。
但是,底层的生理学极其复杂。
不同的人有不同的病理,这意味着听力图相同的病人不一定有相同类型的听力损失。
而且,病人甚至在不同的频率范围内损伤程度不一。
SNHL的结果通常导致:1)在某些频率通道没有输入,2)缺乏敏感度,以及3)听觉滤波器扩大。
反过来这些结果在很大程度上损伤了听众的声觉。
与听力正常的听众相比,患SNHL 的听众除了其它困难之外,最常遇到响度重振(与正常的相比,舒适的听力水平范围被压缩)和频率分辨率损失。
声觉中的这些变化显著地影响了听众理解语音的能力。
由于SNHL不仅仅是声音传输的问题这么简单,而实际上是声音处理的问题,通过简单的放大不能治疗这种损失- 使模糊不清的声音更大不能使它们更清晰。
因此,帮助SNHL 病人的一个可能有效的方式是通过预处理信号来增强复杂的声调模式,以补偿听力损失。
通过相同的最佳治疗不可能治愈SNHL的各种表现。
处理声音可使语音更容易理解。
但是,最佳处理算法因个体而异,甚至在不同的听力条件下(如安静的房间与喧闹的体育场)为个别人而有所改变。
适应这些差异的关键在于助听器的灵活性。
传统上,助听器一直是装在适合最终用户的定制耳模中的放大器。
助听系统包含一个麦克风、
一个放大器、一节锌空气电池和一个接收器/扬声器。
大多数放大器都采用了某种压缩功能,实际上是非线性输入/输出关系,用于补偿响度重振。
还可以调节不同频带中的增益,频带的数量也有所不同,但通常是两个或三个频带。
许多最新的助听器是数字可编程的,这意味着虽然它们有模拟信号处理功能,但由听力学家可调节的数字参数来控制处理。
此外,一些模拟助听器对于不同的听力环境具有多个“程序”,或参数集。
市场上一些数字助听器是带有可编程系数的ASIC。
这些ASIC提供一些算法集和多个频带,这是典型模拟设备不可能具有的。
例如,数字助听器具有以下功能组合:2到14个具有可调节交叉频率的频带、一个麦克风、定向测听的双麦克风、背景噪音降低、自动增益控制(A GC)、语音增强、反馈消减和噪声保护。
总之,可完成的处理量令人惊叹,特别是与模拟助听器中的传统处理功能相比,更是如此。
最新的助听器是数字可编程的,这意味着虽然它们有模拟信号处理功能,但由听力学家可调节的数字参数来控制处理。
在设计数字助听器时,工程师将会遇到哪些挑战?他们应该如何应对?本文将为你一一解读。
设计示例
基于DSP的助听器可扩展软件控制的功能,以包括频率成形、反馈消减、噪声降低、双耳处理、耳壳与耳道过滤、混响消除以及提供从数字电话、电视或其它音频设备的直接数字输入。
可编程DSP还意味着助听算法/功能可定制或在不改变硬件的情况下改变。
助听专业人员几乎可在实时的前提下经济地采用可用的算法。
甚至还可以将用户可选择的程序用于切换到听力难的情况下经过高度处理的声音,或返回安静环境中的传统、失真较少的声音。
图1:基于DSP的助听器方框图。
上面的方框图显示了基于DSP的数字助听器的主要元素。
典型的数字助听器由三个相互叠放的半导体裸芯片组成:EEPROM或非易失性存储器、一个数字设备和一个模拟设备。
最新进展允许将这些模块集成到两个甚至一个半导体裸芯片中。
由于电池电压的范围是1.35V 到0.9V,这些设备旨在以0.9V的电压操作。
有些实施使用电源管理来监视电池电压,并警告用户何时电池电量不足,当电压降得太低时,适时地关闭系统。
模拟设备通常包括Σ-Δ模数转换器、具有压缩输入限制功能的麦克风前置放大器、遥控数据解码器、时钟振荡器和电压稳压器。
Σ-Δ A/D的频率范围通常为20kHz,分辨率为16位(14位线性)。
数字设备包括
DSP、逻辑支持功能、编程接口和输出级。
输出级通常为全数字,使用利用扬声器阻抗的脉宽调制(PWM)输出与D类放大器执行模数转换。
总之,当前的模拟和数字助听器的功耗大致相等。
模拟设备的总电流功耗大约为0.7mA至1.0mA,而数字设备消耗0.5mA至0.7mA。
一节大约提供30mAh至65mAh与50uA自放电电流的锌空气电池为此系统供电。
寿命终止电压大约为0.9V。
由于数字助听器中的处理量增加,直接对比数字和模拟助听器的功耗并不完全公平。
与模拟助听器等效的具有处理功能的数字助听器消耗的功率甚至更低。
特色产品
AIC111:微功耗音频编解码器
AIC111是一款微功耗DSP或与微控制器兼容的音频编解码器,为个人医疗设备(助听器、听觉预处理和低功耗耳机)等应用提供高性能模拟接口解决方案。
AIC111支持一个1.3V CMOS 数字SPI接口,并包括一个外部麦克风电源和偏置电源以及电池低电量监视器和指示器。
基于TMS320VC5416DSP的数字助听器设计
0 引言
随着社会的发展以及人们对听障患者的日益关注,助听器的发展逐渐受到人们的重视。
但由于听力障碍患者病因各异,其听力损失情况存在着较大差异,使得每位患者对于助听器的补偿有着不同的要求。
目前,现代助听器技术进入到全数字助听器时代。
同时,各种有效提高数字助听器效能的数字信号处理算法也得到更多的重视。
在此提出基于TMS320VC5416的数字助听器设计,能满足听障患者对听力的需求。
l 系统构成和工作原理
1.1 系统组成
基于助听器的技术要求,选用TI公司的C54X系列产品TMS320C5416(以下简称C5416)和数字编码器TLV320AIC23(以下简称AIC23)。
数字编码器AIC23是TI公司推出的一款高性能的立体声音频Codec芯片,A/D 转换和D/A转换部件集成在芯片内部,采用先进的∑-△过采样技术,内置耳机输出放大器。
AIC23DSPCodec工作电压与C5416的核心和I/O电压兼容,可实现与C54x串行口的无缝连接,功耗很低,使得AIC23是一款非常理想的音频模拟器件,可以很好地应用于数字助听器的设计当中。
系统结构如图1所示,主要包括DSP模块、音频处理模块、JTAG接口、存储模块及电源模块等。
模拟语音信号通过MIC或IANE IN输入AIC-23,经过模/数转换后通过MCBSP串口输入C5416,经过实际所需的算法进行处理和补偿后,得到听障患者所需要的语音信号,再通过AIC23数/模转换,通过扬声器或耳机输出声音信号。
1.2 C5416与AIC23的接口设计
图2是C5416与AIC23的接口原理图。
由于AIC23采样输出的是串行数据,因此需要协调好与之相配的DSP的串行传输协议,MCBSP是最适合做语音信号传输的。
将AIC23的第22脚MODE接高电平,接收来自DSP的SPI格式串口数据。
数字控制接口(SCLK,SDIN,CS)与MCBSPl连接,控制字共16位,由高位开始传输。
数字音频口LRCOUT,LRCIN,DOUT,DIN,BCLK与MCBSP0相连。
在工作方式上,DSP为主模式,AIC23为从模式,即BCLK的时钟信号由DSP产生。
串口时钟由BCLKX0,BCLKR0并联到AIC23的BCLK时钟,这样在发送和接收
数据时都可产生串口时钟信号。
输入/输出同步信号LRCIN与LRCOUT,用来启动串口数据传输,接收DSP的帧同步信号。
BFSX0和BFSR0,BDR0和BDX0分别与AIC23的DIN和DOUT连接来实现DSP 与AIC23之间的数字通信。
2 系统实现
2.1 语音的基本特性
声音是一种波,能被人耳听到声音的振动频率为20 Hz~20 kHz。
语音是声音的一种,他是由人的发音器官发出的,具有一定语法和意义的声音。
语音的振动频率最高可达15 kHz。
语音按其激励形式的不同分为:浊音、清音、爆破音。
而人的声音特性基本是由基因周期和共振峰等因素决定的。
当发浊音时,气流通过声门使声带发生振动,产生准周期激励脉冲串。
这个脉冲串的周期就称为“基因周期”,其倒数即为“基因频率”。
人类的声道和鼻道都可以看做是非均匀界面的声道管,声道管的谐振频率称为共振峰。
改变声道的形状就产生不同的声音。
共振峰用依次增加的多个频率表示.如F1,F2,F3,等,称之为第一共振峰,第二共振峰等。
为了提高语音接收质量,必须采用尽可能多的共振峰。
实际中,头三个共振峰是最重要的,具体情况因人而有差异。
2.2 语音增强
在实际的应用环境中,语音会不同程度的受到环境噪声的干扰。
语音增强就是对带噪语音进行处理,降低噪声的影响,改善听觉环境。
实际语音遇到的干扰可能包括以下几类:
(1)周期性噪声:如电器干扰,发动机旋转引起的干扰等,这类干扰在频域表现为一些离散的窄峰。
特别是50 Hz或60 Hz交流声会引起周期噪声。
(2)冲击噪声:如电火花,放电产生的噪声干扰,这类干扰在时域表现为突然出现的窄脉冲。
消除这种噪声可以在时域中进行,即根据带噪语音信号幅度的平均值确定阈值。
(3)宽带噪声:通常指高斯噪声或白噪声,其特点是频带宽,几乎覆盖整个语音频段。
它的来源很多,包括风、呼吸噪声和一般的随机噪声源。
2.3 算法分析
噪声影响使得患者语言识别率大幅下降,去噪和补偿是助听器的重要环节。
人耳对于25~22 000 Hz的声音有反应。
语音的大部分可用信息只存在于200~3 500 Hz之间。
根据人耳感知特性及实验确定,对语音感知,语音识别较为重要的第二共振峰大部分位于1 kHz 之上。
2.3.1 周期噪音消除
周期噪声一般是许多离散的谱峰,来源于发动机的周期性运转。
电器干扰,特别是50~60 Hz交流声也会引起周期噪声。
所以使用带通滤波器可以有效地消除周期噪音以及3 500 Hz以上的高频声音。
IIR数字滤波器在没计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,IIR数字滤波器线性差分方程:
Matlab环境下可视化得到滤波器对动态输入数据的实时滤波效果如图3所示。
2.3.2 基于短时谱估计的宽带噪音去除
由于语音信号的短时谱具有较强相关性,而噪声的前后相关性很弱,因此采用基于短时谱估计的方法从带噪语音中估计原始语音。
而且人耳对于语音相位感受不敏感,可将估计得对象放在短时谱的幅度上。
2.3.3 谱相减法
谱相减法在无参考信号源的单话筒录音系统中是一个有效的方法。
因为噪声是局部平稳的,可认为发语音强的噪声与发语音期间的噪声功率谱相同,因此利用语音前后的“寂静帧”
来估计噪声。
谱相减法的原理框图及仿真结果如图4,图5所示,对语音信号加窗处理后,利用已知的噪声功率谱信息对信号进行除噪处理。
基于MAX262的程控滤波器设计
在电子电路中,滤波器是不可或缺的部分,其中有源滤波器更为常用。
一般有源滤波器由运算放大器和RC元件组成,对元器件的参数精度要求比较高,设计和调试也比较麻烦。
美国Maxim公司生产的可编程滤波器芯片MAX262可以通过编程对各种低频信号实现低通、高通、带通、带阻以及全通滤波处理,且滤波的特性参数如中心频率、品质因数等,可通过编程进行设置,电路的外围器件也少。
本文介绍MAX262的情况以及由它构成的程控滤波器电路。
1 MAX262芯片介绍
MAX262芯片是Maxim公司推出的双二阶通用开关电容有源滤波器,可通过微处理器精确控制滤波器的传递函数(包括设置中心频率、品质因数和工作方式)。
它采用CMOS工艺制造,在不需外部元件的情况下就可以构成各种带通、低通、高通、陷波和全通滤波器。
图1是它的引脚排列情况。
图1 MAX262引脚
V+ ——正电源输入端。
V- ——负电源输入端。
GND ——模拟地。
CLKA ——外接晶体振荡器和滤波器A 部分的时钟输入端,在滤波器内部,时钟频率被2分频。
CLKB ——滤波器B部分的时钟输入端,同样在滤波器内部,时钟频率被2分频。
CLKOUT ——晶体振荡器和R-C振荡的时钟输出端。
OSCOUT ——与晶体振荡器或R-C振荡器相连,用于自同步。
INA、INB ——滤波器的信号输入端。
BPA、BPB——带通滤波器输出端。
LPA、LPB——低通滤波器输出端。
HPA、HPB——高通、带阻、全通滤波器输出端。
WR ——写入有效输入端。
接V+时,输人数据不起作用;接V-时,数据可通过逻辑接口进入一个可编程的内存之中,以完成滤波器的工作模式、f0及Q的设置。
此外,还可以接收TTL电平信号,并上升沿锁存输人数据。
A0、A1、A2、A3 ——地址输人端,可用来完成对滤波器工作模式、f0和Q的相应设置。
D0、D1 ——数据输入端,可用来对f0和Q的相应位进行设置。
OP OUT —— MAX262的放大器输出端。
OP IN —— MAX262的放大器反向输入端。
图2是MAX262的内部结构。
MAX262由2个二阶滤波器(A和B两部分)、2个可编程ROM 及逻辑接口组成。
每个滤波器部分又包含2个级联的积分器和1个加法器。
该电路的主要特性有: 配有滤波器设计软件,可改善滤波特性,带有微处理器接口;
2可控制64个不同的中心频率f0、128个不同的品质因数Q及4种工作模式;
3对中心频率,f0和品质因数Q可独立编程;
4时钟频率与中心频率比值(fclk/f0)可达到1%(A级);
5中心频率f0的范围为75 kHz。
图2 MAX262内部结构
图3是控制数据输入时序。
可在WR的下降沿经逻辑接口给滤波器A、B中的fclk/f0、Q 及工作模式控制字分别赋予不同的值,从而实现各种功能的滤波。
图3 控制数据输入时序
2 电路原理及设计过程
2.1 硬件设计
图4是按上述要求设计的程控滤波器电路。
图4 滤波器电路
单片机选用AT89C52。
AT89C52是一种低功耗、高性能的CMOS型8位微型计算机;有8 KB 的Flash,256 B的RAM,32线I/O 口,3个16位定时器/计数器,6向量两级中断,1个双工串行口;具有片内自激振荡器和时钟电路等标准功能。
此外,AT89C52设有静态逻辑,用于运行到零频率,并支持软件选择的节电运行方式和空闲方式,使CPU停止工作,而允许RAM、定时/计数器、串行VI和中断系统继续工作。
在掉电方式下,片内振荡器停止工作。
由于时钟被冻结,一切功能都停止,只有片内RAM 的内容被保存,直到硬件复位才恢复正常工作。
该电路由芯片AT89C52的P1口来控制,由单片机的P1.0~P1.5口及P1.7将数据送入存储器54HC373存起来,再送入MAX262。
通过设置相应的参数,可实现带宽为30~50 kHz的带通滤波。
抗干扰电路选用X25045芯片。
X25045有三种功能:看门狗定时器、电压监测、E2PROM。
看门狗电路在系统出现故障,程序“跑飞”时,会产生复位信号,使系统复位。
电压监测可以保护系统免受低电压状态的影响。
当VCC降到最小VCC转换点以下时,系统复位,一直到VCC返回且稳定为止。
在滤波器输出中,显示器选用大连东方显示器材公司的EDM-1601。
它是16列×1行的液晶显示器组件,与CPU接口简单、功耗低、编程方便。
键盘操作时可能会由于逻辑输入跃变而产生某些噪声。
为避免出现这种情况,在输入的数字线接有逻辑门缓冲(图4中未画)。
2.2 软件部分
采用汇编语言编程,MAX262的地址A0~A3与数据D0D1的关系如表1所列。
由表1可看出,每个滤波器的工作模式中心频率、品质因数Q值所需编程数据,均需分8次写入MAX262的内部寄存器才能完成设置。
系统的主程序流程(单片机主程序)如图5所示。
图5 系统主程序流程
首先进行初始化,然后从片内RAM 中读取新设置标志位进行判断:如果不是,给MAX262芯片送入滤波器所需的初始化工作参数;如果是新设置,则根据新建中断服务程序获得的键位进行处理。
进行新设置时,首先根据输入的键值完成对滤波器的选择,包括滤波器A和B 的设置选择,以及相应滤波器的类型选择。
然后,由Q值计算N并转换成二进制编程数据
Q0~Q6送片内RAM,由输入的中心频率f0值计算N1。
N为二进制数据Q0~Q6对应的十进制整数,范围为0~127,共128级;N1为二进制数据F0~F5对应的十进制整数,范围为0~63,共64级。
在获得MAX262的工作参数后,根据表1将这些参数转换为8字节的编程数据。
由
AT89C52的P1口通过54HC373送入MAX262。
设置完成后,MAX262就按照当前所需求的中心频率、Q值和滤波器工作方式对输入信号进行滤波处理。
3 应用实例
下面分析由MAX262设计的切比雪夫-I型四阶带通滤波器的工作情况。
设计要求:中心频率f0=40 kHz,Q=50。
选晶振频率为6 MHz,晶振二分频后为3 MHz,
即fclk=3 MHz,fclk/f0=75.53。
通过查参考文献[5].可得N1=4;通过参考文献[5]给出的fclk/f0与 F0~F5的关系表格,得到本文根据fclk/f0计算编程数据F0~F5的公式,即fclk/f0与F0~F5的关系为:fclc/f0=40.84+1.57N1。
同样,对应滤波器的Q值也是通过计算来获得Q值的编程数据Q0~Q6的。
Q值与Q0~Q6的关系为:Q=64/(128-N)。
其工作模式为模式2,F5~F0 为000100,品质因数Q6~Q0为0100000,M1M0为01,编程输入为010000000010001。
滤波器的传递函数为
式中的B、C值可按上述要求算出来。
图6是由PSPICE作出的该滤波器的频率响应曲线。
图6 切比雪夫-I型四阶带遗滤波器的频率响应曲线
结语
采用单片机AT89C52完成对可编程滤波器MAX262的控制.能很好地实现有源滤波器的设计工作;这种程控滤波器具有使用灵活、调试容易及工作性能稳定等特点。
它只要1片MAX262通过滤波器A和B的缀联就能很容易完成四阶滤波器电路的设计。
另外,还可以通过对
AT89C52的ALE信号进行倍频和分频,实现对MAX262的所有工作频率范围的覆盖。
该电路稍加改动后,还可通过对不同参数和N值的设置,来实现全通、低通、高通、带阻等滤波器的设计。