短时傅里叶变换程序实现

参照网址短时傅里叶变换

参照上述网址,尝试编写短时傅里叶变换得程序,为了加深对短时傅里叶计算过程的理解,也为后续的其他算法先打下基础。编程能力较差,虽然仿照,但可能依然由很多考虑不到。

function [s,f,t] = sftf(x,window,overlap,nfft,fs)
    % x: 输入的一维数组
    % window: 窗的类型,当输入为一整数时,默认使用hanning窗
    % overlap:重叠的长度
    % nfft:做一次傅里叶变换得长度
    % fs:采样频率

%     默认参数设置
    if nargin < 2 || isempty(window);   window = hanning(256); end
    if length(window) == 1;             window = hanning(window); end
    if nargin < 3 || isempty(overlap);  overlap = floor(length(window)/2); end
    if nargin < 4 || isempty(nfft);     nfft = length(window); end
    if nargin < 5 || isempty(fs);       fs = 2; end
    if length(window) > nfft;           nfft = length(window); end
    
    n = length(window);
    step = n - overlap;                                     %每次移动的步长
    step_nums = ceil(abs(length(x)-overlap
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值