EDA365电子论坛网

标题: 基于Matlab对信号进行频域分析的方法 [打印本页]

作者: relchhiclty    时间: 2019-1-23 07:30
标题: 基于Matlab对信号进行频域分析的方法
基于Matlab对信号进行频域分析的方法
2 y2 o) q5 A) G# J) ^4 w' h1 L6 X' z
% _% z# O/ G' G2 b$ Q" d2 [  h$ t
Matlab可以说是一个非常有用且功能齐全的工具,在通信、自控、金融等方面有广泛的应用。& Z. e  p. Q& l3 _$ F

本文讨论使用Matlab对信号进行频域分析的方法。

说到频域,不可避免的会提到傅里叶变换,傅里叶变换提供了一个将信号从时域转变到频域的方法。之所以要有信号的频域分析,是因为很多信号在时域不明显的特征可以在频域下得到很好的展现,可以更加容易的进行分析和处理。

FFT

Matlab提供的傅里叶变换的函数是FFT,中文名叫做快速傅里叶变换。快速傅里叶变换的提出是伟大的,使得处理器处理数字信号的能力大大提升,也使我们生活向数字化迈了一大步。

接下来就谈谈如何使用这个函数。

fft使用很简单,但是一般信号都有x和y两个向量,而fft只会处理y向量,所以想让频域分析变得有意义,那么就需要用户自己处理x向量

一个简单的例子

从一个简单正弦信号开始吧,正弦信号定义为:

我们现在通过以下代码在Matlab中画出这个正弦曲线

fo = 4; %frequency of the sine wave

Fs = 100; %sampling rate

Ts = 1/Fs; %sampling time interval

t = 0:Ts:1-Ts; %sampling period

n = length(t); %number of samples

y = 2*sin(2*pi*fo*t); %the sine curve

%plot the cosine curve in the TIme domain

sinePlot = figure;

plot(t,y)

xlabel(‘TIme (seconds)’)

ylabel(‘y(t)’)

TItle(‘Sample Sine Wave’)

grid

这就是我们得到的:

8 @% P7 p+ `, e: \

! q8 r  z9 }( R0 W3 o: Q# e) b
作者: longcangxu    时间: 2019-1-23 08:57
kan    kan  
作者: niuth    时间: 2019-1-30 11:10
学习一下




欢迎光临 EDA365电子论坛网 (https://www.eda365.com/) Powered by Discuz! X3.2