常用模拟低通滤波器的设计——巴特沃斯滤波器

常用模拟低通滤波器的设计——巴特沃斯(Butterworth)滤波器

       滤波器是一种具有频率选择作用的电路或运算处理系统,它具有区分区分输入信号的各种不同频率成分的功能,具有滤除噪声和分离各种不同信号的功能。综合一个滤波器的基本步骤分为逼近和实现。逼近方法有巴特沃斯逼近、切比雪夫逼近、椭圆逼近和贝塞尔逼近。这些逼近方法可直接用于低通滤波器综合,而对于高通、带通、带阻滤波器综合,要借助于频带变换。

1、确定系统函数的极点

      模拟滤波器的设计以几种典型的低通滤波器的原型函数为基础,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯滤波器、切比雪夫滤波器和椭圆滤波器等,有现成的设计数据以及曲线和图表可查,其设计工作量比较小。在设计一个IIR数字滤波器时,用户可以根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。

 2、巴特沃斯(Butterworth)滤波器

       巴特沃斯(Butterworth)滤波器又称为“最平”的幅频响应滤波器,该滤波器的特点是在通带内具有最大平坦的幅度且随频率升高呈单调减小。

        N阶低通巴特沃斯滤波器的特性函数(振幅平方函数)为:

 【例5-8】采样速率为8000Hz,要求设计一个低通滤波器,fp=2100Hz,fs=2500Hz,Rp=3dB,Rs=25dB。

% 【例5-8】采样速率为8000Hz,要求设计一个低通滤波器,
% fp=2100Hz,fs=2500Hz,Rp=3dB,Rs=25dB。
clc, clear, close all
fn = 8000; fp = 2100; fs = 2500; Rp = 3; Rs = 25;
Wp = fp/(fn/2); %计算归一化角频率
Ws = fs/(fn/2);
% 计算阶数和截止频率
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
% 计算H(z)分子、分母多项式系数
[b,a] = butter(n,Wn);
% 计算H(z)的幅频响应, freqz(b,a,计算点数,采样频率)
[H,F] = freqz(b,a,1000,8000);
subplot(211);
plot(F,20*log10(abs(H)));
xlabel('频率(Hz)'); ylabel('幅值(dB)');
title('低通滤波'); axis([0 4000 -30 3]);
grid on;

subplot(212);
pha = angle(H)*180/pi;
plot(F,pha);
xlabel('频率(Hz)'); ylabel('相位');
grid on;

  【例5-9】采样速率为8000Hz,要求设计一个高通滤波器,fp=1000Hz,fs=700Hz,Rp=3dB,Rs=20dB。

% 【例5-9】采样速率为8000Hz,要求设计一个高通滤波器,fp=1000Hz,fs=700Hz,Rp=3dB,Rs=20dB。
% clc, clear, close all
figure
fn = 8000; fp = 1000; fs = 700; Rp = 3; Rs = 20;
Wp = fp/(fn/2); %计算归一化角频率
Ws = fs/(fn/2);
% 计算阶数和截止频率
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
% 计算H(z)分子、分母多项式系数
[b,a] = butter(n,Wn,"high");
% 计算H(z)的幅频响应, freqz(b,a,计算点数,采样频率)
[H,F] = freqz(b,a,1000,8000);
subplot(211);
plot(F,20*log10(abs(H)));
axis([0 4000 -30 3]);
xlabel('频率(Hz)'); ylabel('幅值(dB)');
title('高通滤波'); 
grid on;
subplot(212);
pha = angle(H)*180/pi;
plot(F,pha);
xlabel('频率(Hz)'); ylabel('相位');
grid on;

【例5-10】采样速率为10000Hz,要求设计一个带通滤波器,fp=[1000Hz,1500Hz],fs=[600Hz,1900Hz],Rp=3dB,Rs=20dB。

% 【例5-10】采样速率为10000Hz,要求设计一个带通滤波器,fp=[1000Hz,1500Hz],
% fs=[600Hz,1900Hz],Rp=3dB,Rs=20dB。
% clc, clear, close all
figure
fn = 10000; fp=[1000,1500]; fs=[600,1900]; Rp = 3; Rs = 20;
Wp = fp/(fn/2); %计算归一化角频率
Ws = fs/(fn/2);
% 计算阶数和截止频率
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
% 计算H(z)分子、分母多项式系数
[b,a] = butter(n,Wn);
% 计算H(z)的幅频响应, freqz(b,a,计算点数,采样频率)
[H,F] = freqz(b,a,1000,10000);
subplot(211);
plot(F,20*log10(abs(H)));
axis([0 5000 -30 3]);
xlabel('频率(Hz)'); ylabel('幅值(dB)');
title('高通滤波'); 
grid on;
subplot(212);
pha = angle(H)*180/pi;
plot(F,pha);
xlabel('频率(Hz)'); ylabel('相位');
grid on;

 【例5-11】采样速率为10000Hz,要求设计一个带阻滤波器,fp=[1000Hz,1500Hz],fs=[1200Hz,1300Hz],Rp=3dB,Rs=30dB。

% 【例5-11】采样速率为10000Hz,要求设计一个带阻滤波器,fp=[1000Hz,1500Hz],
% fs=[1200Hz,1300Hz],Rp=3dB,Rs=30dB。
% clc, clear, close all
figure
fn = 10000; fp = [1000,1500]; fs = [1200,1300]; Rp = 3; Rs = 30;
Wp = fp/(fn/2); %计算归一化角频率
Ws = fs/(fn/2);
% 计算阶数和截止频率
[n,Wn] = buttord(Wp,Ws,Rp,Rs);
% 计算H(z)分子、分母多项式系数
[b,a] = butter(n,Wn,'stop');
% 计算H(z)的幅频响应, freqz(b,a,计算点数,采样频率)
[H,F] = freqz(b,a,1000,10000);
subplot(211);
plot(F,20*log10(abs(H)));
axis([0 5000 -35 3]);
xlabel('频率(Hz)'); ylabel('幅值(dB)');
title('高通滤波'); 
grid on;
subplot(212);
pha = angle(H)*180/pi;
plot(F,pha);
xlabel('频率(Hz)'); ylabel('相位');
grid on;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/26228.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式之~享元模式

定义: 享元模式英文称为“Flyweight Pattern”,又译为羽量级模式或者蝇量级模式。 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式&#xff0c…

【每日挠头算法题(1)】——旋转字符串|亲密字符串

文章目录 一、旋转字符串思路1思路2 二、亲密字符串思路 总结 一、旋转字符串 点我直达终点~ 思路1 前提:如果s串和goal串长度不等,则goal串不可能是s串旋转得来,直接返回false; 通过观察,可以发现每旋转一次&#…

多线程屏障CyclicBarrier

文章目录 前言一、CyclicBarrier可以做什么?二、使用步骤1 单参数CyclicBarrier2 多参数 CyclicBarrier3 与CyclicBarrier类似的Exchanger 总结 前言 多线程中的CyclicBarrier,同样也是juc包下的一个工具类; 一、CyclicBarrier可以做什么? CyclicBarri…

一款开源的无线CMSIS DAP ARM芯片下载调试器详细说明

文章目录 概要1. 一般概念1.1 CMSIS—DAP的一般概念1.2 支持的芯片1.3 典型应用场景 2. 原理图与尺寸图2.1 Host端(发送端)原理图2.2 Target(目标)端原理图2.3 Host尺寸图2.4 Target尺寸图2.5 实物图 3. 使用方法3.1 连接方法3.1.…

4-5.配置信息和路由信息

一、配置信息 app.run()的参数 参数1:host,如果我们不指定,默认值是127.0.0.1。参数2:port,如果我们不指定,默认值是5000。参数3:debug,调试模式,如果不指定&#xff0…

电力系统直流潮流计算研究【IEEE9节点】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

皮卡丘反射型XSS

1.反射型xss(get) 进入反射型xss(get)的关卡,我们可以看到如下页面 先输入合法数据查看情况,例如输入“kobe” 再随便输入一个,比如我舍友的外号“xunlei”,“666”,嘿嘿嘿 F12查看源代码,发现你输入的数…

什么是SOME/IP?

SOME/IP 是"Scalable service-Oriented MiddlewarE over IP"的缩写,即可扩展的面向服务的IP中间件,由AUTOSAR发布。它是一种自动/嵌入式通信协议,它支持远程过程调用、事件通知和底层序列化/线格式。唯一有效的缩写是SOME/IP&#…

软件测试想要高薪资,不仅要卷还要学会跳槽

都说00后躺平了,但是有一说一,该卷的还是卷。 这不,前段时间我们公司来了个00后,工作都没两年,跳槽到我们公司起薪20K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了…

正在破坏您的协程(Coroutines)的无声杀手(Silent Killer)

正在破坏您的协程的无声杀手 处理 Kotlin 中的取消异常的唯一安全方法是不重新抛出它们。 今天生产服务器再次停止响应流量。 上个星期,你刚重新启动它们并将其视为故障。但是你总觉得有些奇怪,因为日志中没有任何错误的痕迹,甚至没有警告。…

求图的最短路径长度的弗洛伊德(Floyd)算法

弗洛伊德算法的适用情况:弗洛伊德算法既可以用来求解有向网的最短路径长度,也可以用来求无向网的最短路径长度,但是对于图中出现负权环的情况,弗洛伊德无法的得到正确的答案 弗洛伊德的算法思想: 以此图为例讲解弗洛…

从git上拉取项目

目录 一、前期准备,获取git下载链接 二、idea下载 2.1.打开git下载界面 2.2.进入下载界面 2.3.下载前期配置 2.4.输入账号密码 2.5.下载完成后idea打开 2.6.下载完成后文件目录展示 三、命令行下载 3.1.打开所需要下载的项目路径 3.2.进入黑窗口 …

c#快速入门(下)

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析2 目录 👉🏻Inline和lambda委托和lambda 👉&#x1f…

操作系统(2.8)--线程的实现

目录 线程的实现方式 1.内核支持线程(KST) 2.用户级线程(ULT) 3.组合方式 线程的实现 1.内核支持线程的实现 2.用户级线程的实现 线程的创建和终止 线程的实现方式 1.内核支持线程(KST) 内核支持线程,与进程相同,是在内核的支持下运行的&#x…

前端使用tailwindcss 快速实现主题切换方案

使用Tailwind CSS在黑暗模式下为你的网站设计样式。 现在,黑暗模式是许多操作系统的第一流功能,为你的网站设计一个黑暗版本以配合默认设计,变得越来越普遍。 为了使这一点尽可能简单,Tailwind包括一个暗色变体,让你…

JVM之类的初始化与类加载机制

类的初始化 clinit 初始化阶段就是执行类构造器方法clinit的过程。此方法不需定义,是javac编译器自动收集类中的所有类变量的赋值动作和静态代码块中的语句合并而来。构造器方法中指令按语句在源文件中出现的顺序执行。clinit不同于类的构造器。(关联:…

连锁药店系统:如何提高效率和客户满意度?

连锁药店系统是一种用于提高效率和客户满意度的软件系统,它能够管理多个药店的日常营运。通过这种系统,药店可以更好地管理库存、员工、销售和客户信息等方面,从而提高整体的经营效率。 首先,连锁药店系统能够帮助药店管理库存。系…

算法刷题总结 (十一) 二叉树

算法总结11 二叉树 一、二叉树的概念1.1、什么是二叉树?1.2、二叉树的常见类型1.2.1、无数值(1)、满二叉树(2)、完全二叉树 1.2.2、有数值(3)、二叉搜索树(4)、平衡二叉搜…

数字孪生与物流园区:优化布局规划的关键

随着全球贸易的增长和物流行业的发展,物流园区作为重要的物流枢纽和供应链管理中心,扮演着至关重要的角色。而数字孪生技术的出现为物流园区的运营和管理带来了革命性的变化。数字孪生技术是一种将实体物体与其数字化模型相结合的创新技术,通…

【UEFI】BIOS 阶段全局变量类型

BIOS的几个阶段需要不同阶段的数据传递,下面介绍4个全局变量。 1 固件存储介绍 本规范描述了应该如何在非易失性存储器中存储和访问文件。固件实现必须支持标准的PI固件卷和固件文件系统格式(下文所述),但可能支持其他存储格式。…