|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
) M* x6 h* G0 @3 l
上篇:用 MATLAB 实现离散时间傅里叶变换(DTFT)的两个案例分析
) u2 I3 ?: C8 E. `2 q. M) z& k% f& w @9 v7 ]
我们就使用第二个案例来研究下DTFT的对称性,看看它的幅值、相位、实部和虚部的对称性到底如何?. ^( q1 x. C6 b, f3 X* M& w5 m2 l N
7 J; b4 m; K/ h( [7 C( {7 w* S$ K* C2 \
案例题目贴出来:5 v2 N% Q+ A% i
) Q' u3 R, ]0 ]' B5 f6 O4 L, h/ p
求下面有限长序列的离散时间傅里叶变换:
J5 c; u: T1 Q8 {* V+ O/ D
3 o9 z3 e ]6 o7 [+ n& J- q. n
4 H7 Z7 V4 g4 k4 E7 B! q, v" n" v
5 d% _# [* a, f8 E- e: H% t# Z' x在[0,pi]之间的501个等分频率上进行数值求值。) M' U: i& O' e0 q+ o) o
+ V8 c8 c& C. }
最后我们得到的结果是:9 M$ }4 `, p' a
) B1 M6 H4 a. T; @
6 T7 d- {+ O, f7 u% L" J. y1 Z1 A2 Y$ V" G$ M8 x
这是在[0,pi]上划分为501个等分点来求得DTFT,为了观察对称性问题,我们来看两个周期,同样每pi个区间划分为501个等分点。
l! J/ k# n0 P; F* x, T3 X4 G) q/ q2 _/ d
MATLAB脚本如下:
. |0 w9 |& R1 Y2 u3 p5 k4 {% W1 D% P% u, [
- clc
- clear
- close all
- n = -1:3;
- x = 1:5;
- k = -1000:1000;
- w = (pi/500)*k;
- X = x * (exp(-j * pi/500)).^(n' * k);
- magX = abs(X);
- angX = angle(X);
- realX = real(X);
- imagX = imag(X);
- subplot(2,2,1);
- plot(w/pi,magX);
- title('Magnitude Part');
- xlabel('w/pi');ylabel('Magnitude');
- subplot(2,2,2);
- plot(w/pi,angX);
- title('Angle Part');
- xlabel('w/pi');ylabel('Radians');
- subplot(2,2,3);
- plot(w/pi,realX);
- title('Real part');
- xlabel('w/pi');ylabel('Real');
- subplot(2,2,4);
- plot(w/pi,imagX);
- title('Imaginary Part');
- xlabel('w/pi');ylabel('Imaginary');
$ n! a, o. I* B4 V; Z5 t . ?0 l6 L$ _! g* j
. v ~* g- N2 H s0 J% v
# A! i0 B% u$ i, ~' Y* H0 B
( K% @" t, _% q( M1 _: t# ~可见,对于幅值和实部都是偶对称,对于相位和虚部都是奇对称。和理论分析上完全一致。
, l) Y8 ]0 j0 x
6 |9 p! g3 s2 x# S1 d0 d1 o |
|