精华内容
下载资源
问答
  • 在微服务的架构范式中由多个微应用构成,而服务间通信和执行流程是分布式系统的基础, 服务间的交互模式一般有3种模式:同步调用模式、接口异步调用模式、消息队列异步模式。因此我们不得不在根据业务场景进行决策,...

    在微服务的架构范式中由多个微应用构成,而服务间通信和执行流程是分布式系统的基础, 服务间的交互模式一般有3种模式:同步调用模式、接口异步调用模式、消息队列异步模式。因此我们不得不在根据业务场景进行决策,但每种交互模式意味着存在都超时的可能性,因此需要系统化的处理以满足我们系统的健壮性、容错性。

    本节主要针对热门话题“微服务同步 & 异步 & 超时 & 补偿 & 快速失败”进行解说,你理解对了吗?

    同步与异步

    一些互联网公司试图通过规范来约束这三种方式的使用和选择:

    • 尽量使用异步来替换同步操作
    • 能用同步解决的问题,不要引入异步

    从字面意义上看是完全不同的,甚至是矛盾的!

    第 1 条原则是从业务功能的角度出发的,也就是从与用户或者使用方的交互模式出发的,如果业务逻辑允许,用户对产品的交互形态没有异议,则我们可以将一些耗时较长的、用户对响应没有特别要求的操作异步化,以此来减少核心链路的层级,释放系统的压力。

    第 2 条原则是从技术和架构的角度出发的,这条原则应用的前提是同步能够解决问题, 这隐含了一个含义:如果性能不是问题,或者所处理的操作是短小的轻量级处理逻辑,那么同步调用方式是最理想不过的,因为这样不需要引入异步化的复杂处理流程。

    所有 JDBC 的实现使用同步阻塞模型,即访问数据库操作时无论是查询还是更新,原则上都是短小操作,不需要异步化。

    交互模式

    同步调用模式

    同步调用模式适用于大规模、高并发的短小操作,

    不适用于后端负载较高的场景

    接口异步调用模式 适用于非核心链路上负载较高的处理环节,这个环节经常耗时较长,并且对时效性要求不高
    消息队列异步模式

    消息队列异步处理模式与接口异步调用模式类似,多应用于非核心链路上负载较高的处理环节中

    解耦

    流量具有消峰

    超时问题的解决方案

    同步调用模式 服务契约中规定三种处理结果,状态值为:成功、失败和处理中,对于超时等系统错误的请求,其实可以认为是处理中状态的一个特例,可采用超时补偿的原则的方式
    接口异步调用模式 不需要三种状态,尽最大努力通知即可
    消息队列异步模式

    有2个阶段:生产者投递和消费者处理, 在每个阶段会产生超时问题

    1.生产者投递超时,基本上可以视为失败(不可以不常见)

    2.消息队列的消费超时,一般消息队列会提供两种方式来消费消息

    • 自动增长消费的偏移量:在一个消费者从消息服务器中取走消息后,消息队列的消息偏移量自动增加,即消息一旦被从消息队列中取走,则不再存在于服务器中。允许丢消息,但并发量高、性能好
    • 手工提交消费的偏移量:在一个消费者从消息服务器中取走消息后,处理机先把消息持久到本地数据库中,然后告诉消息服务器己经消费消息,消息服务器才会移除消息。对消息处理的准确性要求较高

    超时补偿的原则

    服务间同步超时造成的后果进行处理,而处理方法有快速失败内部补偿两种,补偿模式也有调用方补偿和接收方补偿两种。

    快速失败:补偿模式有一种叫取消操作,主动触发即可。

    服务A调用服务B ,如果服务B响应服务A并且告诉服务A 消息己接收,那么服务A的任务就结束了;如果服务B处理失败,那么服务 B应该负责重试或者补偿。

    服务A调用服务B ,如果服务B 没有给出明确的接收响应,例如网络超时,那么服务A应该持续进行重试,直到服务B明确表示己经接收消息。 在这种情况下容易出现重复的消息,因此在服务 B中通常要保证滤重或者幕等性。

    如果你对不一致问题还存在疑问可参阅我之前的分享微服务最终一致性

    展开全文
  • 微服务的交互模式 服务与服务的交互模式可以分为以下3类: 同步调用模式 也就是同步阻塞。 接口异步调用模式 消息队列异步处理模式 以下是两条原则: 如果业务逻辑允许,我们可以将一些耗时长的、用户对...

    微服务的交互模式

    服务与服务的交互模式可以分为以下3类:

    • 同步调用模式
      也就是同步阻塞。
      在这里插入图片描述

    • 接口异步调用模式
      在这里插入图片描述

    • 消息队列异步处理模式
      在这里插入图片描述

    以下是两条原则:

    1. 如果业务逻辑允许,我们可以将一些耗时长的、用户对响应没有特别要求的操作异步化。
      例如,12306会在订票高峰期开启订票异步模式,用户是通过后续查询得到的结果。
    2. 如果性能不是问题或者处理的逻辑是短小的轻量级逻辑,那么可以使用同步方法。这样不需要引入异步化的复杂处理流程。
      例如,JDBC中的查询和更新,原则上都是短小操作,都是采用的同步阻塞BIO。

    交互模式下超时问题的解决方案

    对返回的状态定义分为以下两种:

    • 两状态:成功和失败。
    • 三状态:成功、失败和处理中。
    1. 同步调用模式下两状态的解决方案

    在这里插入图片描述
    对于同步接口调用服务1超时的情况,我们可以使用查询模式,在明确处理结果后,做相应处理。这种情况下服务1可能实际上没有收到一开始的处理请求,就会返回一个未知状态,而服务使用方需要使用统一请求ID进行重试,这就要求服务1必须具有幂等性。或者是服务1与同步接口的超时,这样也是需要同步接口发起重试的。

    在这里插入图片描述
    如果是服务1和服务2之间的超时,可以使用快速失败的策略,并判断服务2是否需要回滚。

    1. 同步调用模式下三状态的解决方案

    在这里插入图片描述
    三状态的同步接口与服务1的超时问题与两状态类似。
    在这里插入图片描述
    三状态的服务1与服务2的超时问题,与两状态的不太一致。三状态同步调用的内部超时场景下,可以返回给使用方一个中间状态(处理中)。这在这种场景下,系统尽最大努力作出补偿retry执行出错部分。要求服务2具有幂等性。

    1. 异步调用下两状态的解决方案

    在这里插入图片描述
    发生通讯超时的时候,与同步两状态的处理方式一样,也是需要通过查询模式来补齐状态的。

    在这里插入图片描述
    在异步两状态内部超时时,由于异步调用模式使用的是受理模式,一旦受理我们应该尽可能处理成功。因此,服务1需要根据服务2的查询结果,进行补偿。处理成功后异步通知使用方结果。

    在这里插入图片描述
    服务1要确保通知一定送达,所以需要按通知时间设计一个递增间隔通知的策略(比如指数回退),直到通知成功为止。

    1. 消息队列超时的解决方案

    在这里插入图片描述
    在这里插入图片描述

    之前已经提出过解决方案,不再赘述。

    在本节的解决方案,还需要实际项目的加成,现在理解可能还不太深刻。

    展开全文
  • 本文介绍交互模式下可能遇到的超时问题,并对每个问题给出相应的方法、模式和解决方案。

    本文介绍交互模式下可能遇到的超时问题,并对每个问题给出相应的方法、模式和解决方案。

    同步调用模式下的解决方案

    在同步调用模式下,对外的接口会提供服务契约,契约定义了服务的处理结果会通过返回值返回给使用方,对返回的状态定义分为以下两种。

    • 成功和失败。
    • 成功、失败和处理中。

    我们将第1种定义称为两状态的同步接口,将第2种定义称为三状态的同步接口。

    两状态的同步接口

    对于上面的第1种定义,服务契约中只规定了两种互斥的状态:成功和超时,服务处理结果必须是成功的或者失败的,在这种情况下可能发生两种同步调用超时。

    第1种同步调用超时发生在使用方调用次同步接口的过程中,如下图所示。

    针对这个问题,我们需要服务的使用方使用查询模式,异步查询处理结果,在获得明确的处理结果后,得知处理结果是成功还是失败,然后做相应的处理。如果处理结果为成功,那么使用方可以继续下面的操作;如果结果为失败,那么调用方可以发起重试,请求再次进行处理。然而,这里有一个问题,如果查询模式的返回状态是未知请求,那么在这种情况下使用方超时,服务1实际上没有接收到或者还没有接收到一开始的处理请求,服务使用方需要使用同一个请求ID进行重试,服务1也必须实现请求的幂等性。

    第2种同步调用超时发生在内部服务1调用服务2的过程中,如下图所示。

    在使用方调用服务1,且服务1接收到请求后,同步调用服务2,由于通信出现了问题,所以服务1得到超时的结果。这时服务1应该怎么做呢?是重试、取消还是快速失败?

    我们看上图的左面,服务1对外接口的契约中包含两个返回状态:成功或者失败,也就是对于使用方来讲,不允许有中间的处理中的状态,对于这种服务内部超时的场景,必须使用快速失败的策略:针对这个超时错误,服务快速返回失败,同时在内部调用服务2的冲正接口,服务2的冲正接口可以判断之前是否接收到请求,如果接收到请求并做了处理,则应该做反向的回滚操作。如果服务2之前没有接收到处理请求,则忽略冲正请求,以此来实现服务的幂等性。

    三状态的同步接口

    对于上面的第2种定义,服务契约中规定了三种处理结果,状态为:成功、失败和处理中,对于超时等系统错误的请求,其实可以认为是处理中状态的一个特例,在这种场景的应用里,超时被视为内部暂时的问题,随时可能被修复,因此,可能在一定的时间窗口内告知使用方在处理中,随后修复问题并补偿执行,达到最大化请求处理成功的目标,不至于让使用方重试,以提升用户体验。

    服务处理结果可能是成功或者失败,也可能是处理中,在这种情况下可能发生两种同步调用超时。

    第1种同步调用超时发生在使用方调用次同步接口的过程中,如下图所示。

    这种场景和两状态同步调用的接口超时场景类似,使用方调用服务1的接口,由于网络等原因获得超时的结果,这时使用方应该将超时看作处理中的一个特例,使用服务1的查询接口后续补齐上一个请求的处理状态,可参照两状态同步调用的接口超时场景的方案。

    第2种同步调用超时发生在内部服务1调用服务2的过程中,如下图所示。

    在使用方调用服务1,且服务1接收到请求后,同步调用服务2,由于通信出现了问题,所以服务1得到超时的结果,这时服务1又应该怎么做呢?

    这和两状态同步调用的内部超时场景不一样,两状态设计由于与使用方约定了契约,不是成功就是失败,可以返回给使用方一个中间状态,也就是处理中的结果,变相的把同步接口变成异步接口,达到最终一致的效果。

    在这种场景下,我们更倾向于给用户更好的体验,尽最大努力成功处理用户发来的请求。因此,针对在服务1调用服务2时超时,我们会返回给用户处理中的状态,随后系统尽最大努力补偿执行出错的部分,服务1需要通过服务2的查询接口得到最新的请求处理状态,如果服务2没有明确恢复,则可以尝试重新发送请求,当然,这里需要服务2也实现了操作的幂等性。

    异步调用模式下的解决方案

    在异步调用模式下,对外的接口也会提供服务契约,契约定义了服务的受理结果会通过返回值返回给使用方,返回的状态通常为两种:受理和未受理。和三状态同步接口不同的是,异步调用模式还有异步处理返回结果的通知,状态包括处理成功和处理失败。

    不同阶段的网络通信产生的超时和处理方案如下。

    异步调用接口超时

    异步调用接口超时如下图所示。

    异步调用接口超时发生在使用方调用服务1的受理接口时,同两状态同步调用接口超时及三状态同步调用接口超时的场景一样的,需要通过查询来补齐状态,并根据状态来判断后续的具体,具体的解决方案参考两状态同步调用接口超时和三状态同步调用接口超时的解决方案。

    异步调用内部超时

    异步调用内部超时如下图所示。

    异步调用内部超时发生在服务1受理了使用方的请求后,服务1在处理请求时,在调用服务2的过程中超时,这和三状态同步调用内部超时的场景相似,由于异步调用模式使用的是受理模式。所以一旦受理,我们便应该尽最大努力将用户请求的操作处理成功,因此,在服务1调用服务2超时的场景下,服务1需要根据服务2的查询接口获得最新状态,根据状态补偿后续的操作,这和三状态同步调用内部超时的解决方案一致,不同的是此场景下一旦成功,则需要异步回调通知使用方,而在三状态同步调用内部超时的场景下,只需要等待使用方查询,不需要通知,也无法实现通知。

    异步调用回调超时

    异步调用回调超时如下图所示。

    回调超时的问题在生产中经常出现,通常发生于这样的场景下:服务1受理后成功的调用了依赖服务2,获得了明确的处理结果,但是在将处理结果通知使用方时出现超时。由于使用方有可能是公司内部的也可能是外部的,网络环境复杂多变,发生超时的概率很大,因此,大多数公司都会开发一个通知子系统,用来专门处理回调通知。

    由于服务1通过回调通知使用方,所以服务1需要保证通知一定可送达,如果遇到超时,则服务1负责重新继续补偿,通常会设计一个通知时间按一定间隔递增的策略,例如:指数回退,直到通知成功为止,通知是否成功以对方的会写状态为准。

    消息队列异步处理模式的解决方案

    消息队列异步处理模式多用于疏松耦合的项目,这些项目通常是在主流程中无法处理耗时的任务,恰好耗时的任务又不是核心流程的一部分,比如:电商平台的物流、配送等。

    这类交互使用消息队列进行解耦,电商交易系统成功处理交易后,需要发送消息到消息队列服务器,后续的流程由物流平台处理,也不需要将处理结果反馈给交易平台。

    使用消息队列解耦后,处理流程被分为两个阶段:生产者投递和消费者处理,在不同的阶段会产生不同的超时问题,解决方案如下。

    消息队列的生产者超时

    消息队列的生产者超时如下图所示。

    对于这种场景,可参考可靠消息模式部分的内容。

    消息队列的消费者超时

    消息队列的消费者超时如下图所示。

    对于消息丢列的处理机与消息队列之间的超时或者网络问题,通常可以通过消息队列提供的机制来解决。
    一般消息队列会提供如下两种方式来消费消息。

    • 自动增长消费的偏移量:在一个消费者从消息服务器中取走消息后,消息队列的消息偏移量自动增加,即消息一旦被从消息队列中取走,则不再存在于服务器中,假如消息处理机对此消息处理失败,则也无法从消息服务器中找回。

    • 手工提交消费的偏移量:在一个消费者从消息服务器中取走消息后,处理机先把消息持久到本地数据库中,然后告诉消息服务器已经消费消息,消息服务器也会移除消息,如果在没有告诉消息服务器已经消费消息之前,持久失败或者发生了其他问题,则消息仍然存在于消息服务器中,消息处理器下次还可以继续消费消息。

    如果允许丢消息,则我们使用第1种处理方式,这种方式的并发量高、性能好,但是如果我们对消息处理的准确性要求较高,则必须采用第2种方式。

    展开全文
  • 专利名称:声音播放装置及其补偿方法技术领域: 本发明涉及一种声音播放装置,尤其涉及一种可对串音现象进行补偿的声音播放 装置。背景技术: 随着消费性电子产品的普及化,许多应用于消费性的电子产品的周边商品的...

    专利名称:声音播放装置及其补偿方法
    技术领域
    本发明涉及一种声音播放装置,尤其涉及一种可对串音现象进行补偿的声音播放
    装置。
    背景技术
    随着消费性电子产品的普及化,许多应用于消费性的电子产品的周边商品的功能 跟精致度也随着被强化。以作为声音播放装置的耳机为例,现在的耳机不论在造形上、功能 上以及品质上,都有了大幅的提升。而为了提供更高品质服务的声音播放效果,现今的声音 播放装置产品还必须兼顾低电磁干扰(Electromagnetic interference, EMI)及低杂音的 要求。现有的声音播放装置可以概分为两种;一种为电容模式(cap mode)的声音播放 装置,另一种为无电容模式(capless mode)的声音播放装置。通常在声音播放装置中的左、 右声道放大模块传送左、右声道信号至左、右声道扬声器的通道间,若是存在有串连耦合的 电容器的,此种声音播放装置称为电容模式(cap mode)的声音播放装置。相对的,若是在 左、右声道放大模块传送左、右声道信号至左、右声道扬声器的通道间不存在有串连耦合的 电容器者,则称为无电容模式(capless mode)的声音播放装置。不论是电容模式或无电容模式的声音播放装置,为了提供调频 (FrequencyModulation,FM)天线阻抗并降低电磁干扰的现象,在左、右声道扬声器接收左、 右声道信号的路径上以及左、右声扬声器的共同连接点上,都各连接有磁珠(bead)。在此 所谓的磁珠其实等效于一个小电感,这个小电感可以提供滤波的功能,可以在高频(100MHz 附近)时提供FM应用的阻抗匹配,但在低频时仍会有些微的阻抗值,除了上述的磁珠以 夕卜,左、右声道扬声器在低频信号通过时,也同样会提供低频等效阻抗。这些低频等效阻 抗的出现,配合声音播放装置内的连接方式,则会在左、右声道扬声器上产生所谓的串音 (crosstalk)现象,降低声音的输出品质。为解决上述的串音现象,一种声音播放装置被提出(细节请参考美国专利公开号 US2007/0133809)。以下请参见图1绘示的现有的改善串音现象的声音播放装置100的示 意图。其中,声音播放装置100包括有接收左、右声道信号DATA的数字模拟转换器110、放 大器AMPL、AMPR及AMPC、参考电压产生模块120、回授电路130、磁珠Bl B3以及扬声单 元HPL、HPR。声音播放装置100通过回授电路130由回授点FBP撷取因串音现象而产生的 串音电压,并传送至放大器AMPC的负输入端。再通过放大器AMPC将串音电压的反向传送 至回授点FBP以抵消这个串音电压。

    发明内容
    本发明提供一种声音播放装置,用以消除其左、右声道间交互产生的串音(cross talk)现象。本发明提供一种声音播放装置的补偿方法,用以消除声音播放装置的左、右声道间交互产生 的串音(cross talk)现象。本发明提供一种声音播放装置,包括一数字信号运算单元,接收一左声道信号 及一右声道信号进行一算术运算,并藉以分别获得一补偿左声道信号以及一补偿右声道信 号;一数字模拟转换器,连结数字信号运算单元,接收补偿左声道信号以及补偿右声道信号 以转换输出一左声道模拟信号以及一右声道模拟信号;一左声道单元,连结数字模拟转换 器与数字信号运算单元,具有一左声道放大模块,一左声道磁珠与一左声道扬声单元;一右 声道单元,连结数字模拟转换器与数字信号运算单元,具有一右声道放大模块,一右声道磁 珠与一右声道扬声单元;以及一共同单元,连结左声道单元与右声道单元,具有一共同磁 珠,其中,数字运算单元依据一第一比例值及一第二比例值对该左声道信号及该右声道信 号进行该算术运算,并藉以分别获得一补偿后左声道信号以及一补偿后右声道信号,其中 该第一比例值是依据该左声道扬声单元、该左声道磁珠以及该共同磁珠的低频等效阻抗的 阻抗值所产生,而该第二比例值则是依据该右声道扬声单元、该右声道磁珠以及该共同磁 珠的低频等效阻抗的阻抗值所产生。在本发明的一实施例中,上述的第一比例值为大于零且小于两倍的一第一预定 值,其中该第一预定值等于共同磁珠的低频等效阻抗的阻抗值除以左声道扬声单元、左声 道磁珠以及共同磁珠的低频等效阻抗的阻抗值的总和。在本发明的一实施例中,上述的第二比例值为大于零且小于两倍的一第二预定 值,其中该第二预定值等于共同磁珠的低频等效阻抗的阻抗值除以右声道扬声单元、右声 道磁珠以及共同磁珠的低频等效阻抗的阻抗值的总和。在本发明的一实施例中,上述的声音播放装置更包括参考电压产生模块以及共同 单元放大模块。参考电压产生模块耦接数字模拟转换器,用以提供参考电压。共同单元放 大模块耦接参考电压产生模块,依据参考电压产生共同电压,并由共同单元传送共同电压 至左声道扬声单元及右声道扬声单元。在本发明的一实施例中,上述的数字运算单元包括模拟数字转换电路以及数字信 号运算电路。模拟数字转换电路耦接至左声道扬声单元与右声道扬声单元的连接点,用以 接收串音电压,获得串音电压的检测峰值。数字信号运算电路耦接模拟数字转换电路,依据 串音电压的检测峰值产生第一、二比例值。数字信号运算电路依据第一、二比例值以及左、 右声道信号进行算术运算,并藉以分别获得补偿后左声道信号以及补偿后右声道信号。在本发明的一实施例中,上述的数字运算单元更产生缩小比例值,并将该缩小比 例值与该第一、二比例值以及该左、右声道信号进行该算术运算,以分别获得一缩小的补偿 左声道信号及一缩小的补偿右声道信号。在本发明的一实施例中,上述的左声道扬声单元与右声道扬声单元的低频等效阻 抗的阻抗值相等。左声道磁珠、右声道磁珠以及共同磁珠的低频等效阻抗的阻抗值相等。本发明另提出一种声音播放装置的补偿方法,一种声音播放装置的补偿方法,用 以补偿该声音播放装置中所产生的串音现象,其步骤包括接收一第一比例值及一第二比 例值,其中该第一比例值是依据该左声道扬声单元、该左声道磁珠以及该共同磁珠的低频 等效阻抗的阻抗值所产生,而该第二比例值则是依据该右声道扬声单元、该右声道磁珠以 及该共同磁珠的低频等效阻抗的阻抗值所产生;接收一左声道信号及一右声道信号;以及 提供一数字运算单元依据该第一比例值及该第二比例值对该左声道信号及该右声道信号进行一算术运算,藉以获得一补偿后左声道信号以及一补偿后右声道信号。基于上述,本发明通过获得声音播放装置中的左、右声道扬声单元的低频等效阻 抗,以及与左、右声道扬声单元连接的左、右声道磁珠及共同磁珠的低频等效阻抗。并利用 左、右声道扬声单元与左、右声道磁珠及共同磁珠的低频等效阻抗来计算获得第一、二比例 值。并利用第一、二比例值对声音播放装置所接收的左、右声道信号进一步进行算术运算, 以获得补偿后左声道信号以及补偿后右声道信号,有效的消除声音 播放装置中所会产生的 串音现象。


    图1绘示的现有的改善串音现象的声音播放装置的示意图;图2A绘示本发明一实施例无电容模式声音播放装置的示意图;图2B绘示本发明一实施例电容模式声音播放装置的示意图;图3绘示本发明实施例的声音播放装置补偿运算架构示意图;图4A及图4B分别绘示声音播放装置分别输入补偿后左、右声道信号时的等效电 路图;图5绘示本发明的另一实施例声音播放装置的示意图;图6绘示本发明一实施例声音播放装置补偿方法的流程图;图7绘示依据本发明的实施例所产生的频谱分析图。附图标号100、200、201、500 声音播放装置210 数字运算单元110、230、530 数字模拟转换器120、220、520 参考电压产生模块130:回授电路210、510 数字运算单元120、220、520 参考电压产生模块240,540 左声道单元250,550 右声道单元260,560 共同单元241、251、261、541、551 放大模块511 模拟数字转换电路512:数字信号运算电路710、720 频谱图711、712、721、722 频谱波形S610 S630 补偿方法的步骤x、y:比例值FBP、LOP、ROP、CP、GND 端点HPL、HPR 扬声单元Bl B3、BL、BR、BC 磁珠
    AMPL、AMPR、AMPC 放大器RR1、RR2、RBL, RBR、RB3 电阻DATA、DL、RL、MDL, MRL 左、右声道信号
    具体实施例方式为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详 细说明如下。首先请参照图2Α,图2Α绘示本发明一实施例无电容模式(capless mode)的声音 播放装置200的示意图。声音播放装置200中具有一数字运算单元210、一参考电压产生模 块220、一数字模拟转换器230、一左声道单元240、一右声道单元250以及一共同单元260。左声道单元240包括一放大模块241、一左声道磁珠BL以及一左声道扬声单元 HPL串接;右声道单元250包括一放大模块251、一右声道磁珠BR以及一右声道扬声单元 RPL串接;共同单元260包括一放大模块261与一共同磁珠BC串接;放大模块261用以提 供一电压准位。其中,左声道扬声单元HPL与右声道扬声单元RPL的一端分别连结至共同 磁珠BC的第一端。数字运算单元210接收左声道信号DL、右声道信号DR、第一比例值χ以及第二比 例值1。其中的第一比例值X及第二比例值y是依据左声道扬声单元HPL、右声道扬声单元 HPR、左声道磁珠BL、右声道磁珠BR以及共同磁珠BC的多个低频等效阻抗的阻抗值所产生。 数字运算单元210并通过第一比例值χ及第二比例值y对左声道信号DL及右声道信号DR 进行算术运算,以分别获得补偿后左声道信号MDL以及补偿后右声道信号MDR。数字模拟转换器230则接收补偿后左声道信号MDL以及补偿后右声道信号MDR, 并针对数字格式的补偿后左声道信号MDL以及补偿后右声道信号MDR转换成模拟格式后输 出ο参考电压产生模块220将产生一参考电压提供给数字模拟转换器230。 另外请参照图2B,图2B绘示本发明一实施例电容模式(cap mode)声音播放装置 201的示意图。其中,利用第一比例值与第二比例值补偿串音现象,除了可以如图2A所绘示 的应用于无电容模式的声音播放装置外,也可以应用在如图2B所绘示的电容模式的声音 播放装置。而电容模式的声音播放装置201的动作方式与非电容模式的声音播放装置200 是相似的,此处则不再重复说明。请注意,在电容模式(cap mode)声音播放装置201中,共 同磁珠BC —端连结接地端,另一端连结左声道扬声单元HPL与右声道扬声单元RPL的一 端;而共同单元260中不需有放大模块,因接地端即提供一电压准位。本发明预先利用左、右声道扬声单元及各个磁珠的低频等效阻抗值运算所产生的 比例值,以对左、右声道信号进行补偿,好消除声音播放装置在低频时因低频等效阻抗在 左、右声道扬声器上产生所谓的串音(cross talk)现象。而关于上述说明中的第一比例值及第二比例值的计算方式,请同时参照图2A及 图3。其中,图3绘示本发明实施例声音播放装置200如何补偿左声道信号MDL以及右声道 信号MDR的计算架构示意图。补偿计算的方式乃是将左声道信号DL加上右声道信号DR与 第二比例值y的乘积,其所得的值视为补偿后左声道信号MDL。而右声道信号DR加上左声 道信号DL与第一比例值χ的乘积则等于补偿后右声道信号MDR。
    接着则请参照图4A及图4B,图4A及图4B分别绘示声音播放装置200的左右声 道分别输入补偿后左、右声道信号时的等效电路图。在图4A的绘示中,假定右声道信号DR 为零,此时左声道磁珠BL的低频等效电阻的电阻值为RBL,而右声道磁珠BR的低频等效电 阻的电阻值为RBR,共同磁珠BC的低频等效电阻的电阻值则为RB3,又左声道扬声单元HPL 以及右声道扬声单元HPR的低频等效电阻的电阻值则分别为RR1、RR2。以接地端GND为零 伏特(volts,V)为条件,可以求得左声道扬声单元HPL以及右声道扬声单元!PR的共同耦 接点上的电压Vl与左声道信号DL的关系式如下式(1)所示
    权利要求
    1. 一种声音播放装置,其特征在于,所述的声音播放装置包括一数字信号运算单元,接收一左声道信号及一右声道信号进行一算术运算,并藉以分 别获得一补偿左声道信号以及一补偿右声道信号;一数字模拟转换器,连结所述数字信号运算单元,接收所述补偿左声道信号以及所述 补偿右声道信号以转换输出一左声道模拟信号以及一右声道模拟信号;一左声道单元,连结所述数字模拟转换器与所述数字信号运算单元,具有一左声道放 大模块,一左声道磁珠与一左声道扬声单元;一右声道单元,连结所述数字模拟转换器与所述数字信号运算单元,具有一右声道放 大模块,一右声道磁珠与一右声道扬声单元;以及一共同单元,连结所述左声道单元与所述右声道单元,具有一共同磁珠, 其中,所述数字运算单元依据一第一比例值及一第二比例值对所述左声道信号及所述 右声道信号进行所述算术运算,并藉以分别获得一补偿后左声道信号以及一补偿后右声道 信号,其中所述第一比例值是依据所述左声道扬声单元、所述左声道磁珠以及所述共同磁 珠的低频等效阻抗的阻抗值所产生,而所述第二比例值则是依据所述右声道扬声单元、所 述右声道磁珠以及所述共同磁珠的低频等效阻抗的阻抗值所产生。
    2.如权利要求1所述的声音播放装置,其特征在于,所述第一比例值为大于零且小于 两倍的一第一预定值,其中所述第一预定值等于所述共同磁珠的低频等效阻抗的阻抗值除 以所述左声道扬声单元、所述左声道磁珠以及所述共同磁珠的低频等效阻抗的阻抗值的总 禾口。
    3.如权利要求1所述的声音播放装置,其特征在于,所述第二比例值为大于零且小于 两倍的一第二预定值,其中所述第二预定值等于所述共同磁珠的低频等效阻抗的阻抗值除 以所述右声道扬声单元、所述右声道磁珠以及所述共同磁珠的低频等效阻抗的阻抗值的总 禾口。
    4.如权利要求1所述的声音播放装置,其特征在于,所述的声音播放装置进一步包括 一参考电压产生模块,耦接所述数字模拟转换器,用以提供一参考电压;以及一共同单元放大模块,耦接所述参考电压产生模块,依据所述参考电压产生一共同电 压,并由所述共同单元传送所述共同电压至所述左声道扬声单元及所述右声道扬声单元。
    5.如权利要求1所述的声音播放装置,其特征在于,所述数字运算单元包括一模拟数字转换电路,耦接至所述左声道扬声单元与所述右声道扬声单元的连接点, 用以接收一串音电压,获得所述串音电压的检测峰值;以及一数字信号运算电路,耦接所述模拟数字转换电路并依据所述检测峰值产生所述第 一、所述第二比例值,接收所述左、右声道信号,依据所述第一、二比例值以及所述左、右声 道信号进行所述算术运算,并藉以分别获得所述补偿左声道信号以及所述补偿右声道信 号。
    6.如权利要求1所述的声音播放装置,其特征在于,所述数字运算单元更产生一缩小 比例值,并将所述缩小比例值与所述第一、二比例值以及所述左、右声道信号进行所述算术 运算,以分别获得一缩小的补偿左声道信号及一缩小的补偿右声道信号。
    7.一种声音播放装置的补偿方法,其特征在于,所述的方法用以补偿所述声音播放装 置中所产生的串音现象,其步骤包括接收一第一比例值及一第二比例值,其中所述第一比例值是依据所述左声道扬声单 元、所述左声道磁珠以及所述共同磁珠的低频等效阻抗的阻抗值所产生,而所述第二比例 值则是依据所述右声道扬声单元、所述右声道磁珠以及所述共同磁珠的低频等效阻抗的阻 抗值所产生;接收一左声道信号及一右声道信号;以及提供一数字运算单元依据所述第一比例值及所述第二比例值对所述左声道信号及所 述右声道信号进行一算术运算,藉以获得一补偿后左声道信号以及一补偿后右声道信号。
    8.如权利要求7所述的补偿方法,其特征在于,所述第一比例值为大于零且小于两倍 的一第一预定值,其中所述第一预定值等于所述共同磁珠的低频等效阻抗的阻抗值除以所 述左声道扬声单元、所述左声道磁珠以及所述共同磁珠的低频等效阻抗的阻抗值的总和。
    9.如权利要求7所述的补偿方法,其特征在于,所述第二比例值为大于零且小于两倍 的一第二预定值,其中所述第二预定值等于所述共同磁珠的低频等效阻抗的阻抗值除以所 述右声道扬声单元、所述右声道磁珠以及所述共同磁珠的低频等效阻抗的阻抗值的总和。
    10.如权利要求7所述的补偿方法,其特征在于,所述依据所述第一比例值及所述第二 比例值来针对所述左声道信号及所述右声道信号进行所述算术运算的步骤包括将所述左声道信号加上所述第二比例值与所述右声道信号的乘积以获得所述补偿后 左声道信号;以及将所述右声道信号加上所述第一比例值与所述左声道信号的乘积以获得所述补偿后 右声道信号。
    11.如权利要求7所述的补偿方法,其特征在于,所述的方法进一步包括当所述数字运算单元传送一测试信号至所述左声道扬声单元或所述右声道扬声单元 的其中之一时,提供一峰值检测器检测所述左声道扬声单元与所述右声道扬声单元的连接 点上的一串音电压的一检测峰值,并依据所述检测峰值进行计算以获得所述第一比例值以 及所述第二比例值。
    12.如权利要求7所述的补偿方法,其特征在于,所述的方法进一步包括提供所述数字运算单元接收一缩小比例值,并将所述缩小比例值与所述第一、二比例 值以及所述左、右声道信号进行所述算术运算,以分别获得一缩小的补偿左声道信号及一 缩小的补偿右声道信号。
    全文摘要
    本发明公开了一种声音播放装置,包括一数字信号运算单元,一数字模拟转换器,一左声道单元,一右声道单元以及一共同单元。其中初始设定时,数字运算单元检测左声道单元中左声道扬声单元或右声道单元中右声道扬声单元上的一串音电压,进行运算以获得一第一比例值及一第二比例值,依据第一、二比例值以及左、右声道信号进行运算并藉以分别获得一补偿左声道信号以及一补偿右声道信号藉以消除串音现象。
    文档编号H04R3/12GK102056054SQ20091020942
    公开日2011年5月11日 申请日期2009年10月30日 优先权日2009年10月30日
    发明者李鸿邦, 陈昭宇 申请人:扬智科技股份有限公司

    展开全文
  • 3.13 Redis数据库4:Go与Redis的交互
  • 但是对于那些基于web service/rpc/jms等构建的高度自治(autonomy)的分布式系统接口,best efforts 1PC模式是无能为力的,此类场景下,还有最后一种方法可以帮助我们实现“最终一致性”,那就是事务补偿机制。...
  • 建造者模式(Builder Pattern)也称生成器模式,它属于创建型模式
  • 丢包补偿技术调查

    千次阅读 2013-11-18 17:43:41
    原创作品,允许转载,转载时请务必以超链接形式标明文章 ...丢包补偿技术可以分为两类:基于发送端补偿和基于接受端补偿。基于发送端补偿包括前向差错纠正、交织和重传技术;基于接受端补偿包括了多种错

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,667
精华内容 4,266
关键字:

交互补偿模式