《DSP using MATLAB》Problem 5.36
第1小题
代码:
- %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- %% Output Info about this m-file
- fprintf('\n***********************************************************\n');
- fprintf(' <DSP using MATLAB> Problem 5.36 \n\n');
- banner();
- %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- % -------------------------------------------------------------------------------------
- % X(k) is DFTs of real-valued sequence x(n)
- % x(n)=A*sin(2*pi*l*n/N) n=[0:N-1]
- %
- % 1 x1(n) = 3sin(0.04*pi*n) n=[0:200-1]
- % -------------------------------------------------------------------------------------
- N = 200; l = 2;
- n1 = [0:N-1];
- x1 = 3*sin(2*pi*l*n1/100);
- figure('NumberTitle', 'off', 'Name', 'P5.36.1 x(n), N=200')
- set(gcf,'Color','white');
- stem(n1, x1);
- xlabel('n'); ylabel('x(n)');
- title('x(n)=3sin(0.04\pin)'); grid on;
- k1 = [0:N-1];
- Xk_DFT = fft(x1, N);
- N1 = length(Xk_DFT); % length
- 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);
- figure('NumberTitle', 'off', 'Name', 'P5.36.1 X(k), DFT of x(n) N=200')
- set(gcf,'Color','white');
- subplot(2,2,1); stem(k1, magXk_DFT);
- xlabel('k'); ylabel('magnitude(k)');
- title('magnitude DFT of x(n)'); grid on;
- subplot(2,2,3); stem(k1, angXk_DFT);
- %axis([-N/2, N/2, -0.5, 50.5]);
- xlabel('k'); ylabel('angle(k)');
- title('angle DFT of x(n)'); grid on;
- subplot(2,2,2); stem(k1, realXk_DFT);
- xlabel('k'); ylabel('real (k)');
- title('real DFT of x(n)'); grid on;
- subplot(2,2,4); stem(k1, imagXk_DFT);
- %axis([-N/2, N/2, -0.5, 50.5]);
- xlabel('k'); ylabel('imag (k)');
- title('imag DFT of x(n)'); grid on;
- figure('NumberTitle', 'off', 'Name', 'P5.36.1 Imagnary X(k), N=200')
- set(gcf,'Color','white');
- stem(k1, imagXk_DFT);
- xlabel('k'); ylabel('imag (k)');
- 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的更多相关文章
- 《DSP using MATLAB》Problem 8.36
上代码: function [wpLP, wsLP, alpha] = lp2lpfre(wplp, wslp) % Band-edge frequency conversion from lowpa ...
- 《DSP using MATLAB》Problem 7.36
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 4.15
只会做前两个, 代码: %% ---------------------------------------------------------------------------- %% Outpu ...
- 《DSP using MATLAB》Problem 7.27
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.26
注意:高通的线性相位FIR滤波器,不能是第2类,所以其长度必须为奇数.这里取M=31,过渡带里采样值抄书上的. 代码: %% +++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.25
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.24
又到清明时节,…… 注意:带阻滤波器不能用第2类线性相位滤波器实现,我们采用第1类,长度为基数,选M=61 代码: %% +++++++++++++++++++++++++++++++++++++++ ...
- 《DSP using MATLAB》Problem 7.23
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output Info a ...
- 《DSP using MATLAB》Problem 7.16
使用一种固定窗函数法设计带通滤波器. 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
随机推荐
- Android Studio2.1版本后使用虚拟机碰见的问题总结以及其他问题
一.androidstudio的sdk配置问题 如果点击Start a new Android Studio project是没有反应的,并且在Configure下面的SDK Manager是灰色的, ...
- Oracle 12c的自增列Identity Columns
在Oracle的12c版本中,Oracle实现了类似MySQL中的auto_increment的自增列,下面我们看一起Oracle是怎么实现的. Oracle Database 12c Enterpr ...
- Express工作原理和源码分析一:创建路由
Express是一基于Node的一个框架,用来快速创建Web服务的一个工具,为什么要使用Express呢,因为创建Web服务如果从Node开始有很多繁琐的工作要做,而Express为你解放了很多工作, ...
- python中的argparse模块(参数解析)
import argparseparse = argparse.ArgumentParser()parse.add_argument("a", help="params ...
- DevExpress WinForms v18.2新版亮点(二)
行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v1 ...
- Codeforces Round #485 (Div. 2) C题求三元组(思维)
C. Three displays time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- Linux文件系统命令 mkdir/rmdir
命令名:mkdir 功能:创建一个文件夹,和touch的区别是,touch是创建一个文件,后面可以跟绝对路径和相对路径 eg: mkdir ren 命令名:rmdir 功能:删除一个文件夹
- 20165326 学习基础和c语言基础调查
学习基础和c语言基础调查 一.关于个人技能 阅读了娄老师关于做中学的文章,我想起了自己之前学习技能的经历. 从小到大我学过的东西不少,除学校的教育课程外,我还参加过各种兴趣班,书法.绘画.舞蹈.吉他. ...
- MFC 关于new出一个新对话框时,退出对话框内存泄漏的问题解决
问题: 在进行点击按钮弹出对话框时,我是用了new来生成一个新的对话框,但是在新对话框关闭的时候,经过检查发现,新对话框存在内存泄漏问题. 原因: 因为使用了new,但是当时没有找到地方进行delet ...
- js编写轮播图,广告弹框
1.轮播图 js编写轮播图,需要用到setInterval(计时器):先给一个div,里面放轮播图的图片,将轮播图的图片明明为相同样式的:如:banner1.jpg,banner2.jpg,banne ...