这段时间爬山去了,山中林密荆棘多,沟谷纵横,体力增强不少。

代码:

  1. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Problem 5.3 \n\n');
  5.  
  6. banner();
  7. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8.  
  9. % ------------------------------------------
  10. % 1 x1(n)=5sin(0.1pi*n) n=[0:19], N=40
  11. % ------------------------------------------
  12. L = 20; n = [0:L-1]; N = 40; k = [-N/2:N/2]; % wave parameters
  13. xn_1 = [5*sin(0.1*pi*n), zeros(1, N-L)];
  14. Xk_1 = dfs(xn_1, N); % DFS
  15. magXk = abs( [Xk_1(N/2+1 : N) Xk_1(1 : N/2+1)] ); % DFS magnitude
  16. angXk = angle( [Xk_1(N/2+1 : N) Xk_1(1 : N/2+1)] )/pi; % DFS angle
  17.  
  18. figure('NumberTitle', 'off', 'Name', 'P5.3 xn_1')
  19. set(gcf,'Color','white');
  20. stem([0:N-1], xn_1);
  21. xlabel('n'); ylabel('x(n)');
  22. title('xn1 sequence, N=40'); grid on;
  23.  
  24. %% ------------------------------------------------------
  25. %% DFS(k) of xn1 sequence
  26. %% ------------------------------------------------------
  27. figure('NumberTitle', 'off', 'Name', 'P5.3 DFS(k) of xn_1')
  28. set(gcf,'Color','white');
  29. subplot(2,1,1); stem(k, magXk); %axis([-N/2, N/2, -0.5, 50.5]);
  30. xlabel('k'); ylabel('magnitude(k)');
  31. title('DFS magnitude of xn1, N=40'); grid on;
  32. subplot(2,1,2); stem(k, angXk); %axis([-N/2, N/2, -0.5, 50.5]);
  33. xlabel('k'); ylabel('angle(k)');
  34. title('DFS angle of xn1, N=40'); grid on;
  35.  
  36. % ------------------------------------------
  37. % 2 x2(n)=5sin(0.1pi*n) n=[0:19], N=80
  38. % ------------------------------------------
  39. L = 20; n = [0:L-1]; N = 80; k = [-N/2:N/2]; % wave parameters
  40. xn_2 = [5*sin(0.1*pi*n), zeros(1, N-L)];
  41. Xk_2 = dfs(xn_2, N); % DFS
  42. magXk = abs( [Xk_2(N/2+1 : N) Xk_2(1 : N/2+1)] ); % DFS magnitude
  43. angXk = angle([Xk_2(N/2+1 : N) Xk_2(1 : N/2+1)] )/pi; % DFS angle
  44.  
  45. figure('NumberTitle', 'off', 'Name', 'P5.3 xn_2')
  46. set(gcf,'Color','white');
  47. stem([0:N-1], xn_2);
  48. xlabel('n'); ylabel('x(n)');
  49. title('xn2 sequence, N=80'); grid on;
  50.  
  51. %% ------------------------------------------------------
  52. %% DFS(k) of xn2 sequence
  53. %% ------------------------------------------------------
  54. figure('NumberTitle', 'off', 'Name', 'P5.3 DFS(k) of xn_2')
  55. set(gcf,'Color','white');
  56. subplot(2,1,1); stem(k, magXk); %axis([-N/2, N/2, -0.5, 50.5]);
  57. xlabel('k'); ylabel('magnitude(k)');
  58. title('DFS magnitude of xn2, N=80'); grid on;
  59. subplot(2,1,2); stem(k, angXk); %axis([-N/2, N/2, -0.5, 50.5]);
  60. xlabel('k'); ylabel('angle(k)');
  61. title('DFS angle of xn2, N=80'); grid on;

  运行结果:

这两个序列的基本周期不同,但是二者非零元素值相同。x2(n)相当于在x1的末尾进行补零操作,加了40个零。

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

  1. 《DSP using MATLAB》Problem 7.27

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

  2. 《DSP using MATLAB》Problem 7.26

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

  3. 《DSP using MATLAB》Problem 7.25

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

  4. 《DSP using MATLAB》Problem 7.24

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

  5. 《DSP using MATLAB》Problem 7.23

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

  6. 《DSP using MATLAB》Problem 7.16

    使用一种固定窗函数法设计带通滤波器. 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

  7. 《DSP using MATLAB》Problem 7.15

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

  8. 《DSP using MATLAB》Problem 7.14

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

  9. 《DSP using MATLAB》Problem 7.13

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

  10. 《DSP using MATLAB》Problem 7.12

    阻带衰减50dB,我们选Hamming窗 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

随机推荐

  1. Win10系列:JavaScript 模板绑定

    WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控 ...

  2. awk计算最大值,最小值,平均值的脚本

    传入至少三个数字参数到脚本awk_file,并计算出最大,最小,平均值.需要判断传入的数字是否足够,否则输出警告信息.平均值保留两位小数. 如执行bash awk_file 3 4 6 5,脚本输出结 ...

  3. SpringMVC解析Json字符串

    不同第三方jar对json串的解析效果不同. 1. json包 <dependency> <groupId>org.json</groupId> <artif ...

  4. jmeter4.0 源码编译 二次开发

    准备: 1.jmeter4.0源码 - apache-jmeter-4.0_src.zip 2.IDE Eclipse - Oxygen.3 Release (4.7.3) 3.JDK - 1.8.0 ...

  5. 玩转X-CTR100 l STM32F4 l VIN输入电压采集(锂电池电量计)

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 采集VIN ...

  6. java Dom4j xml 写

    手动拼接xml 并返回 依赖包 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</ ...

  7. Python如何操作redis

    做UI自动化时,遇到一个问题,需要在后台操作完成后,产生结果才能在前端进行操作,但是用自动化在后台操作又很麻烦,就想直接操作数据库,然后再 在前端进行操作:这时遇到一个问题,在后台操作时,会写入到数据 ...

  8. YLZ开发后端外网编写

    如何取得前端的值并做处理 // 调用ESB来获取Ajaxpagerespon获得审核记录 @RequestMapping(value = "/queryBydwId", metho ...

  9. [SpringMVC-值传递] 初始SpringMVC--SpringMVC中的值传递

    把页面中输入的值传递到后台以及后台向前台传递,有以下几种方式 这里以登录为例子,实现打印前端页面的值 1,新建一个控制器,根据不同的请求地址实现不同的请求方式 LoginController.java ...

  10. 转-Asynchronous bulk transfer using libusb

    https://falsinsoft.blogspot.jp/2015/02/asynchronous-bulk-transfer-using-libusb.html The 'linusb' is ...