matlab中hamming窗的 c/c++ 版本的实现
matlab中的hamming窗调用:
>> hamming(5)
ans =0.08000.54001.00000.54000.0800
原理: hammin 窗的公式:
当a0 = 0.54
时,即为hamming窗;
当a0 = 0.5
时,即为hanning窗
故其对应的 c/c++ 代码为:
//hamming窗 : a = 0.54; hann窗 : a = 0.5
void hamming(float* win, int len)
{float a = 0.54; // 0.504是hamming 0.5是hannfor (size_t i = 0; i < len; i++){win[i] = a - (1.0f - a) * cos(2 * PI * i / (len - 1));}
}
原理介绍:
当 a0=0.53836 ,称作 Hamming窗;当 a0=0.5 则叫作 Hann窗。
Hann窗又称升余弦窗。Hann窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sinc(t) 型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。
从减小泄漏观点出发,Hann窗优于矩形窗。但Hann窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。如果我们将a0设为接近 0.53836 的数值,或是更精确来说是 25/46,便会得到Hamming窗,而设定这个数值的用意,是在频率为 5π/(N − 1) 处产生零交会处(zero-crossing),使原先Hann窗的第一个旁瓣(sidelobe)可以被大幅消除,产生只有Hann窗 1/5 高度的旁瓣。
一般来说,为了减少运算量,可以把公式精简为:
本文参考: (如有侵权,请联系作者)
- 什么是汉明窗?加Hanmming窗的作用?:https://www.cnblogs.com/lxy2017/p/4049124.html
- matlab矩形窗代码_Hamming(汉明)窗的原理介绍及实例解析:https://blog.csdn.net/weixin_36260304/article/details/113489274
matlab中hamming窗的 c/c++ 版本的实现相关推荐
- MATLAB用hamming窗和blackman窗来设FIR滤波器
%上面由单一的一维窗函数设计滤波器. %这里示例来说明两个一维窗函数的情况. [f1,f2] = freqspace(21,'meshgrid'); Hd = ones(21); r = sqrt(f ...
- matlab excel导入矩阵,如何将excel中数据导入到matlab中!Excel导入matlab生成矩阵
如何将excel中数据导入matlab并存入数组中 使用Matlab中的Excel Link就可以了. 如果使用Excel 2003版本,操作如下: 1 打开Excel. 2 在菜单栏中选择→加载项→ ...
- matlab不支持复数输入,高版本MATLAB中medfilt1函数不支持复数问题
medfilt1函数功能为一维中值滤波,最近在MATLAB R2018b中使用时,发现该函数已经不能支持直接输入复数进行滤波了,如下图在帮助文档中也有说明 1.png 在网上查询了好久,不知道为啥没有 ...
- matlab中如何加窗,matlab时域加窗
正弦信号处理加窗_信息与通信_工程科技_专业资料.正弦信号线性叠加混噪加窗处理 fft变换 作业二 1.用 MATLAB 产生三个频率成分信号, 进行线性叠加, 再加上白...... hamming窗 ...
- 三角窗 matlab,【matlab】矩形窗/三角窗/hanning窗/hamming窗/blackman窗的頻率響應圖
%{--------------------------------------------------------------------------- File:Matlab的窗函數,矩形窗 功能 ...
- 【matlab】矩形窗/三角窗/hanning窗/hamming窗/blackman窗的频率响应图
%{ --------------------------------------------------------------------------- File:Matlab的窗函数,矩形窗 ...
- hanning窗?hamming窗?如何理解语音信号处理中时间窗的作用
参考:如何理解FFT中时间窗与RBW的关系 - 知乎 - 如何理解FFT中时间窗与RBW的关系 hanmming窗和hamming窗的作用_西檬饭-CSDN博客_hamming - hanning窗和 ...
- MATLAB中更改plot图窗大小
MATLAB中plot图窗更改大小 调用语句: set (gcf,'Position', [x y a b]) %大小设置
- matlab三角窗函数,【matlab】矩形窗/三角窗/hanning窗/hamming窗/blackman窗的频率响应图...
%{ --------------------------------------------------------------------------- File:Matlab的窗函数,矩形窗 功 ...
最新文章
- JVM中可生成的最大Thread数量
- python commands模块_python commands模块在python3.x被subprocess取代
- 深度学习将会变革NLP中的中文分词——TODO 待好好细看
- iOS 6编程-使用Photo Library(照片库)和相机
- 农民约翰是一个惊人的会计_我的朋友约翰在CSS Grid中犯了一个错误。 不要像约翰-这样做。
- 第八节:Task的各类TaskTResult返回值以及通用线程的异常处理方案
- github 如何设置项目的语言显示
- 教你精确计算 I2C 上拉电阻阻值
- 《大数据》2015年第2期“专题”——我国大数据交易的主要问题及建议
- [Git]4.1 分支与合并
- c语言上机作业题及答案,华为C语言上机试题及答案
- AD原理图库和PCB封装库下载
- [现代控制理论]6_稳定性_李雅普诺夫_Lyapunov
- PS cc 2019自由变换默认等比例缩放操作问题的解决方法
- 林志颖在微博展示iPhone 5
- bat 批量修改文件名后缀
- lol8月7号服务器维护,LOL8月7日更新了什么内容 8.15新版本更新维护公告
- 梅科尔工作室-李庆浩 深度学习 KNN算法与SVM算法
- Webpack打包css文件-css-loader+style-loader
- 电脑蓝屏,睿频导致CPU温度过高解决方法
热门文章
- 招商银行信用卡推荐链接
- dns随笔(部分转载)
- error in ./node_modules/@lit/reactive-element/decorators/state.jsModule parse failed: Unexpected
- 将CSDN中文章同步到微信公众号
- Star CCM+ :迎浪小船 DFBI
- 练习4-11 统计素数并求和(素数的函数)
- 反函数的导数——arcsinx的导数求导证明
- “二码合一”健康码和行程码一次出示即可
- 请使用“与 或 非” 逻辑符号实现“同或”、“异或”逻辑运算,简述实现方案并给出示意电路图。
- Flink State 深度讲解