代码:

%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%% Output Info about this m-file
fprintf('\n***********************************************************\n');
fprintf(' <DSP using MATLAB> Problem 5.8 \n\n'); banner();
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ % -------------------------------------------------------
% 1 x(n) = sinc^2[(n-50)/2] n=[0:100]
% = 0 else
% -------------------------------------------------------
N = 101; n = [0 : N-1];
x = sinc((n-50)/2) .* sinc((n-50)/2); % sequence
x1 = [x, zeros(1,20)]; % padding zeros
n1 = [0 : length(x1)-1]; figure('NumberTitle', 'off', 'Name', 'P5.8 x(n) and x1(n)')
set(gcf,'Color','white');
subplot(2,1,1); stem(n, x);
xlabel('n'); ylabel('x(n)');
title('x(n) sequence'); grid on;
subplot(2,1,2); stem(n1, x1);
xlabel('n'); ylabel('x1(n)');
title('x1(n) sequence'); grid on; %% =============================================================================
%% DTFT X(w) of xn sequence, w=[0:2pi],
%% =============================================================================
MM = 500;
[Xw_DTFT, w] = dtft1(x, n, MM); magXw_DTFT = abs(Xw_DTFT); angXw_DTFT = angle(Xw_DTFT)/pi;
realXw_DTFT = real(Xw_DTFT); imagXw_DTFT = imag(Xw_DTFT); %% --------------------------------------------------------------
%% START X_DTFT's mag ang real imag
%% --------------------------------------------------------------
figure('NumberTitle', 'off', 'Name', 'P5.8 X(w) DTFT of x(n)');
set(gcf,'Color','white');
subplot(2,2,1); plot(w/pi,magXw_DTFT); grid on; % axis([-2,2,0,15]);
title('Magnitude Part');
xlabel('frequency in \pi units'); ylabel('Magnitude |X\_DTFT|');
subplot(2,2,3); plot(w/pi, angXw_DTFT); grid on; % axis([-2,2,-1,1]);
title('Angle Part');
xlabel('frequency in \pi units'); ylabel('Rad \pi'); %axis([-200,200,0,2]); subplot('2,2,2'); plot(w/pi, realXw_DTFT); grid on;
title('Real Part');
xlabel('frequency in \pi units'); ylabel('Real');
subplot('2,2,4'); plot(w/pi, imagXw_DTFT); grid on;
title('Imaginary Part');
xlabel('frequency in \pi units'); ylabel('Imaginary');
%% --------------------------------------------------------------
%% END X_DTFT's mag ang real imag
%% -------------------------------------------------------------- %% ------------------------------------------------------------------
%% DFT(k) of xn sequence, k=[0:N-1], N=101
%% w=2pi*k/N k=Nw/(2pi)
%% ------------------------------------------------------------------
k1 = [0 : length(x)-1];
%k2 = [-N : N-1];
%k3 = [-N/2 : N/2];
Xk_DFT = dft(x, N); % 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); figure('NumberTitle', 'off', 'Name', 'P5.8 DFT(k) of x(n)')
set(gcf,'Color','white');
subplot(2,1,1); stem(k1, magXk_DFT); hold on; plot(N*w/(2*pi), magXw_DTFT,'r--'); hold off;
%axis([-N/2, N/2, -0.5, 50.5]);
xlabel('k'); ylabel('magnitude(k)');
title('DFT magnitude of x(n), N=101'); grid on;
subplot(2,1,2); stem(k1, angXk_DFT); hold on; plot(N*w/(2*pi), angXw_DTFT,'r--'); hold off;
%axis([-N/2, N/2, -0.5, 50.5]);
xlabel('k'); ylabel('angle(k)');
title('DFT angle of x(n), N=101'); grid on;

  运行结果:

最新文章

  1. 复制SharePoint列表项(SPListItem)到另一个列表
  2. Android数据库升级
  3. UE3植被工具-支持刷Actor)
  4. C语言中的++和--
  5. Spring MVC返回对象JSON
  6. 解决VS 于 致命错误 RC1015: 无法打开包含文件 &amp;#39;afxres.h&amp;#39; 问题
  7. hdu1060 Leftmost Digit---求N的N次方的首位(对数)
  8. XML 和 java对象相互转换
  9. 教你编写百度搜索广告过滤的chrome插件
  10. 利用web of science做论文综述
  11. C++——STL内存清除
  12. hdu4966 最小树形图+虚根
  13. &lt;sdoi2017&gt;树点涂色
  14. 仿照支付宝账单界面--listview分组显示 用来做!发!财树充值交易明细
  15. Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: character varying = integer
  16. CodeCombat森林关卡Python代码
  17. JAVA如何调用mysql写的存储过程
  18. Jenkins进阶-发布后自动创建git tag(5)
  19. 常用html设置:
  20. Python splitlines()方法

热门文章

  1. laravel的工厂模式数据填充:
  2. spark使用正则表达式读入多个文件
  3. js 操作dom
  4. nginx:负载均衡实战(一)
  5. 将远程mysql服务器数据导出 csv 并发送到我的本机
  6. List在遍历中删除t元素
  7. C++的string类型和继承C语言风格的字符串的区别与注意事项
  8. error MSB8008: 指定的平台工具集(V120)未安装或无效。
  9. Android: apk反编译 及 AS代码混淆防反编译
  10. 循环神经网络-Dropout