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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

% K+ g, }1 d8 z0 X  W

案例分析

       Inverse Transform of Vector

       Padded Inverse Transform of Matrix

       Conjugate Symmetric Vector

2 E1 C) T- [  S7 e! ?
4 e! n5 [, V) h5 f0 i# a5 n% q6 r6 Y
案例分析
8 j' Z' N. q3 S5 E# D, p
Inverse Transform of Vector

; s2 p" Q# s% v" I4 ]7 V  a
8 J: t3 d; T# \1 F8 U% T  g1 n( ]; W
  • % 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/ {" t& X( _7 c8 \' A
  
# l" p9 v4 v8 f( F7 X- I. b- M2 B+ ]
$ Q4 |/ ~0 k2 z: a) T
; b0 O6 m7 S( K6 a9 \
# w2 `, y; e$ f
结果如下:
5 Y. n* V4 _! J# @3 F& }) m( M' ^) F, h: f9 A
ifft_vector& U# j+ m2 F7 s- ~! o8 P# k% y5 ?

0 `( Z' O) v; [6 ~2 @8 c1 IY =
8 d$ @' o2 T; D) X( _0 C8 d3 Z3 E1 K1 a9 f( a0 P& N" T
  1 至 4 列0 U, z6 E/ X" p* L7 [$ `7 X; l7 O* L

6 E2 e: @# }; f  15.0000 + 0.0000i  -2.5000 + 3.4410i  -2.5000 + 0.8123i  -2.5000 - 0.8123i
. ?( `0 Q, n# f8 U" }1 Q. q* v8 M4 ?+ j/ N' {# R4 g& D3 D  a, T
  5 列2 `$ u& x# g! \: v+ m

8 ]0 u2 l9 `: r0 F& g  -2.5000 - 3.4410i( a' n# A4 W1 ?( Z& N$ `+ C3 o  l

* ~; e* n6 o2 A8 m' j+ i* \/ g* Bans =3 q$ S5 w; `# L9 L; f7 o- A
# W% P+ g: ?1 c& D: Y
     1     2     3     4     5/ g( p* g, n  T* d. A
$ x7 I. R7 a: ?# S( e! @( n% Z
0 P2 I! p  J3 V
Padded Inverse Transform of Matrix
- P$ E/ W) J/ I
  • 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)5 }$ c6 ?* t" g: F

9 s7 b% |7 j) f5 Q) y

) z4 ^/ ?6 ^6 s' s1 r: l' i: P  m; O7 Q* {! u& ]

4 h0 K. s6 B1 \9 ^结果如下:3 h7 v  D2 [% D, C
) {2 A6 Y4 V9 Z2 j
Y =
; v9 {0 g9 b$ U0 Q; V( c6 P1 v: O8 D# T
    0.8147    0.9134    0.2785    0.9649    0.9572
2 b# I) L0 I) D# Z9 @8 f    0.9058    0.6324    0.5469    0.1576    0.4854
8 E7 P8 z* _6 ?- y2 g    0.1270    0.0975    0.9575    0.9706    0.80039 b& M& }* s  P: U

" ~/ d- ^6 D+ ]$ v3 J  y" y1 CX =
  D0 c9 i, ?+ {! ^1 R. c* N
8 f  U: Q2 l8 T) \4 m  1 至 4 列1 s/ ?( A# a7 E& {  j. R

  b: z- q; [; A) k- H8 H* r3 Z   0.4911 + 0.0000i  -0.0224 + 0.2008i   0.1867 - 0.0064i  -0.0133 + 0.1312i% o* O! {3 g/ T  C
   0.3410 + 0.0000i   0.0945 + 0.1382i   0.1055 + 0.0593i   0.0106 + 0.0015i) D7 u3 ^0 n7 M6 Y$ Q  X
   0.3691 + 0.0000i  -0.1613 + 0.2141i  -0.0038 - 0.1091i  -0.0070 - 0.0253i. y* g  z' L( `- ~/ {0 K3 F0 P+ w, E
2 A% o1 o6 ~9 r: W) v$ j
  5 至 8 列
: x5 F3 b$ v4 f( z$ z3 g" S# H" y) Z" `5 z: p  K
   0.0215 + 0.0000i  -0.0133 - 0.1312i   0.1867 + 0.0064i  -0.0224 - 0.2008i
% t  H& @! p  N4 q( L8 M$ k, O   0.1435 + 0.0000i   0.0106 - 0.0015i   0.1055 - 0.0593i   0.0945 - 0.1382i2 |4 v2 Q/ |: u6 f) f3 @7 F
   0.1021 + 0.0000i  -0.0070 + 0.0253i  -0.0038 + 0.1091i  -0.1613 - 0.2141i
% Y+ X; h+ q0 O+ i3 b) L9 g% Z# P2 Q1 @' ~$ X" a
ans =0 E' x7 g* r1 o* c$ {

' P5 L- t& h$ S3 o0 K3 ^+ X; t     3     8: c& S3 L, ?6 l' ~

, `; j5 m# j  Q- a& q- t上面的程序是计算矩阵每一行的8点ifft,故结果是每一行的ifft有8个元素,而计算矩阵 Y 每一行的 ifft,关键语句为:1 y2 d, D: I6 R+ h0 g

" h4 I! ^% G# w" a2 NX = ifft(Y,n,2),里面的2,如果去掉2,则是对矩阵Y的每一列计算ifft,测试如下:$ O1 [3 l. T% X) i/ Q/ ]3 d
8 `; k9 w5 Y. P2 S0 _, F  x
  • 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)2 f; a3 X5 c2 Y0 C# D
    L0 _# S& B$ [& Q- e  B

1 I! D- p+ G8 r. ]4 ]3 _Y =
; {0 v/ M% P# H. Z. x% o8 ]1 [& B+ B. V+ g5 |* T# D7 h8 z
    0.1419    0.7922    0.0357    0.6787    0.3922( z3 n; U% c, ~/ Y: ?
    0.4218    0.9595    0.8491    0.7577    0.6555
# V% D$ Z5 U* J! f6 A$ ?; e+ U    0.9157    0.6557    0.9340    0.7431    0.1712" V3 Q. G; y" K

' D. T( g8 [3 \X =% e( A/ @- Y# P2 N6 S
3 W* |4 r% x. E
  1 至 4 列
3 n( R! S: Y9 g
9 p4 A- S/ I" C! W/ @5 [   0.1849 + 0.0000i   0.3009 + 0.0000i   0.2274 + 0.0000i   0.2725 + 0.0000i6 E: {; U8 c/ L) i! }& ]" x
   0.0550 + 0.1517i   0.1838 + 0.1668i   0.0795 + 0.1918i   0.1518 + 0.1599i
9 d6 U9 Z- g4 k' M  -0.0967 + 0.0527i   0.0171 + 0.1199i  -0.1123 + 0.1061i  -0.0080 + 0.0947i
% E  r. `+ S  n* ?& _4 y  -0.0195 - 0.0772i   0.0142 + 0.0028i  -0.0706 - 0.0417i   0.0179 - 0.0259i' k/ e  V, r+ O, ^
   0.0795 + 0.0000i   0.0611 + 0.0000i   0.0151 + 0.0000i   0.0830 + 0.0000i4 `% X8 F/ D% f. D" n0 ]
  -0.0195 + 0.0772i   0.0142 - 0.0028i  -0.0706 + 0.0417i   0.0179 + 0.0259i1 h! f, Y0 _6 s: Y: O& |/ B
  -0.0967 - 0.0527i   0.0171 - 0.1199i  -0.1123 - 0.1061i  -0.0080 - 0.0947i
5 C1 {; i0 e+ n/ R   0.0550 - 0.1517i   0.1838 - 0.1668i   0.0795 - 0.1918i   0.1518 - 0.1599i$ _# X. t/ A( B# E3 B

! {* A% b% D% Y" `8 L, b# l  5 列
; v9 B; E- j. [! i* v( o8 j! P4 `: K1 [/ |9 ~! F
   0.1524 + 0.0000i: J. D. i! }  k, r
   0.1070 + 0.0793i
, s9 s$ V0 u; j% X   0.0276 + 0.0819i
1 S1 \5 R& I% i) B6 I( t  -0.0089 + 0.0365i
; R. @, y9 Q+ t  -0.0115 + 0.0000i
; A  v: i& P3 G! `. m  -0.0089 - 0.0365i! u+ ?* O+ M' B" u8 ]' b' _2 k- l/ j
   0.0276 - 0.0819i
6 L! y, E) \/ j   0.1070 - 0.0793i
$ G9 k- [6 n! E. J0 a% i2 c
# n# x( Z: k  K( J% A" `2 Tans =
* H  n  N% l* t$ @" W* ~* h& b* Y) O
     8     5
. Z; |3 Y3 [5 }
, h( v+ x( X+ |4 U( r9 D: w+ i" b3 K$ l) ^' ~" @/ {, D7 v) {
Conjugate Symmetric Vector
" Q0 R0 R1 V7 [5 _6 L

1 ]+ [# `4 ?+ }1 D3 n# R) pFor nearly conjugate symmetric vectors, you can compute the inverse Fourier transform faster by specifying the 'symmetric' option, 0 m5 E3 ~( n' z& M  X* Q
which also ensures that the output is real. Nearly conjugate symmetric data can arise when computations introduce round-off error.
% U6 Z; Y6 P8 a
% q' h9 g, k/ z' ]! n. tCreate a vector Y that is nearly conjugate symmetric and compute its inverse Fourier transform. 7 H3 Q1 Y0 b/ V$ m- w6 o
Then, compute the inverse transform specifying the 'symmetric' option, which eliminates the nearly 0 imaginary parts.: b/ b+ }1 O* h$ M* b+ E# ?
9 A/ A2 d( z8 l0 o% @
对于近似共轭对称矢量,您可以通过指定“symmetric”选项来更快地计算逆傅里叶变换,这也确保了输出是真实的。 当计算引入舍入误差时,可能出现几乎共轭的对称数据。, t: s0 q8 F1 p" v/ S1 l4 d

6 e+ `- r) P' e  X2 ^! S) p  y创建几乎共轭对称的向量Y并计算其逆傅里叶变换。然后,计算指定'对称'选项的逆变换,它消除了近0虚部。0 T0 f' V: j+ O6 j# q1 ]1 F3 S
2 k! @+ H5 v* ^/ a0 B! w3 {
  • 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 ⋯
    - L5 P" x3 |! k5 a" J; V
   3 D1 |+ k( D7 G. }* N

' d- J& S( A* J9 K1 o: C$ m; u5 T) p4 w2 D  P/ H) f
6 U" A1 m9 I1 l: A3 a7 G4 q$ q
结果如下:
3 ^/ I& N0 \  E* R/ ^
% C5 G: q' T4 B; o" x* dY =7 P! ~; A  S: o6 S5 E7 [- H

. w8 C4 k% s7 `" D: X    1.0000    2.0000    3.0000    4.0000    4.0000    3.0000    2.0000
, x% Y+ l: z, l1 |4 ^6 J
- |+ ^1 X% [! ~7 s& t) q$ [7 |X =
7 M* ~, O) f6 G# e- _
( n- O6 ?/ T+ L, q4 N  1 至 4 列( N0 a, K1 y% T7 t

+ O, \1 m* y$ l5 ]   2.7143 + 0.0000i  -0.7213 + 0.0000i  -0.0440 - 0.0000i  -0.0919 + 0.0000i- |& h: T  o5 S" R8 _* K9 ~
: E, W) t8 u  R* u0 E' y
  5 至 7 列  @+ P, `7 X- C! {# L( t$ s9 ^% ^

/ B( t$ B" a+ z$ u9 M  -0.0919 - 0.0000i  -0.0440 + 0.0000i  -0.7213 - 0.0000i% E4 T: q& Z, o7 ]; K

7 H0 T. N+ a& ?. JXsym =
" A& n+ o  n" A1 L/ K% l& s' o5 l4 C" `/ Q" Y1 ?. }
    2.7143   -0.7213   -0.0440   -0.0919   -0.0919   -0.0440   -0.7213
9 q! P7 z6 q( j' e) \

- W+ e+ t- x' g9 \2 b. Q$ u1 @  w0 C. s
* o3 ^# E, `9 |2 a9 ]8 b

2 E  r# N% [2 }
- y+ _1 J. }( o: n5 O

$ P/ s1 c. Z* N9 a$ w% U4 u/ u

; R7 W) i0 \2 q
  e6 m( M7 e9 @( C3 E
; S2 D$ N( I1 Q( u
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-19 08:06 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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