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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
( L, g  f2 I3 m9 R; K7 E+ E

案例分析

       Inverse Transform of Vector

       Padded Inverse Transform of Matrix

       Conjugate Symmetric Vector

4 Y" _: u' m6 Z+ s1 f1 l3 s% W

0 ^/ ?& X+ L! m' b6 e案例分析
, p6 |7 ~# _4 n0 T  c
Inverse Transform of Vector
4 _4 u% W  y; y; `* ~# b6 a

% c' [( w) h: o" W5 \& V. u
  • % 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     58 x. z& H, q( d# V7 M: X" y
  
% P# E8 H+ e7 ?# d7 p& b  n3 t
4 z1 K4 y/ }7 ~' T+ e  _: r1 o& ?

+ I6 W9 e% T1 y* C0 S$ h
3 T: b* R5 U% F2 Y  l% T0 C. o
结果如下:! M! B3 V$ S9 \
6 E9 H5 b3 Q0 R1 B3 g4 L
ifft_vector9 f! m: h/ {2 X$ f' y- F0 d

: b' X, L) Q4 ?Y =7 b& e7 j0 e2 n+ O0 I
. u7 M/ `  C9 y8 f$ E, v1 Y
  1 至 4 列+ z1 Y7 h8 a  G% s3 v" l
3 U( t( T3 t8 G( H, f! V, \- ~
  15.0000 + 0.0000i  -2.5000 + 3.4410i  -2.5000 + 0.8123i  -2.5000 - 0.8123i* \5 ~% |4 |* p1 R
# V' w' [2 B9 u7 w
  5 列& B( x* n; J% H) G9 D1 n( a
$ B( U) i8 v- Z  D
  -2.5000 - 3.4410i
; k9 A9 L9 R4 S. q" ]4 X
6 n! G; C- q) kans =$ U) Z9 R& l. d8 y/ P, R

8 `2 k0 K2 l& [" @4 z( h     1     2     3     4     58 t5 z" p2 d' F* R6 d4 u6 I
$ w# {, @6 K3 m7 q
' S. L3 Z( m0 g
Padded Inverse Transform of Matrix
8 Y( w9 v4 S, e0 K
  • 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)
    7 r8 h5 D$ ]: d. M) ~
  J$ L" O7 z, J1 r; H9 \1 L
1 b7 V# u* a9 s! ]
( o4 S$ Q3 ~9 I4 b, e- m  Z; x
' r# V/ F1 c$ ~% P+ }7 o
结果如下:8 h  I0 R# K  r
+ G$ ~; H- M1 f! @& c( |
Y =
9 ^/ c. M0 [/ X5 @8 I6 C, ~  R$ O# d, H
    0.8147    0.9134    0.2785    0.9649    0.95721 @2 {+ I  i8 I
    0.9058    0.6324    0.5469    0.1576    0.48541 Z9 ^& J+ P% D6 G2 W9 O7 `2 i
    0.1270    0.0975    0.9575    0.9706    0.8003
4 Z5 p, [6 [; ?% v
6 m: c1 \: L9 t/ {X =% e! h9 j5 ]5 }; o

2 o" B; S# T% x3 D9 X  1 至 4 列) o3 m$ {& p$ y6 v0 Q* b

7 g! T& j- z" Y   0.4911 + 0.0000i  -0.0224 + 0.2008i   0.1867 - 0.0064i  -0.0133 + 0.1312i& K8 ]+ m, z+ R# ?
   0.3410 + 0.0000i   0.0945 + 0.1382i   0.1055 + 0.0593i   0.0106 + 0.0015i; ^; X: z/ u' e% b; J8 t
   0.3691 + 0.0000i  -0.1613 + 0.2141i  -0.0038 - 0.1091i  -0.0070 - 0.0253i
* E2 ^* p% }4 F# F2 W' T" [& }
7 E- U; b: A2 T  l2 G  5 至 8 列
; O+ ^! C' K5 H$ R" M9 }
( g0 U( @, a6 b7 r4 \   0.0215 + 0.0000i  -0.0133 - 0.1312i   0.1867 + 0.0064i  -0.0224 - 0.2008i- y3 Z# X, J2 h% f+ n
   0.1435 + 0.0000i   0.0106 - 0.0015i   0.1055 - 0.0593i   0.0945 - 0.1382i$ Y8 ^  \: L) U6 g" t
   0.1021 + 0.0000i  -0.0070 + 0.0253i  -0.0038 + 0.1091i  -0.1613 - 0.2141i' L  t1 G8 t; X* T& k7 O
2 w4 P) d6 v$ R5 G
ans =* ^4 h1 `+ i7 w+ L( @

1 ?# j3 @6 p% N6 B9 d     3     8. p/ _" m4 e$ w

4 w9 @1 Z& T! N6 `- I4 s# k* Z上面的程序是计算矩阵每一行的8点ifft,故结果是每一行的ifft有8个元素,而计算矩阵 Y 每一行的 ifft,关键语句为:+ x" B- K4 p' P/ c  _, Q
7 d' O' b0 C1 U! b- A+ K  s- m
X = ifft(Y,n,2),里面的2,如果去掉2,则是对矩阵Y的每一列计算ifft,测试如下:; |* `( y8 ]; e. c. e$ V9 y% ]
6 D! y/ V$ n& B: g
  • 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)
    $ l: R5 ~! t6 ~& _4 L% D) T: k
  
8 r$ [( p( [1 D- \& k; e# i
/ k' o6 s% p! G' _0 U& ?, D) LY =- A3 s0 S1 O$ Q4 Q

3 C* V% K1 B' E$ c    0.1419    0.7922    0.0357    0.6787    0.3922
  N2 D' b# D7 K6 ^5 u    0.4218    0.9595    0.8491    0.7577    0.6555) T4 ^9 H1 Q% i* X) Z/ }  K
    0.9157    0.6557    0.9340    0.7431    0.1712
( ^0 x: d& Q; @6 G0 C6 c' d: T  |' x
6 @/ |7 O3 [( v+ oX =
: _9 c# j3 A5 r+ }
: z- R2 a8 V+ n& U$ l* m8 K  1 至 4 列  N1 b8 g+ p9 b* s' u
+ a0 C# O6 t! m3 L6 l& S
   0.1849 + 0.0000i   0.3009 + 0.0000i   0.2274 + 0.0000i   0.2725 + 0.0000i
0 v7 y' o# X% z, b, G! N   0.0550 + 0.1517i   0.1838 + 0.1668i   0.0795 + 0.1918i   0.1518 + 0.1599i
) Z  H* ^7 h9 Q9 x  -0.0967 + 0.0527i   0.0171 + 0.1199i  -0.1123 + 0.1061i  -0.0080 + 0.0947i
# ~9 E" D+ `( V( a- Y  -0.0195 - 0.0772i   0.0142 + 0.0028i  -0.0706 - 0.0417i   0.0179 - 0.0259i
$ v& S% ^9 ^$ X! V. V9 O, T   0.0795 + 0.0000i   0.0611 + 0.0000i   0.0151 + 0.0000i   0.0830 + 0.0000i7 \2 z$ i2 m0 E7 G. N( C" d7 B* s
  -0.0195 + 0.0772i   0.0142 - 0.0028i  -0.0706 + 0.0417i   0.0179 + 0.0259i$ v) u# l, T3 a& v! |( N  P
  -0.0967 - 0.0527i   0.0171 - 0.1199i  -0.1123 - 0.1061i  -0.0080 - 0.0947i
) C/ p* S3 O! [$ j2 k3 X8 {+ E   0.0550 - 0.1517i   0.1838 - 0.1668i   0.0795 - 0.1918i   0.1518 - 0.1599i
+ @# y, ]* q$ s, [' g& k8 G
: i' Z( }7 B- A) |- x" G) }  5 列0 H, b$ E( U4 Z6 u7 q/ ]5 Z( z! k' H
( L& R0 N0 q4 I/ _
   0.1524 + 0.0000i. G  Y% S' o- b0 h
   0.1070 + 0.0793i
! V' O3 I8 a6 T& L8 U+ C6 v, d. h4 y  f   0.0276 + 0.0819i' e+ L2 }6 q; d3 ^1 B
  -0.0089 + 0.0365i
4 \1 w$ f: Y: H& v1 p  -0.0115 + 0.0000i
9 W' w. ]( C: {  -0.0089 - 0.0365i' l) k1 j% t$ o
   0.0276 - 0.0819i
% j0 |  H8 N+ B+ O% I. Z   0.1070 - 0.0793i
" ]5 S& t- P( L0 D2 c
& T) \5 I9 Z! z& }6 {ans =
; H9 p0 U2 {- G' ]6 m# P- u- l5 y3 G2 f
     8     5: d0 M* I# w1 A% C) R6 h( _

4 A! d: T9 j: x3 q
% v' q5 g! b' nConjugate Symmetric Vector

' y/ _2 B" D5 [, w' b9 w/ B- z% _7 `0 m4 Z
/ t+ n( f* l5 U5 q; p# G# a4 e' |For nearly conjugate symmetric vectors, you can compute the inverse Fourier transform faster by specifying the 'symmetric' option,
8 R  t% j* U! `which also ensures that the output is real. Nearly conjugate symmetric data can arise when computations introduce round-off error.
6 ]8 Q9 f0 ~7 c7 _  y# C) _9 Q+ G0 c; H1 [7 R' ^) g* Y2 N% ~
Create a vector Y that is nearly conjugate symmetric and compute its inverse Fourier transform. 3 ?" k' w( `6 z* n* L
Then, compute the inverse transform specifying the 'symmetric' option, which eliminates the nearly 0 imaginary parts.
% @8 c! h" B2 T6 K+ q
; F' o6 n) e& U6 ?/ P对于近似共轭对称矢量,您可以通过指定“symmetric”选项来更快地计算逆傅里叶变换,这也确保了输出是真实的。 当计算引入舍入误差时,可能出现几乎共轭的对称数据。( g: c& Q$ \* c
, l' I7 {# @$ S0 V% b
创建几乎共轭对称的向量Y并计算其逆傅里叶变换。然后,计算指定'对称'选项的逆变换,它消除了近0虚部。
1 N8 a; `' N6 I
, c2 N  V; j# t( t- p4 \4 `
  • 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 ⋯
      H7 h  _8 r; e
   ' D" Z0 O& ?" C9 f
2 q* K" T6 S6 K1 u

9 S' A( y+ p* y& R: k
- n5 c* S+ F  c0 z6 Q! G. c
结果如下:9 ~+ Z- [3 O8 I& l5 ^0 R6 d& z

3 ]: x, ^) U8 p8 ?/ EY =
2 S' ~5 o* ?3 X4 z0 I1 v
7 T4 l( a" L" S0 O7 l4 c5 q3 c    1.0000    2.0000    3.0000    4.0000    4.0000    3.0000    2.0000
  X( Q5 \1 H2 ?0 X7 a1 c: d% z" A5 r
X =
: w/ q& R% P# o; \7 l% {  _4 \6 N3 ~% Z9 ~6 Z. I! t3 T+ h
  1 至 4 列
/ H2 I# b! y( _$ N2 H6 s3 V+ L( J, t0 X; ]
   2.7143 + 0.0000i  -0.7213 + 0.0000i  -0.0440 - 0.0000i  -0.0919 + 0.0000i
- n6 P) n% F- k) p- x: j/ l
8 @5 j0 V5 ?6 v, ^' h2 m  5 至 7 列
0 k: ?- ?+ O/ U: q4 l
& w# k; H: C4 k. a2 Y; Y! |  -0.0919 - 0.0000i  -0.0440 + 0.0000i  -0.7213 - 0.0000i! [' B' ]) z0 L1 }4 A0 T2 U

1 I9 B- \! @4 VXsym =9 |5 U3 y7 G  V4 m

# B# B7 F9 ^! v5 \. g6 |* P    2.7143   -0.7213   -0.0440   -0.0919   -0.0919   -0.0440   -0.7213

9 Y  M. e/ H9 c/ A; H# s$ F. W* K- @$ f& C+ g. q
7 [' T" S  D' N+ a

+ C& t0 m$ C) M: b3 k! C: O  A' r; W: ~# p, }1 ~
) G; A' K+ W1 t4 [6 U

! A& [4 Z8 H6 i
/ Q4 X7 n+ M: i: w

! u: ~# |& [2 o' R. d; ~

- V2 J; z0 K' L( {3 W/ Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-5 01:49 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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