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

MATLAB —— 信号处理工具箱之 ifft 的案例分析

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

6 N3 A6 _! ~& q7 l3 q- x/ H

案例分析

       Inverse Transform of Vector

       Padded Inverse Transform of Matrix

       Conjugate Symmetric Vector

" t; R. q4 n5 |7 F3 t1 r
2 f' W, ~8 J1 w8 v0 b1 N
案例分析

0 F6 J$ @. t0 \+ V  P) [8 xInverse Transform of Vector
$ I" A' n- r' \% }* W
9 O+ p7 I( A9 M7 V; ~' y& J, N
  • % The Fourier transform and its inverse convert between data sampled in time and space and data sampled in frequency.
  • %
  • % Create a vector and compute its Fourier transform.
  • X = [1 2 3 4 5];
  • Y = fft(X)
  • % Y = 1×5 complex
  • %
  • %   15.0000 + 0.0000i  -2.5000 + 3.4410i  -2.5000 + 0.8123i  -2.5000 - 0.8123i  -2.5000 - 3.4410i ⋯
  • %
  • % Compute the inverse transform of Y, which is the same as the original vector X.
  • ifft(Y)
  • % ans = 1×5
  • %
  • %      1     2     3     4     5
    # m8 H: n3 h# H" i2 d) V) U
  : [% L  X6 }+ ^5 A; Q) d
8 l7 a$ w3 I# h6 L. @4 b

2 Y4 o7 r; G0 k* G8 ?

1 k  K% R! @% G7 E6 ]9 A结果如下:
- g# H2 n9 H- |- |$ i+ e& z& |& Y1 h3 [1 ^7 \1 C; g& K
ifft_vector
$ y$ m. ^! u( r. f. t. |3 c# b
Y =
8 V( A% l! F3 w, g7 p6 d1 I
$ h0 l6 `. f& M- e2 [3 S  1 至 4 列
, D; b6 m! h3 f2 u3 a. a( C) u, R: }, o$ q, m
  15.0000 + 0.0000i  -2.5000 + 3.4410i  -2.5000 + 0.8123i  -2.5000 - 0.8123i8 O  H5 \" _" b6 ~
& R# L# h5 h0 ?
  5 列
9 j$ O$ e4 V/ }) ]! i) V. z; H- v! A! ~% q# X
  -2.5000 - 3.4410i
8 J% @8 g& ?9 \9 t# E1 g4 i& j$ x
: P& T) u3 q( s: J0 b% Vans =- D9 k+ |, ^1 m5 U. w
  X% M; C, z3 Z
     1     2     3     4     5
# ^' b1 I3 P2 J0 f( d
0 p5 w+ P5 ^+ x3 n7 G- P4 _. V6 b4 U$ m6 ^2 F, C" Z( H( f
Padded Inverse Transform of Matrix

- Q8 H, c% v* |+ j# Z
  • clc
  • clear
  • close all
  • % The ifft function allows you to control the size of the transform.
  • %
  • % Create a random 3-by-5 matrix and compute the 8-point inverse Fourier transform of each row.
  • % Each row of the result has length 8.
  • Y = rand(3,5)
  • n = 8;
  • X = ifft(Y,n,2)
  • size(X)
    . k4 g8 G' A; s5 v+ G4 s3 i6 o# o
  R2 b' t5 h8 o

9 ?$ Y: E$ f! D* R1 L! a' f7 L  k+ Z" W1 Z% m

5 d7 w" ^5 D( r' G& i2 q+ c! ?结果如下:
6 M0 j6 H1 u: B% f' d. S8 L" `+ o: t% L, P5 K( S
Y =
+ i9 ]1 R$ i3 U3 }& L1 B
  ^: {+ T7 T2 W$ _! v8 h    0.8147    0.9134    0.2785    0.9649    0.9572
# y2 f  d* _; S0 ^' B    0.9058    0.6324    0.5469    0.1576    0.4854
8 g+ F4 E, ?* B  O+ ^  E; }9 m    0.1270    0.0975    0.9575    0.9706    0.8003" W$ P" M9 c" N5 `" P6 x3 h
6 ~" ~8 o3 _( p1 p
X =
. L% A7 Y) \, U0 c' \& Z* g. M; i+ c
  1 至 4 列- _* W" Y/ R  ~" q* ]: x

* }& u! f7 e  \# w7 m   0.4911 + 0.0000i  -0.0224 + 0.2008i   0.1867 - 0.0064i  -0.0133 + 0.1312i( C( Q* t3 ?0 x/ {
   0.3410 + 0.0000i   0.0945 + 0.1382i   0.1055 + 0.0593i   0.0106 + 0.0015i1 H( Z/ ?  ]1 G9 A7 ^2 Q
   0.3691 + 0.0000i  -0.1613 + 0.2141i  -0.0038 - 0.1091i  -0.0070 - 0.0253i4 c, ]- q: U/ X6 r( F) Q0 Q. ?: T2 m

% y$ q4 o) F% I  A- U- U  5 至 8 列, X: {0 s2 C2 H; d. I  t& f
) Q, j! b/ e% H* @3 B2 c) z
   0.0215 + 0.0000i  -0.0133 - 0.1312i   0.1867 + 0.0064i  -0.0224 - 0.2008i& R. g8 e( {7 F: Z
   0.1435 + 0.0000i   0.0106 - 0.0015i   0.1055 - 0.0593i   0.0945 - 0.1382i+ T: ?  G; m" Y8 H
   0.1021 + 0.0000i  -0.0070 + 0.0253i  -0.0038 + 0.1091i  -0.1613 - 0.2141i
, C. K" a7 @7 _3 D6 M( D4 I3 P, {$ Z' x+ }' ?1 R, \' x
ans =/ e+ J% T6 g- T
4 i/ D9 U9 @" s3 e+ o3 U3 T0 c
     3     80 }  n5 s7 K: t. W- Y" N

; f: F- g6 X0 H上面的程序是计算矩阵每一行的8点ifft,故结果是每一行的ifft有8个元素,而计算矩阵 Y 每一行的 ifft,关键语句为:8 i7 j! Z( n% n; [" `6 |# V

" c" V; c, b2 S! q9 |X = ifft(Y,n,2),里面的2,如果去掉2,则是对矩阵Y的每一列计算ifft,测试如下:
5 x5 F( L) k& e9 x3 x. ^
5 m+ \2 @8 g0 \
  • clc
  • clear
  • close all
  • % The ifft function allows you to control the size of the transform.
  • %
  • % Create a random 3-by-5 matrix and compute the 8-point inverse Fourier transform of each row.
  • % Each row of the result has length 8.
  • Y = rand(3,5)
  • n = 8;
  • X = ifft(Y,n)
  • size(X)
    8 V, K+ U0 B& R5 ]1 M
  " P1 f; U% t, U0 V

; f8 O) T; Z6 w1 R9 f7 Y0 B. J8 lY =
1 S- ~% |' Z" A8 H# A0 d4 \- t* ]3 _2 e1 l! z; j( [
    0.1419    0.7922    0.0357    0.6787    0.3922
9 L! M2 T) k! i7 R5 G& d    0.4218    0.9595    0.8491    0.7577    0.6555
5 N# I5 _  p: s8 i+ e    0.9157    0.6557    0.9340    0.7431    0.17129 u$ ]6 o+ D$ d8 w% E

6 w3 ]  e/ Q( \) yX =
; z4 k+ M. h+ ]6 i3 a4 ^( s, k0 q' N) W1 g
  1 至 4 列$ t- j9 t7 J& Q" \: g! Z
& K3 L8 S6 P7 \) C! M6 I0 b$ A
   0.1849 + 0.0000i   0.3009 + 0.0000i   0.2274 + 0.0000i   0.2725 + 0.0000i" G: p5 B9 L  W# l* y* ]4 w
   0.0550 + 0.1517i   0.1838 + 0.1668i   0.0795 + 0.1918i   0.1518 + 0.1599i6 g6 g6 j  G  i3 `1 j/ I* r7 z
  -0.0967 + 0.0527i   0.0171 + 0.1199i  -0.1123 + 0.1061i  -0.0080 + 0.0947i
' y) R- b% X* k% m8 c, U5 |4 ]" n  -0.0195 - 0.0772i   0.0142 + 0.0028i  -0.0706 - 0.0417i   0.0179 - 0.0259i) \5 o4 D$ L9 M4 O( r3 q: A
   0.0795 + 0.0000i   0.0611 + 0.0000i   0.0151 + 0.0000i   0.0830 + 0.0000i7 \( j% R: X* d  r/ w; Q! r8 I
  -0.0195 + 0.0772i   0.0142 - 0.0028i  -0.0706 + 0.0417i   0.0179 + 0.0259i
2 ?+ G3 q" W. w  -0.0967 - 0.0527i   0.0171 - 0.1199i  -0.1123 - 0.1061i  -0.0080 - 0.0947i/ z: C% v+ j6 E2 b; q& d" R7 \$ Z1 Q
   0.0550 - 0.1517i   0.1838 - 0.1668i   0.0795 - 0.1918i   0.1518 - 0.1599i2 C+ M) O7 z) v( w

' r8 L% h" W* b% B6 S  5 列# G, C% p: R! \: y3 }- ^( O
7 P% ]5 p/ {; m5 l+ M( q+ V* D
   0.1524 + 0.0000i- d8 L8 Z/ t" ^. G- m! B% Q" u4 L
   0.1070 + 0.0793i
) D% d. C: @4 z   0.0276 + 0.0819i3 k$ p5 }* f7 i+ r1 n
  -0.0089 + 0.0365i
/ b3 o( q1 I, f  -0.0115 + 0.0000i
- l, ]. j/ W8 `( S" r' X8 z  -0.0089 - 0.0365i% N; A( p5 b* m; p, }' U$ I
   0.0276 - 0.0819i
" _$ ^6 j+ N3 \6 ?- y   0.1070 - 0.0793i+ C4 \! K7 }/ p5 r& W% H& m

( Z, t( t$ a( w9 y- jans =
8 T) L8 z3 R& \( i, J: A/ @+ j
, E/ T8 ^9 i9 G9 _; u     8     5
* C- c, E% R. X6 Q , \' z" H) z. U$ {+ _/ ~  n, f
/ H1 D( L: I9 `/ B
Conjugate Symmetric Vector

6 |$ x" N4 O! z- Q) ^3 J$ C* m/ P2 O  K9 b
For nearly conjugate symmetric vectors, you can compute the inverse Fourier transform faster by specifying the 'symmetric' option,
- ^0 T! x1 b9 W& c% y5 ^/ kwhich also ensures that the output is real. Nearly conjugate symmetric data can arise when computations introduce round-off error.; X- n6 t3 n3 r. M7 R1 e9 [  c

- [" w5 j: d( U/ C- H' f: q$ V  Y3 zCreate a vector Y that is nearly conjugate symmetric and compute its inverse Fourier transform.
4 j; E1 f& _4 uThen, compute the inverse transform specifying the 'symmetric' option, which eliminates the nearly 0 imaginary parts.7 V$ D! j, m/ f! L$ E

5 s' c( N8 z( R& T' j! E6 p对于近似共轭对称矢量,您可以通过指定“symmetric”选项来更快地计算逆傅里叶变换,这也确保了输出是真实的。 当计算引入舍入误差时,可能出现几乎共轭的对称数据。
7 _" [" r" U: Q, v: a) u$ s' ~# f
% L" d7 I8 `3 c( x  N创建几乎共轭对称的向量Y并计算其逆傅里叶变换。然后,计算指定'对称'选项的逆变换,它消除了近0虚部。
) |, |" P) C; `7 C1 |
1 s; F  c  E4 M; `1 P! i; y
  • clc
  • clear
  • close all
  • % For nearly conjugate symmetric vectors, you can compute the inverse Fourier transform faster by specifying the 'symmetric' option,
  • % which also ensures that the output is real. Nearly conjugate symmetric data can arise when computations introduce round-off error.
  • %
  • % Create a vector Y that is nearly conjugate symmetric and compute its inverse Fourier transform.
  • % Then, compute the inverse transform specifying the 'symmetric' option, which eliminates the nearly 0 imaginary parts.
  • Y = [1 2:4+eps(4) 4:-1:2]
  • % Y = 1×7
  • %
  • %     1.0000    2.0000    3.0000    4.0000    4.0000    3.0000    2.0000 ⋯
  • X = ifft(Y)
  • % X = 1×7 complex
  • %
  • %    2.7143 + 0.0000i  -0.7213 + 0.0000i  -0.0440 - 0.0000i  -0.0919 + 0.0000i  -0.0919 - 0.0000i  -0.0440 + 0.0000i  -0.7213 - 0.0000i ⋯
  • Xsym = ifft(Y,'symmetric')
  • % Xsym = 1×7
  • %
  • %     2.7143   -0.7213   -0.0440   -0.0919   -0.0919   -0.0440   -0.7213 ⋯4 E0 q# |5 |& Y: Z/ U1 z
   ! v" ~) u9 s. \9 O2 A

' D6 K, c# m7 a  a: d$ N. D3 q$ ^( @
* p* `# z% ?: f% ~6 j

" i, Q1 N# I" c6 ]结果如下:
5 q3 ?: H3 C. C/ }9 h; H) C& f1 D+ P# H! f6 X8 l4 |3 X) `' e
Y =7 Y; G$ i' V( n1 O4 O% ?7 L

& f" x% p7 ~) D4 c% j    1.0000    2.0000    3.0000    4.0000    4.0000    3.0000    2.0000
% Z/ q: ?" A+ ~* \/ M2 s7 T1 ?
X =
5 `; A7 w7 B2 [9 m+ f; W
& K, R7 q& C. s0 s1 b) e+ o  1 至 4 列& G/ ]+ _  L! l0 }0 J& |
3 h4 }, ]4 Z0 Z4 ^* E
   2.7143 + 0.0000i  -0.7213 + 0.0000i  -0.0440 - 0.0000i  -0.0919 + 0.0000i
3 V/ a  [  e3 T. m- L# T' K9 }% b9 r: m9 K3 @* Y9 T
  5 至 7 列: E7 X. A. d* c9 i7 y2 }
9 x* n" a  b* k6 _2 ]5 }
  -0.0919 - 0.0000i  -0.0440 + 0.0000i  -0.7213 - 0.0000i
" \8 u+ B& _/ U. \5 |% P
9 {! {: b, m1 D8 @6 ?Xsym =1 E  Y! Q* u) j5 }7 \: }* N

) h$ R; r! J* M: F    2.7143   -0.7213   -0.0440   -0.0919   -0.0919   -0.0440   -0.7213
8 R( _2 w! k0 v5 r' t: X; p
5 u5 y8 F8 Z1 u& C+ M* x
2 l& M, K" _. B. U+ ]6 ]

6 K( A- H1 r7 ~+ F  e: w8 d0 d: j9 B: T6 r3 r$ S3 H# \% w

) u6 M+ z  Z7 s- v3 `+ M- X# H1 G9 l! w

; T. U7 G: k9 @+ z$ t. T" J4 J/ {* n/ n4 k

1 R; z2 J3 G) D/ u3 J
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 21:28 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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