代码:

  1. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Problem 5.7 \n\n');
  5.  
  6. banner();
  7. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8.  
  9. % --------------------------------------------------
  10. % 1 x(n) = [ 2,4,6,1,3,5 ] N--period
  11. % |
  12. % --------------------------------------------------
  13. x = [2, 4, 6, 1, 3, 5]; N = 6; n = [0 : N-1]; % periodic sequence with period N
  14. y = x( mod(-n, N)+1 ); % circular fold
  15.  
  16. figure('NumberTitle', 'off', 'Name', 'P5.7 x(n) and x(-n)')
  17. set(gcf,'Color','white');
  18. subplot(2,1,1); stem(n, x);
  19. xlabel('n'); ylabel('x(n)');
  20. title('$\tilde x(n) sequence, period N=6$', 'interpreter', 'latex', 'fontsize', 14); grid on;
  21. subplot(2,1,2); stem(n, y);
  22. xlabel('n'); ylabel('y(n)');
  23. title('x(-n) sequence'); grid on;
  24.  
  25. %% ------------------------------------------------------------------
  26. %% DFS(k) of xn sequence, k=[0:N-1], N=6
  27. %% ------------------------------------------------------------------
  28. k1 = [0 : length(x)-1];
  29. %k2 = [-N : N-1];
  30. %k3 = [-N/2 : N/2];
  31. Xk_1 = dfs(x, N); % DFS
  32. magXk = abs( [ Xk_1 ] ); % DFS magnitude
  33. angXk = angle( [Xk_1] )/pi; % DFS angle
  34.  
  35. figure('NumberTitle', 'off', 'Name', 'P5.7 DFS(k) of x(n)')
  36. set(gcf,'Color','white');
  37. subplot(2,1,1); stem(k1, magXk); %axis([-N/2, N/2, -0.5, 50.5]);
  38. xlabel('k'); ylabel('magnitude(k)');
  39. title('DFS magnitude of x(n), N=6'); grid on;
  40. subplot(2,1,2); stem(k1, angXk); %axis([-N/2, N/2, -0.5, 50.5]);
  41. xlabel('k'); ylabel('angle(k)');
  42. title('DFS angle of x(n), N=6'); grid on;
  43.  
  44. %% ------------------------------------------------------------------
  45. %% DFS(k) of yn sequence, k=[0:N-1], N=6
  46. %% ------------------------------------------------------------------
  47. k1 = [0 : length(y)-1];
  48. %k2 = [-N : N-1];
  49. %k3 = [-N/2 : N/2];
  50. Yk_1 = dfs(y, N); % DFS
  51. magYk = abs( [ Yk_1 ] ); % DFS magnitude
  52. angYk = angle( [Yk_1] )/pi; % DFS angle
  53.  
  54. figure('NumberTitle', 'off', 'Name', 'P5.7 DFS(k) of y(n)')
  55. set(gcf,'Color','white');
  56. subplot(2,1,1); stem(k1, magYk); %axis([-N/2, N/2, -0.5, 50.5]);
  57. xlabel('k'); ylabel('magnitude(k)');
  58. title('DFS magnitude of y(n), N=6'); grid on;
  59. subplot(2,1,2); stem(k1, angYk); %axis([-N/2, N/2, -0.5, 50.5]);
  60. xlabel('k'); ylabel('angle(k)');
  61. title('DFS angle of y(n), N=6'); grid on;

  运行结果:

周期序列及其圆周折叠序列:

原始序列的DFS系数

圆周折叠序列的DFS系数

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

  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系列:VC++媒体播放

    媒体播放包括视频播放和音频播放,在开发Windows应用商店应用的过程中可以使用MediaElement控件来播放视频文件和音频文件.本节将通过一个具体的示例介绍如何使用MediaElement控件来 ...

  2. Flatten Nested List Iterator

    Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...

  3. Java 将图片转成base64,传到前台展示

    后台代码: public String getBase64(SysFile sysFile){ String imgStr = ""; try { File file = new ...

  4. 对FPGA的时钟资源理解(更新中)

    7系列FPGA中包含了多达24个CMT(时钟管理单元)(实际上V7常见只有20个),MMCM和PLL均为时钟综合器,对外部输入时钟.内部时钟进行处理,生成需要的低抖动时钟.PLL是MMCM的功能子集, ...

  5. Centos7部署kubernetes API服务(四)

    1.准备软件包 [root@linux-node1 bin]# pwd /usr/local/src/kubernetes/server/bin [root@linux-node1 bin]# cp ...

  6. UGUI动态绑定事件

    using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine. ...

  7. <Spark><Introduction to Spark>

    What Is Apache Spark? 速度方面:Spark扩展了MapReduce模型,可以更高效地提供多种类型的计算,包括交互式查询和流处理.Spark为speed所提供的最大能力就是内存计算 ...

  8. REST easy with kbmMW #16 – Multiple servers using HTTP.sys transport

    前文写过使用HTTP.sys转输层(TkbmMWHTTPSysServerTransport),实现一个kbmMW应用服务器. 如果在一台服务器上,同时运行多个,基于TkbmMWHTTPSysServ ...

  9. python day05作业

  10. wx小程序入门&坑

    1.腾讯云的nodejs版服务代码,在本地用吹cnpm install安装依赖之后,初始化数据库不成功: 换成npm install 并 npm run initdb 之后 可以了.... 2.屏蔽页 ...