代码:

  1. %% ------------------------------------------------------------------------
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Problem 4.23 \n\n');
  5.  
  6. banner();
  7. %% ------------------------------------------------------------------------
  8.  
  9. % ----------------------------------------------------
  10. % 1 H1(z)
  11. % ----------------------------------------------------
  12.  
  13. b = [1, -0.866, -1.2278, 0.7938]; nb = [-1:2];
  14. a = [1, -0.7, -0.81, 0.567]*0.7; na = [0:3]; %
  15.  
  16. [p, np, r, nr] = deconv_m(b, nb, a, na)
  17.  
  18. b1 = [-0.1660, -0.4178, 0.2268]
  19. [R, p, C] = residuez(b1, a)
  20.  
  21. Mp = (abs(p))'
  22. Ap = (angle(p))'/pi
  23.  
  24. %% ------------------------------------------------------
  25. %% START a determine Y(z) and sketch
  26. %% ------------------------------------------------------
  27. figure('NumberTitle', 'off', 'Name', 'P4.23 Y(z) its pole-zero plot')
  28. set(gcf,'Color','white');
  29. zplane(b,a);
  30. title('pole-zero plot'); grid on;
  31.  
  32. %% ----------------------------------------------
  33. %% END
  34. %% ----------------------------------------------
  35.  
  36. % ------------------------------------
  37. % h(n)
  38. % ------------------------------------
  39.  
  40. [delta, n] = impseq(0, 0, 19);
  41. h_check = filter(b, a, delta) % check sequence
  42.  
  43. [delta1, n1] = sigshift(delta, n, -1);
  44. h_answer1 = 1.4286*delta1;
  45. h_answer2 = 0.2323*(-0.9).^n.*stepseq(0,0,19) - 1.1257*(0.9).^n.*stepseq(0,0,19) + 0.6563*(0.7).^n.*stepseq(0,0,19); % answer sequence
  46.  
  47. [h_answer, n2] = sigadd(h_answer1, n1, h_answer2, n)

  运行结果:

Y(z)进行部分分式展开,

其留数及对应极点为:

零极点图如下

输出y(n)的前20个元素(这里变量名称h_check、h_answer用的不合适。)

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

  1. 《DSP using MATLAB》Problem 7.23

    %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output Info a ...

  2. 《DSP using MATLAB》Problem 6.23

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

  3. 《DSP using MATLAB》Problem 5.22

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

  4. 《DSP using MATLAB》Problem 5.2

    代码: %% ---------------------------------------------------------------------------------- %% Output ...

  5. 《DSP using MATLAB》Problem 4.15

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

  6. 《DSP using MATLAB》Problem 8.34

    今天下了小雨,空气中泛起潮湿的味道,阴冷的感觉袭来,心情受到小小影响. 代码: hp2lpfre子函数 function [wpLP, wsLP, alpha] = hp2lpfre(wphp, ws ...

  7. 《DSP using MATLAB》Problem 8.30

    10月1日,新中国70周岁生日,上午观看了盛大的庆祝仪式,整齐的方阵,先进的武器,尊敬的先辈英雄,欢乐的人们,愿我们的 国家越来越好,人民生活越来越好. 接着做题. 代码: %% ---------- ...

  8. 《DSP using MATLAB》Problem 7.34

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

  9. 《DSP using MATLAB》Problem 7.30

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

随机推荐

  1. Java数组的定义和使用

    如果希望保存一组有相同类型的数据,可以使用数组. 数组的定义和内存分配 Java 中定义数组的语法有两种: type arrayName[]; type[] arrayName; type 为Java ...

  2. codeforces 853b//Jury Meeting// Codeforces Round #433 (Div. 1)

    题意:几个人要去一个城市k天,现给出各航班的日期和花费,让这n个人能相会k天的最小花费? 用数组arr1[i]记录在第i天人到齐的最小花费.arr2[i]记录第i天之后才有人开始走的最小花费.然后取a ...

  3. Ultimate Weirdness of an Array CodeForces - 671C (gcd,线段树)

    大意: 定义一个数列的特征值为两个数gcd的最大值, $f(l,r)$表示数列删除区间$[l,r]$的元素后剩余元素的特征值, 求$\sum_{i=1}^n\sum_{j=i}^n{f(i,j)}$ ...

  4. c++中的引用详解

    什么是引用? 引用是C++语言的一个特殊的数据类型描述,用于在程序的不同的部分使用两个以上的变量名指向同一块地址,使得对其中任何一个变量的操作实际上都是对同一地址单元进行的. 使用时的注意事项: 引用 ...

  5. The Architecture of Open Source Applications——阅读笔记part 1

    Architects look at thousands of buildings during their training, and study critiques of those buildi ...

  6. HDU 4791 Alice's Print Service 思路,dp 难度:2

    A - Alice's Print Service Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  7. 51nod1288汽油补给

    考虑当前这个汽油站加的情况. 如果在t以内的范围有一个加油站比当前加油站便宜,那么就只需要加油加到足够开到最近的比自己便宜的加油站. 否则加满. 但是寻找超时 我们可以先加满,找到一个便宜的加油站之后 ...

  8. flask+script命令行交互工具

    Project name :Flask_Plan templates:templates static:static 首先说,我们flask比django方便的地方是所有的模块都可以自己选,你不喜欢s ...

  9. celery(一)分布式任务调度模块简介及运行环境

    Celery是Python开发的分布式任务调度模块. Celery本身不含消息服务,它使用第三方消息服务来传递任务. django下有个分支Django-Celery,可以结合django来实现任务的 ...

  10. Schema——demo

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...