三九宝宝网宝宝教育学龄段教育

matlab如何提出谐波成分

01月07日 编辑 39baobao.com

1。如果你是用编程的话,可以用matlab提供的fft函数分析,下面是给你举个例子:

给定数学函数:x(t)=12sin(2pi*10t+pi/4)+5cos(2pi*40t)

程序如下:

N=128; %采样点数

T=1; %采样时间终点

t=linspace(0,T,N); %给出N个采样时间ti(i=1:N)

x=12*sin(2*pi*10*t+pi/4)+5*cos(2*pi*40*t); %求各采样点样本值x

dt=t(2)-t(1);

f=1/dt; %采样频率(Hz)

X=fft(x); %计算x的快速傅里叶变换X

F=X(1:N/2+1); %

f=f*(0:N/2)/N; %使频率从零开始

plot(f,abs(F)) %绘制振幅—频率图

xlable('Frequency');

ylable('|F(K)|');

运行后可得下图:

从图中可以看出幅值曲线上有两个峰值,分别对应给定函数的两个频率值(10和40HZ)。

2。如果你用的是simulink仿真的话,那就更容易了,simulink里的simpower system里有一个powergui模块,它可以对你的波形进行直接的傅里叶分析,从它那里可以直接读出各谐波分量的大小情况。是个及其好用的模块哦!

希望我的解答能够帮助你!!!

推荐阅读
图文推荐