代码:

  1. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Problem 5.22 \n\n');
  5.  
  6. banner();
  7. %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  8.  
  9. % -------------------------------------------------------------------
  10. % 512-point DFT of a real-valued sequence x(n)
  11. %
  12. % -------------------------------------------------------------------
  13. k = [0:511];
  14. Xk_DFT = [zeros(1, 512)];
  15.  
  16. Xk_DFT(0+1) = 20; Xk_DFT(5+1) = 20+j*30; Xk_DFT(32+1) = -10+j*15; Xk_DFT(152+1) = 17+j*23;
  17. Xk_DFT(256+1) = 30; Xk_DFT(360+1) = 17-j*23; Xk_DFT(480+1) = -10-j*15; Xk_DFT(507+1) = 20-j*30;
  18.  
  19. N = length(Xk_DFT);
  20.  
  21. magXk_DFT = abs( [ Xk_DFT ] ); % DFT magnitude
  22. angXk_DFT = angle( [Xk_DFT] )/pi; % DFT angle
  23. realXk_DFT = real(Xk_DFT);
  24. imagXk_DFT = imag(Xk_DFT);
  25.  
  26. EXk = sum(abs(Xk_DFT).^2)/N
  27.  
  28. x = real(idft(Xk_DFT, N));
  29. n = [0:N-1];
  30.  
  31. figure('NumberTitle', 'off', 'Name', 'P5.22 X(k), DFT of x(n)')
  32. set(gcf,'Color','white');
  33. subplot(2,2,1); stem(k, magXk_DFT);
  34. xlabel('k'); ylabel('magnitude(k)');
  35. title('magnitude DFT of x(n), N=512'); grid on;
  36. subplot(2,2,3); stem(k, angXk_DFT);
  37. %axis([-N/2, N/2, -0.5, 50.5]);
  38. xlabel('k'); ylabel('angle(k)');
  39. title('angle DFT of x(n), N=512'); grid on;
  40. subplot(2,2,2); stem(k, realXk_DFT);
  41. xlabel('k'); ylabel('real (k)');
  42. title('real DFT of x(n), N=512'); grid on;
  43. subplot(2,2,4); stem(k, imagXk_DFT);
  44. %axis([-N/2, N/2, -0.5, 50.5]);
  45. xlabel('k'); ylabel('imag (k)');
  46. title('imag DFT of x(n), N=512'); grid on;
  47.  
  48. figure('NumberTitle', 'off', 'Name', 'P5.22 x(n)')
  49. set(gcf,'Color','white');
  50. %subplot(3,1,1);
  51. stem(n, x);
  52. xlabel('n'); ylabel('x(n)');
  53. title('x(n), N=512'); grid on;

  运行结果:

把alpha beta, k1、k2、k3求出来后,得知512点DFT有8个点不为零,如下图

进行IDFT,得到时间域序列x(n)

时间信号的能量

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

  1. 《DSP using MATLAB》Problem 6.22

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

  2. 《DSP using MATLAB》 Problem 3.22

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

  3. 《DSP using MATLAB》Problem 8.22

    时光飞逝,亲朋会一个一个离我们远去,孤独漂泊一阵子后,我们自己也要离开, 代码: %% -------------------------------------------------------- ...

  4. 《DSP using MATLAB》Problem 7.25

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

  5. 《DSP using MATLAB》Problem 3.1

    先写DTFT子函数: function [X] = dtft(x, n, w) %% --------------------------------------------------------- ...

  6. 《DSP using MATLAB》Problem 7.29

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

  7. 《DSP using MATLAB》Problem 7.27

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

  8. 《DSP using MATLAB》Problem 7.26

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

  9. 《DSP using MATLAB》Problem 7.24

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

随机推荐

  1. linux系统管理 计划任务

    一次性计划任务 命令: at 语法: at [-f 文件名] 时间 绝对计时方法 HH:MM yyyy-MM-dd 相对计时方法 now + n minutes now+n hours now + n ...

  2. NOIP2018复赛获奖分数线及名额分配办法

    中国计算机学会CCF NOI科学委员会.竞赛委员会召开会议,确定了CCF NOIP2018复赛获奖分数线及获奖名额分配方案. 提高组一等奖名额分配方案 提高组一等奖全国基准分数线: 245分 CCF ...

  3. day044 cssy其他样式 js初识

    float: 浮动 .t1{ float: right/left; } 关于浮动的两个特点: 1.浮动的框可以向左或向右移动,知道他的外边缘碰到包括框或另一个浮动框的边框为止. 2.由于浮动框不在文档 ...

  4. JAVA设计模式(二)工厂模式

    在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一 ...

  5. 每天CSS学习之color

    color意为颜色,其作用是设置字体的颜色. 设置颜色的方式有以下几种: 1.使用颜色单词,如:red: 2.使用十六进制,如:#FFFFFF: 3.使用rgb(255,0,0); 让我们来实践一下, ...

  6. angular4-注入服务

    //配置已创建的服务:import { MemberService } from "./member.service";@NgModule({ // ... providers: ...

  7. JavaScript操作BOM对象

    1)windows对象 浏览器对象模型(BOM :Browser  Object  Model)是JavaScript的组成之一,它提供了独立于内容与浏览 器窗口进行交互的对象,使用浏览器对象模型可以 ...

  8. 第一篇 入门必备 (Android学习笔记)

    第一篇 入门必备 第1章 初识Android 第2章 搭建你的开发环境 第3章 创建第一个程序--HelloWorld 第4章 使用Android工具   ●Android之父 Android安迪·罗 ...

  9. 2.12 C++ explicit关键字详解

    参考:http://www.cnblogs.com/ymy124/p/3632634.html 总结: 带参数的构造函数中有两种比较常见的构造函数:拷贝构造函数和转型构造函数. 转型构造函数只有一个参 ...

  10. 第三节 java 数组

    一维数组: 同一种类型数据的集合,其实数组就是一个容器. 好处: 可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1: 元素类型[]  数组名 = new 元素类型 [元素个数或者元素长度 ...