EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Matlab可以说是一个非常有用且功能齐全的工具,在通信、自控、金融等方面有广泛的应用。 本文讨论使用Matlab对信号进行频域分析的方法。 说到频域,不可避免的会提到傅里叶变换,傅里叶变换提供了一个将信号从时域转变到频域的方法。之所以要有信号的频域分析,是因为很多信号在时域不明显的特征可以在频域下得到很好的展现,可以更加容易的进行分析和处理。 FFT
; j K; a+ i- T( o; e0 j' e2 u. I7 `Matlab提供的傅里叶变换的函数是FFT,中文名叫做快速傅里叶变换。快速傅里叶变换的提出是伟大的,使得处理器处理数字信号的能力大大提升,也使我们生活向数字化迈了一大步。 接下来就谈谈如何使用这个函数。 fft使用很简单,但是一般信号都有x和y两个向量,而fft只会处理y向量,所以想让频域分析变得有意义,那么就需要用户自己处理x向量 一个简单的例子 从一个简单正弦信号开始吧,正弦信号定义为: 我们现在通过以下代码在Matlab中画出这个正弦曲线 fo = 4; %frequency of the sine wave: \3 a1 k3 w; T" b9 s+ v8 {% g
Fs = 100; %sampling rate
; l2 X- x; W% i; bTs = 1/Fs; %sampling time interval
1 c2 f6 p: N8 L9 J* a1 @( v4 _t = 0:Ts:1-Ts; %sampling period8 f% Y2 S# G- p( z5 E6 W
n = length(t); %number of samples
3 j5 b2 m: ?" x4 x# C$ \y = 2*sin(2*pi*fo*t); %the sine curve
- e: N1 V! y# i* k* k 0 K ~' d# r3 r3 [' Y. N7 g+ Y
%plot the cosine curve in the time domain
+ v4 c9 e8 }5 A3 X* H2 n! S ysinePlot = figure;+ X& J: \1 l4 @+ Q& c
plot(t,y)
5 n0 T! m4 k. @' [$ d7 Wxlabel('time (seconds)')! a* N$ g) b; ]6 V' ^
ylabel('y(t)')$ y$ H; {& @. x; V7 _0 V2 Y
title('Sample Sine Wave')6 h2 A: u" L" u8 t! O* m
grid 这就是我们得到的: . p+ c- Q; s: f* X! h
- d( {- U( D( F
|