代码:

  1. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Problem 6.22 \n\n');
  5.  
  6. banner();
  7. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8. %format long;
  9. format short;
  10.  
  11. fprintf('\n FIR filter DIRECT-form: \n');
  12. h = [1, -4, 6.4, -5.12, 2.048, -0.32768];
  13.  
  14. b = h
  15. a = 1.0
  16.  
  17. fprintf('\nConvert DIRECT-form to PARALLEL-form : \n');
  18. [C, Bp, Ap] = dir2par(b, a)
  19.  
  20. if size(C)==0
  21. C = 0;
  22. end
  23.  
  24. fprintf('\nConvert DIRECT-form to CASCADE-form : \n');
  25. [b0, Bc, Ac] = dir2cas(b, a)
  26.  
  27. fprintf('\nConvert TF-form to SOS-form : \n');
  28. [sos, g] = tf2sos(b, a)
  29.  
  30. fprintf('\nConvert DIRECT-form to FREQUENCY-SAMPLE-form 1 : \n');
  31. [Cfs, Bfs, Afs] = dir2fs(b)
  32.  
  33. fprintf('\nConvert DIRECT-form to FREQUENCY-SAMPLE-form 2 : \n');
  34. r = 0.99;
  35. [Cfs_r, Bfs_r, Afs_r, rM] = dir2fs_r(b, r)
  36.  
  37. % ----------------------------------------------------------
  38. % NOTE: linear-phase can not use LATTICE-form
  39. % ----------------------------------------------------------
  40. fprintf('\nConvert DIRECT-form to All-Zero LATTICE-form : \n');
  41. [Klc] = dir2latc(b)
  42.  
  43. % -----------------------------------------
  44. % START check
  45. % -----------------------------------------
  46. n = [0:7];
  47. delta = impseq(0, 0, 7)
  48. %format long
  49. format short
  50. hcas = casfiltr(b0, Bc, Ac, delta)
  51.  
  52. hltc = latcfilt(Klc, delta)
  53.  
  54. %hladr = ladrfilt(Klr, Clr, delta)
  55.  
  56. hdir = filter(b, a, delta)
  57. % -------------------------------------------
  58. % END check
  59. % -------------------------------------------
  60.  
  61. % +++++++++++++++++++++++++++++++++++++++++++++++++
  62. % 5 1st-order section CASCADE-form
  63. % +++++++++++++++++++++++++++++++++++++++++++++++++
  64. broots = roots(b)
  65. L = length(broots)
  66. B1 = ones(L, 2);
  67.  
  68. fprintf('\nConvert DIRECT-form to %d 1st-order section : \n', L);
  69. for i = 1:1:L
  70. B1(i,:) = poly( broots(i) );
  71. end
  72. B1
  73.  
  74. % +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  75. % CASCADE-form of 1 1st-order section and 2 2nd-order section
  76. % +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  77. fprintf('\nConvert DIRECT-form to One 1st-order and Two 2nd-order section: \n');
  78. B2 = poly( [broots(1), broots(2)] )
  79. B3 = poly( [broots(3), broots(4)] )
  80. B4 = poly( broots(5) )
  81.  
  82. % +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  83. % CASCADE-form of 1 2nd-order section and 1 3rd-order section
  84. % +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  85. fprintf('\nConvert DIRECT-form to One 2nd-order and One 3rd-order section: \n');
  86. B5 = poly( [broots(1), broots(2)] )
  87. B6 = poly( [broots(3), broots(4), broots(5)] )

  运行结果:

直接形式的系数

串联形式系数

频率采样形式系数

格型Lattice形式系数

求出5个零点

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

  1. 《DSP using MATLAB》Problem 5.22

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

  2. 《DSP using MATLAB》 Problem 3.22

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

  3. 《DSP using MATLAB》Problem 8.22

    时光飞逝,亲朋会一个一个离我们远去,孤独漂泊一阵子后,我们自己也要离开, 代码: %% -------------------------------------------------------- ...

  4. 《DSP using MATLAB》Problem 7.25

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

  5. 《DSP using MATLAB》Problem 3.1

    先写DTFT子函数: function [X] = dtft(x, n, w) %% --------------------------------------------------------- ...

  6. 《DSP using MATLAB》Problem 7.29

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

  7. 《DSP using MATLAB》Problem 7.27

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

  8. 《DSP using MATLAB》Problem 7.26

    注意:高通的线性相位FIR滤波器,不能是第2类,所以其长度必须为奇数.这里取M=31,过渡带里采样值抄书上的. 代码: %% +++++++++++++++++++++++++++++++++++++ ...

  9. 《DSP using MATLAB》Problem 7.24

    又到清明时节,…… 注意:带阻滤波器不能用第2类线性相位滤波器实现,我们采用第1类,长度为基数,选M=61 代码: %% +++++++++++++++++++++++++++++++++++++++ ...

随机推荐

  1. 2.python函数编程-filter函数

    fileter功能主要使用在需要对数据进行多种操作,并对数据进行过滤的操作. 普通函数实现: movie = ['sb_alex', 'wupei', 'tiger', 'goosb','xxfd', ...

  2. 熔断监控集群(Turbine)

    Spring Cloud Turbine 上一章我们集成了Hystrix Dashboard,使用Hystrix Dashboard可以看到单个应用内的服务信息,显然这是不够的,我们还需要一个工具能让 ...

  3. java将字符串根据空格进行分割,使用split方法

    public class D { public static void main(String[] args) { String b = "Hello Java World"; S ...

  4. 一些做vue前端的经验

    1.先赋值,后渲染 场景:表格渲染中,一般都是这样把json的东西传给table的 this.tableData = json.data.rows 然后的话我们一般会在渲染前对json中的数据做一些转 ...

  5. Oracle 12c的自增列Identity Columns

    在Oracle的12c版本中,Oracle实现了类似MySQL中的auto_increment的自增列,下面我们看一起Oracle是怎么实现的. Oracle Database 12c Enterpr ...

  6. 3.8 C++继承机制下的析构函数

    参考:http://www.weixueyuan.net/view/6365.html 总结: 构造函数的执行顺序是按照继承顺序自顶向下的,从基类到派生类,而析构函数的执行顺序是按照继承顺序自下向上, ...

  7. MFC Release版本串口连不上的问题

    项目开发过程中发现Release版本存在连接串口时,第一次开机后,出现连接不上的问题,但在Debug版本下正常:而且只要连接上一次,Release版本就能正常连接: 解决方案: 在串口配置过程中更改为 ...

  8. SharePoint REST API - 确定REST端点URL

    博客地址:http://blog.csdn.net/FoxDave SharePoint REST端点URI的结构 在你能够通过REST访问SharePoint资源之前,首先你要做的就是找出对应的 ...

  9. ios scrollView代理的用法

    // // ZQRViewController.m // 03-图片缩放 // // Created by apple on 17-08-25. // #import "ZQRViewCon ...

  10. CentOS 7部署Java+Mysql步骤

    1.工具 putty0.7:用于远程控制服务器 winSCP5.13: ftp工具,用于向远程服务器传送文件 2.安装jdk: yum -y install java-1.8.0-openjdk ja ...