第7章重定时信号流图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(a) SFG的一个割集划分
(b) SFG割集的最终表示
图7.7 不可能实现的一个割集划分
割集重定时及规则 --割集重定时规则1
如图7.7,这次最终的电路并不是一个因果的实现, 这是一个非因果的实现,因此是不能物理实现的。因为该 结构现在还不具备预测未来z+1要求的的能力。因此,这 不是一个割集重定时的正确选择,我们选择了一个不可能 实现的割集划分方法。
f clk
mult
1 1 10 9 714MHz 4 add 1 (4 0.1)
这个时钟频率,则为避免竞争风险的最大时钟频
率。
信号流图基本概念 --信号流图关键路径
如果考虑一个更大长度的滤波器,比如具有10个 系数,则最大时钟频率下降为:
f clk 1 1 10 9 526MHz mult 8 add 1 (9 0.1)
图7.12 α=2延迟FIR滤波器的输入和输出
割集重定时及规则 --割集重定时规则2
时间标定同样可通过z变换表示。图7.11所描述的系 统输出的时域表达式为:
y(k ) w0 x(k ) w1 x(k 1) w2 x(k 2) w3 x(k 3)
Y ( z ) w0 X ( z ) w1 X ( z ) z 1 w2 X ( z ) z 2 w3 X ( z ) z 3
经过延迟标度之后,该表达式变成:
X ( z 2 ) P( z ) x0 x1 z 2 x2 z 4 x3 z 6 .... x N z 2 N
割集重定时及规则 --割集重定时规则2
取z变换的反变换,得到:
因此延迟标定在输入序列中插入了零。同样零也被添 加到输出序列q(k)中。 时间标定带来的一个重要的问题就是运算效率下降的 问题。 对于前面按2标定的FIR滤波器,FIR只有50%的运算 效率,因为第偶数个输入均是0,在第偶数个时钟周期 内,只有0被输入到乘法器。
Y ( z) w0 w1 z 1 w2 z 2 w3 z 3 X ( z)
(w0 w1 z 1 w2 z 2 w3 z 3 ) X ( z )
割集重定时Leabharlann Baidu规则 --割集重定时规则2
现在如果我们应用延迟标度,比如使用代换 z 1 z 2 , (等效为 z z 2 ),则:
割集重定时及规则 --割集重定时规则2
如图7.11,没有标度时,数据可以按全速率以通常的 方式进入FIR滤波器,也就是说,不通过α标定。
图7.11 标准FIR滤波器的输入和输出
割集重定时及规则 --割集重定时规则2
如图7.12,在通过α=2延迟标度之后,输入应被升频 采样以产生相同序列的输出数值。
因此标准结构的并行FIR滤波器长度越大,其时钟 频率就越低。
割集重定时及规则 --割集重定时概念
割集源于图论技术,它可以被用来重定时SFG,使其 具有更通用的形式。重定时技术被用于管理延迟,通过很 小的关键路径来确保很高的最大时钟频率。SFG中的割集 是能够将SFG分割成两个部分的最小边集。图7.4给出了割 集的一个表示。
图7.15对于α=2的FIR的输入和输出关系
割集重定时及规则 --割集重定时规则2
在图7.16的2延迟定标的SFG中,复用了两组数据z1(k) 和z2(k)。该技术特别适用于必须通过相同的滤波器处理不 同组数据的情况,由于共享或复用SFG导致的操作速率的 降低是可以忍受的。故这是适合多信道应用的理想结构。
图7.3 信号流图的延迟
根据图7.3,
f clk
关键路径 mult 4 add
1 1 10 9 714MHz mult 4 add 1 (4 0.1)
信号流图基本概念 --信号流图关键路径
此外在实际的连接点上,任何可以看得见的延迟(由 于长线路)都应该被加上以得到总的时间延迟。 τmult=1ns, τadd =0.1ns,因此,5个系数的FIR滤波器的 最大时钟频率为:
割集重定时及规则 --割集重定时规则1
延迟
超前
SFG的割集
割集重定时及规则 --割集重定时规则1
必须注意的是,当执行割集重定时时,如果任何数据 传递路径以一个时间超前结束,那么系统为非因果,这是 因为一个时间超前z+1,就是在时间预先知道了将来的信 号,这样的事情是不可能的。下面举一个例子来说明这个 情况。注意可以选择一个相反的操作,即所有出去的边时 间延迟z–1,所有进入的边时间超前z+1。
割集重定时及规则 --割集重定时规则2
SFG中所有延迟可通过一个正数来标定,即z–1→z–α。 所有的输入和输出速率均相应地通过因子α标定。如图 7.8,在一个标准FIR滤波器结构中通过α=2来标定所有的 延迟,即z–1→z–2。
(a) 标准结构的FIR滤波器
(b)α=2延迟结构的FIR滤波器
图7.8 不同延迟因子的FIR结构
图7.1 FIR滤波器的SFG图
信号流图基本概念 --信号流图关键路径
延迟(latency)常用于描述一个未受控制的或不可控的 电路传输延迟。例如通过乘法器的延迟由乘法器内部各 种逻辑单元的传播延迟决定。所以,可以说乘法器的延 迟包含组成乘法器单元的各种加法器和门电路的延迟 (乘法器的不同实现方法会产生不同的延迟)。 这就引出了一个与乘法器延迟相关的问题:即把乘 法器延迟组合成一个时间延迟,还是把它分割成更小的 单元。这主要由设计人员决定,但也取决于真正想达到 的目的以及想解决的问题。
第7章 重定时信号流图
何宾 2009.09
本章概述
本章主要介绍重定时定义、作用和重定时信号流 图,其内容主要包括: 1)信号流图的基本概念; 2)割集重定时及规则; 3)脉动阵列和自适应滤波器的SFG。
信号流图基本概念 --信号流图关键路径
图7.1给出了标准FIR滤波器的信号流图(Signal Flow Graph, SFG)。理想的SFG的所有元件(例如延迟、加法器 和乘法器)之间的连接都是无延迟的。如果SFG直接映射到 一个并行的结构,那么最大时钟速率将由关键路径的延迟 决定,这里关键路径的延迟定义为由非时钟逻辑元件引起 的最大延迟。
图7.10α=2延迟结构的FIR滤波器的真实的物理结构
割集重定时及规则 --割集重定时规则2
对于延迟定标滤波器,系数向量现为: wT=[w0,0,w1,0,w2,0,w3,0] 因此, 对于一个给定的输入数据序列,为了使延迟定标 SFG产生相同的输出,要求数据向量为: xkT=[x(k),0,x(k–1),0,x(k–2),0,x(k–3),0] 最后的系数0不是必需的,可以删除。 对于给定的输入序列x(k),为了产生相同的输出序 列,该输入序列需要通过因子2升频采样,或者第偶数个 输入被设定为0。
Y (z 2 ) Q( z ) w0 w1 z 2 w2 z 4 w3 z 6 P( z ) X (z 2 )
如果我们假设输入序列为一组采样,则z变换为:
X ( z ) x0 x1 z 1 x2 z 2 x3 z 3 .... x N z N
P(k ) [ x0 ,0, x1 ,0, x2 ,0, x3 ,0..., x N ]
割集重定时及规则 --割集重定时规则2
如图7.13,当序列x(k)=[4,0,7,0,1,0,6]输入到FIR时, 观察两个连续的周期:
(a) 第一个输入周期的输入和输出关系
(b) 第二个输入周期的输入和输出关系
图7.6的SFG并不是某个特定的电路,仅仅是一个带 有乘法和加法的任意DSP线性系统。如果打算研究这个电 路,也许注意到输出y(k)是x(k)和r(k)的当前和过去的值, 以及y(k)过去值的线性组合。因此,图7.6是带有两个输入 的关于y(k)的线性递归系统。讨论的要点集中在SFG1和 SFG2边界上的重定时。 可以选择所有进入边时间延迟用z–1表示,所有出去边 时间超前用z+1表示。因此电路内部没有发生改变,即仅在 割集上添加或去除延迟。显然在出去的数据路径上的时间 超前z+1与时间延迟z–1相互抵消,即z+1z–1=1。而且包含双 倍延迟,z–1z–1=z–2。
图7.4割集的一个表示
割集重定时及规则 --割集重定时规则1
割集重定时规则1规定:根据不同边沿的进入(inbound) 或者出去(outbound)的方向,可以超前或延迟这些边沿。 给定任何SFG的一个割集,该割集(将系统)分成两个 部分,可以选择割集的一边(在这里是左边)并把这些边按 组分成进入边界(inbound edges)和出去界(outbound edges)。图7.5给出了这个描述。出于简便和统一写法的考 虑,使用z-1代表一个延迟。
图7.13 连续两个的周期的输入和输出关系
割集重定时及规则 --割集重定时规则2
经过每偶数个时钟周期,FIR SFG中乘法器的输入为 零,因此这时无须任何的计算来产生0输出。因此在这种 情况下,该阵列具有50%的效率(即1/2的效率)。 如图7.14,通过α=3的因子来延迟标度,则阵列仅有 1/3或者33%的效率。故对于输入序列[4,0,0,7,0,0,1,0,0,6]。
割集重定时及规则 --割集重定时规则2
标定之后只是将电路中所有的延迟加倍(通过α=2标 定)。图7.8(b)也可用图7.9的形式进行描述。
图7.9α=2延迟结构的FIR滤波器的另一种结构
割集重定时及规则 --割集重定时规则2
如图7.10,FIR SFG上的延迟标度本质上将滤波器的 长度从N=4增加到N=8,但其中第偶数个系数都是0。
割集重定时及规则 --割集重定时规则1
下面将说明一个问题,即某些重定时是不可能实现的。 也就是说,尽管它们的SFG结果可以被表达,但实现它们 需要非因果(即时间提前)组件。 如图7.6,注意SFG1和SFG2内部的电路可执行任意的 DSP运算。
图7.6 SFG的内部结构
割集重定时及规则 --割集重定时规则1
割集重定时及规则 --割集重定时规则2
现在需要仔细考虑延迟标度的结果。前面定义滤波器 的输出为y(k),但现在需要重新考虑输出,因为SFG在数 学运算上一旦发生变化,则输出也将发生改变。 在进行标定前,滤波器的输出为过去输入的加权和, 其中通过数据向量和输入向量来指定滤波器系数。 wT=[w0,w1,w2,w3],xkT =[x(k),x(k–1),x(k–2),x(k–3)], 即: y(k)=wTxk=w0x(k)+w1x(k–1)+w1x(k–2)+w1x(k–3)
信号流图基本概念 --信号流图关键路径
如图7.2,为了更准确的表示图7.1的结构,在途中添 加x(k)的输入寄存器和y(k)的输出寄存器,并且保证所有 寄存器都具有时钟输入。为了便于观察电路,这些寄存 器并没有被画出来。
图7.2 完整的FIR滤波器的结构
信号流图基本概念 --信号流图的延迟
如果τadd为加法器的传输延迟而τmult是乘法器的传 输延迟,图7.3给出了数据波动的最长路径。
割集重定时及规则 --割集重定时规则1
图7.5 SFG的割集描述
割集重定时及规则 --割集重定时规则1
割集重定时只影响割集中边的权重。若两个不相连的 子图标为G1和G2,则割集重定时包含两个内容,一个是 从G1到G2的每条边都增加k个时延,另一个是从G2到G1 的每条边减去k个延时。 在上面示例中,将SFG从上至下垂直切断。指定进入 (inbound)为从左到右的数据传输路径(带方向的线),而出 去(outbound)为从右到左的数据传输路径。
割集重定时及规则 --割集重定时规则2
(a)输入和输出的关系
(b)输入和输出的关系
(c)输入和输出的关系
图7.14 α=3延迟FIR滤波器的输入和输出
割集重定时及规则 --割集重定时规则2
如果一个SFG通过延迟标定,当输入序列通过α升频 采样时(即插入α–1个零),SFG的效率变为原来的1⁄α。为 了增加SFG的利用效率,使其回到100%的效率(效率为 1),可用SFG处理一个通道以上的数据。 图7.15给出了对于α=2的输入和输出的关系,如图 7.16,通过复用阵列来处理2组独立的输入数据。前面通 过升频采样引入的0已被另一种不同的信号取代。