//窗函数
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 窗函数的实现相关推荐

  1. matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验

    <工业控制计算机>2013 年第 26 卷第 7 期基于最小二乘法的 MATLAB 辨识仿真实验 崔秀美 刘文杰 陈 澄 (苏州大学机电工程学院,江苏 苏州 215021) Experim ...

  2. 基于Matlab的声波信号处理,基于声卡和Matlab平台的语音信号增强处理系统

    第29卷第6期 V01.29 No.6 企业技术开发 TECHNOLOGICAL DEVELOPMENT 0F ENTERPRISE 2010年3月 Mar.2010 基于声卡和Matlab平台的语 ...

  3. 【自动驾驶】30.c++实现基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换(附代码)

    矩阵的使用可参考系列博客:点击此处 原文链接:基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换. 也可以参考另一篇博客:eigen 中四元数.欧拉角.旋转矩阵.旋转向量. ...

  4. Eigen与Matlab语法及语义辞典

    Eigen为Matlab转换为C++提供了一个简单的语法级别的代码迁移工具. 对一些代码进行了扩充,以便程序由Matlab到Eigen的移植................... 参考链接:http: ...

  5. 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真

    基于ADAMS和MATLAB的机械臂控制仿真 宗晓萍;李月月 [期刊名称]<微计算机信息> [年(卷),期]2009(000)035 [摘要]运用多体系统动力学分析软件ADAMS建立虚拟模 ...

  6. matlab 二自由度振动仿真,基于Adams和Matlab二自由度系统振动的仿真分析研究

    化学工程与装备 2017 年 第 11 期 28 Chemical Engineering & Equipment 2017 年 11 月 基于 Adams 和 Matlab 二自由度 系统振 ...

  7. matlab 28335,基于DSP28335和MATLAB在线编程VF控制实现毕业设计

    基于DSP28335和MATLAB在线编程VF控制实现毕业设计 毕业设计(论文 题 目 基于 DSP28335 和 MATLAB 在线编程 V/F 控制实现 专 业 电气工程及其自动化 班 级 电气 ...

  8. matlab和creo仿真,一种基于Creo和Matlab的复杂空间焊缝曲线的重构方法与流程

    本发明涉及一种基于Creo和Matlab的复杂空间焊缝曲线的重构方法,属于计算机图形学技术领域. 背景技术: 在工业生产中,经常遇到各种类型的曲线,如轴的截面圆轮廓曲线.螺纹的螺旋线.齿轮轮齿的齿廓曲 ...

  9. matlab htk tools,基于HTK调用MATLAB的语音识别的研究

    基于HTK调用MATLAB的语音识别的研究 张戈,严欢,殷景华 (哈尔滨理工大学,哈尔滨,150080) 摘要:根据HTK(Hidden Markov Model Toolket)原理,介绍基于HTK ...

最新文章

  1. oracle数据库迁移方案二
  2. Anychat的绝对路径与相对路径
  3. zabbix搭建并结合mikoomi插件监控hadoop集群
  4. ADS1220 使用FPGA调试
  5. 视频光端机的应用领域有哪些?
  6. 手机必备OCR文字识别软件:福昕扫描王使用攻略
  7. ExecutorService中submit和execute的区别转
  8. ART虚拟机 _ Java对象和类的内存结构,java中级面试题库weixin
  9. Mybatis核心配置文件SqlMapConfig.xml
  10. HAproxy负载均衡动静分离实现及配置详解
  11. 最新emoji表情代码大全_git commit 时使用 Emoji ?
  12. frft雷达信号处理 论文
  13. 为WIN7原生2019版ISO更改为中文
  14. goahead(嵌入式Web服务器)之cgi篇
  15. Java计算花费时间的模板设计模式
  16. 计算机ppt用快捷键,计算机_电脑操作快捷键大全祥解.ppt
  17. new ActionListener(){}
  18. 【C语言进阶】二、指针
  19. 《实战数据库营销——大数据时代轻松赚钱之道》新书试读+文摘
  20. Altium Designer调整PCB丝印位号经验

热门文章

  1. MySQL 中 delete where in 语句的子查询限制
  2. mongdb系列之最详细基础知识
  3. c#基础知识学习——枚举、元组(四)
  4. QAOA如何在NISQ处理器中展示应用级量子优势?
  5. 超简单的将python文件改成可以运行的exe方法
  6. pyhton 将ASCII码转换为字符char(),将字符转换为ASCII码ord()
  7. JavaEE企业级实战项目 智牛股第五天 Netty的使用和项目数据库搭建
  8. Vuepress Reco主题备忘
  9. reco-fetch
  10. win7计算机未连接网络,Win7无线网络显示未连接但可以上网的解决办法