MATLAB巴特沃斯滤波器C语言离散实现
matlab创建一个4阶巴特沃斯低通滤波器代码;
clc
clear
% Digits =8;
fs=40960;
lpf=8000;
f=8000;
t=0:1/fs:0.1-1/fs;
x=cos(2*pi*f*t);
[b,a]=butter(4,lpf*2/fs,'low');%%构建4阶巴特沃斯低通滤波器lpf为3db带宽
y=filter(b,a,x);
filter的实际就是对X数组做离散运算得到滤波后数组;
使用的离散序列为:
a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)
- a(2)*y(n-1) - ... - a(na+1)*y(n-na)
b=[0.043217558470443 0.172870233881774 0.259305350822661 0.172870233881774 0.043217558470443];
a=[1 -0.855646565289075 0.718318727070705 -0.203916450503673 0.032725224249138];y(1)=b(1)*x(1);
y(2)=b(1)*x(2)+b(2)*x(1)-a(2)*y(1);
y(3)=b(1)*x(3)+b(2)*x(2)+b(3)*x(1)-a(2)*y(2)-a(3)*y(1);
y(4)=b(1)*x(4)+b(2)*x(3)+b(3)*x(2)+b(4)*x(1)-a(2)*y(3)-a(3)*y(2)-a(4)*y(1);
for i=5:length(x)
y(i)=b(1)*x(i)+b(2)*x(i-1)+b(3)*x(i-2)+b(4)*x(i-3)+b(5)*x(i-4)-a(2)*y(i-1)-a(3)*y(i-2)-a(4)*y(i-3)-a(5)*y(i-4);
end
以上代码可放到C语言实现,只是数组写的形式不一样,需要做一些修改;
滤波效果对比一致
MATLAB巴特沃斯滤波器C语言离散实现相关推荐
- matlab巴特沃斯滤波器用法
基于matlab 的数字滤波器 clear clc fs = 22050; wp=0.1*pi;%通带截止频率 ws=0.4*pi;%阻带截止频率 Rp=3;%通带衰减率 Rs=75;%阻带衰减率 F ...
- matlab巴特沃斯滤波器设计
%% 滤波 Wp = input('通带截止频率(Hz)'); Ws = input('阻带截止频率(Hz)'); rp = input('通带波动 (dB)'); rs = input('阻带波动 ...
- Matlab语音信号去噪程序,使用低通巴特沃斯滤波器
Matlab语音信号去噪程序,使用低通巴特沃斯滤波器. 1.读取一段歌曲的信号,绘制时域频域图,并播放. 2.添加正弦噪声: 3.设计巴特沃斯低通滤波器: 4.使用滤波器去除噪声,并画出时域频域图,播 ...
- 基于matlab的巴特沃斯滤波器设计
一.butterworth滤波器也称最平响应特性滤波器,其特征多项式为: |K(jΩ)|^2=K(jΩ)K(-jΩ)=(Ω/Ωc)^2N 巴特沃斯滤波器的模平方函数为: |H(jΩ)|^2=1/(1+ ...
- 巴特沃斯滤波器matlab代码,MATLAB实现巴特沃斯数字滤波器
MATLAB实现巴特沃斯数字滤波器 前因:因为要准备保研面试,今年暑假就重新把烂尾的项目捡起来了. 为了提取采集到的脑电信号中有用的部分,想用数字带通滤波器实现,浏览了很多帖子.要不是只有代码,没有注 ...
- 设计一个三阶巴特沃斯滤波器_巴特沃斯滤波器matlab实现
巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零. 在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大. 一 ...
- matlab模拟巴特沃斯滤波器设计,巴特沃斯滤波器matlab实现
描述 巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零. 在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大 ...
- 巴特沃斯滤波器应用场合_巴特沃斯数字低通滤波器设计及应用
龙源期刊网 http://www.qikan.com.cn 巴特沃斯数字低通滤波器设计及应用 作者:汪其锐 王桂华 王永军 来源:<山东工业技术> 2016 年第 24 期 摘 要:现实生 ...
- 数字信号处理——巴特沃斯滤波器设计
设计思路 这里采用间接法设计数字滤波器(先设计模拟滤波器再设计数字滤波器) 滤波器理解: 1.数字滤波器可以用H(z),h(n)or系统差分方程来表示,对应的就是一个系统,信号输入该系统即可改变其所含 ...
最新文章
- MacBook如何用Parallels Desktop安装windows7/8
- 参加“北向峰会”后对SOC之感言
- 087_改变html
- (赞助5本)谷歌官方推荐的 TensorFlow 2 “豹书”来了!
- java中array,arrayList,iterator;
- JPA关系映射系列一:one-to-one外键关联
- 深度解析windows调试技术之一 [抓取user mode dump文件的几重境界]
- Ubuntu 16.04 搭建Android开发环境
- 的环境下 qt 运行在_Ubuntu16.04环境下运行vins mono(环境配置及编译)之ROS kinetic的安装...
- Win10+Torch1.9+CUDA11.1成功配置YOLOX预测环境
- 现在农村有比较多老了的丝瓜,这些老了的丝瓜有什么作用吗?
- sphinx 入门_Sphinx搜索引擎入门
- php向mysql提交数据_PHP 如何向 MySQL 发送数据
- jQuery Easy UI 使用
- 教学质量分析系统 php,教学质量分析系统演示.ppt
- Premiere视频导出格式
- 为什么现在社交电商这么火?
- Android NDK——实战演练之使用Android Studio引用so库,jar包、module,aar以及导入Eclipse项目并使用JNI的正确姿势(一)
- 三、生成树协议(Spanning Tree Protocol,STP)
- 2021中考成绩查询高考,2021年中考成绩公布时间
热门文章
- XOR World(异或运算)
- 图像的读取 matlab,Matlab编程环境下图像的读取
- Windows徽标认证(WHQL)
- 360压缩for linux
- linux 根文件系统满了,Solaris 10下根文件系统满的处理方法
- 计算机一级wps office选择题技巧,计算机一级WPSoffice考前练习题和答案
- 2023 首发 最新聚支付系统源码 无后门 支持易支付和码支付
- python3下django将应用单独放在一个文件夹下,注册应用报错
- monkey测试linux设备,关于使用Monkey运行脚本测试
- 使用js删除表格中的一行的一个小练习