带通滤波器的matlab程序设计

带通滤波器的matlab程序设计最近初入信号处理,对带通滤波器的资料进行总结。转载自:如何在matlab用带通滤波器进行滤波?matlab中fdatool使用说明Matlabfir滤波(conv)以上链接详细记录了带通滤波器的设计及matlab自带fdatool的使用步骤。自己编的一个带通滤波器的程序及解释fs=500;%采样率n=length(data);

大家好,又见面了,我是你们的朋友全栈君。

最近初入信号处理,对带通滤波器的资料进行总结。
转载自:

  1. 如何在matlab用带通滤波器进行滤波?

  2. matlab中fdatool使用说明

  3. Matlab fir滤波(conv)

以上链接详细记录了带通滤波器的设计及matlab自带fdatool的使用步骤。

自己编的一个带通滤波器的程序及解释

fs=500;                                                 % 采样率
n=length(data);                                         % 滤波数据长度
t = 0:1/fs:(n-1)/fs;                                    % 横坐标刻度值
lpass=100;
hpass=200;                                              % 带通滤波的带宽
filterorder =2;                                         % 滤波器阶数
filtercutoff = [2*lpass/fs 2*hpass/fs];                 % 频率归一化 对应频率/nyquist频率,nyquist频率是采样率的一半 
[f_b, f_a] = butter(filterorder,filtercutoff);          % 调用butter()函数返回巴特沃斯滤波器传递函数的零极点系数和增益
sig= filtfilt(f_b,f_a,data);                            % 零相位数字滤波 通过x在正向和反向两个方向上处理输入数据来执行零相位数字滤波 。在向前过滤数据后,反转过滤后的序列,然后将其运回过滤器。
noise=data-sig;                                         % 噪声为原始信号减去滤波后信号的剩余信号
SNR=10*log((sig.^2)/(noise.^2));                        % 10lg(Ps/Pn),其中Ps和Pn分别代表信号和噪声的有效功率,也可以换算成电压幅值的比率关系:20Lg(Vs/Vn),Vs和Vn分别代表信号和噪声电压的“有效值”。用dB表示。

有需要可以自行修改,不保证正确。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144159.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux busybox安装,busybox的编译、使用及安装

    linux busybox安装,busybox的编译、使用及安装busybox是什么?(1)busybox是Linux上的一个应用程序(application),即只有一个ELF文件头。(2)它整合了许多Linux上常用的工具和命令(utilities),如rm,ls,gzip,tftp等。对于这些工具和命令,busybox中的实现可能不是最全的,但却是最常用的,因此它的特点就是短小精悍,特别适合对尺寸很敏感的嵌入式系统。(3)busybox的官方网站…

    2022年7月25日
    27
  • Mac安装ElasticSearch介绍

    Mac安装ElasticSearch介绍原文地址:https://segmentfault.com/a/1190000005792528今日项目需要一个小型的搜索的功能的支持,有很多开源的搜索引擎啦,当然Elasticsearch个人认为上手容易,安装也比较方便。ES安装前需要确认你笔记本上已经安装了java,如果没有安装了,可以oracle官网下载就行了,java弄完后,我们可以在命令后工具中输

    2022年6月21日
    117
  • vba 编程学习

    vba 编程学习最近公司管理人员需要给excle文章加入许多自动化功能,要求个人学习vba编程,经过几天学习总结了一下:1.打开Microsoftvisualbase界面      (1)在Excle选项中选择”开发工具选项“加入显示编辑窗口按钮  (2) 快捷键如下:Alt+F11

    2022年5月18日
    48
  • 如何修改用户名linux_linux修改hostname

    如何修改用户名linux_linux修改hostnameLinux下如何修改用户名(同时修改用户组名和家目录)有时候,由于某些原因,我们可能会需要重命名用户名。我们可以很容易地修改用户名以及对应的家目录和UID。本教程将会讨论这些东西。让我们先从修改用户名开始。修改用户名我们使用usermod来修改用户名。其语法为,$…在linux中如何增加修改删除暂停和冻结用户名在linux中,如何增加、修改、删除、暂停和冻结用户名在linux…

    2022年9月16日
    1
  • PostgreSQL row number

    PostgreSQL row number作者:moocbaby(handan)日期:2019-01-19标签:postgreSQL,rownumberPosrgreSQLrownumber查询语句如下:Selectrow_number()over()fromtable_name;或者Selectrow_number()over(orderbyt.adesc)fromfromtab…

    2022年6月11日
    44
  • django分页器的用法_佳能分页器使用

    django分页器的用法_佳能分页器使用前言当后台返回的数据过多时,我们就要配置分页器,比如一页最多只能展示10条等等,drf中默认配置了3个分页面PageNumberPagination:基础分页器,性能略差LimitOffsetP

    2022年8月7日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号