代码:

  1. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Problem 5.29 \n\n');
  5.  
  6. banner();
  7. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8.  
  9. % --------------------------------------------------------
  10. % x1(n) and x2(n) ---- N-point sequence
  11. % y(n) = x1(n) Cir-Conv x2(n)
  12. % --------------------------------------------------------
  13. N = 8;
  14. n1 = [0:N-1];
  15. x1 = [9, 4, -1, 4, -4, -1, 8, 3];
  16. N1 = length(x1);
  17.  
  18. n2 = [0:N-1];
  19. x2 = [-5, 6, 2, -7, -5, 2, 2, -2];
  20. N2 = length(x2);
  21.  
  22. sum_x1 = sum( x1( min(n1)+1 : max(n1)+1 ) )
  23. sum_x2 = sum( x2( min(n2)+1 : max(n2)+1 ) )
  24.  
  25. answer = sum_x1 * sum_x2
  26.  
  27. % --------------------------------------------
  28. % 1st way TIME domain
  29. % --------------------------------------------
  30. %N = 10;
  31. n = [0:N-1];
  32.  
  33. y1 = circonvt(x1, x2, N);
  34. sum_y1 = sum( y1( min(n)+1 : max(n)+1 ) )
  35.  
  36. % --------------------------------------------
  37. % 2nd way ---- circular conv(FREQ domain)
  38. % --------------------------------------------
  39. y2 = circonvf(x1, x2, N);
  40. sum_y2 = sum( y2( min(n)+1 : max(n)+1 ) )
  41.  
  42. % --------------------------------------------
  43. % 3rd way --- Cir Conv (Circulant Matrix)
  44. % --------------------------------------------
  45. y3 = circonvt_v3(x1, x2, N);
  46. sum_y3 = sum( y3( min(n)+1 : max(n)+1 ) )
  47.  
  48. figure('NumberTitle', 'off', 'Name', 'P5.29 x1(n) and x2(n)')
  49. set(gcf,'Color','white');
  50. subplot(2,1,1); stem(n1, x1);
  51. xlabel('n'); ylabel('x1(n)');
  52. title('x1(n) N=8'); grid on;
  53. subplot(2,1,2); stem(n2, x2);
  54. %axis([-N/2, N/2, -0.5, 50.5]);
  55. xlabel('n'); ylabel('x2(n)');
  56. title('x2(n) N=8'); grid on;
  57.  
  58. figure('NumberTitle', 'off', 'Name', 'P5.29 Cir-Conv, N=8')
  59. set(gcf,'Color','white');
  60. subplot(3,1,1); stem(n, y1);
  61. xlabel('n'); ylabel('y1(n)');
  62. title('Time Domain, y1(n)'); grid on;
  63. subplot(3,1,2); stem(n, y2);
  64. %axis([0, N, 0, 1]);
  65. xlabel('n'); ylabel('y2(n)');
  66. title('FREQ domain, y2(n)'); grid on;
  67. subplot(3,1,3); stem(n, y3);
  68. %axis([-N/2, N/2, -0.5, 50.5]);
  69. xlabel('n'); ylabel('y3(n)');
  70. title('Circulant Matrix, y3(n)'); grid on;

  运行结果:

圆周卷积结果,3种计算方法。

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

  1. 《DSP using MATLAB》Problem 8.30

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

  2. 《DSP using MATLAB》Problem 7.30

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

  3. 《DSP using MATLAB》Problem 7.23

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

  4. 《DSP using MATLAB》Problem 5.22

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

  5. 《DSP using MATLAB》Problem 5.20

    窗外的知了叽叽喳喳叫个不停,屋里温度应该有30°,伏天的日子难过啊! 频率域的方法来计算圆周移位 代码: 子函数的 function y = cirshftf(x, m, N) %% -------- ...

  6. 《DSP using MATLAB》Problem 3.8

    2018年元旦,他乡加班中,外面尽是些放炮的,别人的繁华与我无关. 代码: %% ----------------------------------------------------------- ...

  7. 《DSP using MATLAB》Problem 3.3

    按照题目的意思需要利用DTFT的性质,得到序列的DTFT结果(公式表示),本人数学功底太差,就不写了,直接用 书中的方法计算并画图. 代码: %% -------------------------- ...

  8. 《DSP using MATLAB》Problem 2.20

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

  9. 《DSP using MATLAB》Problem 2.14

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

随机推荐

  1. 这本小书的目的是引导你进入 React 和 Webpack 的世界。他们两个都是非常有用的技术,如果同时使用他们,前端开发会更加有趣。

    https://fakefish.github.io/react-webpack-cookbook/index.html

  2. UVa 10891 - Game of Sum 动态规划,博弈 难度: 0

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  3. js的event.preventDefault()与event.stopPropagation()

    event.preventDefault()用法介绍 该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作).例如,如果 type 属性是 "submit" ...

  4. ActiveMQ的安装与配置

    ActiveMQ的安装与配置详情 (1)ActiveMQ的简介 MQ: (message queue) ,消息队列,也就是用来处理消息的,(处理JMS的).主要用于大型企业内部或与企业之间的传递数据信 ...

  5. Java Swing 简单介绍

    Swing 是一个为Java设计的GUI工具包. Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表. Swing提供许多比AWT更好的屏幕 ...

  6. 每天CSS学习之top/left/right/bottom

    top:值域是数值或百分比,正负都可以.该值表示 距离顶部有多少像素.例如top:10px:即距离顶部10个像素. left/right/bottom与top如出一辙,只是方向不一样而已. 这些属性一 ...

  7. ng-table

    需要的文件: angular.js ng-table.js ng-table.css bootrasp.css 注入依赖: var app = angular.module('app', [ 'ngT ...

  8. 04 复制删除行为IDA反汇编

     (很久以前的学习记录,放到博客上来)   (IDA5.0版的不知道为何反汇编进去每一行被截断的景象,惨不忍睹......明明是个正版的.只好回来用拷过来的破解版,依然有一些叽里呱啦的问题,懒得管了, ...

  9. 201621123001 《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 字节流以字节为基本处理单位,字符流以字符为基本处理单位,以Reader和Writer为基础派生出的一系列类 字 ...

  10. Web 开发最有用的50款 jQuery 插件集锦——《内容滑块篇》

    http://www.cnblogs.com/lhb25/archive/2013/04/02/50-jquery-plugins-d.html responsive-carousel 是一个内容传送 ...