首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >基于短时傅立叶变换的信号综合分析

基于短时傅立叶变换的信号综合分析
EN

Stack Overflow用户
提问于 2013-07-12 02:26:17
回答 1查看 464关注 0票数 1

我需要将信号转换到频域,并在经过一些修改后,再次使用STFT和ISTFT在时域传输回信号。通过使用相同的窗口进行分析和综合,将获得完美的重建。然而,如果我选择两个不同的窗口,我将不会得到完全重建。据我观察,原始信号和重建信号的比例是不同的,这是帧推进的函数。如果你能帮我解决这个问题,得到完整的重建,那就太好了。

代码语言:javascript
代码运行次数:0
运行
复制
x             = sin(t)
Nfft          = 256;
Frame_advance = 0.5*Nfft;
window_a       = hann(1500);
window_s       = hann(Nfft);
X  = STFT(x,Nfft,Frame_advance,window_a)
x2 = ISTFT(X,Nfft,Frame_advance,window_s) % reconstructed 
EN

回答 1

Stack Overflow用户

发布于 2013-07-13 00:32:49

我不知道你的STFT和ISTFT函数,你也在使用相位信息吗?

下面是我的示例step by step (无窗口)

代码语言:javascript
代码运行次数:0
运行
复制
    %get some point for example 2048 points of signal
    x=signal(1:2048);
    %Make FFT
    y=fft(x);
    %Amplitude of the FFT
    mx=abs(y);
    %get Phase Information
    ma=angle(y);
    %back the signal to complex
    y2= mx .* ( cos(ma) + sqrt(-1) *(sin(ma)) );
    %Apply Inverse FFT
    x2=real(ifft(y2));

现在x == x2

在你的例子中,你是在你的信号中应用一个汉恩窗口,然后如果你应用窗口,你需要做一个OLA (Overlap and add)过程来进行正确的重建……

但是为什么你需要不同的窗口大小呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17600720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档