当前位置: 首页 > news >正文

合肥网站优化搜索网站淘客怎么做

合肥网站优化搜索,网站淘客怎么做,怎么做网站8uftp,装修网站应该怎么做数字滤波器的蓝图#xff1a;从数学公式到硬件实现的艺术 在前几章#xff0c;我们已经领略了数字信号处理的魅力。在未来的章节#xff08;第六、七章#xff09;#xff0c;我们将深入学习如何设计一个滤波器——也就是根据需求#xff0c;计算出一套神奇的数学系数从数学公式到硬件实现的艺术 在前几章我们已经领略了数字信号处理的魅力。在未来的章节第六、七章我们将深入学习如何设计一个滤波器——也就是根据需求计算出一套神奇的数学系数来“筛”出我们想要的信号。 但是在拿到这套完美的系数也就是滤波器的系统函数 H ( z ) H(z) H(z) 或差分方程之后我们面临一个更现实的问题如何将这个数学公式转化为可以在计算机软件或硬件芯片上高效运行的实际代码或电路 这就是数字滤波器网络结构要解决的问题。它就像建筑师滤波器设计者完成了宏伟的建筑设计图系统函数后结构工程师我们需要绘制出具体的施工蓝图网络结构告诉施工队CPU或FPGA该如何用最少的材料计算资源、最稳固的方式数值稳定性把大楼盖起来。 今天我们将一起探索这些“施工蓝图”。你会发现同一个滤波器设计可以有多种不同的实现结构而选择哪一种结构将直接影响到你的程序的运行效率、内存占用甚至是最终结果的精度。 信号流图滤波器的可视化语言 要讨论结构我们首先需要一种通用的、可视化的语言来描述它。这就是信号流图Signal Flow Graph。它用非常简单的符号就能清晰地表达出信号在滤波器内部的流动和处理过程。 一个信号流图主要由三种基本构件组成 加法器 (Adder): 在图中用一个节点表示所有指向它的信号在这里相加。乘法器 (Multiplier): 在图中用一个带系数的支路表示流过这条支路的信号会被乘以该系数。单位延迟器 (Unit Delay): 在图中用一个标有 z − 1 z^{-1} z−1 的支路表示。信号每经过一个延迟器就会在时间上延迟一个采样周期。这在硬件上对应一个寄存器在软件上对应数组中的上一个元素。 (上图展示了信号流图的三个基本构件加法器、乘法器和单位延迟器) 有了这套语言我们就可以开始绘制各种滤波器的“施工蓝图”了。我们将分别探讨IIR和FIR这两大家族的结构。 IIR滤波器构建带有“记忆”的系统 IIR无限脉冲响应滤波器的特点是其差分方程中包含输出信号 y ( n ) y(n) y(n) 的反馈项。这意味着它的当前输出不仅与当前和过去的输入有关还与过去的输出有关。这种“记忆”或“反馈”特性使得它的结构设计更为复杂也更有趣。 一个通用的IIR系统函数如下 H ( z ) Y ( z ) X ( z ) ∑ k 0 M b k z − k 1 ∑ k 1 N a k z − k H(z) \frac{Y(z)}{X(z)} \frac{\sum_{k0}^{M} b_k z^{-k}}{1 \sum_{k1}^{N} a_k z^{-k}} H(z)X(z)Y(z)​1∑k1N​ak​z−k∑k0M​bk​z−k​ 其中 b k b_k bk​ 是前向路径的系数零点相关 a k a_k ak​ 是反馈路径的系数极点相关。 直接型最直观的翻译 直接型结构顾名思义就是将上述系统函数或其对应的差分方程“直译”成信号流图。 直接I型 (Direct Form I) 这是最朴素、最不假思索的实现方式。我们可以把 H ( z ) H(z) H(z) 看成两部分级联一个只有分母全极点的系统 H 1 ( z ) H_1(z) H1​(z) 和一个只有分子全零点的系统 H 2 ( z ) H_2(z) H2​(z)。 先实现 H 2 ( z ) H_2(z) H2​(z)输入信号 X ( z ) X(z) X(z) 经过一系列延迟和乘法 b k b_k bk​ 系数得到一个中间信号 W ( z ) W(z) W(z)。再实现 H 1 ( z ) H_1(z) H1​(z)中间信号 W ( z ) W(z) W(z) 作为 H 1 ( z ) H_1(z) H1​(z) 的输入经过反馈环路 a k a_k ak​ 系数的处理得到最终输出 Y ( z ) Y(z) Y(z)。 这种结构非常直观但它有一个明显的缺点延迟器是冗余的。全零点部分和全极点部分各自用了一套延迟器总共需要 N M NM NM 个。在硬件实现中每一个延迟器都意味着一个存储单元这无疑是一种浪费。 直接II型 (Direct Form II) 为了解决直接I型的浪费问题聪明的工程师想到了一个绝妙的办法。既然两套延迟器链上的信号是一样的都是中间信号的延迟版本我们为什么不把它们合并呢 于是我们交换一下 H 1 ( z ) H_1(z) H1​(z) 和 H 2 ( z ) H_2(z) H2​(z) 的顺序让输入信号 X ( z ) X(z) X(z) 先经过全极点部分再经过全零点部分。这样做之后两条延迟器链就奇迹般地可以合并成一条了 (上图清晰地对比了直接I型和直接II型结构。可以看到直接II型通过交换零点和极点部分将两串延迟器合并为一串大大节省了存储资源。) 直接II型是IIR最经典的结构之一。它使用的延迟器数量为 max ⁡ ( N , M ) \max(N, M) max(N,M)是所有直接型结构中最少的因此也被称为典范型Canonical Form。在软件实现如MATLAB的filter函数和教科书中这是一种非常常见的结构。 但是直接型有一个潜在的“致命”弱点当滤波器的阶数很高时比如N4系数 a k , b k a_k, b_k ak​,bk​ 的微小量化误差由于计算机使用有限字长存储会被反馈环路不断放大可能导致滤波器的极点偏离单位圆从而使系统变得不稳定或者频率响应严重偏离设计目标。这就像盖一栋超高层摩天大楼如果地基有微小的沉降不均到了顶层就会被放大成巨大的倾斜。 级联型化整为零的智慧 为了解决高阶直接型结构的数值稳定性问题我们引入了级联型Cascade Form 结构。 它的核心思想是 “分而治之”。我们不直接实现那个高阶的、敏感的系统函数 H ( z ) H(z) H(z)而是先在数学上将它因式分解成一系列低阶通常是一阶或二阶系统函数的乘积 H ( z ) G ⋅ H 1 ( z ) ⋅ H 2 ( z ) ⋯ H K ( z ) H(z) G \cdot H_1(z) \cdot H_2(z) \cdots H_K(z) H(z)G⋅H1​(z)⋅H2​(z)⋯HK​(z) 其中每个 H k ( z ) H_k(z) Hk​(z) 都是一个简单的二阶系统也称为二阶节Second-Order Section, SOS H k ( z ) b 0 k b 1 k z − 1 b 2 k z − 2 1 a 1 k z − 1 a 2 k z − 2 H_k(z) \frac{b_{0k} b_{1k}z^{-1} b_{2k}z^{-2}}{1 a_{1k}z^{-1} a_{2k}z^{-2}} Hk​(z)1a1k​z−1a2k​z−2b0k​b1k​z−1b2k​z−2​ 然后我们在硬件或软件上将这些简单的二阶节的直接II型结构一个个串联起来前一个的输出是后一个的输入。 (上图展示了一个级联型IIR滤波器结构它由多个简单的二阶节SOS串联而成。) 为什么这样做更好 提高数值稳定性每个二阶节都是一个低阶系统其系数的量化误差对极点位置的影响被限制在节内部不会像高阶直接型那样被累积放大。这使得整个滤波器的性能对系数的精度不那么敏感。就像用预制好的、坚固的楼层模块来盖高楼比从地基开始一点点往上浇筑要稳固得多。模块化设计这种结构非常适合模块化实现。你只需要设计和优化一个标准的二阶节模块然后根据需要复制和串联它们即可。 在专业的DSP库和硬件实现中级联型是实现高阶IIR滤波器的首选方法因为它极大地改善了实际应用中的稳定性和精度问题。 并联型多路并进的策略 除了级联还有一种“分而治之”的策略叫做并联型Parallel Form。 这次我们不是将 H ( z ) H(z) H(z) 分解为乘积而是通过部分分式展开将其分解为一系列简单系统函数的和 H ( z ) C ∑ k 1 K H k ( z ) H(z) C \sum_{k1}^{K} H_k(z) H(z)Ck1∑K​Hk​(z) 其中每个 H k ( z ) H_k(z) Hk​(z) 通常也是一个简单的一阶或二阶系统。 在实现时输入信号 X ( z ) X(z) X(z) 同时送入所有并联的支路 H k ( z ) H_k(z) Hk​(z)每个支路独立进行处理最后将所有支路的输出相加得到最终的输出 Y ( z ) Y(z) Y(z)。 并联型结构同样具有很好的数值稳定性。它在某些特定的分析和设计如控制系统中根据极点进行模式分解中非常有用。不过在通用的数字信号处理应用中它的普及程度略低于级联型。 FIR滤波器稳定可靠的“流水线” 与IIR不同FIR有限脉冲响应滤波器没有反馈环路它的输出只依赖于当前和过去的输入。这使得它的结构更加简单并且天生稳定。你可以把它想象成一条“流水线”信号从一端流入经过一系列工位延迟、乘法、加法的处理从另一端流出。 其系统函数是一个只包含分子的多项式 H ( z ) ∑ n 0 N − 1 h ( n ) z − n H(z) \sum_{n0}^{N-1} h(n) z^{-n} H(z)n0∑N−1​h(n)z−n 其中 h ( n ) h(n) h(n) 就是滤波器的系数。 直接型结构 FIR的直接型结构非常简单就是对上述公式的直接翻译输入信号经过一串 N − 1 N-1 N−1 个延迟器每个延迟器的输出以及原始输入分别乘以对应的系数 h ( n ) h(n) h(n)然后全部相加得到最终输出。这种结构也被称为横截型Transversal 结构。 线性相位结构天才的优化 在关于FIR设计的博客中我们会讲到FIR滤波器最大的魅力在于能实现线性相位而实现线性相位的秘诀是其系数 h ( n ) h(n) h(n) 具有对称性即 h ( n ) h ( N − 1 − n ) h(n) h(N-1-n) h(n)h(N−1−n)。 这个对称性不仅带来了完美的相位特性还为我们提供了一个绝佳的优化结构的机会 思考一下在一个直接型FIR结构中如果系数 h ( 0 ) h(0) h(0) 和 h ( N − 1 ) h(N-1) h(N−1) 是相等的我们为什么需要两个独立的乘法器来执行 x(n)*h(0) 和 x(n-(N-1))*h(N-1) 呢既然乘数一样我们可以先把两个输入信号加起来然后再做一次乘法 x ( n ) ⋅ h ( 0 ) x ( n − N 1 ) ⋅ h ( N − 1 ) [ x ( n ) x ( n − N 1 ) ] ⋅ h ( 0 ) x(n) \cdot h(0) x(n-N1) \cdot h(N-1) [x(n) x(n-N1)] \cdot h(0) x(n)⋅h(0)x(n−N1)⋅h(N−1)[x(n)x(n−N1)]⋅h(0) 这一步简单的代数变换在硬件实现上是巨大的胜利我们用一个加法器换掉了一个乘法器。在数字电路中乘法器通常比加法器占用更多的芯片面积、消耗更多的功率、运算速度也更慢。 通过利用系数的对称性我们可以将延迟链“对折”将对称位置的信号先相加再共享一个乘法器。如果有一个长度N7的线性相位FIR滤波器结构通过把延迟链“对折”对称位置的信号在乘法前相加使得乘法器的数量从7个减少到了4个。 这种线性相位结构可以将FIR滤波器的乘法器数量减少近一半这对于需要在资源受限的嵌入式系统或追求高性能的FPGA上实现滤波器的工程师来说是至关重要的优化。因此只要是设计线性相位的FIR滤波器几乎总会采用这种优化结构。 频率采样结构 除了直接型和线性相位结构FIR还有一种比较特殊的结构叫做频率采样结构。它的思路与我们在FIR设计中会提到的频率采样法相对应。 它将滤波器分解为一个梳状滤波器和一个并联谐振器组的级联。 梳状滤波器 ( 1 − z − N 1 - z^{-N} 1−z−N) 在频域上产生了一系列等间隔的零点。并联的谐振器组则在这些零点的位置上放置极点以“抵消”掉梳状滤波器的零点并根据期望的频率采样值来设定增益。 这种结构在理论上很有启发性因为它直观地将滤波器的实现与频域上的采样点联系了起来。在某些需要动态调整滤波器频响的应用中它可能提供便利。但在通用滤波任务中它的量化噪声特性不如直接型且可能需要复数乘法因此应用相对较少。 总结结构的选择是一门艺术 我们今天走过了一趟数字滤波器内部的结构之旅。现在让我们站在宏观的视角回顾一下 没有“最好”的结构只有“最合适”的结构。你的选择取决于你的应用需求是追求最低的计算成本还是最高的数值精度是在PC上用浮点数编程还是在单片机上用定点数实现IIR滤波器结构 直接II型最节省延迟器是理论分析和简单软件实现的基础。但对高阶系统数值稳定性是隐患。级联型高阶IIR实现的首选。通过“分而治之”大大提高了数值稳定性和对系数误差的鲁棒性。并联型提供了另一种高稳定性的实现方式在特定领域有其优势。 FIR滤波器结构 直接型最基础的实现稳定可靠。线性相位型线性相位FIR实现的首选。利用系数对称性节省了近一半的乘法器是极致优化的典范。 理解了这些“施工蓝图”你才真正掌握了从理论到实践的桥梁。当你拿到一个滤波器设计任务时你不仅会思考“我需要一个什么样的频率响应”更会思考“我应该用哪种结构来实现它才能在满足性能的同时最大限度地节省资源”。这就是从一个信号处理的“使用者”到“创造者”的转变。 习题 来吧用几个小问题检验一下你是否已经掌握了这些“蓝图”的精髓。 第1题 (看图写函数) 一个直接II型IIR滤波器反馈系数为 a 1 , a 2 a_1, a_2 a1​,a2​前向系数为 b 0 , b 1 , b 2 b_0, b_1, b_2 b0​,b1​,b2​)写出它的系统函数 H ( z ) Y ( z ) / X ( z ) H(z) Y(z)/X(z) H(z)Y(z)/X(z)。 第2题 (概念选择题) 你被要求在-一个资源非常有限的8位单片机上实现一个10阶的IIR低通滤波器。你主要担心的问题是有限的8位字长会导致系数存在较大的量化误差可能会使滤波器变得不稳定。在这种情况下你优先选择哪种实现结构 A. 直接II型 B. 级联型 C. 频率采样型 第3题 (资源计算题) 一个线性相位FIR滤波器的脉冲响应为 h [ 1 , 2 , 3 , 2 , 1 ] h [1, 2, 3, 2, 1] h[1,2,3,2,1]。如果使用直接型结构来实现需要多少个乘法器如果使用线性相位结构来实现需要多少个乘法器 答案 第1题答案: 首先我们定义中心延迟链上的信号为 W ( z ) W(z) W(z)。我们可以得出 W ( z ) X ( z ) − a 1 z − 1 W ( z ) − a 2 z − 2 W ( z ) W(z) X(z) - a_1 z^{-1} W(z) - a_2 z^{-2} W(z) W(z)X(z)−a1​z−1W(z)−a2​z−2W(z) 整理得到 W ( z ) W(z) W(z) 和 X ( z ) X(z) X(z) 的关系 W ( z ) ( 1 a 1 z − 1 a 2 z − 2 ) X ( z ) W(z)(1 a_1 z^{-1} a_2 z^{-2}) X(z) W(z)(1a1​z−1a2​z−2)X(z) 然后根据流图的前向部分写出输出 Y ( z ) Y(z) Y(z) Y ( z ) b 0 W ( z ) b 1 z − 1 W ( z ) b 2 z − 2 W ( z ) Y(z) b_0 W(z) b_1 z^{-1} W(z) b_2 z^{-2} W(z) Y(z)b0​W(z)b1​z−1W(z)b2​z−2W(z) 整理得到 Y ( z ) Y(z) Y(z) 和 W ( z ) W(z) W(z) 的关系 Y ( z ) ( b 0 b 1 z − 1 b 2 z − 2 ) W ( z ) Y(z) (b_0 b_1 z^{-1} b_2 z^{-2}) W(z) Y(z)(b0​b1​z−1b2​z−2)W(z) 将两个式子联立消去中间变量 W ( z ) W(z) W(z)即可得到系统函数 H ( z ) H(z) H(z): H ( z ) Y ( z ) X ( z ) b 0 b 1 z − 1 b 2 z − 2 1 a 1 z − 1 a 2 z − 2 H(z) \frac{Y(z)}{X(z)} \frac{b_0 b_1 z^{-1} b_2 z^{-2}}{1 a_1 z^{-1} a_2 z^{-2}} H(z)X(z)Y(z)​1a1​z−1a2​z−2b0​b1​z−1b2​z−2​ 第2题答案: B. 级联型 原因: 题目中的核心痛点是高阶(10阶)系统在资源受限(8位字长)平台上的数值稳定性问题。 直接II型在高阶时对系数误差非常敏感8位字长带来的量化误差很可能会使极点偏移到单位圆外导致系统不稳定。级联型通过将10阶系统分解为5个独立的二阶节将系数误差的影响限制在各个节内部极大地增强了滤波器的鲁棒性和数值稳定性是解决这个问题的标准方案。频率采样型本身对系数的量化也比较敏感且不是IIR的标准结构。 第3题答案: 该FIR滤波器的长度 N 5 N5 N5脉冲响应为 h ( n ) h(n) h(n)。 h ( 0 ) 1 , h ( 1 ) 2 , h ( 2 ) 3 , h ( 3 ) 2 , h ( 4 ) 1 h(0)1, h(1)2, h(2)3, h(3)2, h(4)1 h(0)1,h(1)2,h(2)3,h(3)2,h(4)1。 这是一个偶对称的线性相位FIR滤波器 h ( n ) h ( 4 − n ) h(n) h(4-n) h(n)h(4−n)。 使用直接型结构: 需要 N N N 个乘法器即 5个 乘法器。 使用线性相位结构: 我们利用系数的对称性 h ( 0 ) h ( 4 ) 1 h(0)h(4)1 h(0)h(4)1, h ( 1 ) h ( 3 ) 2 h(1)h(3)2 h(1)h(3)2。 信号 x ( n ) x(n) x(n) 和 x ( n − 4 ) x(n-4) x(n−4) 相加后与系数 h ( 0 ) 1 h(0)1 h(0)1 相乘1个乘法器。信号 x ( n − 1 ) x(n-1) x(n−1) 和 x ( n − 3 ) x(n-3) x(n−3) 相加后与系数 h ( 1 ) 2 h(1)2 h(1)2 相乘1个乘法器。中心的信号 x ( n − 2 ) x(n-2) x(n−2) 自己与系数 h ( 2 ) 3 h(2)3 h(2)3 相乘1个乘法器。 总共需要的乘法器数量为 1 1 1 ⌈ N / 2 ⌉ ⌈ 5 / 2 ⌉ 3 1 1 1 \lceil N/2 \rceil \lceil 5/2 \rceil 3 111⌈N/2⌉⌈5/2⌉3 个。 所以使用线性相位结构需要 3个 乘法器。
http://www.hkea.cn/news/14387741/

相关文章:

  • 比较流行的网站建设技术有哪些搜索引擎营销的原理
  • 苏州无锡外贸网站建设一个网站建设的组成
  • 商务网站建设的调研流程wordpress织梦扩展
  • 徐州建设工程交易网站四川网站建设的公司排名
  • 做网站相关人员网页设计需要会什么
  • 新网站的站点验证云南网站建设公司排名
  • 看动漫是怎么做视频网站租外国服务器做的网站要备案吗
  • 查询网站mx记录长沙php的网站建设公司
  • 湖南网站营销优化开发瑞安学校网站建设
  • 营销型网站建设主要教学内容wordpress更新后台反应慢
  • wordpress添加网站图标汕头网站制作找谁
  • .net 网站自动登录不需要iis的网站开发
  • 用邮箱地址做网站域名好吗企业网站建设的特点
  • 前端做商城网站需要多久做网站用笔记本做服务器
  • php网站服务器架设wordpress轮播图修改
  • wordpress做网站手机上海外贸公司27号
  • 做餐厅logo用什么软件网站外贸平台网站的营销方式
  • 做木质的网站wordpress 上传权限
  • 网站建设平台选用主动创新网站内容建设
  • 网站 系统设置网页制作自学教程视频
  • 怎么做网站投放广告做网站制作的摘要
  • 军人运动会官方网站建设目标凉山住房和城乡建设局网站
  • 模板云网站建设中国个人优秀网站
  • 宁夏建设技术职业学院官方网站比格设计网站官网
  • 制作外贸网站开发怎么建个公司网站
  • 企业网站建设费怎么记账深圳 学习网站
  • 静态网站建设只有虚拟主机可以做网站吗
  • 深圳电子商城网站设计北京注册公司交社保
  • 上海松江做网站自己怎么创建小程序
  • 视频在线网站免费观看苏州公司变更