FFT谐波频谱相谱分析Matlab程序二则.doc
《FFT谐波频谱相谱分析Matlab程序二则.doc》由会员分享,可在线阅读,更多相关《FFT谐波频谱相谱分析Matlab程序二则.doc(5页珍藏版)》请在沃文网上搜索。
1、FFT谐波频谱相谱分析Matlab程序二则by ggihhimm程序一:从Excel表中读取数据,然后分析其频谱、相谱和总谐波畸变率,并画出茎状图(stem),图示如下(测试数据含直流分量):%该程序从Excel表中读取数据,然后分析其频谱、相谱和总谐波畸变率%一组数据+采样率 显示频谱 下面的阀值应适当调大 注意I1rms的定义clear all;close all;clc;%y=xlsread(HCwithDI_2.xls); %一列数据:excel表格的第一列要知道数据的采样率,为%保证结果的准确性,最好为整数倍周期L=length(y);mdflag=1; %是否标点,1是,0否del
2、=1e-1; %删除的阀值,根据数据幅值大小来设置Fs=50*L; %采样率f0=50; %信号基波频率%f=0:L-1;f=f*Fs/L/f0; yfft=fft(y);yfft(L/2+1:L)=;f(L/2+1:L)=;mag=abs(yfft)/L*2;ang=angle(yfft)*180/pi;mag(1)=mag(1)*0.5; mag1=mag;mag1(mag=del)=; ang1=ang;ang1(mag=del)=;f1=f;f1(mag=del)=; L1=length(f1);subplot(211);hdl1=stem(f1(1:L1),mag1(1:L1),b:
3、o);set(hdl1,MarkerFaceColor,red,Marker,square);ylabel(各次谐波幅值/A);tem=get(gca,XLim);xwidth=tem(end)-tem(1);x=zeros(1,L1);zhi=zeros(2,L1);dotstr=cell(2,L1);xright=1.5;x(1)=f1(1)+xwidth/100*xright; if f1(L1)xwidth-1 x(L1)=f1(L1)+xwidth/100*xright;else x(L1)=f1(L1)-xwidth/100*10;endzhi(1,1)=mag1(1);zhi(2
4、,1)=ang1(1);zhi(1,L1)=mag1(L1);zhi(2,L1)=ang1(L1);dotstr1,1=num2str(mag1(1),%8.3f);dotstr2,1=num2str(ang1(1),%8.3f);dotstr1,L1=num2str(mag1(L1),%8.3f);dotstr2,L1=num2str(ang1(L1),%8.3f);for i=2:L1-1 x(i)=f1(i)+xwidth/100*xright; zhi(1,i)=mag1(i); zhi(2,i)=ang1(i); zhi(1,i)=mag1(i); zhi(2,i)=ang1(i);
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FFT 谐波 频谱 谱分析 Matlab 程序
