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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

! ~6 i( N" _4 a4 [- O

案例分析

       Inverse Transform of Vector

       Padded Inverse Transform of Matrix

       Conjugate Symmetric Vector

3 ?, Q# M* i1 o. `9 @1 t. _& Y2 U5 C9 J0 v

1 q2 T2 o( Z) ]0 S! ?3 S9 o" `案例分析
; i; h. x0 S( l" V/ V
Inverse Transform of Vector

6 L3 O2 Y: p8 L! |2 x& b0 I% e& |4 u- r" |9 U+ C
  • % 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
      ^. y" F5 k9 R! e2 H4 [4 K6 B
  4 u4 x& Z7 ?6 `
* s# `- ]% ^$ E- O5 H* d
4 N  U' a9 B5 B6 e1 N
  l3 f+ ?# j  Z5 M6 W, J) }
结果如下:
6 t& s7 a+ G  z) S3 w1 F' M9 f7 ?, _8 a  Z3 Q. v% G; [/ Z) {
ifft_vector
; P6 C# \0 V+ V. M6 x- L: F
0 Z# j: s( e$ W, X! nY =
! v4 Y7 T% o5 S1 h) V( h! y  |# g/ `2 X* n6 F* c, F/ W( C$ Z
  1 至 4 列  U& s; F0 q( c! Q: A

% Y% e* D0 P( u9 d. X  15.0000 + 0.0000i  -2.5000 + 3.4410i  -2.5000 + 0.8123i  -2.5000 - 0.8123i
0 ^& J+ c+ v8 k6 q6 c
$ T. l! D2 x* o& T( p  5 列
$ N% e8 v4 V- w& H5 ?$ h. h. c/ B; Q9 E' L
  -2.5000 - 3.4410i
- g  b& j# p! ?0 N. S  ^8 F
% v# W" j6 L( S' U+ u# C: `" aans =
: U* ^# t  d& n8 ]; K# e5 `% H5 t( N: M9 s) ]* {# D9 o+ q/ u
     1     2     3     4     55 m: }5 r; Q4 C& u, E( F* T' m

6 y% _) g. K& k& b& ]" V% ]
3 O; U, Q9 I/ T& L/ a$ M9 \9 y4 J1 RPadded Inverse Transform of Matrix
! x  e  ]' v' @7 ]  @
  • 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)8 Y9 b1 l0 F- h
5 z6 M- `& k4 j- e* @  r

/ [  S: [1 N( z4 u  @6 ~; f
$ S1 ?/ A4 l$ H0 b% z4 I
' P8 m3 e2 a/ L* K0 h
结果如下:% v+ T+ [* g& S6 Y, J1 ^) P) i
% X' E: K3 _& b. h
Y =$ e, a! i" u0 X, ^* q

# q0 J0 C! L! M    0.8147    0.9134    0.2785    0.9649    0.9572
/ C# r1 Y' k5 T    0.9058    0.6324    0.5469    0.1576    0.4854
1 ^- F2 E; l4 N    0.1270    0.0975    0.9575    0.9706    0.80031 B7 M/ M2 V8 k/ ?
# g% c! g; Y' J' K
X =
) I# N, G' h( \: T
0 B' T7 N7 \# ]  1 至 4 列
% H8 |7 |) Y; c
( @- ~, `3 I7 t$ L   0.4911 + 0.0000i  -0.0224 + 0.2008i   0.1867 - 0.0064i  -0.0133 + 0.1312i
5 n! {) R, x2 r. W4 p   0.3410 + 0.0000i   0.0945 + 0.1382i   0.1055 + 0.0593i   0.0106 + 0.0015i; x6 l$ o' ~; N( E% U
   0.3691 + 0.0000i  -0.1613 + 0.2141i  -0.0038 - 0.1091i  -0.0070 - 0.0253i! T; y5 ?7 J/ S! ~; {4 m8 Y8 z2 u

6 {, s4 {- S" I3 G8 N  5 至 8 列
# d2 A$ J' e; z5 R; L1 U8 y9 ?* v/ @4 f9 J2 a3 y& O9 D9 J2 u" |6 w
   0.0215 + 0.0000i  -0.0133 - 0.1312i   0.1867 + 0.0064i  -0.0224 - 0.2008i) H% e2 g# u3 t
   0.1435 + 0.0000i   0.0106 - 0.0015i   0.1055 - 0.0593i   0.0945 - 0.1382i
7 L( k5 o( K$ A. |/ l/ \) D6 ?   0.1021 + 0.0000i  -0.0070 + 0.0253i  -0.0038 + 0.1091i  -0.1613 - 0.2141i& O) U5 A2 Y) U& r5 c! m

  w$ X% R+ l6 V9 y8 v+ N, Z) U. [5 Uans =
1 X4 D& m, B# }! k8 r
# G! R2 S4 u2 j( O, H* s. i8 ^     3     8
; s' t: |. O' ]. |! I9 w  e0 Y  J
: Q2 o7 Q  M* I8 [8 @上面的程序是计算矩阵每一行的8点ifft,故结果是每一行的ifft有8个元素,而计算矩阵 Y 每一行的 ifft,关键语句为:4 g! h* o6 D9 J, }: r8 y
! o8 D9 K" O* {$ x: F. E. N! j8 ~$ x% y
X = ifft(Y,n,2),里面的2,如果去掉2,则是对矩阵Y的每一列计算ifft,测试如下:- ~: K$ N+ n9 D
+ U7 r" P: A: F, Y, i% o/ T
  • 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)
    + Z0 @, R/ Z4 O7 `9 G4 s
  
0 \- O( Q/ q& J% S" @4 }! U  B" K4 ^# K6 |7 ~
Y =
7 f7 A1 n- [% k' f2 T$ G' R! N3 W' l! [5 |1 i: E
    0.1419    0.7922    0.0357    0.6787    0.3922
, ?$ C1 [6 |0 W# j  \- Q' U' F    0.4218    0.9595    0.8491    0.7577    0.6555
; s* M6 [; f& \" I5 u8 ~    0.9157    0.6557    0.9340    0.7431    0.1712
) l9 Y9 \& a* ^: c  f+ J" s7 a; [( |9 T1 ]
X =0 \. A  s6 p$ K  l7 G5 X( R

, n/ {5 `0 q0 p$ T$ S0 A  1 至 4 列
8 {% b5 @. Y* e8 f0 N! ^; W/ Z  ?- ^
; v* ~6 G0 q' s/ p( g   0.1849 + 0.0000i   0.3009 + 0.0000i   0.2274 + 0.0000i   0.2725 + 0.0000i
% ^% m9 K! n: Y. U* x; _   0.0550 + 0.1517i   0.1838 + 0.1668i   0.0795 + 0.1918i   0.1518 + 0.1599i
3 N7 |5 d8 J" y  -0.0967 + 0.0527i   0.0171 + 0.1199i  -0.1123 + 0.1061i  -0.0080 + 0.0947i1 T. q& f. P1 Z# E
  -0.0195 - 0.0772i   0.0142 + 0.0028i  -0.0706 - 0.0417i   0.0179 - 0.0259i
1 n1 g& u2 P$ k+ Z   0.0795 + 0.0000i   0.0611 + 0.0000i   0.0151 + 0.0000i   0.0830 + 0.0000i
6 @9 C0 F8 J" r8 b# X0 p  -0.0195 + 0.0772i   0.0142 - 0.0028i  -0.0706 + 0.0417i   0.0179 + 0.0259i
" D- I0 N  g; g  -0.0967 - 0.0527i   0.0171 - 0.1199i  -0.1123 - 0.1061i  -0.0080 - 0.0947i
- t* a, v4 {1 m% w   0.0550 - 0.1517i   0.1838 - 0.1668i   0.0795 - 0.1918i   0.1518 - 0.1599i  k; Q- r) J, ~: S: Y2 J7 j) ]4 x

' K0 C5 M* ?% n  5 列% I. Z( D! E2 k6 x' `% e# K* i
( W' s1 j: W) R9 u
   0.1524 + 0.0000i
. A9 R7 ^1 C5 `& ~   0.1070 + 0.0793i3 R0 o8 p1 ~% T9 ~, \  N
   0.0276 + 0.0819i
6 n3 g  B( W& R& i  -0.0089 + 0.0365i( l' f7 s& H) k( G
  -0.0115 + 0.0000i
: L$ d' n5 V% j3 r+ h, `7 z  -0.0089 - 0.0365i
. e' I4 r1 V! n$ X# b3 t' M   0.0276 - 0.0819i; E3 R* j% C( S2 I/ I3 n! r- O* E* ?' @
   0.1070 - 0.0793i+ L, W: T3 D! {% W& S

: P. K# M+ I( ^; d% mans =
( _( V7 a3 |3 S" t1 z3 q0 h+ \- _6 t
     8     5
4 V) B' C: v; p) \' U- W* R! o
. J9 Z( o+ A& v
/ |. V; s& p# }% lConjugate Symmetric Vector

0 B( d1 |9 D* U# \! W1 m/ h5 a/ Z8 b  t/ F. o
For nearly conjugate symmetric vectors, you can compute the inverse Fourier transform faster by specifying the 'symmetric' option, 1 w! P/ L9 d+ V2 l2 |( ^' [* B! b
which also ensures that the output is real. Nearly conjugate symmetric data can arise when computations introduce round-off error.8 v' d9 B% \* }/ {% M4 N# |

4 R( j4 T# }* K9 {  t. G  j' e* m# XCreate a vector Y that is nearly conjugate symmetric and compute its inverse Fourier transform. ' g4 v; J2 X1 O) _4 L
Then, compute the inverse transform specifying the 'symmetric' option, which eliminates the nearly 0 imaginary parts.
% s. w& d7 X( P+ \6 M" ^8 U' z2 r6 ^, p% }8 b  ?7 ~6 }
对于近似共轭对称矢量,您可以通过指定“symmetric”选项来更快地计算逆傅里叶变换,这也确保了输出是真实的。 当计算引入舍入误差时,可能出现几乎共轭的对称数据。1 F2 m" ^+ j* ~& D6 |

) w$ w& m, Y9 [+ Q) `  Z8 p创建几乎共轭对称的向量Y并计算其逆傅里叶变换。然后,计算指定'对称'选项的逆变换,它消除了近0虚部。- K" k- f1 J9 o
  W( @& ?; x& C* L1 v# ]0 s. z# K
  • 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 ⋯
      \2 C( j9 h/ y; Y1 ?
   
* ^* e$ d8 h$ I* J& C9 @1 a* w
+ }( }) F+ P+ ]2 c  l

' T/ d6 z( {) b; T
7 o) N4 t- o) M5 @/ ^
结果如下:% j- O6 Y+ D6 ?+ ^  I9 p
7 ~# Z. B" q5 P9 d: ^4 J4 p
Y =1 d8 I$ }5 A* h( |3 `+ ]* r$ D3 ]/ n2 [
+ M; o! A' D- e& L# t: {( M$ C
    1.0000    2.0000    3.0000    4.0000    4.0000    3.0000    2.0000
4 ?1 o6 w) Y+ a" M# i% h! k$ O
. A* R+ X! @( f, ~X =6 N+ K% t1 A  O2 |& e  v4 N

, x: z& _# r' R& w* Y# g$ m  1 至 4 列9 a/ K. m5 C9 z; b, a0 O
, t  Y0 K, j2 Y
   2.7143 + 0.0000i  -0.7213 + 0.0000i  -0.0440 - 0.0000i  -0.0919 + 0.0000i0 H- n# K1 T* q! z$ v4 `

0 i3 c9 W/ {0 {- \  5 至 7 列
7 A$ d* p2 @: w! f- p/ f3 c& \' n* ]% P% ]
  -0.0919 - 0.0000i  -0.0440 + 0.0000i  -0.7213 - 0.0000i8 E( c) p# s- Z0 Q- c( s: n% n

7 Q$ I( o3 }: NXsym =( U  E3 H; Q, U# z, M8 G; _+ q4 Q

* y5 B4 B. n% Q; V2 b+ a    2.7143   -0.7213   -0.0440   -0.0919   -0.0919   -0.0440   -0.7213
. [8 D( {) U$ _% Z8 v, d
5 n* @8 x* d4 i4 b! M& p- n0 u
1 E: o+ e  L5 K* ]7 D" e/ B

1 M) L+ }9 `* _8 J" g  n
2 S) V' X3 E' X# t& R$ u

' d. ]; `& c9 M
7 z- ]- n* G" p' ~6 G. M

6 O- Z" {0 @  C; N
7 X6 a3 y1 m/ D+ t" V( e1 m
+ G1 x( B  Y) G: F1 Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-21 17:07 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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