hanmming窗和hamming窗的作用

article/2025/8/7 2:01:32

什么是汉明窗?加Hanmming窗的作用?

 

1.什么是汉明窗?

答:我是做语音识别的,我就从语音的角度跟你说一下吧。

 

语音信号一般在10ms到30ms之间,我们可以把它看成是平稳的。为了处理语音信号,我们要对语音信号进行加窗,也就是一次仅处理窗中的数据。因为实际的语音信号是很长的,我们不能也不必对非常长的数据进行一次性处理。明智的解决办法就是每次取一段数据,进行分析,然后再取下一段数据,再进行分析。

 

怎么仅取一段数据呢?一种方式就是构造一个函数。这个函数在某一区间有非零值,而在其余区间皆为0.汉明窗就是这样的一种函数。它主要部分的形状像sin(x)在0到pi区间的形状,而其余部分都是0.这样的函数乘上其他任何一个函数f,f只有一部分有非零值。

 

为什么汉明窗这样取呢?因为之后我们会对汉明窗中的数据进行FFT,它假设一个窗内的信号是代表一个周期的信号。(也就是说窗的左端和右端应该大致能连在一起)而通常一小段音频数据没有明显的周期性,加上汉明窗后,数据形状就有点周期的感觉了。

 

因为加上汉明窗,只有中间的数据体现出来了,两边的数据信息丢失了,所以等会移窗的时候,只会移1/3或1/2窗,这样被前一帧或二帧丢失的数据又重新得到了体现。

 

简单的说汉明窗就是个函数,它的形状像窗,所以类似的函数都叫做窗函数。希望你能明白。

 

2.加Hanmming窗的作用

现在在看G.723.1,对语音编码刚入门,

发现在对信号进行LPC分析前,对信号乘以一个Hamming 窗,

乘法是:信号直接乘以一个HammingWindowTable中的值,这个加窗有什么作用?

如果是限制带宽的话, 在时域应对信号应做卷积的, 不明白,请赐教

 

因为要处理的是无限长序列中的一段,所以必须对这段序列加窗采集出来。

 

典型的窗口大小是25ms,帧移是10ms。汉明窗函数为

            W(n,α ) = (1 -α ) - α cos(2*PI*n/(N-1)),0≦n≦N-1

    一般情况下,α取0.46 。

谁能解释一下这个函数吗?我实在是不理解,谢谢.

 

由于直接对信号(加矩形窗)截断会产生频率泄露,为了改善频率泄露的情况,加非矩形窗,一般都是加汉明窗,因为汉明窗的幅频特性是旁瓣衰减较大,主瓣峰值与第一个旁瓣峰值衰减可达40db。

 

复制代码
举例:a=wavread('jiasiqi.wav');   %将音频信号jiasiqi.wav读入
subplot(2,1,1),                  %分配画布,一幅图上共两个图,这是第一个
plot(a);title('original signal');  %画出原始信号,即前面这个音频信号的原始波形
grid                                    %添加网格线
N=256;                               %设置短时傅里叶变换的长度,同时也是汉明窗的长度
h=hamming(N);                   %设置汉明窗
for m=1:N                       %用汉明窗截取信号,长度为N,主要是为了减少截断引起的栅栏效应等
b(m)=a(m)*h(m)
end
y=20*log(abs(fft(b)))           %做傅里叶变换,取其模值,即幅频特性,然后用分贝(dB)表示
subplot(2,1,2)                     %分配画布,第二副图
plot(y);title('短时谱');            %画出短时谱
grid                                        %添加网格线
复制代码

 


这篇文章转自: http://www.cnblogs.com/lxy2017/p/4049124.html


http://chatgpt.dhexx.cn/article/eOZlmtyT.shtml

相关文章

LFM回波信号仿真,加汉明窗,可用的matlab代码

LFM回波信号仿真,加汉明窗,可用的matlab代码 运行结果(文尾有程序) 在数字信号处理过程中,每次FFT变换只能对有限长度的时域数据进行变换,因此,需要对时域信号进行信号截断。 即使是周期信号&…

matlab汉明窗dft,谱分析中窗的选取

信号截断及能量泄漏效应 数字信号处理的主要数学工具是傅里叶变换,而傅里叶变换是研究整个时间域和频率域的关系。然而,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。取用有限个数据,就是将信号进行加窗函数操…

语音信号处理(二):矩形窗和汉明窗时域波形和频域波形

一:通过代码实现 clear all; hzeros(10000,1); h(2001:8000)1; % 在2001-8000上令值为1 subplot(2,2,1); plot(h,r-); title(矩形窗时域波形); xlabel(样点数); ylabel(幅度); hold on; axis([0 10000 0 1.5]);wh(2001:2060); Wfft(w,1024); % 对w进行1024点fft计…

语音识别之——mfcc什么是汉明窗,为什么加汉明窗

为什么要加汉明窗?什么叫加窗? 在信号处理中,可以说加窗处理是一个必经的过程,因为我们的计算机只能处理有限长度的信号,因此原始信号X(t)要以T(采样时间)截断,即有限化,…

窗方法原理之矩形窗及汉明窗

窗口设计法 窗口设计法是从单位脉冲响应着手,使h(n)逼近理想的单位脉冲响应序列hd(n)。我们知道hd(n)可以通过对理想频响求DTFT反变换获得 理想频响是分段恒定的,在边界频率处有突变点,所以,这样得到的理想滤波器单位脉冲响应hd(n…

【信号与系统】信号频谱和测量之汉明窗

【信号与系统】信号频谱和测量之汉明窗 信号频谱和测量傅里叶变换汉明窗汉明窗函数 频谱计算示例输入示例代码运行结果 示例2-书中示例参考资料 信号频谱和测量 傅里叶变换 汉明窗 实际情况中,由于无穷的积分范围问题,需要减少测量信号的时间&#xff…

matlab hamming 原理,Matlab中加汉明窗 ahmming 作用

转自:http://www.cnblogs.com/lxy2017/p/4049124.html 1.什么是汉明窗? 语音信号一般在10ms到30ms之间,我们可以把它看成是平稳的。为了处理语音信号,我们要对语音信号进行加窗,也就是一次仅处理窗中的数据。因为实际的语音信号是很长的,我们不能也不必对非常长的数据进行…

矩形窗、汉明窗效果对比(matlab)

直接上代码: clear all; close all; f11e3;f21.8e3; Fs6e3; M60;N2048; n0:M-1; xcos(2*pi*f1*n/Fs)0.05*cos(2*pi*f2*n/Fs); k0:N-1;DFs/N;%频谱分辨率 f1fft(x,2048);%加矩形窗DFT hmhamming(M);%汉明窗 f2fft(x.*hm,2048);%加汉明窗DFT plot(k*D,10*log10(abs(f…

Hamming(汉明)窗的原理介绍及实例解析

概念   在数字信号处理过程中,每次FFT变换只能对有限长度的时域数据进行变换,因此,需要对时域信号进行信号截断。即使是周期信号,如果截断的时间长度不是周期的整数倍(周期截断),那么&#xff…

基于MATLAB的FIR滤波器性能仿真,对比矩形窗、汉明窗,海宁窗,布莱克曼窗

目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 矩形窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致加窗过程中带进了高频干扰和频谱泄漏。 汉宁窗又称升余弦窗,汉宁窗使主瓣加宽并降低,旁瓣则显著减小,从减小泄漏观点出发,汉宁窗优于矩形窗。…

汉明窗试分析

I、预备知识: 1)帧:简单说,有一段语音信号,分成很小的一段一段的等长的信号,这其中一段就是一帧。—通常一秒取约33帧到100帧,也就是说一帧大约时长为1s/100-1s/33。(如下图为一段语…

一文读懂FFT,海宁窗(hann)和汉明窗(hamming)的区别,如何选择窗函数

一文读懂FFT,海宁窗(hann)和汉明窗(hamming)的区别 海宁窗和汉明窗时域波形频域响应matlab window 工具 如何选择窗 数字信号处理离不开频域分析,一定会用到FFT。做FFT之前又会用到窗函数。那么各种窗函数之…

FIR滤波器窗函数设计法——汉明窗设计实例

文章目录 前言一、FIR滤波器的设计方法1 窗函数设计法的原理2 窗函数的主要指标和设计方法3 汉明窗的特性和设计方法 二、汉明窗设计滤波器实例1.低通滤波器matlab示例2.高通滤波器matlab示例3.多通带滤波器matlab示例 前言 数字滤波器按单位抽样响应的时间特性可分为无限长单…

图像处理算法:最大类间方差法

转载于:https://www.cnblogs.com/abella/p/10646792.html

CV笔记5:图像分割之最大类间方差法、自适应阈值分割(基于python-opencv实现)

目录 一、简介 二、最大类间方差法(大津法) 2.1 最大类间方差法原理 2.2 基于opencv的实现(简单阈值分割、Otsu阈值分割) 三、自适应阈值分割 参考 一、简介 图像阈值化分割是一种传统的最常用的图像分割方法,因…

图像处理之:最大类间方差法法进行图像二值化处理

方法简介: gω0ω1(μ0-μ1)^2 对于图像I(x,y),前景(即目标)和背景的分割阈值记作T,属于前景的像素点数占整幅图像的比例记为ω0,其平均灰度μ0; 背景像素点数占整幅图像的比例为ω1,其平均灰度为μ1,类间方差记为g。采用遍历的方法得到使类间方差最大的阈值T int…

学习笔记———《最大类间方差法》

最大类间方差法是由日本学者大津(N.Otsu)于1979年提出的,又叫大津法,简称Otsu法,是一种自适应的阈值确定的方法。 它的基本思想是以某一灰度值(如t)为阈值,将图像中的像素分成两类C0和C1,然后计算它们的方差&#xff0…

自动选择阈值--最大类间方差法(OTSU)原理及matlab实现

原理 基本思想: 把一幅图像分成两部分C0,C1.使前景和背景与平均灰度的差别最大。这种差异用方差sigmaB表示。 所以目标就是求最大方差sigmaB对应的阈值T。 matlab代码 clc clear ximread(rice.png); ax;subplot(211); imshow(a,[]); %[count x]imhist(…

【机器视觉学习笔记】大津法/Otsu最大类间方差法 最佳阈值处理(C++)

目录 概念C源码OtsuThreshold主函数 效果完整源码 平台:Windows 10 20H2 Visual Studio 2015 OpenCV 4.5.3 本文所用源码修改自C opencv 图片二值化最佳阈值确定(大津法,OTSU算法)——Sharon Liu 概念 Otsu算法,也叫最大类间方差法&#x…

使用matlab编程实现基于阈值分割的扫描文档二值化方法,MATLAB实现基于最大类间方差法的图像分割算法...

clear clc; %% 选择图片,并二值化 [fn,pn,fi]uigetfile(*.jpg,选择图片); Iimread([pn fn]); if ndims(I) 3 I rgb2gray(I); end % fxy imhist(I, 256); %统计每个灰度值的个数 [counts,x] imhist(I, 256) ; figure; subplot(2, 2, 1); imshow(I, []); title(原…