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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
; Z. Y( g9 t1 D8 K2 s

案例分析

       Inverse Transform of Vector

       Padded Inverse Transform of Matrix

       Conjugate Symmetric Vector


& L* N7 r) I( Y$ }3 C& E) Z$ J; Z1 V4 o, Y. N
案例分析
: o8 V2 W+ {5 t/ i# s7 b$ m
Inverse Transform of Vector

1 s% K( U( J9 [6 v. W8 q6 r; B' a% q7 O0 r2 M, W. `, y1 i
  • % 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: P: {+ Q  T8 P  T6 H' s
  
0 N! O  p1 }. N  j# M1 L1 u! ^7 F

, q. t* o2 K* I1 L) Q0 |# h- d, E7 Q& H# H  Y* u9 y& n+ p
5 q9 R' n0 W6 Y& F  X# [4 ^$ \  R8 ~
结果如下:
0 `) a" E$ e) U/ e$ |0 ]( M# u3 X; f( P/ `
ifft_vector
: k7 W7 B4 B0 r7 j& B$ w3 @0 v( e' e0 r" B: h" h
Y =. J* N6 c- Y7 X* E
, y6 ^) E3 J) U! L4 m, ]/ Y
  1 至 4 列% {" ]' f; X- J$ r! S

1 v; l/ }# t7 \) T$ Z" v1 o6 P4 j  15.0000 + 0.0000i  -2.5000 + 3.4410i  -2.5000 + 0.8123i  -2.5000 - 0.8123i
- o2 C/ {2 I# X* A, R
. k" h7 }6 @  ]5 c1 I# C  S: a  5 列
' {! X9 E" A( {- a' s9 O/ D- Y( i6 v2 |, g/ u. v
  -2.5000 - 3.4410i
& m4 D& ^9 t3 d: f) o' |4 C/ f! v4 X8 E! n% S
ans =
8 y0 S$ d8 V7 Q+ k
5 _5 w! T/ p1 A     1     2     3     4     56 `  `" M7 v2 J1 F3 ~
/ A( V, y! |  b" x
7 L$ h6 N4 b7 g* W* V. Y2 R
Padded Inverse Transform of Matrix
: \' J$ ]$ L9 O% Y, m) o' r
  • 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)" y4 U6 Y- e+ e
) b6 X8 c+ g; [0 e8 J; n! f% Y
5 J% W+ [' ^. l4 t' V! E
& C; S; g4 i( t7 x

8 d6 S0 _) U# p" g* L: M% s5 ~结果如下:
1 T% Q0 P8 t; }) H
0 i8 Y6 F; k. w- D/ H3 |( _# O/ JY =
+ b- r, F, h9 Q8 k( P" y6 n- \" T$ S3 ]0 L. V- ^3 S% ?' N
    0.8147    0.9134    0.2785    0.9649    0.9572
% w. f4 I# e# T  _/ L    0.9058    0.6324    0.5469    0.1576    0.48540 L* X/ v/ Q6 K' p
    0.1270    0.0975    0.9575    0.9706    0.8003
9 ], U, }9 z/ K7 M$ `4 z% P7 O  f, W2 i" ?
X =
6 T5 v7 n: `: L. J$ a
: ~; _5 |8 [: s  1 至 4 列
  k1 H  t2 G4 \6 v' e0 I: [9 z$ ^2 i
( l$ w( }/ I# w   0.4911 + 0.0000i  -0.0224 + 0.2008i   0.1867 - 0.0064i  -0.0133 + 0.1312i+ z/ b& Q: n/ j) @# z
   0.3410 + 0.0000i   0.0945 + 0.1382i   0.1055 + 0.0593i   0.0106 + 0.0015i+ K! Z- j; c3 ?' b( b
   0.3691 + 0.0000i  -0.1613 + 0.2141i  -0.0038 - 0.1091i  -0.0070 - 0.0253i0 d6 \3 k  S3 W3 o
3 W3 m, X0 n! P# m- c+ m( a5 ]+ z
  5 至 8 列3 o( |$ _+ j3 N# G$ `3 [

) R- I, ?; v9 r4 z0 `   0.0215 + 0.0000i  -0.0133 - 0.1312i   0.1867 + 0.0064i  -0.0224 - 0.2008i4 K; Y* a* }* J0 u8 G1 z
   0.1435 + 0.0000i   0.0106 - 0.0015i   0.1055 - 0.0593i   0.0945 - 0.1382i
2 Q7 O( D0 s- _( [; _$ u+ q# B! i   0.1021 + 0.0000i  -0.0070 + 0.0253i  -0.0038 + 0.1091i  -0.1613 - 0.2141i5 O# L4 e: e1 |

  x, f( m  h/ Y7 X" ~7 Hans =2 F4 G. N* B+ W7 O! l) i) P

+ c; F  b; Q0 A/ @8 b     3     8
1 H% [. v( `4 d0 m: _$ O
& p+ D% ^8 L* @上面的程序是计算矩阵每一行的8点ifft,故结果是每一行的ifft有8个元素,而计算矩阵 Y 每一行的 ifft,关键语句为:* z% q" H7 T& |

' k: G% ~: S/ z* t  |" iX = ifft(Y,n,2),里面的2,如果去掉2,则是对矩阵Y的每一列计算ifft,测试如下:2 W4 `, b0 l4 {# k6 a: V

8 n* m0 l* H. O$ v% c
  • 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)
    4 p; l# b  d# a3 u' @# m
  ) [- Z0 F3 N; V8 \& d( B+ j0 K
+ r4 c$ z) }$ j7 n/ ^+ a0 T
Y =
8 k: I  j2 c9 B' K$ f" P6 ~- G5 w" k" K
    0.1419    0.7922    0.0357    0.6787    0.3922; G+ g7 Q3 M; j6 P3 B9 E" Q
    0.4218    0.9595    0.8491    0.7577    0.6555
6 i6 @9 F8 p5 U7 K    0.9157    0.6557    0.9340    0.7431    0.1712
  u- t; A* R3 \% q' @* t' r! j7 r# R1 k. e( }1 Z, ?8 {( U0 R
X =' G! Y$ z8 x% l7 n' D  q( H7 l

: \; B. d) f' x" b  1 至 4 列3 G2 e5 \* H) g* R  C% \

: m/ Q8 r% `4 d4 ~' c/ D   0.1849 + 0.0000i   0.3009 + 0.0000i   0.2274 + 0.0000i   0.2725 + 0.0000i
- x7 b/ {, V% _5 V   0.0550 + 0.1517i   0.1838 + 0.1668i   0.0795 + 0.1918i   0.1518 + 0.1599i; V7 [/ ]" Q3 f5 d$ [
  -0.0967 + 0.0527i   0.0171 + 0.1199i  -0.1123 + 0.1061i  -0.0080 + 0.0947i
6 ^+ v4 i4 N) ^' O2 ^( p0 V) C( t3 r  -0.0195 - 0.0772i   0.0142 + 0.0028i  -0.0706 - 0.0417i   0.0179 - 0.0259i
! W, W1 l+ v* M+ ^6 f) ?0 S# E) v" d   0.0795 + 0.0000i   0.0611 + 0.0000i   0.0151 + 0.0000i   0.0830 + 0.0000i
+ o# b" e. |1 K0 y, r  -0.0195 + 0.0772i   0.0142 - 0.0028i  -0.0706 + 0.0417i   0.0179 + 0.0259i6 [, Z' D3 c3 j1 }  N& N$ |
  -0.0967 - 0.0527i   0.0171 - 0.1199i  -0.1123 - 0.1061i  -0.0080 - 0.0947i
) E3 f: A! H! \: N- C/ K9 z/ n+ {( @   0.0550 - 0.1517i   0.1838 - 0.1668i   0.0795 - 0.1918i   0.1518 - 0.1599i( ?6 l' {$ h7 u, g$ ~8 C; r: a) E

! i5 _2 ]- R: ~7 u  5 列
4 e; J& S- {# v5 a5 d# w) r
& l7 W7 b1 s* Z8 j' O   0.1524 + 0.0000i
" l) B: T  V3 X3 Z   0.1070 + 0.0793i8 G" z3 O6 {; Z( K6 \. S2 t- z
   0.0276 + 0.0819i
( p% K( m) d& s  -0.0089 + 0.0365i2 p" O+ m+ e0 @/ O6 Z0 E+ a
  -0.0115 + 0.0000i0 {: x  g4 w6 u
  -0.0089 - 0.0365i9 `" R& q* V. n; j/ v) F
   0.0276 - 0.0819i. `* j# s* t: ~
   0.1070 - 0.0793i
% @5 U3 T6 g4 }9 m9 C+ @' e/ t" O, Y9 H' J7 [' Y; Q& p
ans =; {( A1 d2 w/ K+ T- E7 ^3 H: ^* @
0 M4 n1 N" o3 z% k) B5 T
     8     5* E: L" e9 \2 t. p3 r: }- W2 k
: b4 Z4 }  g& E8 l3 P& c8 ]
' G: d5 I/ D/ W+ {# e
Conjugate Symmetric Vector

( B' o% y% N# G; j
' }: B/ e0 b% f4 k  f& MFor nearly conjugate symmetric vectors, you can compute the inverse Fourier transform faster by specifying the 'symmetric' option,
( n9 `6 T6 T5 D( n0 J5 a4 _which also ensures that the output is real. Nearly conjugate symmetric data can arise when computations introduce round-off error.
. m! i" @! C& B3 Y( R  `# T2 U' `4 q6 @1 s
Create a vector Y that is nearly conjugate symmetric and compute its inverse Fourier transform.
- `& ], h! k' i8 [5 p  g+ c7 |Then, compute the inverse transform specifying the 'symmetric' option, which eliminates the nearly 0 imaginary parts.
5 o; N* S) Y" F  f; {) |8 ]9 M( v* M6 \% o& s- E
对于近似共轭对称矢量,您可以通过指定“symmetric”选项来更快地计算逆傅里叶变换,这也确保了输出是真实的。 当计算引入舍入误差时,可能出现几乎共轭的对称数据。
) x( s: X( ]. |/ R2 m' @7 M- o2 q$ Q4 I
创建几乎共轭对称的向量Y并计算其逆傅里叶变换。然后,计算指定'对称'选项的逆变换,它消除了近0虚部。
' s9 R3 ]1 X# y  A( _& W  }: t& Q( g, v, Y  j) ~  {
  • 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 A/ s- Z2 t! s! S
   
3 i& _2 x" C# G( I0 @

$ ^: J& Q- l* o% K
6 F$ G7 ?2 |8 u% K7 U
; |. w' b* f$ M6 c, m
结果如下:% f8 Y' {8 _0 s( a! V
& s: {% z. u( ^) e9 M6 ^& ]3 s
Y =
+ f" F( _/ U5 {  W& q# ~4 J& j, N
- r& W$ b/ W, N3 b9 q$ a% P    1.0000    2.0000    3.0000    4.0000    4.0000    3.0000    2.0000
- q! W0 C9 q% t6 L/ }5 @, |
; S& p  H2 U2 ~+ Q- m0 {X =$ z5 V8 C0 k+ j  G
2 x, q4 D" A5 ?1 C, l8 u6 X+ w& W
  1 至 4 列: |3 Q0 u. y1 w

$ v/ {5 Q" i" ~% j9 n, S4 J: f   2.7143 + 0.0000i  -0.7213 + 0.0000i  -0.0440 - 0.0000i  -0.0919 + 0.0000i0 l1 w1 E% W) R" S6 w7 o6 p0 J
5 K9 G) |7 G+ ^5 E% Q# p8 N# {
  5 至 7 列6 T- ?/ D7 ^7 Q' M$ ^# L! ]$ q) Z

" _5 c6 G5 z6 G) c  -0.0919 - 0.0000i  -0.0440 + 0.0000i  -0.7213 - 0.0000i
- Q" r4 y1 O$ j0 ]
% ~! A$ F& }  }& s: xXsym =
! }- l- N: S% `% c/ \( [4 a/ l) S+ D
    2.7143   -0.7213   -0.0440   -0.0919   -0.0919   -0.0440   -0.7213
) a, C" b4 b! o/ M7 o

* z, W+ c% |; j8 d  Q# t$ o( e  N) F! T7 b
8 \5 [6 `9 y- J& b7 }) k8 T! c" _
2 h; R6 o7 I: |. C6 ^. p/ Z

2 S' }$ [  P+ A9 g  p! u0 R& h: I7 K( e& I, }

1 \- ]2 P1 r2 \. e4 v
) B! w& g9 ^2 H# M
" ]* ]' g3 }3 a4 r
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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