《DSP using MATLAB》Problem 5.22
代码:
- %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- %% Output Info about this m-file
- fprintf('\n***********************************************************\n');
- fprintf(' <DSP using MATLAB> Problem 5.22 \n\n');
- banner();
- %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- % -------------------------------------------------------------------
- % 512-point DFT of a real-valued sequence x(n)
- %
- % -------------------------------------------------------------------
- k = [0:511];
- Xk_DFT = [zeros(1, 512)];
- 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;
- 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;
- N = length(Xk_DFT);
- magXk_DFT = abs( [ Xk_DFT ] ); % DFT magnitude
- angXk_DFT = angle( [Xk_DFT] )/pi; % DFT angle
- realXk_DFT = real(Xk_DFT);
- imagXk_DFT = imag(Xk_DFT);
- EXk = sum(abs(Xk_DFT).^2)/N
- x = real(idft(Xk_DFT, N));
- n = [0:N-1];
- figure('NumberTitle', 'off', 'Name', 'P5.22 X(k), DFT of x(n)')
- set(gcf,'Color','white');
- subplot(2,2,1); stem(k, magXk_DFT);
- xlabel('k'); ylabel('magnitude(k)');
- title('magnitude DFT of x(n), N=512'); grid on;
- subplot(2,2,3); stem(k, angXk_DFT);
- %axis([-N/2, N/2, -0.5, 50.5]);
- xlabel('k'); ylabel('angle(k)');
- title('angle DFT of x(n), N=512'); grid on;
- subplot(2,2,2); stem(k, realXk_DFT);
- xlabel('k'); ylabel('real (k)');
- title('real DFT of x(n), N=512'); grid on;
- subplot(2,2,4); stem(k, imagXk_DFT);
- %axis([-N/2, N/2, -0.5, 50.5]);
- xlabel('k'); ylabel('imag (k)');
- title('imag DFT of x(n), N=512'); grid on;
- figure('NumberTitle', 'off', 'Name', 'P5.22 x(n)')
- set(gcf,'Color','white');
- %subplot(3,1,1);
- stem(n, x);
- xlabel('n'); ylabel('x(n)');
- title('x(n), N=512'); grid on;
运行结果:
把alpha beta, k1、k2、k3求出来后,得知512点DFT有8个点不为零,如下图
进行IDFT,得到时间域序列x(n)
时间信号的能量
《DSP using MATLAB》Problem 5.22的更多相关文章
- 《DSP using MATLAB》Problem 6.22
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》 Problem 3.22
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 《DSP using MATLAB》Problem 8.22
时光飞逝,亲朋会一个一个离我们远去,孤独漂泊一阵子后,我们自己也要离开, 代码: %% -------------------------------------------------------- ...
- 《DSP using MATLAB》Problem 7.25
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 3.1
先写DTFT子函数: function [X] = dtft(x, n, w) %% --------------------------------------------------------- ...
- 《DSP using MATLAB》Problem 7.29
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.27
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.26
注意:高通的线性相位FIR滤波器,不能是第2类,所以其长度必须为奇数.这里取M=31,过渡带里采样值抄书上的. 代码: %% +++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.24
又到清明时节,…… 注意:带阻滤波器不能用第2类线性相位滤波器实现,我们采用第1类,长度为基数,选M=61 代码: %% +++++++++++++++++++++++++++++++++++++++ ...
随机推荐
- linux系统管理 计划任务
一次性计划任务 命令: at 语法: at [-f 文件名] 时间 绝对计时方法 HH:MM yyyy-MM-dd 相对计时方法 now + n minutes now+n hours now + n ...
- NOIP2018复赛获奖分数线及名额分配办法
中国计算机学会CCF NOI科学委员会.竞赛委员会召开会议,确定了CCF NOIP2018复赛获奖分数线及获奖名额分配方案. 提高组一等奖名额分配方案 提高组一等奖全国基准分数线: 245分 CCF ...
- day044 cssy其他样式 js初识
float: 浮动 .t1{ float: right/left; } 关于浮动的两个特点: 1.浮动的框可以向左或向右移动,知道他的外边缘碰到包括框或另一个浮动框的边框为止. 2.由于浮动框不在文档 ...
- JAVA设计模式(二)工厂模式
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的.但是在一些情况下, new操作符直接生成对象会带来一些问题.举例来说, 许多类型对象的创造需要一 ...
- 每天CSS学习之color
color意为颜色,其作用是设置字体的颜色. 设置颜色的方式有以下几种: 1.使用颜色单词,如:red: 2.使用十六进制,如:#FFFFFF: 3.使用rgb(255,0,0); 让我们来实践一下, ...
- angular4-注入服务
//配置已创建的服务:import { MemberService } from "./member.service";@NgModule({ // ... providers: ...
- JavaScript操作BOM对象
1)windows对象 浏览器对象模型(BOM :Browser Object Model)是JavaScript的组成之一,它提供了独立于内容与浏览 器窗口进行交互的对象,使用浏览器对象模型可以 ...
- 第一篇 入门必备 (Android学习笔记)
第一篇 入门必备 第1章 初识Android 第2章 搭建你的开发环境 第3章 创建第一个程序--HelloWorld 第4章 使用Android工具 ●Android之父 Android安迪·罗 ...
- 2.12 C++ explicit关键字详解
参考:http://www.cnblogs.com/ymy124/p/3632634.html 总结: 带参数的构造函数中有两种比较常见的构造函数:拷贝构造函数和转型构造函数. 转型构造函数只有一个参 ...
- 第三节 java 数组
一维数组: 同一种类型数据的集合,其实数组就是一个容器. 好处: 可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1: 元素类型[] 数组名 = new 元素类型 [元素个数或者元素长度 ...