加窗的原因。对于理想的低通滤波器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. git checkout 报错 refname 'origin/branch-name' is ambiguous

    When this happened, it created the file .git/refs/heads/origin/branch-name. So, I just deleted the f ...

  2. c# 加密工具类

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Sec ...

  3. c# excel转换为DataTable

    System.Data.DataTable GetDataFromExcelByCom(bool hasTitle, string fileName) { //OpenFileDialog openF ...

  4. Makefile特殊标签

    http://www.gnu.org/software/make/manual/html_node/Special-Targets.html

  5. C语言学习之指针

    指针这块,看了好久才有点头绪,稍微有点理解了. 一.指针申明以及赋值 int *p; 这样就声明了一个int型的指针p,这个p就是指针变量,可能上述的书写方式会混淆我们队指针的理解(*号) 我们可以这 ...

  6. Shell 命令行获取本机IP,grep的练习

    Shell 命令行获取本机IP,grep的练习 在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息.不过通常情况下,我们需要查看的是我们的IP地址 ...

  7. Java数据封装类

    项目中用到,比较好用!! 用户前端与后台的交互数据,这个封装类中包含分页.数据.错误码.状态码等信息!! 亲测好用哦! 一个类DataWrapper public class DataWrapper& ...

  8. 解析6种常用View 的滑动方法

    View 的滑动是Android 实现自定义控件的基础,实现View 滑动有很多种方法,在这里主要讲解6 种滑动方法,分别是layout().offsetLeftAndRight()与offsetTo ...

  9. Web访问控制

    最近某婚介公司的实习生赵大胖的领导姚无发给赵大胖安排了一个任务: 给网站加上访问控制,游客不能访问看到美女的资料,只有注册的会员才能浏览. 赵大胖一时没有很好的思路,然后找到了研发组大佬老郑头. 老郑 ...

  10. Python源码分析(二) - List对象

    python中的高级特性之一就是内置了list,dict等.今天就先围绕列表(List)进行源码分析. Python中的List对象(PyListObject) Python中的的PyListObje ...