滤波器

滤波器定义

“滤波器(filter),是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。”

滤波器种类

滤波器按照频率来分类,可分为高通、低通、带通、带阻以及全通滤波器,根据所需选择合适滤波器。

滤波器设计

滤波器的设计方法可分为两大类,一类是IIR,另一类是FIR。对于FIR的设计,一般可以采用等波纹以及窗的方法。

滤波器设计要求

采样频率50khz,带通滤波器,通带15KHz,阻带20KHz,阻带衰减50dB,用凯撒窗设计带通滤波器。

Matlab程序设计滤波器

首先在Matlab中设置所需参数:

fs = 50000;

T = 1/fs;

L = 4000;

t = (0:L-1)*T;1

2

3

4

然后从r32文件中读取信号数据:

filename=['文件路径'];

fid=fopen(filename,'r');

Na=4000;

dat=fread(fid,[32,Na],'float');

data=dat(1,:); %data即为所导入信号1

2

3

4

5

绘制信号时域图:

plot(t,data)1

得到:

再对其进行FFT:

NFFT = 2^nextpow2(L);

Y = fft(data,NFFT)/L;

f=fs/2*linspace(0,1,NFFT/2+1);

figure

plot(f,2*abs(Y(1:NFFT/2+1)))

title('Single-sided Amplitude Spectrum of y(t)')

xlabel('Frequency(Hz)')

ylabel('|Y(f)|')1

2

3

4

5

6

7

8

得到:

设计滤波器:

fs = 50000;

f = [13000 15000 20000 22000];

dev = [0.01 0.02 0.01];

a = [0 1 0];

[n,wn,beta,ftype] = kaiserord(f,a,dev,fs);

b = fir1(n,wn,'bandpass');

freqz(b)1

2

3

4

5

6

7

得到滤波器的幅值相位图:

所设计滤波器的分子系数存于b中,使所给信号通过所设计的滤波器,所用程序如下:

d=filter(b,1,data);

plot(t,d)1

2

得到滤波后的信号时域图:

对其进行FFT:

Y _af= fft(d,NFFT)/L;

f_af=fs/2*linspace(0,1,NFFT/2+1);

figure

plot(f_af,2*abs(Y_af(1:NFFT/2+1)))

xlabel('Frequency(Hz)')1

2

3

4

5

得到:

利用Matlab工具箱设计滤波器

另外,还有一种更加快捷的设计方法,即使用Matlab自带的工具箱filterDesigner来设计滤波器:

在Matlab的命令行窗口中输入filterDesigner,得到如下窗口:

通过选择设置,可以得到滤波器的系数,以本题为例:

其系数如下:

可对其到处头文件,进行数据处理。

总结

本人对于数字信号处理这门课的学习比较冲忙,对于很多知识点都是比较模糊,希望在后续所需时能够进一步的加深理解。

在FIR滤波器设计的过程中,遇到一个比较困惑的点是,根据其他的案例,滤波器系数是包含分子系数以及分母系数,但本例产生的滤波器仅含分母系数,比较困惑,请大佬们指教!

文章来源: blog.csdn.net,作者:aPei2015,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/aPei2015/article/details/113330808

fir 低通 matlab,用MATLAB设计FIR滤波器相关推荐

  1. c语言 汉宁窗,汉宁窗设计线性相位FIR低通数字滤波器.docx

    MACROBUTTON MTEditEquationSection2 SEQ MTEqn \r \h \* MERGEFORMAT SEQ MTSec \r 1 \h \* MERGEFORMAT S ...

  2. FIR 基础应用 - AM 调幅波调制解调(FIR 低通滤波)

    本文链接:https://blog.csdn.net/qq_46621272/article/details/125334644 FIR 基础应用 - AM 调幅波调制解调(FIR 低通滤波) 文章目 ...

  3. FIR 基础应用 - FM 调频波调制解调(FIR 低通滤波)

    本文链接:https://blog.csdn.net/qq_46621272/article/details/125337119 FIR 基础应用 - FM 调频波调制解调(FIR 低通滤波) 文章目 ...

  4. 低通采样的matlab实现,基于matlab的FIR滤波器设计(低通,频率取样法)

    基于matlab的FIR滤波器设计(低通,频率取样法)一.参考程序 M=63;%所需频率采样点个数 Wp=0.5*pi;%通带截止频率 m=0:(M+1)/2;%通频带上的采样点 Wm=2*pi*m. ...

  5. fir 低通 matlab,MATLAB常用的FIR滤波器设计方法之窗函数法

    FIR滤波器很多工科出身的人都不会陌生,在我们的学习和工作中,也常常需要设计FIR滤波器.因为FIR滤波器有两个特点:滤波器是稳定的以及具有线性相位.FIR滤波器在信号处理相关领域当然也包括本人所在的 ...

  6. matlab使用矩形窗设计一个具有线性相位的低通数字滤波器,用矩形窗设计一个FIR线性相位低通数字滤波器...

    1 用矩形窗设计一个FIR线性相位低通数字滤波器.已知215.0Nc.求出nh并画出log20jeH曲线.分析此题给定的是理想线性相位低通滤波器故.-- 0- ccccjjdeeH 解deeHnhnj ...

  7. MATLAB窗函数法设计FIR 数字滤波器

    一.实验目的 1. 熟悉线性相位 FIR 数字滤波器特性. 2. 了解各种窗函数对滤波特性的影响. 3. 掌握用窗函数法设计 FIR 数字滤波器的原理.方法及计算机编程. 此时的h(n) 是有限长的, ...

  8. 模拟低通原型滤波器的MATLAB设计

    一.实验目的 1.掌握巴特沃兹.切比雪夫Ⅰ.Ⅱ型和椭圆型模拟滤波器的特性和技术指标. 2.掌握用MATLAB 设计巴特沃兹.切比雪夫Ⅰ.Ⅱ型和椭圆型低通滤波器的方法. 二.实验原理 1.巴特沃兹低通数 ...

  9. 低通采样定理 matlab,基于matlab的低通抽样定理仿真

    基于matlab的低通抽样定理仿真 DSP 课 程 设 计 专业: 电子信息技术工程 年级: 2011 级 不 姓名: 陈兰兰 学号: 20113015 指导教师: 刘 德 春 阿坝师专电子信息工程系 ...

  10. 低通采样定理 matlab,基于Matlab的低通抽样定理仿真.docx

    DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: 陈兰兰学号: 指导教师: 刘 德 春 阿坝师专电子信息工程系DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: ...

最新文章

  1. iOS 11 安全区域适配总结
  2. 洛谷P1467 循环数 Runaround Numbers
  3. 论文解析:人脸检测中级联卷积神经网络的联合训练
  4. 发起一个ajax请求,发送ajax请求
  5. C++中运算符重载的方法
  6. Centos安装后的一些必要处理工作
  7. pom文件内标签的讲解
  8. 如何关闭来自苹果的个性化广告?
  9. linux上pybind11编辑python库
  10. poj 1276 Cash Machine(多重背包)
  11. MFC开发wps演示
  12. 指南-AT应用指南-AT指令指南-音频播放和TTS
  13. IDEA的常用快捷键(超详细)
  14. 高德地图API之定位API
  15. Python爬虫学习总结
  16. 苹果iWork,看上去很美
  17. 很受打动的一篇文章,很幽默让人想看完。
  18. linux-物理内存不够,swap交换内存来凑
  19. Linux操作提示:“Cant open file for writing”或“operation not permitted”的解决办法
  20. 请用面向对象的思想,谈一谈这次面试的过程

热门文章

  1. sdX和hdX含义及其他安装Linux OS的总结
  2. python爬虫——爬取b站APP视频信息(通过fiddler抓包工具)
  3. java高级教程pdf_Java高级特性编程及实战 PDF 下载
  4. java实现jsp转pdf,使用Java生成Pdf文档-JSP教程,Java技巧及代码
  5. 【spring】spring源码搭建
  6. linux odbc 配置文件,linux操作系统配置ODBC数据源
  7. 韩顺平php从入门到精通讲义,传智播客_韩顺平_php从入门到精通
  8. Win11怎么卸载软件?Win11彻底卸载软件教程
  9. bat命令 延迟执行
  10. java前端学习路线_Java前端需要学什么?Java前端学习路线分享