EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Matlab可以说是一个非常有用且功能齐全的工具,在通信、自控、金融等方面有广泛的应用。 本文讨论使用Matlab对信号进行频域分析的方法。 说到频域,不可避免的会提到傅里叶变换,傅里叶变换提供了一个将信号从时域转变到频域的方法。之所以要有信号的频域分析,是因为很多信号在时域不明显的特征可以在频域下得到很好的展现,可以更加容易的进行分析和处理。 FFT; `; a; y. p+ L- {7 b. m9 X' A
Matlab提供的傅里叶变换的函数是FFT,中文名叫做快速傅里叶变换。快速傅里叶变换的提出是伟大的,使得处理器处理数字信号的能力大大提升,也使我们生活向数字化迈了一大步。 接下来就谈谈如何使用这个函数。 fft使用很简单,但是一般信号都有x和y两个向量,而fft只会处理y向量,所以想让频域分析变得有意义,那么就需要用户自己处理x向量 一个简单的例子 从一个简单正弦信号开始吧,正弦信号定义为: 我们现在通过以下代码在Matlab中画出这个正弦曲线 fo = 4; %frequency of the sine wave$ `, [( P6 x2 o7 a+ {" ~3 q: {* R
Fs = 100; %sampling rate
* d8 Q) |+ @3 l$ a4 mTs = 1/Fs; %sampling time interval
6 E9 J# B% W6 ]: Y+ Ft = 0:Ts:1-Ts; %sampling period
2 ~, v0 y3 S: C0 E; @4 Mn = length(t); %number of samples
: h% t; \) B& f% b; t3 E8 qy = 2*sin(2*pi*fo*t); %the sine curve
( P/ o! `7 [2 W0 K. v5 q8 r6 b# H
) {3 U+ g1 A8 y9 s' ]9 c%plot the cosine curve in the time domain
: i$ r+ S# f& m% usinePlot = figure;! I2 ~' W" r* B$ W* H3 G
plot(t,y)2 ~* w! ]% d5 _6 e0 T) u" U
xlabel('time (seconds)')
+ `1 A7 n$ |" m& l) Jylabel('y(t)')& G( g( x/ y3 D3 Y- m5 _3 T+ f
title('Sample Sine Wave')1 \7 D6 B2 V7 E" m" `0 W9 y
grid 这就是我们得到的: 9 Z% P) T' [2 L. J" a: h$ A4 x
$ Z, |2 B) u+ z3 ^ y% H
|