第1小题

代码:

  1. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Problem 5.36 \n\n');
  5.  
  6. banner();
  7. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8.  
  9. % -------------------------------------------------------------------------------------
  10. % X(k) is DFTs of real-valued sequence x(n)
  11. % x(n)=A*sin(2*pi*l*n/N) n=[0:N-1]
  12. %
  13. % 1 x1(n) = 3sin(0.04*pi*n) n=[0:200-1]
  14. % -------------------------------------------------------------------------------------
  15. N = 200; l = 2;
  16. n1 = [0:N-1];
  17. x1 = 3*sin(2*pi*l*n1/100);
  18.  
  19. figure('NumberTitle', 'off', 'Name', 'P5.36.1 x(n), N=200')
  20. set(gcf,'Color','white');
  21. stem(n1, x1);
  22. xlabel('n'); ylabel('x(n)');
  23. title('x(n)=3sin(0.04\pin)'); grid on;
  24.  
  25. k1 = [0:N-1];
  26. Xk_DFT = fft(x1, N);
  27. N1 = length(Xk_DFT); % length
  28.  
  29. magXk_DFT = abs( [ Xk_DFT ] ); % DFT magnitude
  30. angXk_DFT = angle( [Xk_DFT] )/pi; % DFT angle
  31. realXk_DFT = real(Xk_DFT); imagXk_DFT = imag(Xk_DFT);
  32.  
  33. figure('NumberTitle', 'off', 'Name', 'P5.36.1 X(k), DFT of x(n) N=200')
  34. set(gcf,'Color','white');
  35. subplot(2,2,1); stem(k1, magXk_DFT);
  36. xlabel('k'); ylabel('magnitude(k)');
  37. title('magnitude DFT of x(n)'); grid on;
  38. subplot(2,2,3); stem(k1, angXk_DFT);
  39. %axis([-N/2, N/2, -0.5, 50.5]);
  40. xlabel('k'); ylabel('angle(k)');
  41. title('angle DFT of x(n)'); grid on;
  42. subplot(2,2,2); stem(k1, realXk_DFT);
  43. xlabel('k'); ylabel('real (k)');
  44. title('real DFT of x(n)'); grid on;
  45. subplot(2,2,4); stem(k1, imagXk_DFT);
  46. %axis([-N/2, N/2, -0.5, 50.5]);
  47. xlabel('k'); ylabel('imag (k)');
  48. title('imag DFT of x(n)'); grid on;
  49.  
  50. figure('NumberTitle', 'off', 'Name', 'P5.36.1 Imagnary X(k), N=200')
  51. set(gcf,'Color','white');
  52. stem(k1, imagXk_DFT);
  53. xlabel('k'); ylabel('imag (k)');
  54. title('imag DFT of x(n)'); grid on;

  运行结果:

200个样点包含4个周期,

序列的DFT

DFT序列的虚部,范围[0:N-1]。

DFT序列的实部和虚部,范围[-N:N-1]。

DFT序列的实部和虚部,范围[-N/2:N/2-1]。

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

  1. 《DSP using MATLAB》Problem 8.36

    上代码: function [wpLP, wsLP, alpha] = lp2lpfre(wplp, wslp) % Band-edge frequency conversion from lowpa ...

  2. 《DSP using MATLAB》Problem 7.36

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

  3. 《DSP using MATLAB》Problem 4.15

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

  4. 《DSP using MATLAB》Problem 7.27

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

  5. 《DSP using MATLAB》Problem 7.26

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

  6. 《DSP using MATLAB》Problem 7.25

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

  7. 《DSP using MATLAB》Problem 7.24

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

  8. 《DSP using MATLAB》Problem 7.23

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

  9. 《DSP using MATLAB》Problem 7.16

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

随机推荐

  1. Android Studio2.1版本后使用虚拟机碰见的问题总结以及其他问题

    一.androidstudio的sdk配置问题 如果点击Start a new Android Studio project是没有反应的,并且在Configure下面的SDK Manager是灰色的, ...

  2. Oracle 12c的自增列Identity Columns

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

  3. Express工作原理和源码分析一:创建路由

    Express是一基于Node的一个框架,用来快速创建Web服务的一个工具,为什么要使用Express呢,因为创建Web服务如果从Node开始有很多繁琐的工作要做,而Express为你解放了很多工作, ...

  4. python中的argparse模块(参数解析)

    import argparseparse = argparse.ArgumentParser()parse.add_argument("a", help="params ...

  5. DevExpress WinForms v18.2新版亮点(二)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v1 ...

  6. Codeforces Round #485 (Div. 2) C题求三元组(思维)

    C. Three displays time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  7. Linux文件系统命令 mkdir/rmdir

    命令名:mkdir 功能:创建一个文件夹,和touch的区别是,touch是创建一个文件,后面可以跟绝对路径和相对路径 eg: mkdir ren 命令名:rmdir 功能:删除一个文件夹

  8. 20165326 学习基础和c语言基础调查

    学习基础和c语言基础调查 一.关于个人技能 阅读了娄老师关于做中学的文章,我想起了自己之前学习技能的经历. 从小到大我学过的东西不少,除学校的教育课程外,我还参加过各种兴趣班,书法.绘画.舞蹈.吉他. ...

  9. MFC 关于new出一个新对话框时,退出对话框内存泄漏的问题解决

    问题: 在进行点击按钮弹出对话框时,我是用了new来生成一个新的对话框,但是在新对话框关闭的时候,经过检查发现,新对话框存在内存泄漏问题. 原因: 因为使用了new,但是当时没有找到地方进行delet ...

  10. js编写轮播图,广告弹框

    1.轮播图 js编写轮播图,需要用到setInterval(计时器):先给一个div,里面放轮播图的图片,将轮播图的图片明明为相同样式的:如:banner1.jpg,banner2.jpg,banne ...