声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1590|回复: 7

[FFT] 有关短时傅立叶的一个程序,帮我看看问题出在哪

[复制链接]
发表于 2008-5-30 17:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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 编辑 ]

跟踪的曲线

跟踪的曲线

untitled.fig

30.46 KB, 下载次数: 8

跟踪出来的曲线

回复
分享到:

使用道具 举报

发表于 2008-5-30 19:48 | 显示全部楼层
原帖由 wyb1552 于 2008-5-30 17:40 发表
我想通过短时傅立叶算法得到y函数的有效值曲线,但画出来的图形还多出了两堆曲线,不知道是什么回事,请高手们帮我看看
...
[F,T]=meshgrid(fnew,tnew);
plot(T,2*abs(TF)/(sqrt(2)*Nw),'b');

TF是一个17*64的数组,不能用plot命令来作图,同时T也是一个17*64的数组。把plot命令改一下,改为:
plot(tnew,2*abs(TF(:,2))/(sqrt(2)*Nw),'b');
就能得到下图。
wy2b.jpg
 楼主| 发表于 2008-5-31 13:15 | 显示全部楼层
谢谢您帮我解决这个问题,我知道该怎么做了
 楼主| 发表于 2008-5-31 14:03 | 显示全部楼层
我想在问下,短时傅立叶是不是只能对一个周波积分?如何提高它的精度?
发表于 2008-6-1 09:19 | 显示全部楼层
短时傅立叶变换的基础还是傅立叶变换,每一帧的谱值相当于是该时间窗(在楼主的程序中取了一周)内的平均,所以要想用短时傅立叶变换来提高跟踪信号变化的精度是不可能的,建议楼主采用其它方法试试。作为傅立叶变换,窗长内的信号至少要一个周波,最好是多几个周波。
 楼主| 发表于 2008-6-3 09:27 | 显示全部楼层
哦 ,好的,谢谢你的帮忙,学到了不少
发表于 2013-10-13 18:42 | 显示全部楼层
学习了,很好的练习
发表于 2013-10-14 17:22 | 显示全部楼层
你的短时傅立叶为啥不加窗函数?矩形窗......
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-30 03:33 , Processed in 0.070432 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表