python 加汉明窗_什么是汉明窗?加Hanmming窗的作用?
在matlab中执行命令,画出plot(hamming(100))的图如下:
matlab中hamming()函数的作用是:This MATLAB function returns an L-point symmetric Hamming window in the column vector w 返回一个L点的对称海明窗列向量w
什么是汉明窗?加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 %添加网格线
python 加汉明窗_什么是汉明窗?加Hanmming窗的作用?相关推荐
- 5 加盐_洗猪肚,加盐洗就错了!加这2样,5分钟洗净,猪肚不腥不臊更入味
它是猪身上最好吃的部位.虽然有些贵,但是很多人却爱不完,它就是猪肚.猪肚是猪的胃,猪肚中含有大量的钙.钾.钠.镁.铁等元素和维生素A.维生素E.蛋白质.脂肪等成分,具有补虚损,健脾胃的作用.猪肚的经典 ...
- python图片加水印_怎么在照片上加水印-用Python实现给图片增加水印
背景描述 在写文章的时候,经常需要用到一些图,为了访问被别人盗图,通常的做法是给图片添加水印. 本文分享如何使用python批量给图片添加水印. 界面展示 软件的界面如下: 软件的效果如下: 功能介绍 ...
- mysql驱动为什么自动加载_为什么JDBC中加载驱动要使用反射?
原文链接:https://www.cnblogs.com/homejim/p/8076481.html 在JDBC详解系列(一)之流程中,我将数据库的连接分解成了六个步骤. JDBC流程: 第一步:加 ...
- 中yeti不能加载_将 PQ 查询加载到 Excel 中进行分析的三种常用的方式
点击上方蓝字 关注星标★不迷路 岁月本长,忙者自促 虽然大部分时候经过PQ清洗的数据都是加载到Excel工作表中,但是PQ中还有另外两种将数据返回Excel中进行分析的方法. 三种不同的数据加载方式: ...
- epson彩色打印机加墨水_爱普生打印机墨盒如何加墨?
展开全部 掌握以下几点步骤,即可轻松加墨. 1.首先,从打印机上取下墨盒,32313133353236313431303231363533e4b893e5b19e31333365646234这里就不好 ...
- 七牛 java 加水印_七牛云图片加水印
目标:用户登录进平台后,他看到的所有图片都要以他的用户名加上水印. 1.首先说下七牛加水印的方法,首先附上官网地址: https://developer.qiniu.com/dora/manual/1 ...
- java ueditor 图片上传加水印_百度ueditor上传图片加水印的例子
百度ueditor上传图片默认没有水印功能的如果我们要添加水印需要在程序上进行一些添加了,下面来看看百度ueditor上传图片加水印的例子吧. 打开UEditor压缩包下php目录中的上传类文件:Up ...
- 如何锁定计算机硬盘e盘,怎么给电脑硬盘加密码_怎么给磁盘加密码
我们在使用电脑时,会都对各式各样的文件进行储存,但是有些文件是比较重要的,储存在盘符里,里面装了一些不想让别人看到的东西,这样的话我们就可以对银盘进行加密,那么别人就看不了你这加了密码的硬盘,那么我们 ...
- ajax java 图片加载_如何用Ajax加载服务器的图片
用Ajax请求服务器的图片,并显示在浏览器中 前言 一直在数据库里面存的都是图片在服务器的地址,然后再到浏览器中显示,但是发现两个问题 第一:为了安全起见,js是无法读取本地的图片的,不然你写一个js ...
- python类加载器_利用Python反序列化运行加载器实现免杀
前言 前几天在看Python的shellcode加载器,在网上找了一个,结果加载器自身就过不了火绒,测试发现是火绒对关键语句进行了识别. 所以我们要想办法去掉加载器中明显的特征. 原理及实现 在绕过静 ...
最新文章
- LeetCode 1021:Remove Outermost Parentheses
- ​一文读懂EfficientDet
- dubbogo 3.0:牵手 gRPC 走向云原生时代
- Oracle 数字与空值的排序问题
- DELL 控制卡做raid
- 51CTO首页改版上线 欢迎大家拍砖!
- ZooKeeper 概念讲的好
- Android自定义View【实战教程】2⃣️----自定义view那些事
- linux系统管理考试试题及答案,《Linux系统管理》期末综合试题答案.doc
- 文字转语音怎么做?分享三种配音方法,真人语音很逼真
- 高校成绩管理数据库系统的设计与实现
- DataCastle员工离职预测数据竞赛个人总结
- [易飞]一张领料单单身仓库quot;飞了quot;引起的思考
- android 9图工具位子,Android自定义9宫格图片视图
- 怎么让termux运行Java_在安卓手机上通过 Termux 运行编译/运行 .NET 应用
- iphone各机型的分辨率及像素
- 激光SLAM:Livox激光雷达硬件时间同步
- AutoService+javaPoet+maven+注解自动生成java代码
- 计算机大学生论文参考文献,大学生计算机外文外文 大学生计算机论文参考文献哪里找...
- 长沙周边最美露营基地:安化云台山风景区星空露营公园
热门文章
- android.dig机器人采访,机器人学导论心得 - osc_jjc36t9p的个人空间 - OSCHINA - 中文开源技术交流社区...
- 联想ThinkPad E15 2021款 酷睿版怎么样?测评值得买吗?
- servlet请求转发html页面乱码问题
- 51单片机(一)—— 51单片机简介
- c语言算除法并转百分比,【转】C语言除法运算符“/”和求余运算符“%”
- 数据仓库分层设计,零基础一看就会
- Golang + selenium 设置无头浏览器模式
- 【数据仓库】 BI 项目管理之角色和职责
- MATLAB机器学习决策树网格法优化参数学习笔记
- 如何划分和细化有限元网格,才能提高计算的精度和速度?