代码:

  1. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Problem 6.15 \n\n');
  5.  
  6. banner();
  7. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8. %format long;
  9. format short;
  10. fprintf('\n DIRECT-form: \n');
  11. b = [1.0 0 -2.20 0 1.6368 0 -0.48928 0 5395456*10^(-8) 0 -147456*10^(-8) ]
  12. a = [1.0 0 -1.65 0 0.8778 0 -0.17281 0 1057221*10^(-8) 0 -893025*10^(-10)]
  13.  
  14. fprintf('\nConvert DIRECT-form to PARALLEL-form : \n');
  15. [C, Bp, Ap] = dir2par(b, a)
  16.  
  17. if size(C)==0
  18. C = 0;
  19. end
  20.  
  21. fprintf('\nConvert DIRECT-form to CASCADE-form : \n');
  22. [b0, Bc, Ac] = dir2cas(b, a)
  23.  
  24. fprintf('\nConvert TF-form to SOS-form : \n');
  25. [sos, g] = tf2sos(b, a)
  26.  
  27. fprintf('\nConvert DIRECT-form to LATTICE-LADDER-form : \n');
  28. [Klr, Clr] = dir2ladr(b, a)
  29.  
  30. fprintf('\nConvert DIRECT-form to MATLAB LATTICE-LADDER-form : \n');
  31. [K, V] = tf2latc(b, a)
  32.  
  33. % -----------------------------------------
  34. % START check
  35. % -----------------------------------------
  36. n = [0:7];
  37. delta = impseq(0, 0, 7)
  38. %format long
  39. format short
  40. hcas = casfiltr(b0, Bc, Ac, delta)
  41.  
  42. hpar = parfiltr(C, Bp, Ap, delta)
  43.  
  44. hladr = ladrfilt(Klr, Clr, delta)
  45.  
  46. hdir = filter(b, a, delta)
  47. % -------------------------------------------
  48. % END check
  49. % -------------------------------------------
  50.  
  51. b01 = 1;
  52. Bc1 = [1.0 1.8 0.8;
  53. 1.0 1.0 0.24;
  54. 1.0 0.2 0; ];
  55. Ac1 = [1.0 1.6 0.63;
  56. 1.0 0.8 0.15;
  57. 1.0 0.1 0;];
  58. fprintf('\nConvert 1st part to DIRECT-form from CASCADE-form : \n');
  59. [b1, a1] = cas2dir(b01, Bc1, Ac1)
  60. b1 = b1(1:6);
  61. a1 = a1(1:6);
  62.  
  63. fprintf('\nConvert 1st part to PARALLEL-form from DIRECT-form : \n');
  64. [C1, Bp1, Ap1] = dir2par(b1, a1)
  65.  
  66. if size(C1)==0
  67. C1 = 0;
  68. end
  69.  
  70. b02 = 1;
  71. Bc2 = [1.0 -1.0 0.24;
  72. 1.0 -1.8 0.80;
  73. 1.0 -0.2 0.00; ];
  74. Ac2 = [1.0 -0.8 0.15;
  75. 1.0 -1.6 0.63;
  76. 1.0 -0.1 0.00;];
  77. fprintf('\nConvert 2nd part to DIRECT-form from CASCADE-form : \n');
  78. [b2, a2] = cas2dir(b02, Bc2, Ac2)
  79. b2 = b2(1:6);
  80. a2 = a2(1:6);
  81.  
  82. fprintf('\nConvert 2nd part to PARALLEL-form from DIRECT-form : \n');
  83. [C2, Bp2, Ap2] = dir2par(b2, a2)
  84.  
  85. if size(C2)==0
  86. C2 = 0;
  87. end

  运行结果:

直接形式系数

并联形式系数

串联形式系数

由总的直接形式转换成串联形式,再分成两部分的串联,这两部分写成并联形式,而后串联。

第1部分的并联形式

第2部分的并联形式

题中的附图,系数标注不准的地方直接改了。

《DSP using MATLAB》Problem 6.15的更多相关文章

  1. 《DSP using MATLAB》Problem 7.15

    用Kaiser窗方法设计一个台阶状滤波器. 代码: %% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

  2. 《DSP using MATLAB》Problem 5.15

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  3. 《DSP using MATLAB》Problem 4.15

    只会做前两个, 代码: %% ---------------------------------------------------------------------------- %% Outpu ...

  4. 《DSP using MATLAB》Problem 2.15

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  5. 《DSP using MATLAB》Problem 8.15

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  6. 《DSP using MATLAB》Problem 5.38

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  7. 《DSP using MATLAB》Problem 5.31

    第3小题: 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Out ...

  8. 《DSP using MATLAB》Problem 5.22

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% O ...

  9. 《DSP using MATLAB》Problem 5.21

    证明: 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

随机推荐

  1. Win10系列:JavaScript综合实例1

    上面几个小节讲解了使用HTML5和JavaScript语言开发Windows 应用商店应用时会用到的一些技术,本小节将前面介绍的知识融合在一起创建一个菜谱应用程序,帮助读者更进一步地理解和掌握这些知识 ...

  2. jsp自定义标签开发

    参考:http://blog.csdn.net/lw001x/article/details/7589302

  3. 生成器 Generators

    function* quips(name) { yield "你好 " + name + "!"; yield "希望你能喜欢这篇介绍ES6的译文&q ...

  4. Mysql中contact、group_concat、concat_ws、repeat

    一.CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. mysql> select concat('11','22',' ...

  5. ubuntu GUI程序开机自启设置

    在 主目录下,即 $HOME路径下新建 或编辑 .gnomerc 文件,将开机启动脚本写在这里如下:gedit ~/.gnomerc#!/bin/bashcd /home/xxxx/openUI./o ...

  6. Centos7下cratedb数据导入导出copy to copy from

    crate 创建表结构: 查看表: show tables; 创建表结构: create table tablename (k1 type,k2 type,k3 type);  (type = int ...

  7. .NET界面控件DevExpress发布v18.2.4|附下载

    DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ...

  8. Androi开发 ---Fragment片段布局案例

    效果图: 1.MainActivity.java package com.example.android_activity; import android.app.Activity; import a ...

  9. mail.jar 发送邮件

    1.spring参数注入+util 发送邮件 2.util配置参数+util发送邮件 1.spring参数注入+util 发送邮件 <bean id="mailSender" ...

  10. 强化学习8-时序差分控制离线算法Q-Learning

    Q-Learning和Sarsa一样是基于时序差分的控制算法,那两者有什么区别呢? 这里已经必须引入新的概念 时序差分控制算法的分类:在线和离线 在线控制算法:一直使用一个策略选择动作和更新价值函数, ...