基于eigen实现matlab hamming hann blakman 窗函数的实现
//窗函数
VectorXd calc_window(int half, int n, int window)
{VectorXd x(half);//x.setllinspace((Type)0, (Type)(half - 1), half) / (Type)(n - 1));x.setLinSpaced(half, 0, (half - 1));x = x.array() / (n - 1);VectorXd w(half);if (window == 0)//hammingw = (Type)0.54 - (Type)0.46*(2 * M_PI*x).array().cos();else if (window == 1)//hannw = (Type)0.5 - (Type)0.5*(2 * M_PI*x.array()).cos();else if (window == 2)//blackman{w = (Type)0.42 - (Type)0.5*((Type)2 * M_PI*x.array()).cos() + (Type)0.08*(4 * M_PI*x.array()).cos();w[0] = 0;}else{Type a0 = 0.21557895;Type a1 = 0.41663158;Type a2 = 0.277263158;Type a3 = 0.083578947;Type a4 = 0.006947368;w = a0 - a1*(2 * M_PI*x.array()).cos() + a2*(4 * M_PI*x.array()).cos() - a3*(6 * M_PI*x.array()).cos() + a4*(8 * M_PI*x.array()).cos();}return w;
}
// window =0 'hamming', 1 'hann', 2 'blackman' 3 'flattopwin'. n 阶数
VectorXd sym_window(int n, int window)
{int half;VectorXd w1, w2;if (n % 2 == 0)//偶数阶{half = n / 2;w1 = calc_window(half, n, window);w2 = w1.reverse();}else{half = (n + 1) / 2;w1 = calc_window(half, n, window);w2 = w1.reverse().segment(1,n-half);}VectorXd w(w1.size() + w2.size());w << w1, w2;return w;}
//n 阶数 type: true->symmetric 对称 false->periodic
// window =0 'hamming', 1 'hann', 2 'blackman'.
VectorXd gencoswin(int n, int window, bool type)
{if (type){VectorXd w = sym_window(n, window);return w;}else{VectorXd w = sym_window(n + 1, window);w.resize(n);return w;}}
基于eigen实现matlab hamming hann blakman 窗函数的实现相关推荐
- matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验
<工业控制计算机>2013 年第 26 卷第 7 期基于最小二乘法的 MATLAB 辨识仿真实验 崔秀美 刘文杰 陈 澄 (苏州大学机电工程学院,江苏 苏州 215021) Experim ...
- 基于Matlab的声波信号处理,基于声卡和Matlab平台的语音信号增强处理系统
第29卷第6期 V01.29 No.6 企业技术开发 TECHNOLOGICAL DEVELOPMENT 0F ENTERPRISE 2010年3月 Mar.2010 基于声卡和Matlab平台的语 ...
- 【自动驾驶】30.c++实现基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换(附代码)
矩阵的使用可参考系列博客:点击此处 原文链接:基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换. 也可以参考另一篇博客:eigen 中四元数.欧拉角.旋转矩阵.旋转向量. ...
- Eigen与Matlab语法及语义辞典
Eigen为Matlab转换为C++提供了一个简单的语法级别的代码迁移工具. 对一些代码进行了扩充,以便程序由Matlab到Eigen的移植................... 参考链接:http: ...
- 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真
基于ADAMS和MATLAB的机械臂控制仿真 宗晓萍;李月月 [期刊名称]<微计算机信息> [年(卷),期]2009(000)035 [摘要]运用多体系统动力学分析软件ADAMS建立虚拟模 ...
- matlab 二自由度振动仿真,基于Adams和Matlab二自由度系统振动的仿真分析研究
化学工程与装备 2017 年 第 11 期 28 Chemical Engineering & Equipment 2017 年 11 月 基于 Adams 和 Matlab 二自由度 系统振 ...
- matlab 28335,基于DSP28335和MATLAB在线编程VF控制实现毕业设计
基于DSP28335和MATLAB在线编程VF控制实现毕业设计 毕业设计(论文 题 目 基于 DSP28335 和 MATLAB 在线编程 V/F 控制实现 专 业 电气工程及其自动化 班 级 电气 ...
- matlab和creo仿真,一种基于Creo和Matlab的复杂空间焊缝曲线的重构方法与流程
本发明涉及一种基于Creo和Matlab的复杂空间焊缝曲线的重构方法,属于计算机图形学技术领域. 背景技术: 在工业生产中,经常遇到各种类型的曲线,如轴的截面圆轮廓曲线.螺纹的螺旋线.齿轮轮齿的齿廓曲 ...
- matlab htk tools,基于HTK调用MATLAB的语音识别的研究
基于HTK调用MATLAB的语音识别的研究 张戈,严欢,殷景华 (哈尔滨理工大学,哈尔滨,150080) 摘要:根据HTK(Hidden Markov Model Toolket)原理,介绍基于HTK ...
最新文章
- oracle数据库迁移方案二
- Anychat的绝对路径与相对路径
- zabbix搭建并结合mikoomi插件监控hadoop集群
- ADS1220 使用FPGA调试
- 视频光端机的应用领域有哪些?
- 手机必备OCR文字识别软件:福昕扫描王使用攻略
- ExecutorService中submit和execute的区别转
- ART虚拟机 _ Java对象和类的内存结构,java中级面试题库weixin
- Mybatis核心配置文件SqlMapConfig.xml
- HAproxy负载均衡动静分离实现及配置详解
- 最新emoji表情代码大全_git commit 时使用 Emoji ?
- frft雷达信号处理 论文
- 为WIN7原生2019版ISO更改为中文
- goahead(嵌入式Web服务器)之cgi篇
- Java计算花费时间的模板设计模式
- 计算机ppt用快捷键,计算机_电脑操作快捷键大全祥解.ppt
- new ActionListener(){}
- 【C语言进阶】二、指针
- 《实战数据库营销——大数据时代轻松赚钱之道》新书试读+文摘
- Altium Designer调整PCB丝印位号经验