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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
) |3 L  ?2 u+ R

案例分析

       Inverse Transform of Vector

       Padded Inverse Transform of Matrix

       Conjugate Symmetric Vector

0 _6 p  f6 A9 X! ]( t7 @( d# i
+ ~1 `- m5 X1 K& }! ^8 g" D# J
案例分析

6 a, f4 _- f1 t  L$ hInverse Transform of Vector
. s+ P. a  {9 A" z4 u
1 t% M8 Q' ]: `6 }6 _) J
  • % 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
    1 ?$ l& _  p4 s1 F+ j9 }: `
  
" R0 S$ L6 r2 d; S# \

: w! x2 i9 C! N! x% Z1 ^- `3 S) v6 I  t
4 I* _! l. m0 m7 @
结果如下:  r: z1 T1 ^$ T$ ~

- n; h& |' m7 N  s0 M/ ]3 k8 r ifft_vector$ e9 f* G# u" {7 K5 p$ o
4 g3 Q/ y% {$ M8 y# m; @+ M
Y =( }. I$ h, z# {! m0 x, y( Q6 L; U& m

" v5 X' u8 e' b# E* w& v0 W: ~  1 至 4 列
( w* ~; ?- T! i" }6 Z# e( A# ]' ?, ^' h" r" o$ }: H! m
  15.0000 + 0.0000i  -2.5000 + 3.4410i  -2.5000 + 0.8123i  -2.5000 - 0.8123i
) \; L$ l+ M  ^+ N
; p$ B5 m; _) l5 x) m1 u  5 列
" @- x6 |# ~# E4 o  G
  y- \3 o4 s4 ^% r  -2.5000 - 3.4410i$ r3 d  E" Z# S! ~* v2 o3 j

& v' [5 @1 f6 m" gans =
# x2 ?' L/ u: a5 @: g2 {& y# S! d( i3 y% ?9 [1 i
     1     2     3     4     5
& R* g! L1 |# E+ U( {# X
4 m; \+ L3 G6 G+ r$ {% u5 S! p& c5 ]+ y! x2 k! M0 J: P
Padded Inverse Transform of Matrix
' M# r. r/ K3 L* a1 H
  • 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)
    ( ?# q6 {8 `* o0 T! e
( K* W- P) J$ A* g

8 a+ q) I& e& k2 \: P6 x( O
# w! z* B$ d6 Q; ^) T, j

1 v8 G2 \& E, G3 J" g结果如下:, }* M9 o! I0 c! j1 l2 g1 A

- x2 P* X4 v# \8 u  v& Q5 bY =) c7 R$ t+ Z8 R2 f: X, [' I
  \1 N# ?" B4 a$ c: w
    0.8147    0.9134    0.2785    0.9649    0.95722 W5 c8 z: H4 f3 @
    0.9058    0.6324    0.5469    0.1576    0.4854
: |3 Z/ g2 k' x1 J    0.1270    0.0975    0.9575    0.9706    0.8003
9 s4 }4 i' M# k- D+ L2 O6 ^0 C8 \$ s) B: [7 X
X =0 A6 n: O- x" \. U; k5 H2 }4 O

2 Z) K7 x  s- k  1 至 4 列
, X# p) B: u" Q" v4 y3 R) `& _- o; F% ^. s+ L5 n
   0.4911 + 0.0000i  -0.0224 + 0.2008i   0.1867 - 0.0064i  -0.0133 + 0.1312i
9 b4 x" O2 a( |! Y; s   0.3410 + 0.0000i   0.0945 + 0.1382i   0.1055 + 0.0593i   0.0106 + 0.0015i) B) P0 z' p% A
   0.3691 + 0.0000i  -0.1613 + 0.2141i  -0.0038 - 0.1091i  -0.0070 - 0.0253i% r. B0 i/ s; }0 I( {+ n

, A9 G& O" ]1 |; S+ ^- |  5 至 8 列
/ r/ h6 o) V5 w2 [% ~# \2 P3 z/ V; I8 q5 A
   0.0215 + 0.0000i  -0.0133 - 0.1312i   0.1867 + 0.0064i  -0.0224 - 0.2008i
3 a6 l! N7 W# y6 g! g3 F   0.1435 + 0.0000i   0.0106 - 0.0015i   0.1055 - 0.0593i   0.0945 - 0.1382i
8 m! h. c  O7 v1 B  v" Q. N, ?0 m   0.1021 + 0.0000i  -0.0070 + 0.0253i  -0.0038 + 0.1091i  -0.1613 - 0.2141i2 Z) L9 U5 ?( m1 _' S% O
( `  E* b) n/ j) U" `% D9 F3 V
ans =6 ^% m! _, `! W% o; m
8 v5 C. u% S, _  `, u8 {
     3     8
6 w& @; o# q" a& [: b( f/ i6 O4 v, X$ _: V  A8 K
上面的程序是计算矩阵每一行的8点ifft,故结果是每一行的ifft有8个元素,而计算矩阵 Y 每一行的 ifft,关键语句为:, k3 y* q: ^1 d! G* p

) F1 x; Z8 P+ v$ p  N. A* OX = ifft(Y,n,2),里面的2,如果去掉2,则是对矩阵Y的每一列计算ifft,测试如下:* ^7 \0 o" [3 K9 l# r

$ V9 {# r* G6 q: r. P/ A# {
  • 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)
    1 K4 [) m$ a' g- H
  ) z" X: }4 z( i; H; l2 |

' e3 ~1 z6 Z* C1 m2 PY =3 T: V% P/ E( M7 N+ K' L7 r; Y4 X
0 t' E5 L# j, s9 u- z) d
    0.1419    0.7922    0.0357    0.6787    0.3922% N: g/ f) F+ J; @& C2 \- H
    0.4218    0.9595    0.8491    0.7577    0.6555
' k! P1 p0 z6 x$ h    0.9157    0.6557    0.9340    0.7431    0.17126 x* J! ~" Z- _

: ?. i) n+ v0 q4 D  N" Y( S% Q) L7 dX =4 ?$ q% z/ ~7 n( v
$ b' ^  W, u3 N; v& [9 p, X, Y
  1 至 4 列
* _& H4 m. o% Y- V* v5 _  G% e( }8 ]2 {' G. V
   0.1849 + 0.0000i   0.3009 + 0.0000i   0.2274 + 0.0000i   0.2725 + 0.0000i
# H( N3 ?  N4 _1 E- y- G   0.0550 + 0.1517i   0.1838 + 0.1668i   0.0795 + 0.1918i   0.1518 + 0.1599i
5 |% \/ N1 U) ?+ i2 h6 @$ a  -0.0967 + 0.0527i   0.0171 + 0.1199i  -0.1123 + 0.1061i  -0.0080 + 0.0947i0 `  `% S& Z! C; x
  -0.0195 - 0.0772i   0.0142 + 0.0028i  -0.0706 - 0.0417i   0.0179 - 0.0259i
4 n- k  p9 n, k9 D; c   0.0795 + 0.0000i   0.0611 + 0.0000i   0.0151 + 0.0000i   0.0830 + 0.0000i9 k+ R: n. \& a1 P5 d& ]
  -0.0195 + 0.0772i   0.0142 - 0.0028i  -0.0706 + 0.0417i   0.0179 + 0.0259i
: ^( n' a+ M1 \  -0.0967 - 0.0527i   0.0171 - 0.1199i  -0.1123 - 0.1061i  -0.0080 - 0.0947i! S5 T$ V, z# b
   0.0550 - 0.1517i   0.1838 - 0.1668i   0.0795 - 0.1918i   0.1518 - 0.1599i
5 O5 h( g1 n0 C. X4 n  U. I
# N- {4 K4 }* j: F4 Y8 [/ R  _) H. @/ @  5 列
6 k  m5 z2 P7 I7 b0 z; R4 I! e# ]2 \. x. r7 s. N1 M3 [
   0.1524 + 0.0000i
/ [) v, @4 M4 ?5 ~8 S$ N   0.1070 + 0.0793i7 T4 G7 I9 z3 C
   0.0276 + 0.0819i! T- ?1 F" X" J8 E# J; s
  -0.0089 + 0.0365i+ n& J) a* O( f/ A
  -0.0115 + 0.0000i
6 s: f( R. i# H3 [/ d  -0.0089 - 0.0365i5 |' v6 y/ i6 F- A6 \
   0.0276 - 0.0819i' A" v* B6 U; B. h
   0.1070 - 0.0793i. x9 S0 l  U' Q/ t$ g: M" ?- [
7 c2 W8 I7 r' c" J
ans =
6 y- x5 f' A) H& q, A3 v, F. q8 b0 x: k  Q
     8     5
6 y% [$ P9 f9 ?# K ) l% M" M6 S) |& p6 W

; d8 r9 R4 h3 J- e# g5 WConjugate Symmetric Vector
2 }* y- F  y; g
  ^' w2 _, p2 N  ~+ M, x! [
For nearly conjugate symmetric vectors, you can compute the inverse Fourier transform faster by specifying the 'symmetric' option,
7 O0 N# E  W4 A1 jwhich also ensures that the output is real. Nearly conjugate symmetric data can arise when computations introduce round-off error.7 f: l* a7 }  F! p2 v

, G: G$ M0 P% |, G# P# X$ X8 a1 zCreate a vector Y that is nearly conjugate symmetric and compute its inverse Fourier transform.
& l2 N* j" O# A$ u. h& {7 b& ~Then, compute the inverse transform specifying the 'symmetric' option, which eliminates the nearly 0 imaginary parts.
7 l- }/ N. L1 j1 U2 |2 M- \
: L+ [3 N- m: B, [0 E  g: g$ v& }对于近似共轭对称矢量,您可以通过指定“symmetric”选项来更快地计算逆傅里叶变换,这也确保了输出是真实的。 当计算引入舍入误差时,可能出现几乎共轭的对称数据。2 f4 u& Q! m# q2 u) ^: e. W
5 K$ y6 H5 x) J+ p: A7 O
创建几乎共轭对称的向量Y并计算其逆傅里叶变换。然后,计算指定'对称'选项的逆变换,它消除了近0虚部。
6 w# m3 \8 h8 n/ }7 b4 l! p/ S% `4 e# v2 @
  • 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 ⋯. {; w8 F* d& Y; G' c) p* d6 N- A
   
' A5 L) T* V1 |; o5 a( D1 A( o

5 _- Z3 \& u  f( ?7 W* n0 l9 r: j5 b4 b, i( ^
) U$ Q5 A! @- k% G8 d' Q- m
结果如下:, p+ o3 _# `4 o) m8 w' d0 ]

6 {* Q! W4 C$ ]9 FY =
& j, q; x% B0 j, H9 A
8 [% |8 s( ]% U; M/ s( U    1.0000    2.0000    3.0000    4.0000    4.0000    3.0000    2.0000
4 P. s; g$ O' E8 N" h! h# Y2 o
- `( ?- b1 a+ t  cX =
- E( ]/ R' U9 j' ~) T% U; m" R  q+ }" V$ ^6 a
  1 至 4 列
, M+ s3 N5 Z9 @' t$ q& m. V& Y+ ?
+ B1 o9 D! Y7 M( `) x  X   2.7143 + 0.0000i  -0.7213 + 0.0000i  -0.0440 - 0.0000i  -0.0919 + 0.0000i! a( `' o" @) t# Z  J- O" r
/ a1 q0 Y8 D/ f5 S. @  J7 L( v
  5 至 7 列4 H) o2 N, j4 M9 i
! N( p$ P8 ^+ L) o2 Q& o7 |- g& S
  -0.0919 - 0.0000i  -0.0440 + 0.0000i  -0.7213 - 0.0000i6 S- x, M0 O/ P3 k2 r1 v, x1 F

2 j/ A+ \" n4 b0 ~% g% C* gXsym =
1 n) v/ l2 q* V+ e: P, n& I# s
0 W) B5 ^/ I& b    2.7143   -0.7213   -0.0440   -0.0919   -0.0919   -0.0440   -0.7213

4 \0 _7 [9 }: {. ]6 K
' O5 a6 C5 M2 w; |9 X6 A9 H
; V9 p$ M" Z6 `! y2 E% K

% U8 b% u# {  g6 [  M; a" x& W/ w% A( M0 N5 u- _

4 ^: R7 G* |) U% ]; z$ z7 c& s7 n7 ^+ W

+ |' z6 C/ w# U1 q8 [; _
; i$ \, j& Q/ F2 s8 W' T

! }& L' U% D  e5 p4 C% r' N! @, m
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 13:41 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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