|  | 
 
| 
Matlab 傅里叶变换傅里叶逆变换-FFT-IFFT
x
EDA365欢迎您登录!您需要 登录 才可以下载或查看,没有帐号?注册  * R2 q7 G; {# _# B0 U0 T5 w
 1 ?6 e0 p! B' w9 x%% 信号经过傅里叶变换然后进行傅里叶逆变换后信号的变化
 ) s& G( F& o; v" b5 fclear   all;   clc;. v$ J. G% E0 p. r8 H* {4 E
 %------Author&Date------% J( T/ O; I9 b8 z% s2 k
 %Author:
 ; F, l6 ~9 \; C6 f" C1 t" y%Date: 2013/07/31
 & Q* C' U# o1 K* `%========================================================================== ; g$ Y: g0 Q) d* @
 Fs=8e3;                      %采样率
 # F/ R  y" i; j8 `  w2 H8 nt=0:1/Fs:1;                       %采样点
 9 g6 h  N* K  j6 Klen=length(t);                       %采样长度9 b- Z8 F0 f: }
 f1=10;                       %频率 1
 " M# k/ I; h6 }) o  `& |8 Xf2=100;                       %频率 2
 7 n1 G% `0 @# Mf3=1000;                       %频率 3- K* h; B0 r8 t  h: P1 E. N
 A1=1;                       %幅度 1
 . f5 [$ [7 u! c1 k- x: _0 U0 CA2=0.8;                       %幅度 2
 * k  I% c' ?5 O# K* O/ }A3=0.3;                       %幅度 3* V' V, V) E0 u
 MaxS=A1+A2+A3;                       %信号幅度的最大值
 + p2 p# N2 d, y3 L+ `0 |* \signal=A1*sin(2*pi*f1*t)+A2*sin(2*pi*f2*t)+A3*sin(2*pi*f3*t);2 J' F3 p' X; c5 G
 X=fft(signal,len);                       %傅里叶变换- m% e/ r! J/ h3 U8 [- S
 magX=abs(X);                       %信号的幅度
 `6 Q2 d4 g" @angX=angle(X);                       %信号的相位
 2 J6 l3 k# E. C: @- MY=magX.*exp(1i*angX);                       %信号的频域表示
 % @7 q& B2 s, B) \2 t8 y3 Y5 py=ifft(Y,len);                       %信号进行傅里叶逆变换
 ' k4 ~3 L, S" x& j, Jy=real(y);
 + K2 l3 o1 p5 n9 d# g. Yer=signal-y;                       %原始信号和还原信号的误差
 5 {, i5 t/ I: M  asubplot(311);plot(t,signal);axis([0 1 -MaxS MaxS]);xlabel( ' 时间 ' );ylabel( ' 振幅' );title( ' 原始信号 ' );
 # y8 d8 N: Y8 V/ |+ b: C4 |0 b; dsubplot(312);plot(t,y);axis([0 1 -MaxS MaxS]);xlabel( ' 时 间 ' );ylabel( ' 振 幅 ' );title( ' 还原信号 ' );2 o1 E. K* _& T1 A7 A, r
 subplot(313);plot(t,er);xlabel( ' 时间 ' );ylabel( ' 振幅 ' );title( ' 误差 ' );
 / V" }+ _9 B% l0 _% End Script
 9 ?5 g* }. U8 Q) O, j9 K& f' z* C, r& c2 e" N. u' n0 O
 % N0 S) Y9 F' K- s
 
   , h! p/ V# A8 e3 @4 A
 4 T% R% ]2 a6 z1 }' @误差er的数量级为
  ,误差绝对值的最大值(  )如下图: 0 n0 o4 [1 s. `% H* f: q9 S( m+ d: R+ V9 v3 j+ z, d" D
 
   / Y+ L0 |* E( P1 V3 A/ m6 _3 n. A1 P4 h' [% H: a/ t) C
 
 : i5 n* E5 B% \1 v
 & S# k/ s" T' G5 w4 y. B# I" e# ]3 Z# |2 H+ c
 
 6 Q8 ~8 r' \; u: W, d2 d1 ?
 | 
 |