资源简介
参数可自由选择,可以根据自己需要选择步长、窗函数种类从而实现短时傅里叶变换。
代码片段和文件信息
function [spec freq]=STFT(sig nlevelwinlensampfreq)
%计算信号的短时傅里叶频谱
%sig: 带分析信号
%nlevel:频率轴长度划分,默认512
% winlen: 汉宁窗长度,默认64
% sampfreq: 信号的采样频率,默认1
% sampfreq=100;
% t=0:1/sampfreq:5;
% sig=sin(2*pi*(5*t+4*t.^2));
% sig=sig+sin(2*pi*(45*t-4*t.^2));
% STFT(sig512128100)
if (nargin<1)
error(‘at least one parameter required‘);
end
sig=real(sig);
siglen=length(sig);
if (nargin<4)
sampfreq=1;
end
if (nargin<3)
winlen=64;
end
if (nargin<2)
nlevel=512;
end
nlevel=ceil(nlevel/2)*2+1;
winlen=ceil(winlen/2)*2+1;
winfun=exp(-6*linspace(-11winlen).^2);
winfun=winfun/norm(winfun);
lh=(winlen-1)/2;
ln=(nlevel-1)/2;
spec=zeros(nlevelsiglen);
wait=waitbar(0‘under calculation please wait...‘);
for iloop=1:siglen
waitbar(iloop/siglenwait);
ileft=min([iloop-1lh
- 上一篇:Fisher判别matlab实现
- 下一篇:基于Matlab的步进电机闭环建模与仿真
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论