EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Matlab可以说是一个非常有用且功能齐全的工具,在通信、自控、金融等方面有广泛的应用。 本文讨论使用Matlab对信号进行频域分析的方法。 说到频域,不可避免的会提到傅里叶变换,傅里叶变换提供了一个将信号从时域转变到频域的方法。之所以要有信号的频域分析,是因为很多信号在时域不明显的特征可以在频域下得到很好的展现,可以更加容易的进行分析和处理。 FFT
+ A4 R# K' U# F V+ bMatlab提供的傅里叶变换的函数是FFT,中文名叫做快速傅里叶变换。快速傅里叶变换的提出是伟大的,使得处理器处理数字信号的能力大大提升,也使我们生活向数字化迈了一大步。 接下来就谈谈如何使用这个函数。 fft使用很简单,但是一般信号都有x和y两个向量,而fft只会处理y向量,所以想让频域分析变得有意义,那么就需要用户自己处理x向量 一个简单的例子 从一个简单正弦信号开始吧,正弦信号定义为: 我们现在通过以下代码在Matlab中画出这个正弦曲线 fo = 4; %frequency of the sine wave
5 X6 t8 B9 n7 t- Q% A8 ?) tFs = 100; %sampling rate
+ T0 }+ C. Z4 [, }Ts = 1/Fs; %sampling time interval' X' |& b# i' y' p
t = 0:Ts:1-Ts; %sampling period
! G/ e/ i& k: x& R2 L; e- C7 Pn = length(t); %number of samples
5 `/ N* _3 C' A" }y = 2*sin(2*pi*fo*t); %the sine curve3 U2 q( V" V( `. \
1 h8 {1 M ^/ L' [" y, _1 y7 B%plot the cosine curve in the time domain
6 ~% c2 i7 n+ u* f! k2 O3 fsinePlot = figure;
# h3 }4 P) I \5 d/ T3 P: {plot(t,y)9 l& j: g+ `# Y
xlabel('time (seconds)')8 G( C2 B2 |+ B# N8 E' g5 }
ylabel('y(t)')
) n3 e$ Z- o' i6 z; ~8 J- atitle('Sample Sine Wave')" q) ]0 o& Z3 M$ q5 u h+ V- Q
grid 这就是我们得到的:
) H8 I4 k3 S; a3 T" f
4 u. Y# i" q/ M! B+ I S7 s0 X |