我是靠谱客的博主 高兴短靴,最近开发中收集的这篇文章主要介绍语音zero phase matlab处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先,求得zero phase之后的波形,函数名为:a_simpleFFT.m

%a_simpleFFT.m 
function [Pu]=a_simpleFFT(filename)
    if nargin < 1
        filename = 'C:UserssuhongDesktop语音信号盲分离用到的语音文件F16A1.WAV';
    end
    winsize = 512;
    shiftsize = 160;
    [wav,Fs,bits] = wavread(filename);
    window = hamming(winsize);
    winc = getframe(wav,winsize,shiftsize,window);
    sf = fft(winc);%傅里叶变换
    ef = ifft(abs(sf).^0.1);%傅里叶逆变换
    %sf1 = fft(ef);
%     figure;imagesc(log(abs(sf(winsize/2:end,:))));
%     title('fft之后的频谱图');
%     figure; plot(ef(winsize/2:end,:));
%     title('逆fft之后的波形图');
     spec=ef(2:256,:);  %512 * 帧数
        %spec=log(abs(sf1(winsize/2:end,:)));
%     figure;imagesc(spec);
%     title('相位变为0之后的频谱图');

%     figure;imagesc(spec-log(abs(sf(winsize/2:end,:))));
%     title('差值');
    
    
    spec=spec'; %帧数 * winsi

最后

以上就是高兴短靴为你收集整理的语音zero phase matlab处理的全部内容,希望文章能够帮你解决语音zero phase matlab处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部