找回密码
 注册
关于网站域名变更的通知
查看: 525|回复: 3
打印 上一主题 下一主题

MATLAB ------- 用不同样本数的同一个有限长序列作 DTFT 比对

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-9 11:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

  U0 e5 [/ S5 K* A7 K# C上篇我们讨论了:
MATLAB ------- 用 MATLAB 得到高密度谱和高分辨率谱的方式比对(附MATLAB脚本)
7 H( Z2 v0 [. ?' ]$ R
# y5 n. o' k1 E0 f$ I可是还是觉得不过瘾,还有下面的情况需要比对。于是就有了这篇。; [' N- G8 A7 l; R+ m$ P% `
, u% l3 @/ V  \7 V
案例:. d- ?  A! S. C1 u" m. D

- r  L" _* b) b) x3 `# T6 r
" U$ i$ _7 v7 O; W$ r% j3 u: D

  R1 B' A! M; K. S( l4 z' r想要基于有限样本数来确定他的频谱。* |5 _) O4 e1 [4 h# O/ p4 e1 W; R
0 |5 N$ G) G6 L- K6 b8 _* A
下面我们分如下几种情况来分别讨论:# C/ a2 Q4 I9 J: L7 V0 A

1 d  M. J/ c# K+ p2 K% M6 oa. 求出并画出
的DTFT;
# R$ M) G1 H4 ?" F: ~9 y% Y0 p
& ?! ]0 [7 q) m: C4 [& D: Ib. 求出并画出
的DTFT;7 _: K0 G) q5 G9 q4 o7 ~
( S: P- o- o3 C$ [  N9 Y
  • clc;clear;close all;
  • n = 0:99;
  • x = cos(0.48*pi*n) + cos(0.52*pi*n);
  • n1 = 0:9;
  • y1 = x(1:10);
  • subplot(2,2,1)
  • stem(n1,y1);
  • title('signal x(n), 0 <= n <= 9');
  • xlabel('n');ylabel('x(n) over n in [0,9]');
  • Y1 = dft(y1,10);
  • magY1 = abs(Y1);
  • k1 = 0:1:9;
  • N = 10;
  • w1 = (2*pi/N)*k1;
  • subplot(2,2,2);
  • % stem(w1/pi,magY1);
  • % title('DFT of x(n) in [0,9]');
  • % xlabel('frequency in pi units');
  • %In order to clearly see the relationship between DTFT and DFT, we draw DTFT on the same picture.
  • %Discrete-time Fourier Transform
  • K = 500;
  • k = 0:1:K;
  • w = 2*pi*k/K; %plot DTFT in [0,2pi];
  • X = y1*exp(-j*n1'*w);
  • magX = abs(X);
  • % hold on
  • plot(w/pi,magX);
  • % hold off
  • subplot(2,2,3)
  • stem(n,x);
  • title('signal x(n), 0 <= n <= 99');
  • xlabel('n');ylabel('x(n) over n in [0,99]');
  • Xk = dft(x,100);
  • magXk = abs(Xk);
  • k1 = 0:1:99;
  • N = 100;
  • w1 = (2*pi/N)*k1;
  • subplot(2,2,4);
  • % stem(w1/pi,magXk);
  • % title('DFT of x(n) in [0,99]');
  • % xlabel('frequency in pi units');
  • %In order to clearly see the relationship between DTFT and DFT, we draw DTFT on the same picture.
  • %Discrete-time Fourier Transform
  • K = 500;
  • k = 0:1:K;
  • w = 2*pi*k/K; %plot DTFT in [0,2pi];
  • X = x*exp(-j*n'*w);
  • magX = abs(X);
  • hold on
  • plot(w/pi,magX);
  • hold off

  • & D9 ~- G$ _6 L% u5 F& k( n
   
/ {$ d* o/ B. P; B  v
! ?/ O" j8 g- V/ @' p

' R) ^6 P9 j0 H  E% x. K& b/ a$ L
" i6 }+ c2 f; m# H9 s& Y  O可见,b问这种情况,拥有x(n)的更多数据,所以得到的DTFT更加的准确,正如我们所料,频谱在w = 0.48pi以及0.52pi处取得峰值。而a问中的图就看不出这种关系,因为获得序列数据太少,已经严重影响到了频谱的形状。

  |  S: o) O( }0 v, L, q

$ D' v. F5 q) M" I$ B8 u
7 o$ F7 h9 A5 D! N* s
& {) f7 z. ~' |  a9 @. I4 m

, T5 Y0 n9 T' j3 b0 _, a+ j' K

* w- V+ f; E- c7 {7 ~. `2 G
1 H9 k' Z6 z- C1 ~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-9 04:16 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表