具体实施方式
图1是按照本公开的实施例的示范输入装置100的框图。输入装置100可配置成向电子系统(未示出)提供输入。如本文档所使用的术语“电子系统”(或“电子装置”)广义地表示能够电子地处理信息的任何系统。电子系统的一些非限制性示例包括所有尺寸和形状的个人计算机,例如台式计算机、膝上型计算机、上网本计算机、平板、万维网浏览器、电子书阅读器和个人数字助理(PDA)。附加示例电子系统包括合成输入装置,例如包括输入装置100和独立操纵杆或按键开关的物理键盘。其它示例电子系统包括诸如数据输入装置(包括遥控和鼠标)和数据输出装置(包括显示屏幕和打印机)之类的外围设备。其它示例包括远程终端、售货亭和视频游戏机(例如视频游戏控制台、便携游戏装置等)。其它示例包括通信装置(包括蜂窝电话、例如智能电话)和媒体装置(包括记录器、编辑器和播放器、例如电视机、机顶盒、音乐播放器、数码相框和数码相机)。另外,电子系统可能是输入装置的主机或从机。
输入装置100能够实现为电子系统的物理部分,或者能够与电子系统在物理上分隔。适当地,输入装置100可使用下列的任一个或多个与电子系统的部分进行通信:总线、网络和其它有线或无线互连。示例包括I2C、SPI、PS/2、通用串行总线(USB)、蓝牙、RF和IRDA。
图1中,输入装置100示为接近传感器装置(又常常称作“触摸板”或“触摸传感器装置”),其配置成感测由一个或多个输入物体140在感测区120中提供的输入。示例输入物体包括手指和触控笔,如图1所示。
感测区120包含输入装置100之上、周围、之中和/或附近的任何空间,其中输入装置100能够检测用户输入(例如由一个或多个输入物体140所提供的用户输入)。特定感测区的尺寸、形状和位置可逐个实施例极大地改变。在一些实施例中,感测区120沿一个或多个方向从输入装置100的表面延伸到空间中,直到信噪比阻止充分准确的物体检测。在各个实施例中,这个感测区120沿特定方向所延伸的距离可以是大约小于一毫米、数毫米、数厘米或者以上,并且可随所使用的感测技术的类型和预期的精度而极大地改变。因此,一些实施例感测包括没有与输入装置100的任何表面相接触、与输入装置100的输入表面(例如触摸表面)相接触、与耦合某个量的外加力或压力的输入装置100的输入表面相接触和/或它们的组合的输入。在各个实施例中,可由传感器电极所在的壳体的表面、由施加在传感器电极或者任何壳体之上的夹层结构面板等,来提供输入表面。在一些实施例中,感测区120在投影到输入装置100的输入表面时具有矩形形状。
输入装置100可利用传感器组件和感测技术的任何组合来检测感测区120中的用户输入。输入装置100包括用于检测用户输入的一个或多个感测元件。作为若干非限制性示例,输入装置100可使用电容、倒介电、电阻、电感、磁、声、超声和/或光学技术。
一些实现配置成提供跨越一维、二维、三维或更高维的空间的图像。一些实现配置成提供沿特定轴或平面的输入的投影。
在输入装置100的一些电容实现中,施加电压或电流以创建电场。附近的输入物体引起电场的变化,并且产生电容耦合的可检测变化,其可作为电压、电流等的变化来检测。
一些电容实现利用电容感测元件的阵列或者其它规则或不规则图案来创建电场。在一些电容实现中,独立感测元件可欧姆地短接在一起,以形成较大传感器电极。一些电容实现利用电阻片,其可以是电阻均匀的。
一些电容实现利用基于传感器电极与输入物体之间的电容耦合的变化的“自电容”(或“绝对电容”)感测方法。在各个实施例中,传感器电极附近的输入物体改变传感器电极附近的电场,因而改变所测量电容耦合。在一个实现中,绝对电容感测方法通过相对参考电压(例如系统地)来调制传感器电极以及通过检测传感器电极与输入物体之间的电容耦合进行操作。
一些电容实现利用基于传感器电极之间的电容耦合的变化的“互电容”(或“跨电容”)感测方法。在各个实施例中,传感器电极附近的输入物体改变传感器电极之间的电场,因而改变所测量电容耦合。在一个实现中,跨电容感测方法通过下列步骤进行操作:检测一个或多个发射器传感器电极(又称作“发射器电极”或“发射器”)与一个或多个接收器传感器电极(又称作“接收器电极”或“接收器”)之间的电容耦合。发射器传感器电极可相对于参考电压(例如系统地)来调制,以传送发射器信号。接收器传感器电极可相对于参考电压基本上保持为恒定,以促进所产生信号的接收。所产生信号可包括与一个或多个发射器信号和/或与一个或多个环境干扰源(例如其它电磁信号)对应的(一个或多个)影响。传感器电极可以是专用发射器或接收器,或者可配置成既传送又接收。
图1中,处理系统110示为输入装置100的组成部分。处理系统110配置成操作输入装置100的硬件,以检测感测区120中的输入。处理系统110包括一个或多个集成电路(IC)的部分或全部和/或其它电路组件。例如,互电容传感器装置的处理系统可包括:发射器电路,配置成采用发射器传感器电极来传送信号;和/或接收器电路,配置成采用接收器传感器电极来接收信号。在一些实施例中,处理系统110还包括电子可读指令,例如固件代码、软件代码等。在一些实施例中,组成处理系统110的组件共同位于例如输入装置100的(一个或多个)感测元件的附近。在其它实施例中,处理系统110的组件在物理上是独立的,其中一个或多个组件靠近输入装置100的(一个或多个)感测元件,而一个或多个组件在其它位置。例如,输入装置100可以是耦合到台式计算机的外设,并且处理系统110可包括配置成运行于台式计算机的中央处理单元上的软件以及与中央处理单元分隔的一个或多个IC(也许具有关联固件)。作为另一个示例,输入装置100可在物理上集成到电话中,并且处理系统110可包括作为电话的主处理器的组成部分的电路和固件。在一些实施例中,处理系统110专用于实现输入装置100。在其它实施例中,处理系统110还执行其它功能,例如操作显示屏幕、驱动触觉致动器等。
处理系统110可实现为操控处理系统110的不同功能的一组模块。各模块可包括作为处理系统110的一部分的电路、固件、软件或者其组合。在各个实施例中,可使用模块的不同组合。示例模块包括:硬件操作模块,用于操作诸如传感器电极和显示屏幕之类的硬件;数据处理模块,用于处理诸如传感器信号和位置信息之类的数据;以及报告模块,用于报告信息。其它示例模块包括:传感器操作模块,配置成操作(一个或多个)感测元件以检测输入;识别模块,配置成识别例如模式变更手势等的手势;以及模式变更模块,用于变更操作模式。
在一些实施例中,处理系统110直接通过引起一个或多个动作,来响应感测区120中的用户输入(或者没有用户输入)。示例动作包括变更操作模式以及诸如光标移动、选择、菜单导航和其它功能之类的GUI动作。在一些实施例中,处理系统110向电子系统的某个部分(例如向电子系统中与处理系统110分隔的中央处理系统,若这种独立中央处理系统存在的话)提供与输入(或者没有输入)有关的信息。在一些实施例中,电子系统的某个部分处理从处理系统110所接收的信息,以便对用户输入起作用,例如促进全系列的动作,包括模式变更动作和GUI动作。
例如,在一些实施例中,处理系统110操作输入装置100的(一个或多个)感测元件,以便产生指示感测区120中的输入(或者没有输入)的电信号。处理系统110可在产生提供给电子系统的信息中对电信号执行任何适当量的处理。例如,处理系统110可数字化从传感器电极所得到的模拟电信号。作为另一个示例,处理系统110可执行滤波或者其它信号调节。作为又一个示例,处理系统110可减去或者以其它方式考虑基准,使得信息反映电信号与基准之间的差。作为又一些示例,处理系统110可确定位置信息,将输入识别为命令,识别笔迹等。
如本文所使用的“位置信息”广义地包含绝对位置、相对位置、速度、加速度和其它类型的空间信息。示范“零维”位置信息包括近/远或接触/无接触信息。示范“一维”位置信息包括沿轴的位置。示范“二维”位置信息包括平面中的运动。示范“三维”位置信息包括空间中的瞬时或平均速度。其它示例包括空间信息的其它表示。还可确定和/或存储与一种或多种类型的位置信息有关的历史数据,包括例如随时间来跟踪位置、运动或者瞬时速度的历史数据。
在一些实施例中,输入装置100采用由处理系统110或者由另外某种处理系统所操作的附加输入组件来实现。这些附加输入组件可提供用于感测区120中的输入的冗余功能性或者某种其它功能性。图1示出感测区120附近的能够用于促进使用输入装置100来选择项目的按钮130。其它类型的附加输入组件包括滑块、球、轮、开关等。相反,在一些实施例中,输入装置100可以在没有其它输入组件的情况下实现。
在一些实施例中,输入装置100包括触摸屏界面,并且感测区120重叠显示屏幕的工作区的至少一部分。例如,输入装置100可包括覆盖显示屏幕、基本上透明的传感器电极,并且提供用于关联电子系统的触摸屏界面。显示屏幕可以是能够向用户显示可视界面的任何类型的动态显示器,并且可包括任何类型的发光二极管(LED)、有机LED(OLED)、阴极射线管(CRT)、液晶显示器(LCD)、等离子体、电致发光(EL)或者其它显示技术。输入装置100和显示屏幕可共用物理元件。例如,一些实施例可将相同电组件的一部分用于显示和感测。作为另一个示例,显示屏幕可部分或全部由处理系统110来操作。
应当理解,虽然在全功能设备的上下文中描述本公开的许多实施例,但是本公开的机制能够作为各种形式的程序产品(例如软件)来分配。例如,本公开的机制可作为电子处理器可读的信息承载介质上的软件程序来实现和分配(例如,处理系统110可读的非暂时计算机可读和/或可记录/可写信息承载介质)。另外,本公开的实施例同样适用,而与用于执行分配的介质的特定类型无关。非暂时的电子可读介质的示例包括各种光盘、存储棒、存储卡、存储模块等。电子可读介质可基于闪存、光、磁、全息或者任何其它存储技术。
图2是示出按照一实施例的输入装置100的一部分的框图。处理系统110耦合到多个传感器电极202。传感器电极202设置在输入装置100的感测区120 (图1)中,并且能够按照各种图案(例如条状和带状图案、矩阵图案等)来排列。传感器电极202能够在一个或多个衬底216上形成。在一些触摸屏实施例中,传感器电极202的全部或者一部分是更新显示中使用的显示面板的显示电极,例如“Vcom”电极(公共电极)的一段或多段、栅电极、源电极、阳电极和/或阴电极。这些显示电极可设置在适当显示屏幕衬底上。例如,显示电极可设置在一些显示屏幕(例如共面转换(IPS)或面线转换(PLS)有机发光二极管(OLED))中的透明衬底(玻璃衬底、TFT玻璃或者任何其它透明材料)上、一些显示屏幕(例如图案垂直配向(PVA)或多域垂直配向(MVA))的滤色器玻璃的底部、发射层(OLED)之上等。显示电极又能够称作“公共电极”,因为显示电极执行显示更新和电容感测的功能。
处理系统110包括传感器电路208,其操作传感器电极202以接收所产生信号。传感器电路208经过接口209耦合到传感器电极202。接口209能够包括各种开关、复用器等,其经过电连接215将传感器电路208耦合到传感器电极202。传感器电路208包括多个接收器(RX)206和控制逻辑212。在一些实施例中,传感器电路208还包括一个或多个发射器(TX) 210。控制逻辑212配置成控制接收器206和发射器210 (若存在的话)。
在一实施例中,传感器电路208操作传感器电极以进行绝对电容感测。在这种情况下,接收器206经过接口209耦合到传感器电极202。各传感器电极202具有对系统地的自电容,并且形成触摸节点以用于检测感测区120中的(一个或多个)物体。当物体接近传感器电极202时,对地的附加电容能够在传感器电极202与物体之间形成。附加电容引起传感器电极202的至少一部分的自电容的净增加。接收器206测量传感器电极202的自电容,并且对其响应而生成所产生信号。
在一实施例中,传感器电路208操作传感器电极以进行跨电容感测。在这种情况下,(一个或多个)发射器210经过接口209耦合到传感器电极202的一个或多个发射器电极。接收器206耦合到传感器电极202的接收器电极。接收器电极经过交叉或邻接来形成与(一个或多个)发射器电极的互电容。(一个或多个)发射器210将交流(AC)波形驱动到(一个或多个)发射器电极,其经过互电容来耦合到接收器电极。接近传感器电极202的物体引起互电容的净减少以及耦合到接收器电极的至少一部分的AC波形的降低。接收器206测量接收器电极上的AC波形,并且对其响应而生成所产生信号。
处理器220从传感器电路208接收所产生信号。处理器220配置成从传感器电路208所接收的所产生信号来确定电容测量。处理器220还能够从电容测量来确定(一个或多个)输入物体的位置信息。
在一实施例中,处理系统110包括单个集成控制器、例如专用集成电路(ASIC),其具有传感器电路208、处理器220和任何其它(一个或多个)电路。在另一个实施例中,处理系统110能够包括多个集成电路,其中传感器电路208、处理器220和任何其它(一个或多个)电路能够在集成电路之间划分。例如,传感器电路208能够处于一个集成电路上,以及处理器220和任何其它(一个或多个)电路能够是一个或多个其它集成电路。在一些实施例中,传感器电路208的第一部分能够处于一个集成电路上,以及传感器电路208的第二部分能够处于第二集成电路上。
并行ADC通道的抽选滤波
图3是示出按照一实施例的接收器206的框图。接收器206包括K个通道,其中K为大于零的整数。在一些触摸屏实施例中,K可以是大的值。例如,对于大型显示和触摸感测系统,K可以为大约400。接收器206包括模拟前端(AFEs) 3021…302K (一般称作AFEs 302或AFE302)、模数转换器(ADCs) 3041…304K (一般称作ADCs 304或ADC 304)以及抽选滤波器电路(“抽选滤波器3061…306K”,一般称作多个抽选滤波器306或抽选滤波器306)。抽选滤波器3061…306K包括有限脉冲响应(FIR)滤波器电路(“FIR滤波器3081…308K”,一般称作多个FIR滤波器308或FIR滤波器308)和捕获电路3101…310K (一般称作多个捕获电路310或捕获电路310)。接收器206还包括系数生成器电路(“系数生成器312”),其在全部K个通道之间共享。
对于各通道,AFE 302的输出耦合到ADC 304的输入。ADC 304的输出耦合到FIR滤波器308的输入。FIR滤波器308的输出耦合到捕获电路310的输入。系数生成器312的输出耦合到每个FIR滤波器3081…308K的输入。
对于各通道,AFE 302耦合到至少一个传感器电极202,并且生成作为输出的模拟信 号。AFE 302能够包括电荷积分器、电流传送器等,其配置成测量(一个或多个)传感器电极202上的电荷或电流。AFE 302将所测量电荷或电流转换为模拟电压。
对于各通道,ADC 304从AFE 302所输出的模拟信号来生成数字信号。如本文所使用的模拟信号是连续时间信号。数字信号是离散时间、离散幅度信号。具有2X电位离散幅度的数字信号具有X位的宽度(X > 0)。数字信号能够包括一系列X位值(字、样本等)。ADC 304生成具有J位的宽度的数字信号,其中J为大于零的整数。在具体实施例中,ADC 304生成1位数字信号(即,J=1)。ADC 304能够是∑-Δ ADC或相似类型电路。在一实施例中,ADC 304具有过取样比(OSR) N,其中N为大于一的整数。例如,1位ADC能够具有N=3600的OSR。ADC 304的OSR能够由控制逻辑212来设置。
对于各通道,FIR滤波器308是具有长度N (N-1阶)的离散时间FIR滤波器。FIR滤波器308的输出序列能够表达为:
,
其中,x[n]是ADC 304所输出的序列,y[n]是FIR滤波器308的输出序列,以及h[n]是系数序列。在一实施例中,FIR滤波器308使用乘法器和单累加器来实现。乘法器具有一个J位操作数和一个Q位操作数。乘法器将输入序列中的值x[n] (即,ADC304所输出的J位值)与系数生成器312所提供的Q位系数h[n]连续相乘。累加器累加对N个乘法运算的N个乘积,以生成输出值y[n]。FIR滤波器3081…308K共享系数生成器312所输出的系数。下面针对图4描述FIR滤波器308的一实施例。
对于各通道,捕获电路310捕获FIR滤波器308的输出值y[n]。FIR滤波器308输出P位宽数字信号,其中P为大于或等于系数生成器312所输出的系数信号的宽度Q的整数。捕获电路310输出R位宽数字信号,其中R为大于零的整数。在一实施例中,R等于P。备选地,R能够小于P。也就是说,捕获电路310能够将FIR滤波器308的P位输出减小为具有比P位输出更粗略的分辨率的R位输出(例如通过去除多个最低有效位(LSB)或者执行另外某种技术以减小FIR滤波器输出的宽度)。由捕获电路310所输出的R位值具有ADC 304所输出的J位值的1/N取样率。因此,抽选滤波器306具有N:1下取样比。
系数生成器312输出具有宽度Q的数字信号(又称作“系数信号”),其中Q为大于零的整数。系数生成器312生成N个系数的重复序列(例如序列h[n]),其表示每个FIR滤波器308的脉冲响应。在一实施例中,所系数集合基于窗口函数,尽管能够使用其它函数。一般来说,由系数生成器312所输出的系数为正或负或零值,其被量化为具有Q位的宽度的字并且通过其所表示。在一个实施例中,由系数生成器312所输出的系数为正或零值,其避免执行有符号算术的需要。下面进一步描述系数生成器312的实施例。
图4是示出按照一实施例的FIR滤波器308的框图。FIR滤波器308包括组合逻辑电路(“组合逻辑402”)和累加器电路(“累加器406”)。组合逻辑402包括多个逻辑门404。累加器406包括加法器电路(“加法器”)408和存储电路410。组合逻辑402的第一输入接收ADC304所输出的数字信号。组合逻辑402的第二输入接收系数生成器312所输出的系数信号。组合逻辑402的输出耦合到加法器408的第一输入。加法器408的输出耦合到存储电路410的输入。存储电路410的输出耦合到加法器408的第二输入。
在数学上,FIR滤波器308是乘累加器(MAC)。各通道中的乘法的复杂度能够通过利用每个ADC 304的输出具有小宽度(例如J=1)的事实的优点来降低。例如,如果J=1,则1位×Q位乘法运算能够通过根据ADC数据位选通系数来实现(即,如果ADC数据为0,则输出=0;如果ADC数据为1,则输出=系数)。备选地,1位ADC输出能够映射到+1和-1,而不是0和1。1位×Q位乘法运算能够通过在ADC数据为+1时输出+系数而在ADC数据为-1时输出-系数来实现。在这种情况下,不存在归因于解释ADC输出代码的方式的FIR滤波器输出的系统DC偏移。在其它示例中,J能够大于1位。例如,给定3级ADC输出(例如J=2),则ADC输出能够映射到-1、0、+1或0、1、2。在这种情况下,乘法运算能够通过分别输出-系数、零、+系数或者零、系数和2×系数来实现。
图5是示出按照一实施例的组合逻辑402的框图,由ADC 304所输出的数字信号具有1位的宽度(例如J=1)。组合逻辑402包括逻辑门4041…404Q。逻辑门4041…404Q的每个是AND门。各逻辑门4041…404Q包括接收ADC 302所输出的数字信号(通过值x[n]所表示)的第一输入。逻辑门4041…404Q的第二输入接收Q位系数信号的位0至Q-1 (通过值h[n]<0>至h[n]<Q-1>所表示)。逻辑门4041…404Q的输出作为Q位输入共同提供给加法器408。
回到图4,由组合逻辑402所执行的乘法运算能够是无符号的,其简化实现。这样,与ADC数据映射为有符号样本值并且然后使用采用乘法器的有符号乘法来处理的方案相比,相乘和累加运算不太复杂。在实施例中,ADC输出能够超过一位宽。在这类实施例中,组合逻辑402的复杂度随着ADC输出的宽度的增加而缩放。但是,如与采用有符号多位×多位乘法器之后接着多个累加器和差分级的FIR滤波器相比,当ADC输出具有小宽度(例如三位或以下)时,FIR滤波器308仍然呈现降低复杂度。
累加器406累加组合逻辑402所输出的乘积。FIR滤波器308的长度通过系数序列的长度(即,N)来支配。存储电路410具有宽度P。宽度P能够设置成避免加法器408执行的加法运算的上溢。例如,存储电路410能够使用P个D型触发器来实现。存储电路410能够包括输入,其接收用于将存储电路410所存储的值重置为零的重置信号。重置信号能够通过控制信号或者由捕获电路310在捕获输出值y[n]之后或者通过其组合来提供。
图6是示出按照一实施例的系数生成器312的框图。系数生成器312包括查找表(LUT) 604和地址生成器电路(“地址生成器602”)。LUT 604能够使用任何类型的存储器电路(例如随机存取存储器(RAM)、只读存储器(ROM)等)来实现,并且配置成存储系数序列606。LUT 604具有宽度Q和深度N。地址生成器602生成LUT 604的地址,使得LUT 604输出N个系数的重复序列。
图7是示出按照一实施例、处理多个模拟信号的方法700的流程图。方法700概括如上所述通道的操作。方法700开始于步骤702,其中ADC 302将模拟信号转换为每个通道的数字信号。在步骤704,控制逻辑212设置每个ADC 302的OSR。在步骤706,系数生成器312生成共享系数序列。在一实施例中,在步骤708,系数生成器312从LUT 604得到系数。下面进一步描述用于生成系数(其能够在步骤706使用)的备选实施例。
在步骤710,各通道中的抽选滤波器306对数字信号进行滤波和抽选。在一实施例中,在步骤712,FIR滤波器308将数字信号的N个值与系数序列的N个系数连续相乘,以生成N个乘积。FIR滤波器308在单累加器中累加N个乘积。在步骤714,捕获电路310捕获FIR滤波器308的输出,其具有对FIR滤波器308的输入的1/N的取样率。
针对例如图1-2所示的电容感测装置的通道描述了抽选滤波技术。但是要理解,图3所示的结构能够在具有并行ADC通道的其它类型的应用中实现。抽选滤波器能够设计为多级多速率处理通路(例如工作在更高取样率的级联积分器梳状(CIC)抽选滤波级之后接着工作在更低取样率的FIR抽选滤波级)。但是,对于多通道系统,这种多级多速率抽选滤波器的复杂度随着通道的数量而缩放。在本文的实施例中所述的抽选滤波技术呈现每通道的低复杂度,并且因而特别适合于具有大量并行ADC通道的应用。
在一实施例中,抽选滤波器306能够连同模拟域中的ADC 304来实现。这消除通过长距离将大量高速ADC输出信号从模拟集成电路块路由到数字集成电路块的需要。
在上述各个示例中,ADC输出的宽度是一位(例如J=1)。如果ADC输出超过一位,则也能够采用本文所述的抽选滤波技术。但是,FIR滤波器308的复杂度随着ADC输出的宽度而缩放。因此,当ADC输出是一位宽或者少量位宽(例如2或3位)时,能够实现具有低复杂度的FIR滤波器308。
由系数生成器312所生成的系数序列能够比较长,这取决于ADC 302的OSR。因此,系数生成器312能够包括较大LUT,以存储整个系数序列。对于具有大量并行ADC通道的系统,存储系数序列的大LUT的额外复杂度通过大量通道来共享。系数生成器312的复杂度能够使用以下所述用于生成长系数序列的技术进一步降低。
系数序列生成
图8是示出按照一实施例的系数生成器800的框图。在一实施例中,系数生成器800能够用作以上在图3中描述的接收器206中的系数生成器312。但是,系数生成器800能够用于其它应用中。一般来说,系数生成器800能够用来生成具有一级或多级852并且具有长度N的滤波器850的系数。
在一实施例中,系数生成器800包括LUT 802、地址生成器电路(“地址生成器806”)、上取样保持器电路(“上取样保持器808”)和累加器810。在一些实施例中,系数生成器800还包括归一化器电路(“归一化器812”)。在实施例中,归一化器812包括位移器电路(“位移器814”)。在其它实施例中,归一化器812包括位移器814和乘法器电路(“乘法器816”)两者。
LUT 802的输入耦合到地址生成器806的输出。LUT 802的输出耦合到上取样保持器808的输入。上取样保持器808的输出耦合到累加器810的输入。累加器810的输出能够提供系数信号。在具有归一化器812的实施例中,累加器810的输出耦合到位移器814的输入。位移器814的输出能够提供系数信号。在具有乘法器816的实施例中,位移器814的输出耦合到乘法器816的输入。乘法器816的输出能够提供系数信号。系数信号是具有Q位的宽度的数字信号,其中Q为大于零的整数。
在一实施例中,LUT 802存储差分序列804。差分序列804能够包括L个值,L为大于一的整数。差分序列804的L个值表示滤波器850的脉冲响应的第一导数。LUT 802的输出是具有宽度S的数字信号,其中S为大于一的整数。在一实施例中,LUT 802的宽度S小于系数生成器800的输出的宽度Q。地址生成器806生成LUT 802的地址,以连续输出L个值的序列。
在一实施例中,窗口函数设计为对称偶函数。在这种情况下,差分序列是对称奇函数。在一实施例中,LUT 802能够仅存储差分序列的前一半的L/2个值。LUT 802能够包括用于输出差分序列的后一半的所存储值的负版本的电路。如果要存储的长度L的差分序列而是偶函数,则LUT 802仍然能够仅存储差分序列的前一半的L/2个值。地址生成器806则能够按照后向方式生成地址,以从LUT 802输出差分序列的后一半。
图9A是示出能够存储在LUT 802中的差分序列902的图表。图表的x轴表示样本数量(n),以及图表的y轴表示差分序列值(称作XC[n])。
回到图8,上取样保持器88对LUT 802所输出的数字信号以M倍因子进行上取样,其中M为大于零的整数。上取样保持器808输出LUT 802所输出的序列中的每个值的M个实例。上取样保持器808输出具有宽度S并且包括长度N=M×L的序列的数字信号,其中N是滤波器850的脉冲响应的长度。上取样保持器808能够包括输入,其配置成接收控制信号(“设置M”)以设置M的值(即,设置上取样比)。
图9B是示出如上取样保持器808所输出的上取样差分序列904的图表。图表的x轴表示样本数量(n),以及图表的y轴表示上取样差分序列值(称作XC’[n])。如细节908所示,上取样差分序列904的各“步长”包括M个值。
回到图8,累加器810对上取样保持器808所输出的上取样差分序列进行积分。例如,累加器810能够是具有传递函数1/(1-z-1)的滤波器。累加器810输出具有宽度Q的数字信号。累加器810的输出是表示滤波器850的脉冲响应的N个值的重复序列。
图9C是示出如累加器810所输出的积分序列906的图表。图表的x轴表示样本数量(n),以及图表的y轴表示积分序列值(称作YC[n])。如与图9A所示的差分序列902相比,积分序列906能够包括大量样本。如细节910所示,积分序列910是离散值的序列(总共N个值)。系数生成器800的一个示例配置为L = 32、M = 100以及N = 32 × 100 = 3200。无数配置的任何另一种是可能的。
回到图8,在一实施例中,系数生成器800包括归一化器812。归一化器812能够用来保持脉冲响应的幅值,因为上取样比从标称值来改变(即,因为M在上取样保持器808来改变)。在实施例中,目标滤波器长度是具有二的公比的几何序列的元素(例如800、1600、3200、6400等)。在这类实施例中,归一化器812能够使用位移器814来实现。位移器814包括用于接收移位控制信号(其能够由控制逻辑212所提供)的输入。例如,如果M标称地为100以生成长度N=3200的系数序列,则将M改变成200生成长度N=6400的系数序列。例如,要保持脉冲响应的幅值,位移器814能够执行右移位,以便将累加器810所输出的积分序列除以二。如果预期目标滤波器长度的更细粒度以及系数幅值的少于二倍变化(6 dB),归一化器812能够包括乘法器816。乘法器816能够是正则有符号数(CSD)乘法器等。乘法器816包括用于接收相乘控制信号(其能够由控制逻辑212所提供)的输入。归一化器812能够按照其它方式归一化脉冲响应,以保持其它参数(例如归一化以保持FIR滤波器的DC增益)。
在图8的示例中,差分序列存储在LUT 802中。在另一个示例中,脉冲响应的L个样本或L/2个样本能够存储在LUT 802中,以及系数生成器800能够包括耦合在LUT 802与上取样保持器808之间的差分电路,其输出差分序列。在图8的示例中,存在单级差分和积分。在其它示例中,系数生成器800能够包括多于一级的差分和积分。例如,LUT 802能够存储高于一阶的差分序列,以及系数生成器800能够包括多于一个累加器810。在另一个示例中,LUT802能够存储脉冲响应,以及系数生成器800能够包括上取样保持器808之前的多个差分电路以及上取样保持器808之后的多于一个累加器810。
图10是示出按照一实施例、生成滤波器的系数的方法1000的流程图。方法1000开始于步骤1002,其中系数生成器800生成差分序列。例如,在步骤1004,LUT 802能够输出差分序列的L个值。在步骤1006,上取样保持器808对差分序列进行上取样和保持,以使用1:M上取样比来生成上取样差分序列。在步骤1008,控制逻辑212设置上取样比(例如设置M的值)。在步骤1010,累加器810对上取样序列进行积分,以生成积分序列。积分序列包括与滤波器850的预期长度对应的N=M×L个值。在可选步骤1012,归一化器812归一化积分序列,以保持系数的预期幅值。在步骤1014,控制逻辑112设置归一化因子。例如,控制逻辑112能够设置位移器814的移位控制值。在另一个示例中,控制逻辑112能够同时设置位移器814的移位控制值以及乘法器816的相乘控制值。
以上针对图8-10所述的系数生成的技术包含结合短LUT,以生成长系数序列,其适合于通过实时硬件的有效实现。从较小可编程LUT来生成长系数集合实现更低系统成本,同时保持可编程系数函数和窗口形状的灵活性。低成本实现通过下列步骤来实现:1) 内插运算使用少量数字电路块(其执行上取样/保持、累加和可选的归一化)来实现;2)差分通过使用差分序列代替系数函数本身,就内插深度和宽度而言,明显缩减了LUT的大小;以及3) 系数集合的各种长度在没有改变LUT的大小或者通过改变内插比对LUT重新编程的情况下生成。
系数生成技术能够用于各种系统(例如具有使用长系数集合来产生所处理结果的滤波器的过取样系统)中。在一实施例中,系数生成器800用作输入装置100的接收器206中的系数生成器312。
提供本文中提出的实施例和示例,以说明按照本技术及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本公开。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本公开的各个方面或者将本公开局限于所公开的精确形式。
鉴于以上所述,本公开的范围通过以下权利要求来确定。