matlab 一个简单的FIR低通滤波器设计例子

先直接放代码跟结果

%假设有一个3hz的信号,由于某种原因带有一些高频噪声,需要将其滤除掉
close all;
clear all;
load lowpass_fir; %fs=20 fc=6的32阶低通滤波器汉明窗fs = 20;  %采样率
T0 = 10;  %信号时长10s
F0 = 1/T0; %频率分辨率
N = fs*T0; %采样点数
t = (0:N-1)/fs;  %时间轴坐标
f = (0:F0:fs/2-F0);  %频率轴坐标x = sin(2*pi*3*t)+1.2*sin(2*pi*7*t)+0.7*sin(2*pi*8*t)+0.2*randn(size(t));  %模拟信号
subplot(2,2,1);
plot(t(1:100),x(1:100));fx = abs(fft(x))*(2/N); %2/N中的N很好理解,2是因为matlab的FFT把负频也算上了,只分析正频需要加倍
subplot(2,2,3);
plot(f,fx(1:N/2));y = filter(b_fir,1,x);
subplot(2,2,2);
plot(t(1:100),y(1:100));fy = abs(fft(y))*(2/N);
subplot(2,2,4);
plot(f,fy(1:N/2));

1.输出有延迟,FIR滤波器的特性,阶数越大延迟越高,延迟为(N-1)/2,

2.窗函数法不可避免带来一定的频谱泄露,所以输出在3hz幅度变小,附近的频率分量增大

要有基本的数信理论才能看懂,最重要的是两点性质

1.观测时长为T0,则频率分辨率为F0=1/T0

2.采样频率为fs,则最大观测频率为fs

这样才能将坐标系对应上

matlab的滤波器设计如下,需要将滤波器系数导出这样方便使用,有了系数就可以用C语言去实现了。对于入门来说,用什么窗,阶数是多少就随便了

matlab 一个简单的FIR低通滤波器设计例子相关推荐

  1. matlab滤波器设计工具箱带阻滤波器,用matlab信号处理工具箱进行fir滤波器设计的三种方法...

    用matlab信号处理工具箱进行fir滤波器设计的三种方法 摘 要 介绍了利用 MATLAB 信号处理工具箱进行 FIR 滤波器设计的三种方法:程序设计法. FDATool 设计法和 SPTool 设 ...

  2. 一个简单的HTTP通讯的例子,使用了CInternetSession,CHttpConnection,CHttpFile三个类

    一个简单的HTTP通讯的例子,使用了CInternetSession,CHttpConnection,CHttpFile三个类. http://blog.csdn.net/STK_tianwen/ar ...

  3. 一个简单的 Hello world! 例子使用 boost::mpi::group 和 boost::mpi::broadcast()

    一个简单的 Hello world! 例子使用 boost::mpi::group 和 boost::mpi::broadcast 实现功能 C++实现代码 实现功能 一个简单的 Hello worl ...

  4. 一个简单的XML文档例子

    一个简单的XML文档例子: <?xml version="1.0"?> <note> <to>Tove</to> <from& ...

  5. 20. [Python GUI] PyQt5中的模型与视图框架-实现一个简单的文件浏览器的例子

    PyQt5中的模型与视图框架-实现一个简单的文件浏览器的例子 一.使用模型/视图实现一个简单的文件浏览器 二.小手一抖,点个赞再走哦~ 一.使用模型/视图实现一个简单的文件浏览器 这个例子里不涉及数据 ...

  6. java 序列化 例子_一个简单的Java序列化的例子

    简单来说序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,流的概念这里不用多说(就是I/O),我们可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间(注:要想将对 ...

  7. Python 实现FIR低通滤波器设计

    FIR(Finite Impulse Response,有限脉冲响应)低通滤波器是一种数字滤波器,它可以在数字信号处理中用来对信号进行低通滤波. 下面是一个简单的 Python 代码示例,用于设计 F ...

  8. java txtreader_一个简单的Java读写文件例子

    针对txt文件的读写可以使用java的读写操作.以下是一个简单的例子: import java.io.BufferedReader; import java.io.BufferedWriter; im ...

  9. 一个简单答题系统的设计与实现(二)

    在一个简单答题系统的设计与实现(一)博文中列出了需求分析,与详细设计,现在按照之前的详细设计开始一步一步实现. 文件设计(数据层设计) 该系统由于需求场景限制,在数据层利用文件和文件的读写实现查询.具 ...

  10. matlab——一个简单的动物识别专家系统

    本实验中用matlab实现一个简单的动物识别专家系统,该系统是用来识7种动物的,但在规则库中形成了15条规则.首先将动物分成哺乳动物.鸟.蹄类动物.肉食动物4大类,然后通过继续询问得到要的结果.本程序 ...

最新文章

  1. 鹅厂2020暑期实习第三次一面
  2. java获取response数据_Java中实现Http请求并获取响应数据
  3. AppleScript: Handler
  4. luoguP4242树上的毒瘤
  5. 什么叫python代码的优化_优化Python代码
  6. Maven学习总结(41)——Maven依赖范围、传递、排除详解
  7. Mysql数据类型TINYINT(1)与BOOLEAN踩坑记
  8. LR监控linux系统资源
  9. go语言之进阶篇面向对象编程
  10. MP3、MP4、MP5、PSP
  11. 自己动手写操作系统(高清图书+源代码)分享
  12. 基于Unity3D实现的HitUFO鼠标打飞碟游戏
  13. Core、处理器(CPU)核、处理器(CPU)、处理器(CPU)架构、微结构、指令集、指令集架构、ARMv7 内核架构
  14. B2C之新岛咖啡 一堂62元的供应链管理课
  15. ppt画图画不下——调整ppt页面的大小
  16. 医学影像开源数据集汇总
  17. 教你用Python做个打飞机小游戏超详细教程
  18. linux中的xorg进程占用内存资源释放
  19. GeoServer结合FWTools切片工具发布影像金字塔切片
  20. nodejs+vue+elementui高校体育馆场地预订系统

热门文章

  1. 用于 3d 渲染应用程序的常见物体 IOR(折射率)值
  2. CS61A 2021Spring Lab: Cats
  3. charles 抓包软件 安装、破解、使用
  4. Unity之FBX文件操作学习笔记(一)
  5. STM32L051低功耗STOP模式下RTC唤醒
  6. 虚拟机上网设置——桥接模式 NAT模式
  7. Python Package 之 Faker(随机姓名、电话)
  8. 九个实用的Word转PDF的方法,为你解决格式转换的问题
  9. origin9.0中文版
  10. Spring学习的书-夏昕(2)