《DSP using MATLAB》Problem 5.34
2024-09-30 07:41:24
第1小题
代码:
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%% Output Info about this m-file
fprintf('\n***********************************************************\n');
fprintf(' <DSP using MATLAB> Problem 5.34 \n\n'); banner();
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ % -------------------------------------------------------------------------------------
% X(k) is DFTs of real-valued sequence x(n)
% x(n)=A*cos(2*pi*l*n/N) n=[0:N-1]
%
% 1 x1(n) = 3cos(0.04*pi*n) n=[0:200-1]
% -------------------------------------------------------------------------------------
N = 200; l = 2;
n1 = [0:N-1];
x1 = 3*cos(2*pi*l*n1/100); figure('NumberTitle', 'off', 'Name', 'P5.34.1 x(n), N=200')
set(gcf,'Color','white');
stem(n1, x1);
xlabel('n'); ylabel('x(n)');
title('x(n)=3cos(0.04*pi*n)'); 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.34.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.34.1 real X(k), N=200')
set(gcf,'Color','white');
stem(k1, realXk_DFT);
xlabel('k'); ylabel('real (k)');
title('real DFT of x(n)'); grid on;
运行结果:
N=200个样点共包含4个周期:
序列的DFT
DFT的实部序列
由上图可知,有两条孤立谱线,位于k=L=4和k=N-L=200-4=196处,幅度值AN/2=3×200/2=300。
最新文章
- JavaScript常用字符串操作方法总结
- git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode.
- VHDL的参数写在一个vhd文件里
- Bowtie2
- Mybatis 学习-3
- des算法的C#实现
- EXCEL 操作
- 自定义Dictionary支持线程安全
- j2ee学习笔记 Filter过滤器
- IE的@cc_on条件编译
- HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误 #Reprinted#
- setTranslucent
- Spring-bean作用域scope详解
- Animate与transform的使用
- Python 猜数游戏
- Alienware R8外星人台式机安装双系统(WIN10+Ubuntu)的总结
- <;c:forEach>;可以默认的把以逗号分隔的字符串作为一个集合来遍历
- java类文件
- C#中的readonly跟const用法小结
- json包
热门文章
- Vue 全家桶
- 【原创】连接数据库MySQL,读取、显示、修改数据
- Springboot+MyBatis+mysql+jsp页面跳转详细示例
- 关于makefile的生成原理以及make相关命令的使用
- 进阶ES6 点滴认知
- LINQ(数据库操作增、删、改及并发管理)
- uiautomator2 获取APP Toast内容
- 1.横向滚动条,要设置两个div包裹. 2. 点击切换视频或者图片. overflow . overflow-x
- 解决 java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L的问题
- python day12 ——1.生成器2.生成器表达式 3.列表推导式