CN101088237A - 用于处理电视音频信号的可配置的递归数字滤波器 - Google Patents
用于处理电视音频信号的可配置的递归数字滤波器 Download PDFInfo
- Publication number
- CN101088237A CN101088237A CNA2005800345985A CN200580034598A CN101088237A CN 101088237 A CN101088237 A CN 101088237A CN A2005800345985 A CNA2005800345985 A CN A2005800345985A CN 200580034598 A CN200580034598 A CN 200580034598A CN 101088237 A CN101088237 A CN 101088237A
- Authority
- CN
- China
- Prior art keywords
- signal
- filter
- television audio
- audio signals
- impulse response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 82
- 238000012545 processing Methods 0.000 title description 15
- 230000004044 response Effects 0.000 claims abstract description 40
- 238000001914 filtration Methods 0.000 claims description 38
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 26
- 238000001228 spectrum Methods 0.000 description 25
- 238000007906 compression Methods 0.000 description 21
- 230000006835 compression Effects 0.000 description 21
- 239000003638 chemical reducing agent Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 230000001276 controlling effect Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000003595 spectral effect Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 208000037656 Respiratory Sounds Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000011284 combination treatment Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 206010037833 rales Diseases 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R5/00—Stereophonic arrangements
- H04R5/04—Circuit arrangements, e.g. for selective connection of amplifier inputs/outputs to loudspeakers, for loudspeaker detection, or for adaptation of settings to personal preferences or hearing impairments
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S1/00—Two-channel systems
- H04S1/007—Two-channel systems in which the audio signals are in digital form
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Television Systems (AREA)
- Stereophonic System (AREA)
- Amplifiers (AREA)
Abstract
一种电视音频信号编码器,包括将左声道音频信号和右声道音频信号相加以产生和信号的设备。该设备还将左和右音频信号中的一个从另一个中减去以产生差值信号。该编码器还包括可配置的无限脉冲响应数字滤波器,其选择性地使用一组或多组滤波器系数对差值信号进行滤波。该组滤波器系数以递归方式通过单个乘法器应用到差值信号,以准备差值信号用于发送。
Description
相关申请
本申请涉及下述的共同受让人、要求其优先权并且其内容整体结合在此作为参考的美国申请:2004年8月17日递交的申请号为60/602,169的“Digital Architecture for a BTSC Encoder/Decoder withSAP”的美国临时专利申请。
技术领域
本公开涉及处理电视音频信号,并且尤其是涉及一种用于与编码和解码电视音频信号一起使用可配置结构。
背景技术
在1984年,美国在联邦通信委员会的支持下采用了对于电视的立体声音频的发送和接收的标准。该标准被整理在FCC的公报OET-60中,并且该标准在广播电视系统委员会提议之后通常被称为BTSC系统,或者被称为MTS(多声道电视伴音)系统。
在BTSC系统之前,广播电视音频是单声道的,由单个“声道”或单个音频内容组成。立体声音频通常需要对两个独立音频声道的发送,并且需要接收机能够检测并恢复两个声道。为了满足FCC的新发送标准应与现有单声道电视机“兼容”的要求(即单声道接收机能够从新型立体声广播中再现适当的音频信号),广播电视系统委员会采用了与FM无线电系统类似的方法:将立体声左和右音频信号合并以形成两个新信号:和(Sum)信号以及差值(Difference)信号。
单声道电视接收机仅检测并解调由左和右立体声信号之和组成的所述和信号。立体声接收机接收和信号和差值信号,重组这些信号,提取出原始立体声左和右信号。
为了发送,和信号直接调制伴音FM载波,正象是单声道音频信号一样。但是,差值声道首先被调制到高于上述伴音载波中心频率的位于31.768/kHz的AM副载波上。FM调制的特性是背景噪声每个八度音增加3分贝(dB),并且因此,由于新的副载波位于距伴音载波中心频率比和信号或单声道信号更远处,附加噪声被引入到差值声道中,并因此被引入到所恢复的立体声信号中。在很多环境中,事实上这种增大的噪声特性为立体声信号带来了太大的噪声从而不能满足FCC所提出的需求,并且因此BTSC系统在差值声道信号通路中放置了噪声降低系统。
该系统有时被称为dbx噪声降低(在公司开发了这种技术之后),是压缩扩展类型的,包括编码器和解码器。该编码器在发送之前自适应地对差值信号进行滤波,从而使得在解码时振幅和频率内容隐藏了(“掩盖”)了在发送过程期间产生的噪声。所述解码器通过将差值信号恢复成原始形式并且由此确保噪声被信号内容在听觉上掩盖,从而完成处理。
dbx噪声减少系统还用于编码和解码第二音频程序(SAP)信号,其在BTSC标准中定义为附加信息声道,并且通常用于例如以可替换语言运载程序、读取用于遮蔽(blind)的服务或其他服务。
当然,成本对于电视制造商来说是最主要的关注点。作为激烈竞争和消费者期望的结果,消费电子产品的利润率,特别是电视产品,可能非常小。因为解码器位于电视接收机中,制造商对于解码器的成本是敏感的,降低解码器的成本是必须的并且是值得出力的目标。虽然编码器不位于电视接收机中并且对于利润立足点来说并不敏感,任何将降低编码器的制造成本的开发也提供好处。
发明内容
根据本公开的一个方面,电视音频信号编码器包括将左声道音频信号和右声道音频信号加和来产生和信号的设备。矩阵还用左和右音频信号的一个减去另一个来产生差值信号。该编码器还包括可配置的无限脉冲响应数字滤波器,该滤波器选择性地使用一组或多组滤波器系数来对该差值信号进行滤波。该组滤波器系数以递归方式由单个乘法器应用到所述差值信号,以准备差值信号用于发送。
在一个实施例中,可配置的无限脉冲响应数字滤波器可以包括反馈通路,用于将该组滤波器系数以递归方式应用到差值信号。该反馈通路可以包括移位寄存器,用于延迟与差值信号关联的数字信号。该可配置的无限脉冲响应数字滤波器可以乘以与差值信号关联的信号,并且提供该乘法的输出。该可配置的无限脉冲响应数字滤波器可以包括选择器,用于选择数字输入信号或选择其中一个滤波器系数。在一些设置中,该选择器可以包括多路复用器。该无限脉冲响应数字滤波器可以配置为提供不同的滤波功能,诸如低通滤波器。该可配置的无限脉冲响应数字滤波器还可以包括单个加法器,用于以递归的方式将滤波器系数应用到差值信号。该电视音频信号可以遵守广播电视系统委员会(BTSC)标准、准瞬时压扩音频复用(NICAM)标准、A2/Zweiton标准、EIA-J标准或者其他相似的音频标准。该可配置的无限脉冲响应数字滤波器可以实现在集成电路中。
根据本公开的另一方面,电视音频信号解码器包括可配置的无限脉冲响应数字滤波器,其选择性地使用一组或多组滤波器系数来对差值信号进行滤波。该差值信号通过从左声道和右声道音频信号两者相减而产生。该组滤波器系数以递归方式由单个乘法器应用到差值信号,以准备用于分离左声道和右声道音频信号的差值信号。该解码器还包括用于从差值信号以及和信号中分离左声道和右声道音频信号的设备。该和信号包括左声道音频信号和右声道音频信号的和。
在另一个实施例中,可配置的无限脉冲响应数字滤波器可以包括反馈通路,用于以递归方式将该组滤波器系数应用到差值信号。该反馈通路可以包括移位寄存器,用于延迟与差值信号关联的数字信号。该可配置的无限脉冲响应数字滤波器可以乘以与差值信号关联的信号并且提供该乘法的输出。该可配置的无限脉冲响应数字滤波器可以包括选择器,用于选择数字输入信号或选择其中一个滤波器系数。在一些设置中,该选择器可以包括多路复用器。该无限脉冲响应数字滤波器可以配置为提供不同的滤波器功能,诸如低通滤波器。该可配置的无限脉冲响应数字滤波器也可以包括单个加法器,用于以递归的方式将该滤波器系数应用到差值信号。该电视音频信号可以遵守广播电视系统委员会(BTSC)标准、准瞬时压扩音频复用(NICAM)标准、A2/Zweiton标准、EIA-J标准或其它相似音频标准。该可配置的无限脉冲响应数字滤波器可以实现在集成电路中。
从下面的细节描述中,本公开的附加优点以及各个方面对于本领域技术人员将更加明显,其中简单地通过阐述预期用于实现本发明的最佳模式,来示出和描述本发明的实施例。如下所述,本公开可以是其他不同的实施例,并且其若干细节容许以各种显而易见的方式改动,所有都不脱离本公开的精神。因此,附图和说明在本质上应该看作是描述性的,而不是限制性的。
附图说明
图1是示出电视信号发送系统的框图,该系统配置为遵循BTSC电视音频信号系统;
图2是示出包括在图1所示的电视信号发送系统中的BTSC编码器的一部分的框图;
图3是示出配置为用于接收和解码由图1所示的电视信号发送系统所发送的BTSC电视音频信号的电视接收机系统的框图;
图4是示出包括在图3所示的电视信号接收机系统中的BTSC解码器的一部分的框图;
图5是用于执行图2和图4所示的编码器和解码器的操作的可配置的无限脉冲响应滤波器的简图;
图6是二阶无限脉冲响应滤波器的传递函数的图形表示,该二阶无限脉冲响应滤波器可以由图5所示的无限脉冲响应滤波器实现;
图7是BTSC编码器的一部分的框图,该BTSC编码器着重于可以由图5所示的可配置的无限脉冲响应滤波器执行的操作;以及
图8是BTSC解码器的一部分的框图,该BTSC编码器着重于可以由图5所示的可配置的无限脉冲响应滤波器执行。
具体实施方式
参考图1,兼容BTSC的电视信号发射机10的功能性框图包括5条线路(例如导电线、电缆等等),提供用于发送的信号。特别地,左和右音频声道在各个线路12和14上提供。SAP信号由线路16提供,其中该信号具有提供附加声道信息的内容(例如替换语言等等)。第四线路18提供专业声道,通常被广播电视和有线电视公司所使用。视频信号由线路20提供给发射机22。左、右和SAP声道提供到BTSC编码器24,该编码器24准备用于发送的音频信号。具体地,左和右音频声道提供到矩阵26,该矩阵26从音频信号中计算出和信号(例如L+R)以及差值信号(例如L-R)。典型地,矩阵26的运算是利用数字信号处理器(DSP)或相似硬件或软件来执行的一基于对电视音频和视频信号处理领域技术人员来说公知的技术。一旦生成和信号和差值信号(即L+R和L-R),就将其编码用于发送。具体地,和信号(即L+R)提供到预加重(pre-emphasis)单元28,该预加重单元28改变和信号中所选择频率分量相对于其他频率分量的振幅。该改变可以是负向意义的,其中对所选频率分量的振幅进行抑制,或者该改变可以是正向意义的,其中对所选频率分量的振幅进行加强。
差值信号(即L-R)提供到BTSC压缩器30,该压缩器30在发送之前对该信号进行自适应滤波,从而使得当解码时,信号振幅和频率内容抑制了发送期间引入的噪声。与差值信号类似,SAP信号提供到BTSC压缩器32。音频调制器级34接收所处理的和信号、差值信号以及SAP信号。另外,来自专业声道的信号提供到音频调制器级34。由音频调制器级34调制这四个信号并且将其提供到发射机22。将这四个音频信号与视频通道所提供的视频信号一起调节为达到用于发送的条件,并且将其提供到天线36(或天线系统)。各种对于电视系统和电信领域的技术人员来说公知的信号发送技术可以由发射机22和天线36实现。例如,发射机22结合到有线电视系统、广播电视系统或其他相似的电视系统。
参考图2,显示了表示由BTSC压缩器30的一部分所执行的操作的框图。通常,由BTSC压缩器30执行的对于差值声道(即L-R)的处理与预加重单元28执行的对于和声道(即L+R)的处理相比复杂很多。由差值声道处理BTSC压缩器30所提供的附加处理,与接收BTSC信号的解码器(未显示)所提供的反向(complementary)处理组合,将差值声道的信噪比维持在可接受的级别上,即使是存在与差值声道的发送和接收有关的更高噪声下限(floor)时也是如此。BTSC压缩器30本质上通过动态地压缩或减小差值信号的动态范围来产生编码后的差值信号,从而使得编码后信号可以通过有限动态范围的发送通路进行发送,并且使得接收该编码后信号的解码器可以通过以反向方式扩展压缩的差值信号来恢复在原始差值信号中的基本上全部动态范围。在一些设置中,BTSC压缩器30实施在此作为参考结合的美国专利No.4,539,526中所描述的自适应信号加权系统的信号的特定形式,并且该形式是公知的有利于通过具有相对较窄、频率相关的动态范围而发送具有相对较大动态范围的信号。
BTSC标准严格地定义BTSC编码器24和BTSC解码器30和32的预期操作。具体地,BTSC标准提供传递函数和/或对于包括在例如BTSC压缩器30中的每个组件的操作的指导,并且传递函数用理想的模拟滤波器的数学表述方式来描述。一旦从矩阵26接收到差值信号(即L-R),可以将该信号提供到内插与固定预加重(interpolation andfixed pre-emphasis)级38。在一些数字BTSC编码器中,内插设置为是采样速率的两倍并且内插可以通过线形内插、抛物插值法或n阶滤波器(例如有限脉冲响应(FIR)滤波器、无限脉冲响应(IIR)滤波器等)而完成。该内插与固定预加重级38还提供预加重。在内插和预加重之后,将差值信号提供到分频器40,该分频器40通过从差值信号确定的量将差值信号分频,并且在下面对其进行了详细描述。
将分频器40的输出提供到频谱压缩单元42,频谱压缩单元42对差值信号进行加重滤波。通常,频谱压缩单元42通过放大具有相对较低振幅的信号并削弱具有相对较大振幅的信号来“压缩”或减小差值信号的动态范围。在一些设置中,频谱压缩单元42从差值信号中产生内部控制信号,该内部控制信号控制所应用的预加重/去加重。典型地,频谱压缩单元42动态压缩差值信号的高频部分,压缩的量由所编码的差值信号的高频部分中的能量级所确定。频谱压缩单元42因此提供向着差值信号的更高频部分的附加信号压缩。这是因为差值信号在频谱的高频部分往往是具有更大噪音。当利用解码器中的频谱扩展器采用与编码器的频谱压缩单元相反的方式对编码后的差值信号进行解码时,L-R信号的信噪比基本上能够保持。
一旦由频谱压缩单元42进行了处理,差值信号就提供给过调制(over-modulation)保护单元44以及限带单元46。与其他元件相似的是,BTSC标准对过调制保护单元44和限带单元46的操作提供了所建议的指导。通常,限带单元46以及过调制保护单元44的一部分可以实现为低通滤波器。过调制保护单元44也实现为用于将编码的差值信号限制到全调制的门限设备,全调制是对于调制电视信号中的伴音副载波的最大可允许背离程度。
在BTSC压缩器30中包括两个反馈通路48和50。反馈通路50包括频谱控制带通滤波器52,该频谱控制带通滤波器52典型地具有相对较窄的通带,对所述通带向着更高音频频率进行加权,以便提供用于频谱压缩单元42的控制信号。为了使由频谱控制带通滤波器52产生的控制信号满足条件,反馈通路50还可以包括乘法器54(配置为对频谱控制带通滤波器52所提供的信号进行平方)、积分器56以及用于提供控制信号给频谱压缩单元42的平方根设备。反馈通路48也包括带通滤波器(即,增益控制带通滤波器60),该带通滤波器对来自限带单元46的输出信号进行滤波,以便设置经由分频器40施加到内插与固定预加重级38的输出信号上的增益。与反馈通路50相似,反馈通路48还包括乘法器62、积分器62以及平方根设备66,以便使提供给分频器40的信号达到条件。
参考图3,显示了表示电视接收机系统68的框图,该系统68包括天线70(或天线的系统),以便从电视发送系统10(如图1所示)接收兼容BTSC的广播信号。由天线70接收的信号提供给接收机72,该接收机72能够检测并隔离电视发送信号。但是,在一些设置中,接收机72可以根据对于电视信号广播领域的技术人员公知的另一电视信号发送技术,接收兼容BTSC的信号。例如,该电视信号可以通过有线电视系统或卫星电视网络提供给接收机72。
一旦接收到该电视信号,接收机72使信号达到条件(例如放大、滤波、频率调整等)并且从发送信号中分离出视频信号和音频信号。视频内容被提供给视频处理系统74,该视频处理系统74准备视频信号中包含的视频含量,以便在与电视接收机系统68关联的屏幕(例如阴极射线管等)上进行呈现。包含分离的音频内容的信号被提供给解调器级76,该解调器级76例如移去在电视发送系统10上应用到音频信号上的调制。该解调的音频信号(例如SAP信号、专业信号、和信号、差值信号)被提供给BTSC解码器78,该BTSC解码器78正确地解码每个信号。SAP声道被提供SAP声道解码器80,而专业声道被提供给专业声道解码器82。在分离SAP声道和专业声道之后,解调后的和信号(即L+R信号)被提供给去加重单元84,该去加重单元84采用与预加重单元28(如图1所示)基本相反的方式处理该和信号。在对该和信号的频谱内容进行去加重之后,该信号被提供给矩阵88,用于分离左和右声道音频信号。
差值信号(即L-R)也由解调制级76进行解调,并且被提供给包括在BTSC解码器78中的BTSC扩展器86。BTSC扩展器86遵循BTSC标准,并且如下面的细节所描述地,使差值信号达到条件。矩阵88从BTSC扩展器86接收差值信号,并且连同和信号将左和右音频声道分离成独立信号(在图3中标示为“L”和“R”)。通过分离所述信号,单个左和右声道音频信号可以达到条件并且提供给分离的扬声器。在这个示例中,左和右音频声道被提供给放大器级90,该放大器级90在提供各个信号到用于广播左声道音频内容的扬声器92和用于广播右声道音频内容的扬声器94之前,将相同(或不同)增益应用到每个声道。
参考图4,框图标识了一些由BTSC扩展器86所执行的用于使差值信号达到条件的一些操作。一般地,BTSC扩展器86执行与由BTSC压缩器32(在图2中所示)执行的操作相反的操作。具体地,压缩的差值信号被提供给信号通路96,用于解压缩该信号,并且提供给两个通路98和100,这两个通路产生相应的控制和增益信号以帮助对差值信号的处理。为了初始化该处理,压缩的差值信号被提供给限带单元102,该限带单元102对该压缩的差值信号进行滤波。该限带单元102将一个信号提供给通路98以产生控制信号并且提供给通路100以产生增益信号。通路100包括增益控制带通滤波器104、乘法器106(将增益控制带通滤波器的输出进行平方)、积分器108以及平方根设备110。信号通路98还从限带单元102接收信号并且利用频谱控制带通滤波器112、平方设备114、积分器116和平方根设备118处理该信号。通路98然后提供一个控制信号给频谱扩展单元120,该频谱扩展单元120执行与由图2中所示的频谱压缩单元42所执行的操作相反的操作。由通路100所产生的增益信号被提供给乘法器122,该乘法器122接收来自频谱扩展单元120的输出信号。乘法器122将频谱上扩展的差值信号提供给固定去加重单元124,该固定去加重单元124采用与由BTSC压缩器30执行的滤波相反的方式对信号进行滤波。通常,术语“去加重”意味着所解码信号的所选择频率分量的改变,所述改变是采用与对原始信号的编码相反的方式在负向或正向进行的。
BTSC编码器24和BTSC解码器78都包括多个滤波器,所述滤波器将音频信号的振幅作为频率的函数进行调节。在一些现有技术中,电视发送系统和接收系统,每个滤波器都采用分立的模拟元件实现。但是,由于数字信号处理中的优点,一些BTSC编码器和BTSC解码器可以在数字域中采用一个或多个集成电路(IC)实现。另外,多个数字BTSC编码器和/或解码器可以在单个IC上实现。例如,编码器和解码器可以被合并到作为超大规模集成电路(VLSI)系统的一部分单个IC中。
IC的成本的一个重要部分是与芯片的物理尺寸直接成比例的,特别是其“死区”的尺寸或者芯片中活动的非封装部分。在一些设置中,在数字BTSC编码器和解码器中执行的滤波操作可以使用通用目的数字信号处理器执行,通用目的数字信号处理器设计为执行一系列的DSP功能和操作。这些DSP引擎倾向于具有相对较大的死区,并且因此用于较昂贵地实现BTSC编码器和解码器。此外,DSP可以专用于执行其他功能和操作。通过共享资源,由DSP所执行的处理可以过载并且干扰BTSC编码器和解码器功能和操作的处理。
在一些设置中,BTSC编码器和解码器可以合并基本元件组以降低成本。例如,乘法器、加法器以及多路复用器的组可以进行合并,以便产生BTSC编码器和解码器的功能。但是,虽然基本相同的元件的组可以简单地进行制造,但是这些元件呈现出明显的死区并且增加了IC的总成本。因此,需要减少用于实现数字BTSC编码器和/或解码器的完全相同的电路元件的数量。
参考图5,显示了可配置的无限脉冲响应(IIR)滤波器126的框图,该滤波器可以执行多种用于数字BTSC编码器和/或解码器的操作。具体地,可配置的IIR滤波器126包括能够执行各种滤波、乘法以及延迟操作的数字结构。关于滤波操作,通过提供可选择的滤波系数,可配置的IIR滤波器126可以配置为用于各种类型的滤波器和不同的滤波操作。例如,可以选择滤波系数以提供低通滤波器、高通滤波器、带通滤波器或其他类型的滤波器设计领域公知的滤波器。因此,可配置IIR滤波器126的一个或相对较小数量的实现,可以用于提供BTSC编码器和解码器的大部分或全部的滤波需要。通过减少解码器和编码器滤波器的数量,IC芯片的实现区域可以减小,同时BTSC编码器和解码器的生产称本也减少。可配置IIR滤波器126的其他实施方式在于2005年3月24日提交的美国专利申请号No.11/089,385,“Configurable Filter for Processing Television Audio Signals”中进行了描述,其结合在此作为参考。
与对用于选择滤波器系数的元件的使用的同时,通过使用递归的数字结构,可以进一步减少元件的数量。在这个示例性设计中,可配置的IIR滤波器126包括反馈通路128,该反馈通路128将数字信号从该结构的输出部分传送到用于进一步处理的元件。通过经由反馈通路128传送所处理的数字信号,可以由可配置的IIR滤波器126提供各种类型的递归处理。例如,通过经由反馈通路128传送信号,可以实现更高阶的滤波器(例如二阶或更高)。
在这个实现中,各种数字输入信号提供给充当选择器的多路复用器130的输入端。例如,信号可以从诸如BTSC压缩器30(如图2所示)的压缩器的各种部分输入。内插与固定预加重级38、增益控制带通滤波器60和频谱控制带通滤波器52可以提供数字信号至多路复用器130。根据适当的调度,多路复用器130选择一个输入用于处理适当的输入信号。所选择的信号被提供给输入寄存器132,然后在适当的时间提供给多路复用器134。多路复用器134将来自输入寄存器132的数据(例如新的输入数据)或者来自单个乘法器138的先前计算的乘积(经由乘积寄存器140)提供给单个加法器136。加法器136还接收来自多路复用器142的输入数据,该数据可以是来自和寄存器144(优选地连接到加法器136的输出端)的先前积累的数据或者是来自乘法器138的乘积数据(优选地经由乘积寄存器140和寄存器146提供)。
为了提供用于对先前处理的信号进行处理和递归处理的数字输入信号,反馈通路128将加法器136的输出提供给乘法器138。更具体地,加法器136的输出被提供给多路复用器148,该多路复用器148提供输出信号给移位寄存器150。在加法器136的输出信号和(从移位寄存器150输出的)一个信号的延迟形式中的一个被提供给移位寄存器150的输入端。通过在反馈通路128中加入移位寄存器150,可以在在乘法器138的处理之前将一个时间延迟应用到数字信号。为了滤波应用,由移位寄存器150引入的时间延迟可以用于实现更高阶滤波器(例如二阶滤波器)。
移位寄存器150的输出被提供给多路复用器148的输入端(如上所述)。反馈通路128通过多路复用器152将数据提供给乘法器138。更具体地,数字信号可以经由导线154直接地从加法器136的输出端反馈。信号也可以是作为移位寄存器150的输出端所提供的反馈或者移位寄存器150的输出的延迟形式(经由寄存器156)所提供的反馈。外部被乘数也可以被提供到多路复用器的多个输入端158。如图所示,外部数据可以被提供到多路复用器152的一个或多个输入线路158。寄存器160被提供给来自多路复用器152的输出信号,用于准备乘法器138的乘法。
诸如滤波器系数(具有固定的或变化的值)之类的数据可以由多路复用器162提供给可配置的IIR滤波器126。具体地,表示滤波器系数的数据可以从输入线路164提供给多路复用器162。外部被乘数也可以由输入线路164提供。随着从外部提供所述系数或被乘数,所述系数或被乘数可以由寄存器166提供给多路复用器162。与多路复用器152相似,多路复用器162提供数据到寄存器168,用于准备向乘法器138提供数据。
由于反馈通路128包括在可配置的IIR滤波器126中,因此可以引入单个乘法器(即乘法器138),以便在其中提供乘法功能用于实现滤波器。通过实现该单个乘法器方案,可以保存集成电路的实时状态并将其用于提供其他功能性。例如,可以引入一系列的输出寄存器,以便直接提供乘积寄存器140的输出给外部设备和元件。另外,由于反馈通路128,单个加法器(即加法器136)提供附加功能以便实现各种类型的IIR滤波器。此外,通过使用单个元件,在加法器136的情况下,保存了附加芯片的实时状态以将其用于其他元件。例如,可以引入一系列输出寄存器172以便引导加法器136的输出(经由和寄存器144)到位于相同集成电路或外部设备的外部元件或模块。
除了提供乘法功能(利用由输出寄存器170所提供的输出)以及滤波功能(利用由输出寄存器172所提供的输出)之外,可配置的IIR滤波器126还可以提供时间延迟功能。例如,移位寄存器150的输出和/或寄存器156的输出可以用于提供被提供给寄存器的一个或多个数字信号的时间延迟形式。
为了允许可配置的IIR滤波器126执行多种类型的滤波操作,多路复用器130控制由哪个输入端提供输入信号。简要参考图2,可以连接多路复用器130的一些输入端,以便对于在BTSC压缩器30中执行的每个滤波操作提供输入信号。例如,至增益控制带通滤波器60的输入可以连接到多路复用器130的输入端。相似地,至频谱控制带通滤波器52的输入可以被连接到多路复用器130的另一输入端。然后,多路复用器130可以控制可配置的IIR滤波器126要执行哪个特定滤波操作。例如,在一个时间周期中,可以选择适当输入端并且可配置的IIR滤波器126可以配置为提供增益控制带通滤波器60的滤波器功能。然后,在另一时间周期中,多路复用器130可以用于选择另一个输入端以便执行不同的滤波操作。在选择另一输入的同时,可配置的IIR滤波器126可以相应地配置为提供不同类型的滤波功能,诸如由频谱控制带通滤波器52提供的滤波。
为了执行多个滤波操作,例如为了BTSC压缩器或BTSC扩展器的滤波操作,可配置的IIR滤波器126以基本比数字压缩器或扩展器的其他部分更快的时钟速度进行工作。通过以更快的时钟速度工作,可配置的IIR滤波器126可以执行一种类型的滤波而不引起数字压缩器或扩展器其他操作被延迟。例如,通过以基本上很快时钟速度操作可配置的IIR滤波器126,该结构可以首先配置为执行用于增益控制带通滤波器60的滤波,而基本上不会对下一个滤波器配置的执行(例如用于频谱控制带通滤波器52的滤波器操作)产生延迟。
在一个设置中,可配置的IIR滤波器126可以实现为二阶IIR滤波器。参考图6,对于典型的二阶IIR滤波器显现出z域信号流图174。输入节点176接收标识为X(z)的输入信号。该输入信号被提供给加法器178,该加法器178将该信号与下面描述的处理后的信号相加。加法器178的输出被提供到增益级180,该增益级180将滤波器系数a0应用到输入信号。在一些应用中,滤波器系数a0具有单一值。相似地,在增益级182处将滤波器系数b0应用到输入信号。在延迟级184处,当输入信号进入到滤波器的第一阶部分时应用一个时间延迟(即在z域中表示为z-1),并且在各个增益级186和188应用滤波器系数a1和b1。在延迟级190处应用第二延迟(即z-1),用于生成滤波器174的第二阶部分,并且在各个增益级192和194处应用滤波器系数a2和b2。各个加法器196、198和200将来自多个增益级的信号相加,并且将滤波后信号提供给输出节点202,从而使得输出信号Y(z)可以从二阶滤波器174的传递函数H(z)中确定,如下等式(1)所示:
可以对包含在传递函数中的每个系数(即b0、a0、b1、a1、b2和a2)分配特定值,以生成期望类型的滤波器。例如,可以分配特定值给各个系数以生成低通滤波器、高通滤波器或带通滤波器等等。因此,通过为每个系数提供适当值,二阶滤波器的类型和特性(例如通带、转降(roll-off)等等)可以配置并且重新配置成具有不同的系数组的另一种类型的滤波器(根据应用)。虽然该实施例描述了二阶滤波器,但是在其他设置中可以实现n阶滤波器。例如,可以实现更高阶(例如三阶、四阶等)滤波器或更低阶(例如一阶)滤波器。另外,对于一些应用来说,可配置的IIR滤波器126的递归数字结构可以级联,以生成n阶滤波器。
回来参考图5,在使用多路复用器130为可配置的IIR滤波器126选择特定输入的同时,选择了该滤波器使用的系数,以实现不同类型的滤波器并且提供特定滤波器特性。例如,可以选择系数以实现用于编码或解码BTSC音频信号的低通滤波器、高通滤波器、带通滤波器或其他相似类型的滤波器。由于反馈通路128所提供的递归处理,不同的系数或系数组可以由多路复用器152和/或多路复用器162进行选择。通过为不同的递归迭代选择不同的系数,可以实现各种滤波器。例如,可以控制多路复用器162选择与二阶滤波器关联的滤波器系数(例如a0、b0、a1、b1等)。然后,为了下一个迭代,多路复用器162可以选择另一滤波器系数。通过提供这些可选择的系数值,可配置的IIR滤波器126可以配置为提供用于编码和解码操作的滤波器。一旦以递归方式完成用于一个应用(例如增益控制带通滤波器60)的滤波,多路复用器130就可以设置在用于提供输入信号给另一应用(例如频谱控制带通滤波器52)的位置。通过选择该输入,可以由多路复用器162和/或多路复用器152选择新的滤波器系数,以便提供执行下一个应用的滤波所需要的特定滤波器类型和滤波器特性。
在图6中显示的示例中,可配置的IIR滤波器126配置为二阶滤波器,但是一些编码和/或解码滤波应用可以要求更高阶的滤波器。为了提供更高阶的滤波器,可以通过反馈通路128来执行附加的递归迭代。通过使用该反馈通路,信号可以使用相同(或不同)的滤波器系数多次通过IIR滤波器。因此,可以采用单个乘法器(即乘法器138)和单个加法器(即加法器136)执行用于各种类型的滤波器以及各种阶的滤波器实现的滤波操作。为了说明由可配置的IIR滤波器126执行的迭代,示出了数字指示符(即1、2、3、4、5)以表示其中执行每个功能的各个时钟周期。在这种附图说明中,以序列:1、2、3、4、5来执行这些功能。因此需要五个时钟周期来计算二阶滤波器的输出。另外,这个执行功能的序列可以以循环的方式重复(例如1、2、3、4、5、1、2、3、4、5等等)。
对于电子和滤波器设计领域的技术人员来说公知的各种技术和元件可以用于实现所述多路复用器(例如多路复用器130、152、162等)。例如多路复用器130可以采用一个或多个多路复用器来实现以便在多个输入中进行选择。除了多路复用器,其他类型的数字选择设备也可以采用以便选择合适的滤波器系数。可以选择各种系数值来配置IIR滤波器,例如IIR滤波器174。例如,在Hanna的美国专利5,796,842中所描述的系数可以由可配置的IIR滤波器126所使用,本专利在此引用作为参考。在一些设置中,滤波器系数存储在与BTSC编码器或解码器关联的存储器(未显示)中,并且由适当的多路复用器在适当的时间取回。例如,这些系数可以存储在与BTSC编码器和解码器关联的存储器芯片(例如随机访问存储器(RAM)、只读存储器(ROM)等)或者其他类型的存储设备(例如硬盘驱动器、CD-ROM等)中。这些系数还可以存储在各种软件结构中,例如查找表或其他类似的结构中。
可配置的IIR滤波器126包括单个加法器136以及单个乘法器138。对于电子电路设计和数字设计领域的技术人员来说公知的各种技术和/或元件可以用于实现包括在可配置的IIR滤波器126中的加法器136和乘法器138。例如,逻辑门诸如一个或多个“与”门,可以实现为每个乘法器。为了引入时间延迟,对于电子电路设计和数字设计领域的技术人员来说公知的各种技术和/或元件可以被采用以产生移位寄存器150(在图5中所示)并且通过将数字化的输入信号值存储并保持适当数量的时钟周期,来提供延迟。
在这个实施例中,可配置的IIR滤波器126利用硬件元件实现,但是在一些设置中,该结构的一个或多个操作部分可以用软件实现。在附件A中列出了用于执行可配置的IIR滤波器126的操作的代码的一个示例性列表。该示例性代码是用Verilog提供的,Verilog一般是在制造之前由电子设计者使用来描述和设计芯片和系统的硬件描述性语言。该代码可以存储在存储设备(例如RAM、ROM、硬盘驱动器、CD-ROM等)并且可以从该存储设备中取回,并且在一个或多个通用目的处理器和/或专用处理器(诸如专用DSP)上执行。
参考图7,提供BTSC压缩器30的框图,其中,图中高亮的部分示出可以由可配置的IIR滤波器126的单个(或多个)实现所执行的功能。具体地,由内插与固定预加重级38执行的滤波可以由可配置的IIR滤波器126所执行。例如,多路复用器130的输入端可以连接到内插与固定加重级38中的适当的滤波器的输入端。相应地,当多路复用器130的该输入被选择时,可以从存储器中取回滤波器系数并用于生成适当的滤波器类型和滤波器特性。相似地,增益控制带通滤波器60可以分配到数字可配置的IIR滤波器126中的多路复用器130的另一输入端,并且频谱控制带通滤波器52可以被分配到多路复用器130的又一输入端。对于这些可选择的输入端的每一个来说,存储了相应的滤波器系数(例如在存储器中)并且可以由可配置的IIR滤波器126的多路复用器152和/或多路复用器162取回所述系数。在这个实施例中,与BTSC压缩器30的这四部分关联的滤波可以由可配置的IIR滤波器126选择性地执行,但是在其他设置中,压缩器的更多或更少的滤波操作可以由可配置的IIR滤波器所执行。另外,可配置的IIR滤波器126还经由乘法器138和输出寄存器170(在图5中所示)提供乘法功能。因此,乘法器54和62的操作都可以由可配置的IIR滤波器126提供。
参考图8,BTSC扩展器86中的高亮部分标识可以由一个或多个可配置的IIR滤波器所执行的滤波操作,所述IIR滤波器可以利用可配置的IIR滤波器126实现。例如,与限带单元102关联的滤波可以由可配置的IIR滤波器126执行。具体地,多路复用器130的一个输入端可以分配给限带单元102,从而使得当选择该输入时,取回适当的滤波系数并且由可配置的IIR滤波器126使用这些系数。相似地,与增益控制带通滤波器104(分配给多路复用器130的另一输入端)、频谱控制带通滤波器112(分配给多路复用器30的另一输入端)以及固定去加重单元124(分配给选择器130的又一个输入端)关联的滤波可以合并到可配置的IIR滤波器126中。另外,由于可配置的IIR滤波器126的乘法功能,可配置的IIR滤波器126可以为一个或多个乘法器106、114和122提供乘法功能。
虽然前面所述的实施例使用可配置的IIR滤波器126用于BTSC编码器和BTSC解码器,遵循电视音频标准的编码器和解码器可以实现可配置IIR滤波器。例如,与在欧洲使用的准瞬时压扩音频复用(NICAM)关联的编码器和/或解码器可以结合一个或多个可配置的IIR滤波器,诸如IIR滤波器126。相似地,实施A2/Zweiton电视音频标准(当前在欧洲和亚洲部分使用的)或日本电子工业联盟(EIA-J)标准的编码器和解码器可以结合一个或多个可配置的IIR滤波器。
虽然前面所述的实施例采用可配置的IIR滤波器126编码和解码从右和左音频声道产生的差值信号,该可配置的IIR滤波器也可以用于编码和解码其他音频信号。例如,可配置IIR滤波器126可以用于编码和/或解码SAP声道、专业声道、和声道或一个或多个其他单个或合并类型的电视音频声道。
已经描述了多个实施例。但是,应该理解可以进行各种修改。因此,其他实现也在后面的权利要求的范围中。
附录A
Appendix A
/*******************************************************
This module is the cascaded direct-form II implementation of
orc or more discrete-time filters.It is actually a single
second-order section that can be′recycled′,
*******************************************************/
//Generated by ParallelSOSFilterGenerator.m on 03-Jun-2004 08:59:29
//
//Delay Register Width=35
//Filter Coefficients are in Q15
//****************************Filter l Sum Interpolation&Preemphasis***************************
//This filter is in Q15 format.(Q15 is required.)
//The′b′coefficients in the last stage are in Q18 format
//
//--------------(192kHz Samplc Rate)--------------
//Max Delay Register Value=127.936------->99.976%headroom
//Max Output Value =23.781------->99.964%headroom
//
//
// b0 b1 b2 a0 a1 a2
//--------------------------------------------------------
//-6.6033712e-012 3.2117006e-002 1.3600689e+000 1.0000000e+000- 1.5758348e+000 6.2789060e-001
//2.0305836e-002 9.3963698e-002 6 5186177e-002 1.0000000e+000- 1.5671917e+000 6.7399133e-001
//1.1605752e-001 2.4121539e-002 3.7646657e-004 1.0000000e+000- 1.5759558e+000 7.6826398e-001
//4.8703374e-001 -4.5435961e-001 0.0000000c+000 1.0000000e+000 -1.6429813e+000 9.1158385e-001
//
//Magnitudes are relative to the system input,not necessarily the filter input.
//Section Del.max Outmax
//---------------
//1 9.9273109932813 134026919779221
//2 127.9360639360639 22.7268252592786
//3 127.9360639360638 17.9496934617571
//4 127.9360639360638 23.7933114009230
//
//****************************Filter 2 Sum Lowpass***************************
//This filter is in Q15 format(Q1 5 is required.)
//The ′b′coefficients in the last stage are in Q17 format
//
//--------------(192kHzSample Rate)--------------
//Max Delay Register Value = 268.666------->99.949%headroom
//Max Output Value =4.086------->99.997%headroom
//
//
// b0 b1 b2 a0 a1 a2
//----------------------------------------------
//8.4345402e-001 3.3105654e-001 8.4345402e-001 1.0000000e+000 -1.5131160e+000 5 8400921e-001
//1.7907148e-001 -2.3574553e-001 1.7907148e-001 1.0000000e+000 -1.5854796e+000 7.0937033e-001
//3.0401514e-001 -4.9151080e-001 3 0401514e-001 1.0000000e+000 -1.6621327e+000 8 4198754e-001
//3.5735700e-001 -6 0794041e-001 3.5735700e-001 1.0000000e+000 -1.7107429e+000 9.2558392e-001
//2.6136244e-001 -4.5235123e-001 2.6136243e-001 1.0000000e+000 -1.7366273e+000 9.6885152e-001
//3.3644153e-001 -5.8564210e-001 3.3644153e-001 1.0000000e+000 -1.7519173e+000 9.9157326e-001
//
//Magnitudes are relative to the system input.not necessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 14.8950457230439 30.0525971031239
//2 268.6657342657337 32.1765299950301
//3 268.6657342657345 26.2168014264289
//4 268.6657342657350 17 3374523088056
//5 268.6657342657346 7.0533046891134
//6 268.6657342657326 4.0876878442666
//
//****************************Filter 3 Diff Interpolation & Preemphasis*****************************
//This filter is in Q15 format(Q15 is required.)
//The ′b′coefficients m the last stage are in Q12 format.
//
//--------------(192kHzSample Rate)--------------
//Max Delay Regist Value=255.872------->99.951%headroom
//Max Output Value = 259.440------->99.994%headdroom
//
//
// b0 b1 b2 a0 a1 a2
//--------------------------------------------------------
//-1.2723363e-010 4.8662511e-002 3.5810704e+000 1.0000000e+000 -9.7203440e-001 1.0899437e-001
//7.2682533e-003 4.9327184e-002 5.0728513e-002 1.0000000e+000 -1.5758348e+000 6.2789060e-001
//1.3165964e-001 5.6960961e-002 3 6425943e.003 1.0000000e+000 -1.5671917e+000 6.7399133e-001
//2.4084812e-001 1.3833431e-003 0.0000000e+000 1.0000000e+000 -1.5759558e+000 7.6826398e-001
//9.4429177e+000 -1.8107524e+001 8.6732681e+000 1.0000000e+000 -1.6429813e+000 9.1158385e-001
//
//Magnitudes are relative to the system input,not nccessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 4.4056120909651 12.2436103717271
//2 255 8721278721281 27.3647542209154
//3 255.8721278721284 49.1968802729879
//4 255.8721278721282 61.9802894946887
//5 255.8721278721280 259.5699347572192
//
//****************************Filter 4 Diff Gain Ctrl Bandpass*****************************
//This filter is in Q17 format(Q17 is required)
//The ′b′coefficients in the last stage are in Q21 format.
//
//--------------(192kHz Sample Rate)--------------
//Max Delay Register Value=13051.645-------->90.042%headroom
//Max Output Value =1.915------->99.907%headdroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//3.3052890e-002 0.0000000e+000 -3.3052890e-002 1.0000000e+000 -1.9327087e+000 9.3278529e-001
//
//Magnitudes are relative to the system input.not necesarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 13051.6450743394910 1.9154790026336
//
//****************************Filter 5 Diff Gain Ctrl Integrator ***************************
//This filter is in Q13 format(Q13 is required.)
//The ′b′coefficients in the last stage are in Q28 format
//
//--------------(192kHzSampleRate)--------------
//Max Delay Register Value=1499902 076------->28.479%headroom
//Max Output Value =225.000------->12.109%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//7.5042399e-005 7.5042399e-005 0.0000000e+000 1.0000000e+000 -9.9984992e-001 0.0000000c+000
//Magnitudes are relative to the system input,not necessarily the filter input
//Section Del.max Outmax
//----- ----- -----
//1 1499902.0762455594000 225.1124999993376
//
//****************************filter 6 Diff spec Ctrl Bandpass***************************
//This filter is in Q17 formaL(Q17 is required.)
//The ′b′coefficients in the last stage are in Q18 format
//
//--------------(192kHzSampleRate)--------------
//Max Detay Register Value =39.333------->99.970%headroom
//Max Output Value =3.683------->99.978%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------
//8.6691012e-001 -1.7351060e+000 8 6819671e-001 1.0000000e+000 -1.7132232e+000 7.6815543e-001
//3.3300661e-001 1.8508507e-004 -3.3343983e-001 1.0000000e+000 -1.2652200e+000 3.3953192e-001
//
//Magnitudes are relative to the system input. not necessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 39.3329526574003 3.7578420694186
//2 14.8039499335385 3.6850497626675
//
//****************************Filter 7 Diff Spec Ctrl Integrator***************************
//This filter is in Q22 format.(Q22 is required)
//The ′b′coefficients in the last stage are in Q27 format.
//
//--------------(192 kHz Sample Rate)--------------
//Max Delay Register Value= 1949.451------->52.406%headroom
//Max Output Value =0.684------->31.633%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//1.7543809e-004 1.7543809e-004 0.0000000e+000 1.0000000e+000 -9.9954323e-001 0.0000000e+000
//
//Magnitudes are relative to the system input.not necessaarily the filter input.
//Section Del.max Outmax
// — — —
//1 1949.4512384999191 0.6840160013750
//
//****************************Filter 8 Diff Spectral Compression***************************
//This filter is in Q15 format.(Q15 is required.)
//The ′b′coefficients in the last stage are m Q11 format.
//
//--------------(192kHz Sample Rate)--------------
//Max Delay Register Value=4819.452------->99.081%headroom
//Max Output Value =4880.066------->99.942%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//3 8625515e+001 -3.8130535e+001 00000000e+000 1.0000000e+000 -9.8671384e-0010 0000000e+000
//
//Magnitudes are relative to the system input,not necessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 4819.4523948899350 4882 5058955489840
//
//**************************** Filter 9 Diff Lowpass***************************
//This filter is in Q15 format.(Q15 is required.)
//The′b′coefficients in the last stage are in Q17 format.
//
//--------------(192kHz Sample Rate)--------------
//Max Delay Register Value=255 872-------->99 951%headroom
//Max Output Value =3.891------->99.997%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//8.4345402e-001 3.3105654e-001 8.4345402e-001 1.0000000e+000 -1.5131160e+000 5.8400921e-001
//1.7907148e-001 -2.3574553e-001 1.7907148e-001 1.0000000e+000 -1.5854796e+000 7.0937033e-001
//3.0401514e-001 -4.9151080e-001 3.0401514e-001 1.0000000e+000 -1.6621327e+000 8.4198754e-001
//3.5735700e-001 -6.0794041e-001 3 5735700e-001 1.0000000e+000.-1.7107429e+000 9 2558392e-001
//2.6136244e-001 -4.5235123e-001 2.6136243e-001 1.0000000e+000 -1.7366273e+000 9.6885152e-001
//3.3644153e-001 -5.8564210e-001 3.3644153e-001 1.0000000e+000 -1.7519173e+000 9.9157326e-001
//
//Magnitudes are relative to the system input, not necessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 14.1857578314703 28.6215210505942
//2 255.8721278721279 30.6443142809810
//3 255.8721278721285 24.9683823108847
//4 255.8721278721286 16.5118593417196
//5 255.8721278721287 6.7174330372509
//6 255.8721278721255 3.8930360421587
//
//****************************Filter 10 SAP Interpolation & Precmphasis***************************
//This filter is in Q15 format.(Q15is required.)
//The′b′coefficients in the last stage are in Q12 format.
//
//---------------(192 kHz Sample Rate)--------------
//Max Delay Register Value = 127.936-------->99.976%headroom
//Max Output Value =79.936------->99.998%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//-1.8231226e-009 2.1884032e-002 1.7219441e+000 1 0000000e+000 -9.7203440e-001 1.0899437e-001
// 3.1584799e-003 2 2857938e-002 2.4903862e-002 1.0000000e+000 -1.7083043e+000 7.3325661e-001
// 6 0720051e-002 2.7399739e-002 1.8184569e-003 1.0000000e+000 -1.7179059e+000 7.6872240e-001
// 9.5595731e-002 5.6899673e-004 0.0000000e+000 1.0000000e+000 -1.7487378e+000 8.3882941e-001
// 1.0900737e+001 -2.0903005e+001 1.0012267e+001 1.0000000e+000 -1.8173075e+000 9.4015130e-001
//
//Magnitudes are relative to the system input.not necessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 22028060429820 2.9414855734591
//2 127.9360639360640 6.5017997596439
//3 127.9360639360640 11 5065707750231
//4 127.9360639360641 12.3029392557771
//5 127.9360639360646 79.9758599046644
//
//****************************Filter 11 SAP Gain Ctrl Bandpass***************************
//This filter is in Q17 format(Q17 is required.)
//The ′b′coefficients in the last stage are in Q21 format.
//
//--------------(192kHz Sample Rate)------------------
//Max Delay Register Value=13051.591------->90.042%headroom
//Max Output Value =1.984------->99.903%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//3.3052890e-002 0.0000000e+000 -33052890e-002 1.0000000e+000 -1.9327087e+000 9.3278529e-001
//
//Magnitudes are relative to the system input.not necessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 13051.5913591675250 1.9854692831948
//
//****************************Filter 12 SAP Gain Ctrl Integrator***************************
//This filter is in Q13 format(Q13 is required.)
//The ′b′coefficients in the last stage are in Q28 format.
//
//--------------(192kHz Sample Rate)--------------
//Max Delay Register Value=1499902076------->28 479%headroom
//Max Output Value =225.000------->12.109%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//7-5042399e-005 7.5042399e-005 0.0000000e+000 1.0000000e+000 -9.9984992e-001 00000000e+000
//
//Magnitudes are relative to the system input.not necessarily the filter input
//Section Del.max Outmax
//----- ----- -----
//1 1499902.0762455594000 225.1124999993376
//
//****************************Filter 13 SAP Spec Ctrl Bandpass***************************
//This filter is in Q17 format.(Q17 is required.)
//The′b′coefficients in the last stage are in Q18 format.
//
//--------------(192kHz Sample Rale)--------------
//Max Delay Register Value = 60.285------->99.954%headroom
//Max Output Value = 3 340------->99.980%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//8-6691012e-001 -1.7351060e+000 8.6819671e-001 1.0000000e+000 -1.7132232e+000 7.6815543e-001
//3.3300661e-001 1.8508507e-004 -3.3343983e-001 1.0000000e+000 -1.2652200e+000 3.3953192e-001
//
//Magnitudes are relative to the system input,not necessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 60.2854167958472 3.3663545412242
//2 18.1337922344007 3.3413388460805
//
//****************************Filter 14 SAP Spec Ctrl Integrator***************************
//This filter is in Q22 format.(Q22 is required.)
//The ′b′coefficients in the last stage are in Q27 format.
//
//--------------(192kHzSampleRate)--------------
//Max Delay Register Value = 1949.451------->52.406%headroom
//Max Output Value =0.684------->31.633%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//17543809e-004 1.7543809e-004 0.0000000e+000 1.0000000e+000-9.9954323e-001 0.0000000e+000
//
//Magnitudes are relative to the system input.not necessarily the filter input.
//Section Del.max Outmax
///----- ----- -----
//1 1949.4512384999191 0.6840160013750
//
//****************************Filter 15 SAP Spectral Compression***************************
//This filter is in Q15 format.(Q15 is required.)
//The′b′coefficients in the last stage are in Q11 format.
//
//--------------(192kHz Sample Rate)--------------
//Max Delay Register Value=4819.452--------->99.081%headroom
//Max Output Value =4880.066------->99.942%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//3.8625515e+001 -3.8130535e+001 0.0000000e+000 1.0000000e+000 -9.8671384e-001 0.0000000e+000
//
//Magnitudes are relative to the system input,not necessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 4819.4523948899350 4882.5058955489840
//
//****************************Filter 16 SAP Lowpass***************************
//This filter is in Q 15 format.(Q15 is required.)
//The′b′coefficients in the last stage are in Q15 format.
//
//--------------(192kHz Sample Rate)--------------
//Max Delay Register Value=127.936------->99.976%headroom
//Max Output Value =3.873------->99.999%headroom
//
//
// b0 b1 b2 a0 a1 a2
//-----------------------------------------------
//1.4236972e-001 -6.1114088e-002 1.4236972e 001 1.0000000e+000 -1.6681586e+000 7.0166935e-001
//1.7291208e-001 -2.8898617e-001 1.7291208e-001 1.0000000e+000 -1.7369812e+000 7.9467313e-001
//3.0167936e-001 -5 5024915e-001 3.0167936e-001 1.0000000e+000 -1.8076638e+000 8.9011358e-001
//3.5737308e-001 -6.6631149e-001 3.5737309e-001 1.0000000e+000 -1.8511403e+000 9.4867213e-001
//2.6223393e-001 -4.9257885e.001 2.6223391e-001 1.0000000e+000 -1.8738553e+000 9.7876206e-001
//1.4418675e+000 -2.7151244e+000 1.4418675e+000 1.0000000e+000 -1.8862768e+000 9.9419075e-001
//
//Magnitudes are relative to the system input,not necessarily the filter input.
//Section Del.max Outmax
//----- ----- -----
//1 30 0017134252655 6.7084273462983
//2 127.9360639360641 7.1340558588011
//3 127.9360639360641 5.7714816868819
//4 127.9360639360642 3.8011918024620
//5 127.9360639360640 1.5533507892725
//6 127.9360639360671 3 8749910462902
//
module SOS I VCom(i1Clk.
i1Start.
i1DRegClear,
i17DataInt,
or21DataOut1,
i17DataIn2,
or19DataOut2,
i17DataIn3,
or25DataOut3,
i20DataIn4,
or19DataOut4,
i22DataIn5,
or22DataOut5,
i20DataIn6,
or20DataOut6,
i23DataIn7,
or23DataOut7,
i22DataIn8,
or29DataOut8,
i18B0_08,
i18B1_08,
i18A1_08,
i16DataIn9,
or18DataOut9,
i16DataIn10,
or23DataOut10,
i20DataIn11,
or19DataOut11,
i22DataIn12,
or22DataOut12,
i20DataIn13,
or20DataOut13,
i23DataIn14,
or23DataOut14,
i22DataIn15,
or29DataOut15,
i18B0_15,
i18B1_15,
i18A1_15,
i16DataIn16,
or18DataOut16);
input i1Clk;
input i1Start;
input i1DRegClear;
input[16:0] i17DataIn1;
output[20:0]or21DataOut1;
input[16:0]i17DataIn2;
output[18:0]or19DataOut2;
input[16:0]i17DataIn3;
output[24:0]or25DataOut3;
input[19:0]i20DataIn4;
output[18:0]or19DataOut4;
input[21:0]i22DataIn5;
output[21:0]or22DataOut5;
input[19:0]i20DataIN6;
output[19:0]or20DataOut6;
input[22:0]i23DataIn7;
output[22:0]or23DataOut7;
input[21:0]i22DataIn8;
output[28:0]or29DataOut8;
input[17:0]i18B0_08;
input[17:0]i18B1_08;
input[17:0]i18A1_08;
input[15:0]i16DataIn9;
output[17:0]or18DataOut9;
input[15:0]i16DataIn10;
output[22:0]or23DataOut10;
input[19:0]i20DataIn11;
output[18:0]or19DataOut11;
input[21:0]i22DataIn12;
output[21:0]or22DataOut12;
input[19:0]i20DataIn13;
output[19:0]or20DataOut13;
input[22:0]i23DataIn14;
output[22:0]or23DataOut14;
input[21:0]i22DataIn15;
output[28:0]or29DataOut15;
input[17:0]i18B0_15;
input[17:0]i18B1_15;
input[17:0]i18A1_15;
input[15:0]i16DataIn16;
output[17:0]or18DataOut16;
reg signed [20:0]or21DataOut1;
reg signed [18:0]or19DataOut2;
reg signed [24:0]or25DataOut3;
reg signed[18:0]or19DataOut4;
reg signed[21:0]or22DataOut5;
reg signed[19.0]or20DataOut6;
reg signed[22:0]or23DataOut7;
reg signed[28:0]or29DataOut8;
reg signed[17:0]or18DataOut9;
reg signed[22:0]or23DataOut10;
reg signed[18:0]or19DataOut11;
reg signed[21:0]or22DataOut12;
reg signed[19:0]or20DataOut13;
reg signed[22:0]or23DataOut14;
reg signed[28:0]or29DataOut15;
reg signed[17:0]or18DataOut16;
reg signed[37:0]r38InputReg;
reg signed[49:0]r50Addend1;
reg signed[49.0]r50Addend2;
wire signed[49:0]w50Sum;
reg signed[49:0]r50Sum,
reg signed[34:0]r35MultInput1;
reg signed[17:0]r18MultInput2;
wire signed[49:0]w50Product;
reg signed [49:0]r50Product;
reg signed [49:0]r50ProductReg;
reg r1ShiftRegEnable;
reg [34:0]r35ShiftRegInput;
wire signcd[34:0]w35D1;
reg signed[34:0]r35D2;
reg [86:0]r87DelayShiftReg34;
reg [86:0]rg7DelayShiftReg33;
reg [86:0]r87DelayShiftReg32;
reg [86:0]r87DelayShiftReg31;
reg [86:0]r87DelayShiftReg30;
reg [86:0]r87DelayShiftReg29,
reg [86:0]r87DelayShiftReg28;
reg [86:0]r87DelayShiftReg27;
reg [86:0]r87DelayShiftReg26;
reg [86:0]r87DelayShiftReg25;
reg [86:0]r87DelayShiftReg24;
reg [86:0]r87DelayShiftReg23;
reg [86:0]r87DelayShiftReg22;
reg [86:0]rg7DelayShiftReg21;
reg [86:0]r87DelayShiftReg20;
reg [86:0]r87DelayShiftReg19;
reg [86:0]r87DelayShiftReg18;
reg [86:0]r87DatayShiftReg17;
reg [86:0]r87DelayShiftReg16;
reg [86:0]r87DelayShiftReg15;
reg [86:0]r87DelayShiftReg14;
reg [86:0]r87DelayShiftReg13;
reg [86:0]rg7DelayShiftReg12;
reg [86:0]r87DelayShiftReg11;
reg [86:0]r87DelayShiftReg10;
reg [86:0]r87DelayShiftReg09;
reg [86:0]rg7DelayShiftReg08;
reg [86:0]r87DelayShiftReg07;
reg [86:0]r87DelayShiftReg06;
reg [86:0]r87DelayShiftReg05;
reg [86:0]r87DelayShiftReg04;
reg [86:0]rg7DelayShiftReg03;
reg [86:0]r87DelayShiftReg02;
reg [86:0]r87DelayShiftReg01;
reg [86:0]r87DelayShiftReg00;
wire w1CoefficientClkEnable;
reg r1CoefficientClkEnable;
wire signed[17:0]w18Coefficient;
reg [3:0]r4SectionState;
reg [5:0]r6SectionNumber;
parameter
FILTER01_LAST_SECTION=6′d3,
FILTER02_LAST_SECTION=6′d9,
FILRER03_LAST_SECTION=6′d14,
FILTER04_LAST_SECTION=6′d15,
FILTER05_LAST_SECTION=6′d16,
F1LTER06_LAST_SECTION=6′d18,
FILTER07_LAST_SECTION=6′d19,
FILTER08_LAST_SECTION=6′d20,
FILTER09_LAST_SECTION=6′d26,
FILTER10_LAST_SECTION=6′d31,
FILTER11_LAST_SECTiON=6′d32,
FILTER12_LAST_SECTION=6′d33,
FILTER13_LAST_SECTION=6′d35,
FILTER14_LAST_SECTION=6′d36,
FILTER15_LAST_SECTION=6′d37,
FILTER16_LAST_SECTION= 6′d43,
LAST_SECTION=FILTER16_LAST_SECTION;
//State Machine States
parameter
IDLE= 4′d0,
WATT1=4′d6,
STATE1A=4′d7,
STATE1=4′d1,
STATE2=4′d2,
STATE3=4′d3,
STATE4=4′d4,
STATE5=4′d5,
LAST =4′d8;
//synthesis transtate_off
initial
begin
r4SectionState=IDLE;
end
//synthesis translate_on
assign w1 Coefficient ClkEnable=r1CoefficientClkEnablelilStart;
CoefSelectSOSlVCom
Coefselect1 (jiClk (i1Clk),
.i1ClkEnable (w1 CoefficientClkEnable),
.i18B0_08 (i18B0_08),
.i18B1_08 (i18B1_08),
.i18A1_08 (i18A1_08),
.i18B0_15 (i18B0_15),
.i18B1_15 (i18B1_15),
.i18A1_15 (i18A1_15),
.or18Data(w18Coefficient));
MultSOSl VCom
Multiplierl(.i35MultInputl (r35MultInput1),
.i18MultInput2 (r18MultInput2),
.ow50Product (w50Product));
AdderSOS I VCom
Adder1 (.i50Addend1 (r50Addend1),
.i50Addend2 (r50Addend2),
.ow50Sum (w50Sum));
assign w35D1={r87DelayShiftReg34[0],
r87DelayShiftReg33[0],
r87DelayShiftReg32[0],
r87DelayShiftReg31[0],
r87DelayShiftReg30[0],
r87DelayShiftReg29[0],
r87DelayShiftReg28[0],
r87DeIayShiftReg27[0],
r87DelayShiftReg26[0],
r87DelayShiftReg25[0],
r87DelayShiftReg24[0],
r87DelayShiftReg23[0],
r87DelayShiftReg22[0],
r87DelayShiftReg21[0],
r87DelayShiftReg20[0],
r87DelayShiftReg19[0],
r87DelayShiftReg18[0],
r87DelayShiftReg17[0],
r87DelayShiftReg16[0],
r87DelayShiftReg15[0],
r87DelayShiftReg14[0],
r87DelayShiftReg13[0],
r87DelayShiftReg12[0],
r87DelayShiftReg11[0],
r87DelayShiftReg10[0],
r87DelayShiftReg09[0],
r87DelayShiftReg08[0],
r87DelayShiftReg07[0],
r87DelayShiftReg06[0],
r87DelayShiftReg05[0],
r87DelayShiftReg04[0],
r87DelayShiftReg03[0],
r87DelayShiftReg02[0],
r87DelayShiftReg01[0],
r87DelayShiftReg00[0]};
always@(r4Section State or il DRcgClearor w35D1 or w50Sum)
begin
if(i1DRegClear)begin
r1ShiftRegEnable<=1′b1;
r35ShiftRegInput<=35′b0;
end else begin
case(r4SectionState)
IDLE:
begin
r1ShiftRegEnable<= 1′b0;
r35ShiftRegInput<=35′bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
end
STATEIA,STATE1:
begin
r1ShiftRegEnable<= 1′b1;
r35ShiftRegInput<=w50Sum[49:15];
end
STATE5:
begin
r1 ShiftRegEnable<= 1′b1;
r35ShiftRegInput<=w35D1;
end
default:
begin
r1ShiftRegEnable<=1′b0;
r35ShiftRegInput<= 35′bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
end
endcase
end
end
always@(r4Section State or r50Sum or r381nputRcgor r50Product or r50ProductReg)
case(r4SectionState)
STATEI A,STATE1:begin
r50Addend1 <=r50Sum;
r50Addcnd2 <={{12{r38InputReg[37]}},r38InputReg};
end
STATE2:begin
r50Addend1<=r50ProductReg;
r50Addend2<=r50Product;
end
STATE3:begin
r50Addcnd1<=r50Surn;
r50Addend2<= r50Product;
end
STATE5:begin
r50Addend1<=r50ProductReg;
r50Addend2<=r50Product;
end
default:begin
r50Addend1<=50′bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
r50Addend2<=50′bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
end
endcase
always@(oosedge ilClk)
begin
r50Product <=w50Product;
r18MultInput2<=w18Coefficient;
i1(rlShiftRegEnable)begin
r87DelayShiftReg34<={r35ShiftRegInput[34],r87DelayShiftReg34{86:1]};
r87DelayShiftReg33<={r35ShiftRegInput[33],r87DelayShiftReg33[86:1]};
r87DelayShiftReg32<={r35ShiftRegInput[32],r87DelayShiftReg32[86:1]};
r87DelayShiftReg31<={r35ShiftRegInput[31],r87DelayShiftReg31[86:1]};
r87DelayShiftReg30<={r35ShiftRegInput[30],r87De1ayShiftReg30[86:1]};
r87DelayShiftReg29<={r35ShiftRegInput[29],r87DelayShiftReg29[86:1]};
r87DelayShifiReg28<={r35ShiftRegInput[28],r87DelayShiftReg28[86:1]};
r87DelayShiftReg27<={r35ShiftRegInput[27],rg7DelayShiftReg27[86:1]};
r87DelayShiftReg26<={r35ShiftRegInput[26],r87DelayShiftReg26[86:1]};
r87DelayShiftReg25<={r35ShiftRegInput[25],r87DelayShiftReg25[86:1]};
r87DelayShiftReg24<={r35ShiftRegInput[24],r87DelayShiftReg24[86:1]};
r87DelayShiftReg23<={r35ShiftRegInput[23],r87DelayShiftReg23[86:1]};
r87DelayShiftReg22<={r35ShiftRegInput[22],r87DelayShiftReg22[86:1]};
r87DelayShiftReg21<={r35ShiftRegInput[21],r87DelayShiftReg21f86:1]};
r87DelayShiftReg20<={r35ShiftRegInput[20],r87DelayShiftReg20[86:1]};
r87DelayShiftReg19<={r35ShiftRegInput[19],r87DelayShiftReg19[86:1]};
r87DelayShiftReg18<={r35ShiftRegInput[18],r87DelayShiftReg18[86:1]};
r87DelayShiftReg17<={r35ShiftRegInput[17},r87DelayShiftReg17[86:1]};
r87DelayShiftReg16<={r35ShiftRegInput[16],r87DelayShiftReg16[86:1]},
r87DelayShiftReg15<=[r35ShiftRegInput[15],r87DelayShiftReg15[86:1]};
r87DelayShiftReg14<={r35ShiftRegInput[14],r87DelayShiftReg14[86:1]};
r87DelayShiftReg13<={r35ShiftRegInput[13],r87DelayShiftReg13[86:1]};
r87DelayShiftReg12<={r35ShifftReInput[12],r87DelayShiftReg12[86:1]};
r87DelayShiftReg11<={r35ShiftRegInput[11],r87DelayShiftReg11[86:1]};
r87DelayShiftReg10<={r35ShiftRegInput[10],r87DelayShiftReg10[86:1]};
r87DelayShiftReg09<={r35ShiftRegInput[9], r87DelayShiftReg09[86:1]};
r87DelayShiftReg08<={r35ShiftRegInput[8], r87DelayShiftReg08[86:1]};
r87DelayShiftReg07<={r35ShiftRegInput[7], r87DelayShiftReg07[86:1]};
r87DelayShiftReg06<={r35ShiftRegInput[6], r87DelayShiftReg06[86:1]};
r87DelayShiftReg05<={r35ShiftRegInput[5], r87DelayShiftReg05[86:1]};
r87DelayShiftReg04<={r35ShiftRegInput[4], r87DelayShiftReg04[g6:1]};
r87DelayShiftReg03<={r35ShiftRegInput[3], r87DelayShiftReg03[86:1]};
r87DelayShiftReg02<={r35ShiftRegInput[2], r87DelayShiftReg02[86:1]};
r87DelayShiftReg01<={r35ShiftRegInput[1], r87DelayShiftReg01[86:1]};
r87DelayShiftReg00<={r35ShiftRegInput[0], r87DelayShiftReg00[86:1]};
end
if(il DRegClear)begin
r4SectionState <= IDLE;
r1CoefficientClkEnable<=1′b0;
r35D2<=35′d0;
r50ProductReg<= 50′d0;
r50Sum<=50′d0;
or21DataOut1<=21′d0;
or19DataOut2<=19′d0;
or25DataOut3<=25′d0;
or19DataOut4<=19′d0;
or22DataOut5<=22′d0;
or20DataOut6<=20′d0;
or23DataOut7<=23′d0;
or29DataOut8<=29′d0;
or18DataOut9<= 18′d0;
or23DataOut10<=23′d0;
or19DataOut11<=09′d0;
or22DataOut12<=22′d0;
or20DataOut13<=20′d0;
or23DataOut14<=23′d0;
or29DataOut15<=29′d0;
or18DataOut16<=18′d0;
end else begin
case(r4SectionState)
IDLE:
begin
if(ilStart)begin
r4SectionState<=WAIT1;
r1CoefficientClkEnable<=1′b1;
r6SectionNumber<=6′d0;
r38InputReg<= {{6{i17DataIn1[16]}},i17DataIn1,15′b0};
end
end
WAIT1:
begin
r4SectionState<=STATE1A;
r35Multlnput1<= r35D2;
end
STATE1A:
begin
r4SectionState<=STATE2;
r35D2<=w35D1;
r35MultInputl<=w50Sum[49:15];
r50Sum <=w50Sum;
end
STATE1:
begin
r4SectionState<=STATE2;
r35D2 <=w35D1;
r35MultInput1<=w50Sum[49:15]:
r50Sum <=w50Sum;
r50ProductReg<=r50Product;
end
STATE2:
begin
r4SectionState <=STATE3;
r35MultInput1 <= w35D1;
r50Sum<=w50Sum;
end
STATE3:
begin
r4SectionState<=STATE4;
r35MultInput1<= r35D2;
r50Sum<=w50Sum;
end
STATE4:
begin
r4SectionState<= STATE5;
case(r6SectionNumber)
FILTER01_LAST_SECTION:or21DataOut1<=r50Sum[38:18];
FILTER02_LAST_SECTION:or19DataOut2<=r50Sum[35:17];
FILTER03_LAST_SECT1ON:or25DataOut3<=r50Sum[36:12];
FILTER04_LAST_SECTION:or19DataOt14<=r50Sum[39:21];
FILTER05_LAST_SECTION:or22DataOut5<=r50Sum[49 28];
FILTER06_LAST_SECTION:or20DataOut6<=r50Sum[37:18];
FILTER07_LAST_SECTION:or23DataOut7<=r50Sum[49:27];
FILTER08_LAST SECTION:or29DataOut8<=r50Sum[39:11];
FILTER09_LAST SECTION:or18DataOut9<=r50Sum[34:17];
FILTER10_LAST SECTION:or23DataOut10<=r50Sum[34:12];
FILTER11_LAST_SECTION:or19DataOut11<=r50Sum[39:21];
FILTER12_LAST_SECTION:or22DataOut12<=r50Sum[49:28];
FILTER13_LAST SECTION:or20DataOut13<=r50Sum[37:18];
FILTER14_LAST_SECTION:or23DataOut14<=r50Sum[49:27];
FILTER15_LAST_SECTION:or29DataOut15<=r50Sum[39:11];
FILTER16_LAST_SECTION:or18DataOut16<=r50Sum[32:15];
endcase
r38InputReg<=r50Surm[37:0];
r50ProductReg<=r50Product;
r35MultInput1<=w35D1;
end
STATE5:
begin
r6SectionNumber<=r6SectionNumber+1;
if(r6SectionNumber=LAST_SECTION)
begin
r4SectionState<=LAST:
r1CoefficientClkEnable<=1′b0;
end
else begin
r4SectionState<=STATE1;
r35MultInput1<=r35D2;
end
case(r6SectionNumber)
FILTER01_LAST_SECTION:r38InputReg<={{6{i17DataIn2[161}},i17DataIn2,15′b0};
FILTER02_LAST_SECTION:r38InputReg<={{6{i17DataIn3[16]}},i17DataIn3,15′b0},
FILTER03_LAST_SECTION:r38InputReg<={{3{i20DataIn4[19]}},i20DataIn4,15′b0};
FILTER04_LAST_SECTION:r38InputReg<={i22DataIn5[21],i22DataIn5,15′b0};
FILTER05_LAST_SECTION:r38InputReg<={{3{i20DataIn6[19]}},i20DataIn6,15′b0};
FILTER06_LAST_SECTION:r38InputReg<={i23DataIn7,15′b0};
FILTER07_LAST_SECTION:r38InputReg<={i22DataIn8[21],i22DataIn8,15′b0};
FILTER08_LAST_SECTION:r38InputReg<={{7{i16DataIn9[15]}},i16DataIn9,15′b0};
FILTER09_LAST_SECTION:r38InputReg<={{7{i16DataIn10[15]}},i16DataIn10,15′b0};
FILTER10_LAST_SECTION:r38InputReg<={{3{i20Datatn11[19]}},i20Datata11,15′b0};
FILTER11_LAST_SECTION:r38InputReg<={i22DataIn12[21],i22DataIn12,15′b0 };
FILTER12_LAST_SECTION:r38InputReg<={{3{i20DataIn13[19]}},i20DataIn13,15′b0};
FILTER13_LAST_SECTION:r38InputReg<={i23DataIn14,15′b0};
FILTER14_LAST_SECTION:r38InputReg<={i22DataIn15[21],i22DataIn15,15′b0};
FILTER15_LAST_SECTION:r38InputReg<={{7{i16DataIn16[15]}},i16DataIn16,15′b0};
endcase
r50Sum <=w50Sum;
end
LAST:
begin
r4SectionState<=IDLE;
r50ProductReg<=r50Product;
end
default:
begin
r4SectionState<=IDLE;
end
endcase
end
end
endmodule
Claims (28)
1、一种电视音频信号编码器,包括:
设备,配置为将左声道音频信号和右声道音频信号相加,以生成和信号,并且将所述左和右音频信号中的一个信号从所述左和右信号中的另一个信号中减去,以生成差值信号;以及
可配置的无限脉冲响应数字滤波器,配置为选择性地使用至少一组滤波器系数来对所述差值信号进行滤波,其中,该组滤波器系数以递归方式由单个乘法器应用到所述差值信号,以便准备所述差值信号用于发送。
2、如权利要求1所述的电视音频信号编码器,其中,所述可配置的无限脉冲响应数字滤波器包括反馈通路,用于将该组滤波器系数以递归方式应用到所述差值信号。
3、如权利要求2所述的电视音频信号编码器,其中,所述反馈通路包括移位寄存器,用于延迟与所述差值信号关联的数字信号。
4、如权利要求1所述的电视音频信号编码器,其中,所述可配置的无限脉冲响应数字滤波器配置为对与所述差值信号关联的信号做乘法,并且提供该乘法的输出。
5、如权利要求1所述的电视音频信号编码器,其中,所述可配置的无限脉冲响应数字滤波器包括选择器,配置为选择数字输入信号。
6、如权利要求1所述的电视音频信号编码器,其中,所述可配置的无限脉冲响应数字滤波器包括选择器,配置为选择所述滤波器系数中的一个。
7、如权利要求5所述的电视音频信号编码器,其中,所述选择器包括多路复用器。
8、如权利要求1所述的电视音频信号编码器,其中,所述可配置的无限脉冲响应数字滤波器配置为提供低通滤波器。
9、如权利要求1所述的电视音频信号编码器,其中,所述可配置的无限脉冲响应数字滤波器包括单个加法器,用于以递归方式将所述滤波器系数应用到所述差值信号。
10、如权利要求1所述的电视音频信号编码器,其中,所述电视音频信号遵循广播电视系统委员会(BTSC)标准。
11、如权利要求1所述的电视音频信号编码器,其中,所述电视音频信号遵循准瞬时压扩音频复用(NICAM)标准。
12、如权利要求1所述的电视音频信号编码器,其中,所述电视音频信号遵循A2/Zweiton标准。
13、如权利要求1所述的电视音频信号编码器,其中,所述电视音频信号遵循EIA-J标准。
14、如权利要求1所述的电视音频信号编码器,其中,所述可配置的无限脉冲响应数字滤波器在集成电路中实现。
15、一种电视音频信号解码器,包括:
可配置的无限脉冲响应信号滤波器,配置为选择性地使用至少一组滤波器参数来对差值信号进行滤波,其中,所述差值信号是通过将左声道和右声道音频信号中的一个信号从所述左声道和右声道音频信号中另一个信号中减去而得到的,其中,该组滤波器系数以递归方式由单个乘法器应用到所述差值信号,以便准备所述差值信号用于分离所述左声道和右声道音频信号;以及
设备,配置为从所述差值信号以及和信号中分离所述左声道和右声道音频信号,其中,所述和信号包括所述左声道音频信号和右声道音频信号之和。
16、如权利要求15所述的电视音频信号解码器,其中,所述可配置的无限脉冲响应数字滤波器包括反馈通路,用于以递归方式将该组滤波器系数应用到所述差值信号。
17、如权利要求16所述的电视音频信号解码器,其中,所述反馈通路包括移位寄存器,用于延迟与所述差值信号关联的数字信号。
18、如权利要求15所述的电视音频信号解码器,其中,所述可配置的无限脉冲响应数字滤波器配置为对与所述差值信号关联的信号做乘法,并且提供该乘法的输出。
19、如权利要求15所述的电视音频信号解码器,其中,所述可配置的无限脉冲响应数字滤波器包括选择器,配置为选择数字输入信号。
20、如权利要求15所述的电视音频信号解码器,其中,所述可配置的无限脉冲响应数字滤波器包括选择器,配置为选择所述滤波器系数中的一个。
21、如权利要求19所述的电视音频信号解码器,其中,所述选择器包括多路复用器。
22、如权利要求15所述的电视音频信号解码器,其中,所述可配置的无限脉冲响应数字滤波器配置为提供低通滤波器。
23、如权利要求15所述的电视音频信号解码器,其中,所述可配置的无限脉冲响应数字滤波器包括单个加法器,用于以递归方式将所述滤波器系数应用到所述差值信号。
24、如权利要求15所述的电视音频信号解码器,其中,所述电视音频信号遵循广播电视系统委员会(BTSC)标准。
25、如权利要求15所述的电视音频信号解码器,其中,所述电视音频信号遵循准瞬时压扩音频复用(NICAM)标准。
26、如权利要求15所述的电视音频信号解码器,其中,所述电视音频信号遵循A2/Zweiton标准。
27、如权利要求15所述的电视音频信号解码器,其中,所述电视音频信号遵循EIA-J标准。
28、如权利要求15所述的电视音频信号编码器,其中,所述可配置的无限脉冲响应数字滤波器在集成电路中实现。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60216904P | 2004-08-17 | 2004-08-17 | |
US60/602,169 | 2004-08-17 | ||
PCT/US2005/029108 WO2006023490A2 (en) | 2004-08-17 | 2005-08-16 | Configurable recursive digital filter for processing television audio signals |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101088237A true CN101088237A (zh) | 2007-12-12 |
CN101088237B CN101088237B (zh) | 2013-02-06 |
Family
ID=35968107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800345985A Active CN101088237B (zh) | 2004-08-17 | 2005-08-16 | 用于处理电视音频信号的可配置的递归数字滤波器 |
Country Status (10)
Country | Link |
---|---|
US (2) | US7822210B2 (zh) |
EP (1) | EP1787409A4 (zh) |
JP (1) | JP4970259B2 (zh) |
KR (1) | KR101335359B1 (zh) |
CN (1) | CN101088237B (zh) |
CA (1) | CA2577395C (zh) |
MX (1) | MX2007001950A (zh) |
SG (1) | SG155221A1 (zh) |
TW (1) | TWI433555B (zh) |
WO (1) | WO2006023490A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113661655A (zh) * | 2019-04-30 | 2021-11-16 | 谷歌有限责任公司 | 多通道、多速率、点阵波滤波器系统和方法 |
CN116860124A (zh) * | 2023-09-04 | 2023-10-10 | 深圳市坤巨实业有限公司 | 一种触摸屏的噪声控制方法及系统 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8111791B2 (en) * | 2005-12-20 | 2012-02-07 | Sirf Technology, Inc. | Differential evolution design of polyphase IIR decimation filters |
JP5059508B2 (ja) * | 2007-07-26 | 2012-10-24 | ルネサスエレクトロニクス株式会社 | マイクロプロセッサ |
US8073151B2 (en) * | 2009-04-28 | 2011-12-06 | Bose Corporation | Dynamically configurable ANR filter block topology |
US8184822B2 (en) * | 2009-04-28 | 2012-05-22 | Bose Corporation | ANR signal processing topology |
US8090114B2 (en) * | 2009-04-28 | 2012-01-03 | Bose Corporation | Convertible filter |
US8165313B2 (en) * | 2009-04-28 | 2012-04-24 | Bose Corporation | ANR settings triple-buffering |
US8073150B2 (en) * | 2009-04-28 | 2011-12-06 | Bose Corporation | Dynamically configurable ANR signal processing topology |
US9131313B1 (en) * | 2012-02-07 | 2015-09-08 | Star Co. | System and method for audio reproduction |
KR101920719B1 (ko) | 2012-11-19 | 2019-02-13 | 삼성전자주식회사 | 논리 장치, 논리 장치를 포함하는 디지털 필터 및 논리 장치를 제어하는 방법 |
WO2016081192A1 (en) | 2014-11-20 | 2016-05-26 | Rambus Inc. | Memory systems and methods for improved power management |
CN110139193B (zh) * | 2018-02-02 | 2021-10-08 | 深圳市三诺数字科技有限公司 | 音箱系统及空间声的生成方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6394715A (ja) * | 1986-10-01 | 1988-04-25 | テキサス インスツルメンツ インコーポレイテッド | 論理出力マクロセル |
US4983959A (en) | 1986-10-01 | 1991-01-08 | Texas Instruments Incorporated | Logic output macrocell |
US4747140A (en) * | 1986-12-24 | 1988-05-24 | Rca Corporation | Low distortion filters for separating frequency or phase modulated signals from composite signals |
EP0385974B1 (de) | 1987-11-06 | 1993-03-17 | Deutsche ITT Industries GmbH | Tonkanalschaltung für digitale fernsehempfänger |
US5377272A (en) | 1992-08-28 | 1994-12-27 | Thomson Consumer Electronics, Inc. | Switched signal processing circuit |
JPH0793550B2 (ja) * | 1993-05-27 | 1995-10-09 | カシオ計算機株式会社 | デジタルフィルタ |
US5796842A (en) * | 1996-06-07 | 1998-08-18 | That Corporation | BTSC encoder |
US5886735A (en) * | 1997-01-14 | 1999-03-23 | Bullister; Edward T | Video telephone headset |
US6037993A (en) * | 1997-03-17 | 2000-03-14 | Antec Corporation | Digital BTSC compander system |
JPH114461A (ja) * | 1997-06-11 | 1999-01-06 | Fujitsu General Ltd | 赤外線画像伝送システム |
US6259482B1 (en) * | 1998-03-11 | 2001-07-10 | Matthew F. Easley | Digital BTSC compander system |
JP2000138547A (ja) * | 1998-11-02 | 2000-05-16 | Matsushita Electric Ind Co Ltd | 機能可変型音声調整装置および機能可変音声調整手順を記録した記録媒体 |
US6588867B1 (en) * | 1999-02-18 | 2003-07-08 | Arris International, Inc. | Reciprocal index lookup for BTSC compatible coefficients |
US20030054774A1 (en) | 2001-03-22 | 2003-03-20 | Quicksilver Technology, Inc. | Method and system for managing hardware resources to implement system acquisition using an adaptive computing architecture |
EP1296455A1 (en) * | 2001-09-25 | 2003-03-26 | Sony International (Europe) GmbH | Memory-efficient realization of a digital filter |
US7079657B2 (en) * | 2002-02-26 | 2006-07-18 | Broadcom Corporation | System and method of performing digital multi-channel audio signal decoding |
MXPA05005353A (es) * | 2002-11-19 | 2005-10-05 | Cable Electronics Inc | Metodo y sistema para decodificar digitalmente una senal mts. |
US7532728B2 (en) * | 2003-08-14 | 2009-05-12 | Broadcom Corporation | Mechanism for using the allpass decomposition architecture for the cauer low pass filter used in a BTSC |
US7277860B2 (en) * | 2003-08-14 | 2007-10-02 | Broadcom Corporation | Mechanism for using clamping and offset techniques to adjust the spectral and wideband gains in the feedback loops of a BTSC encoder |
CA2560842C (en) * | 2004-03-24 | 2013-12-10 | That Corporation | Configurable filter for processing television audio signals |
-
2005
- 2005-08-16 EP EP05790070A patent/EP1787409A4/en not_active Withdrawn
- 2005-08-16 MX MX2007001950A patent/MX2007001950A/es active IP Right Grant
- 2005-08-16 WO PCT/US2005/029108 patent/WO2006023490A2/en active Application Filing
- 2005-08-16 KR KR1020077006013A patent/KR101335359B1/ko active IP Right Grant
- 2005-08-16 CA CA2577395A patent/CA2577395C/en not_active Expired - Fee Related
- 2005-08-16 JP JP2007527943A patent/JP4970259B2/ja active Active
- 2005-08-16 SG SG200905449-5A patent/SG155221A1/en unknown
- 2005-08-16 CN CN2005800345985A patent/CN101088237B/zh active Active
- 2005-08-16 US US11/204,723 patent/US7822210B2/en active Active
- 2005-08-17 TW TW094128026A patent/TWI433555B/zh active
-
2010
- 2010-10-01 US US12/896,468 patent/US8582780B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113661655A (zh) * | 2019-04-30 | 2021-11-16 | 谷歌有限责任公司 | 多通道、多速率、点阵波滤波器系统和方法 |
CN116860124A (zh) * | 2023-09-04 | 2023-10-10 | 深圳市坤巨实业有限公司 | 一种触摸屏的噪声控制方法及系统 |
CN116860124B (zh) * | 2023-09-04 | 2024-05-03 | 深圳市坤巨实业有限公司 | 一种触摸屏的噪声控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2006023490A3 (en) | 2007-03-01 |
US20060056640A1 (en) | 2006-03-16 |
US7822210B2 (en) | 2010-10-26 |
JP2008510435A (ja) | 2008-04-03 |
CN101088237B (zh) | 2013-02-06 |
KR20070058506A (ko) | 2007-06-08 |
EP1787409A2 (en) | 2007-05-23 |
TW200628000A (en) | 2006-08-01 |
CA2577395C (en) | 2013-12-10 |
KR101335359B1 (ko) | 2013-12-03 |
WO2006023490A2 (en) | 2006-03-02 |
CA2577395A1 (en) | 2006-03-02 |
US20110026719A1 (en) | 2011-02-03 |
JP4970259B2 (ja) | 2012-07-04 |
MX2007001950A (es) | 2007-07-11 |
SG155221A1 (en) | 2009-09-30 |
TWI433555B (zh) | 2014-04-01 |
US8582780B2 (en) | 2013-11-12 |
EP1787409A4 (en) | 2010-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101088237B (zh) | 用于处理电视音频信号的可配置的递归数字滤波器 | |
CN101076959B (zh) | 用于处理电视伴音信号的可配置滤波器 | |
CN1985303B (zh) | 产生多通道输出信号的装置和方法 | |
EP0574145B1 (en) | Encoding and decoding of audio information | |
US20080095376A1 (en) | Btsc encoder | |
US6928169B1 (en) | Audio signal processing | |
US7929054B2 (en) | Up-sampling television audio signals for encoding | |
TWI407792B (zh) | 用於處理電視音頻信號之編碼器及解碼器 | |
AU775460B2 (en) | BTSC encoder | |
AU2004202656A1 (en) | BTSC encoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |