加窗的原因。对于理想的低通滤波器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. Linux:更改hostname主机名

    更改hostname主机名 查看主机名 hostname 临时更改主机名 hostname youname 更改永久生效主机名 1)更改配置文件 vi /etc/sysconfig/network 2 ...

  2. ffmpeg命令汇总

    1. 查看ffmpeg信息: ldd `which ffmpeg` ffmpeg -filters ffmpeg -h filter=drawtext man ffmpeg ffmpeg --help ...

  3. VERIFY DATABASE 正在异常终止。 (Microsoft SQL Server,错误: 3169)

    1.错误描述 标题: Microsoft SQL Server Management Studio ------------------------------ 备份介质验证失败: [文件: D:\S ...

  4. EasyRTMP+EasyRTSPClient实现的多路(支持断线重连)RTSP转RTMP直播推流工具

    本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/73441405 介绍 EasyRTMP是Eas ...

  5. 网络编程 socket编程 - Asyncsocke

    简单的聊天程序:http://blog.csdn.net/chang6520/article/details/7967662 iPhone的标准推荐是CFNetwork 库编程,其封装好的开源库是 c ...

  6. matlab下利用K-Means进行图像分类

    FIRST & BEST SOLUTION clear all; clc; I_rgb=imread('dog.jpg'); figure();imshow(I_rgb);title('原始图 ...

  7. oracle中查询结果集为空,则得到一个默认值

    有同事问我上述问题,我把我的实现思路写出来.子查询把查询的结果和默认的结果全部显示.父查询通过伪列rownum来筛选,如果查询有结果,就有几条就显示几条,而不去显示子查询中的默认值:如果查询没有结果, ...

  8. Jmeter查看结果树

    取样结果: Thread Name: test 1-2                                                     线程名称:测试1 - 2Sample S ...

  9. LOJ2324. 「清华集训 2017」小 Y 和二叉树【贪心】【DP】【思维】【好】

    LINK 思路 首先贪新的思路是处理出以一个节点为根所有儿子的子树中中序遍历起始节点最小是多少 然后这个可以两次dfs来DP处理 然后就试图确定中序遍历的第一个节点 一定是siz<=2的编号最小 ...

  10. (高级篇)jQuery学习之jQuery Ajax用法详解

    jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...