加窗的原因。对于理想的低通滤波器H(exp(jw)),其h(n)是无限长序列。这是可以证明的。因此为了得到有限长的h(n)就需要截断,而这个过程就是加窗。由于h(n)截断即其频率响应就和理想的低通滤波器有差别。从感性上分析,h(n)越长,Hw(exp(jw))也就越接近理想低通滤波器,这就对应确定序列的长度。还有就是如何截断即加什么窗,对Hw(exp(jw))也是有影响。这就是对应的窗的设计。

窗口设计法:H(exp(jw)) = F(h(n)), W(exp(jw)) = F(w(n)). F[h(n)*w(n)] = H(exp(jw)) ø(周期卷积) W((exp(jw))。其中h(n)是理想的频域低通滤波器的时域序列,w(n)是加窗的时域函数。最终的目的是的到截断的h(n)即滤波器系数。

汉明窗的时域,频域。如下图

hanmming窗:

设计低通滤波器使用此方法时:根据设计指标确定窗函数,和阶数。得到的窗函数的系数乘以理想的低通滤波器的时域信号,即得使用窗函数截断后的系数。

根据阻带的衰减要求确定窗函数。具体查表得到各个窗函数的性能,确定窗函数。

滤波器阶数的确定:

N = (-20lg(sqrt(εp*εc)) - 12) / (14.6(fc - fp) / fs)  对滤波器阶数的逼近方程。

N = (-10lg(εp*εc) - 13) / 2.324(fc-fp)/fs + 1; 这两个应该是接近的。

这只是逼近,如果没有满足设计目标,就需要提高阶数。

2、窗口设计法的基本思想:根据滤波器的性能要求,确定h序列长度和合适的窗。

3、单位的关系:(一直有这个问题)实际的信号频率f(hz),采样频率fs(hz),模拟频率(??),数字频率(??)。在这里要切底搞清楚。

实际低通滤波器的设计:

假设某信号的最高频率是1500hz, 采样率fs = 6.5k,即fp = 1500hz, fc = 1800hz,εp =  0.174dB, εc = 40dB 。那就可以具体的设计fir低通滤波器了。

若2*pi = 6500, fp = 0.46pi, fc = 0.55pi,

确定使用hamming窗,估计16阶。

由上图可以看出需要60阶的fir才能达到需要的性能。

fir 窗口设计法的更多相关文章

  1. 《数字信号处理》课程实验2 – FIR数字滤波器设计

    一.FIR数字滤波器设计原理  本实验采用窗函数法设计FIR数字低通滤波器.我们希望设计的滤波器系统函数如下: \(H_{d}\left( e^{jw} \right) = \left\{ \begi ...

  2. Qt5窗口设计

    主窗口设计通常是应用程序界面设计的第一步,主窗口主要分为窗口标题,菜单栏,工具栏和状态栏这四个部分,只要在程序设计中分别对四个项目进行设计就可以实现主窗口的编程了.在下面的例子中,我们就以一个打开文件 ...

  3. 《UltraFast设计法实践》系列目录

    最近准备开始潜心学习快速和高效的时序收敛设计了,突然想就把整个学习过程做成一个博客系列吧,虽然想想就很激动(技术狗就这么点出息--),但希望坚持下来. 这篇做个目录或者索引,不断向其中添加学习内容. ...

  4. LC滤波器简单设计法 - 一文读懂LC滤波器简单设计方法及原理介绍,LC值计算方法

    LC滤波器概述 LC滤波器也称为无源滤波器,是传统的谐波补偿装置.LC滤波器之所以称为无源滤波器,顾名思义,就是该装置不需要额外提供电源.LC滤波器一般是由滤波电容器.电抗器和电阻器适当组合而成,与谐 ...

  5. FIR滤波器设计

    FIR滤波器的优越性: 相位对应为严格的线性,不存在延迟失真,仅仅有固定的时间延迟: 因为不存在稳定性问题,设计相对简单: 仅仅包括实数算法,不涉及复数算法,不须要递推运算,长度为M,阶数为M-1,计 ...

  6. UltraFast设计法实践(1) -- 初始设计检查

    目录 1. report_failfast 1.1 命令使用 1.2 优化 1.3.总结 2.report_timing_summary 3. report_methodology 4. 总结 5.遗 ...

  7. matlab进行FIR滤波器设计(一)

    来源:https://blog.csdn.net/leokingszx/article/details/80041910 在实际的应用中,有时需要使用FIR根据完成一些特定功能,比如近似一阶RC低通电 ...

  8. Python中Tk模块简单窗口设计

    Python中Tk和PyQt都可以设计小程序,区别在于:Tk界面美观度相对较差,但由于是Python的内置模块,最终生成的程序大小相比于PyQt较小. import tkinter # 导入TKint ...

  9. qt 1 qt开发中的窗口设计

    一个简单的qt界面 相应代码如下: setWindowTitle(tr("Sotware"));//设置窗体标题 ui->tabWidget->removeTab(); ...

随机推荐

  1. Swift显示alert和promp confirmation

    Swift 显示alert func Alert(title:String, msg:String)->Void{ let alert = UIAlertController(title: ti ...

  2. 2.JSR简介 - JavaEE基础系列

    JSR, Java Specification Request, Java规范请求; 也有的地方翻译为Java规范提案. 在前面的文章 1. Java EE简介 - JavaEE基础系列中, 简要介绍 ...

  3. python常用模块之shelve模块

    python常用模块之shelve模块 shelve模块是一个简单的k,v将内存中的数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据类型 我们在上面讲json.pickle ...

  4. 数位DP新识

    简单题:HDU2089    HDU3652  HDU4734   HDU3555  POJ3252  HigoCoder1033(需要前导0,或者用方法4) 总结: 1,dfs(pos,state, ...

  5. LOJ2611. NOIP2013 积木大赛 【线段树】

    LOJ2611. NOIP2013 积木大赛 LINK 题目大意是给你一个目标状态数组 每次你可以选择一个连续区间加上一个值,求最小操作次数 我是神奇的脑子 最近做数据结构疯了 然后看见这题就数据结构 ...

  6. JSONModel源码阅读笔记

    JSONModel是一个解析服务器返回的Json数据的库. http://blog.csdn.net/dyllove98/article/details/9050905 通常服务器传回的json数据要 ...

  7. python动态给对象或者类添加方法

    参考:http://stackoverflow.com/questions/972/adding-a-method-to-an-existing-object In Python, there is ...

  8. direct2d封装

    图片项目

  9. 在Eclipse中导入dtd和xsd文件,使XML自动提示

    DTD 类型约束文件    1. Window->Preferences->XML->XML Catalog->User Specified Entries窗口中,选择Add ...

  10. Gridview实现突出显示某一单元格的方法

    GridView突出显示某一单元格(例如金额低于多少,分数不及格等) 效果图: 解决方案:主要是绑定后过滤 GridView1.DataBind();        for (int i = 0; i ...