|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 K/ O4 l# R: f! y' c2 J& U
上篇:用 MATLAB 实现离散时间傅里叶变换(DTFT)的两个案例分析
3 {" t- L7 D# ^ B
6 g3 r: _4 k |* M, @( W* J我们就使用第二个案例来研究下DTFT的对称性,看看它的幅值、相位、实部和虚部的对称性到底如何?
2 y% M0 L( }2 h
. Z' U+ b- U* v# w案例题目贴出来:5 c# a/ r" ~4 w8 J( J4 _
; c9 n7 o% @! H* @) T求下面有限长序列的离散时间傅里叶变换:3 y) V0 Q# b: |
9 W+ Y/ ^% y/ N, v
Y9 u; d( g. L7 E6 W$ B4 u9 P D. ^* A% X
在[0,pi]之间的501个等分频率上进行数值求值。$ O) f7 m6 q3 h* ^) V* ~
2 O, H6 R* W/ ^0 E. U# B! @最后我们得到的结果是:9 W9 |' {) o+ w$ v, L
& a" Y# X0 L! L. G: t2 h/ e9 ?
0 Q0 j' _7 x' ?# V+ u- S2 n. S
5 \1 y: O% Y; d: a3 D- N, `4 d9 N这是在[0,pi]上划分为501个等分点来求得DTFT,为了观察对称性问题,我们来看两个周期,同样每pi个区间划分为501个等分点。+ j3 K2 [% b9 X. e/ c3 {/ o
5 Q4 b; }9 v- W! h
MATLAB脚本如下:
/ D& U0 y# s) L/ U9 X, |
$ U. @6 G% i- c; Z8 N- 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');
) p8 N, b" O& o: h
* h( q1 {" t9 k0 I+ e9 w8 r ]8 Y& O( V1 H4 W" m! ^! |
E/ ^' s q! j* }8 N6 \- r0 d+ S6 V; w7 }% L
可见,对于幅值和实部都是偶对称,对于相位和虚部都是奇对称。和理论分析上完全一致。/ n/ q: K% E3 n9 \0 R, s
1 ^3 n- E1 w" x, Z' T% x |
|