|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我想通过短时傅立叶算法得到y函数的有效值曲线,但画出来的图形还多出了两堆曲线,不知道是什么回事,请高手们帮我看看
%采样波形
clear all
fs=3200; %采样频率
t=[0:1/fs:0.1-1/fs];
a=1.414*ones(size(t));
index=find(0.035<=t&t<=0.075);
a(index)=1.414*0.7;
y=a.*sin(100*pi*t);
subplot(211);
plot(t,y);
xlabel('时间');
ylabel('幅值');
title('电压暂降信号 时域波形');
%短时傅立叶变换
N=length(y);
Nw=64; %窗函数长
L=16; %窗函数每次移动的样点数
Tn=(N-Nw)/L+1; %计算把数据x共分成多少段
nfft=64; %FFT的长度
TF=zeros(Tn,nfft); %将存放三维谱图,先清零
for i=1:Tn
n1=L*(i-1)+1;
n2=L*(i-1)+Nw;
sf=fft(y(n1:n2),nfft); %FFT变换
TF(i,:)=sf; %把谱图存放在TF中
end
subplot(212);
fnew=((1:nfft)-nfft/2)*fs/nfft;
tnew=(1:Tn)*L/fs;
[F,T]=meshgrid(fnew,tnew);
plot(T,2*abs(TF)/(sqrt(2)*Nw),'b');
xlabel('时间');
ylabel('有效值');
title('短时傅立叶跟踪电压暂降信号的有效值波形');
grid on;
[ 本帖最后由 wyb1552 于 2008-5-30 17:52 编辑 ] |
|