滤波电路学习笔记(一)——速通低通、高通、带通、带阻等滤波电路的基本认知

前言 :原稿写了一大段,感觉车轱辘话太多了,还是速通一下吧,本文作为初学者笔记内容,供遗忘时查阅,有不足或侵权之处,敬请指出。

一、基本概念与作用

滤波电路:对于信号频率具有选择性的电路,特定范围频率能通过,其他频率被阻止。形象理解请看下图👇👇👇(图示为理想情况,实际通带与阻带间有带有斜率的过渡带)

通带:允许通过的频段;

阻带:将信号衰减到0的频段;

低通:低于f_{p}的频率可以通过;

高通:高于f_{p}的频率可以通过;

带通:高于f_{p1},低于f_{p2}的频率可以通过;

带阻:低于f_{p1},高于f_{p2}的频率可以通过;

注:如何分析滤波电路:即是研究滤波电路的幅频特性,求解\dot{A_{up}}(通带放大倍数)、f_{p}和过渡带的斜率。

如,下图是低通滤波器的幅频特性曲线:

二、电路分类

(1)无源滤波电路

特点及用途:结构简单,易于设计。通常用于功率电路中,如直流电源整流后的滤波或大电流负载时的LC电路滤波,信号处理要求较低的场合。

(2)有源滤波电路

特点与应用:其主要形式是有源RC滤波,也被称为电子滤波器。其负载不影响滤波特性,因此常用于信号处理要求高的场合。但它必须在合适的直流电源供电的情况下使用,且设计较为复杂,故不适用于高电压或大电流的场合。

三、滤波电路的类型及特点

(1)低通滤波电路(Low Pass Filter)

看电路图快速分辨:电容并联在输入信号和地之间 or 电感串联在电路中;

应用领域:音频处理(如去除人声中的高频嘶嘶声)、图像处理(如平滑图像,去除噪声和细节)等。

(2)高通滤波电路(High Pass Filter)

与低通电路具有对偶性,将低通电路的电容电阻位置互换即可,方便记忆。(注意负反馈网络中电容电阻的交替)

看电路图快速分辨:电感并联在输入信号和地之间 or 电容串联在电路中(与低通相反);

应用领域:无线通信(如去除接收信号中的低频干扰)、音频处理(如去除录音中的低频嗡嗡声)等。

(3)带通滤波电路(Band Pass Filter)

看电路图快速分辨:低通与高通串联;(关于低通和高通谁在前谁在后的问题,站内另一位大佬在针对自己搭建的电路分析中的的见解是:低通在后,这样可以滤除高通带来的噪声。教材书的电路图是图中的样子,低通在前。)

👇这是AI的解答(来自文心一言大模型3.5)

应用领域:无线通信、音频处理、生物医学信号处理等。

(4)带阻滤波电路(Band Elimination Filter)

看电路图快速分辨:低通与高通并联;(低通、高通同时工作,顺序无关紧要)

应用领域:音频处理(如消除录音中的特定频率噪声)、电力线通信、雷达系统等。

(5)全通滤波电路(All Pass Filter)

全通滤波电路的工作原理是通过改变滤波器的零极点位置来改变滤波器的相位响应,从而实现对信号相位的调整。由于全通滤波器的幅度响应是平坦的,因此它不会改变信号的幅度特性,只会影响信号的相位。

(6)特殊滤波电路

1.π型滤波电路

π型滤波电路(两C并联再与L串联的组成形似π,故得名)具有良好的低频信号处理能力,能够有效地滤除高频噪声和干扰信号,适用于高精度、高信号处理要求的场合。

电感L在低频时具有较低的阻抗。因此,低频信号倾向于通过电感L。电容C1和C2在低频时具有非常高的阻抗(接近开路),因此低频信号不会被旁路掉,它们会沿着包含电感L的路径通过。

电感L在高频时具有较高的阻抗。因此,高频信号在电感L上会遇到较大的阻碍。电容C1和C2在高频时具有较低的阻抗(接近短路),因此高频信号会倾向于通过这些电容被旁路掉。

2.T型滤波电路
3.电子滤波电路(有源RC滤波)

(7)如何准确分辨各个滤波电路:

①观察频率响应曲线。如低通滤波器,在低频时保持平坦(即增益接近1),随频率增加,增益减小,高频时增益接近0,过程中,增益以一定的斜率(如-20dB/十倍频程)下降,直到达到截止频率。👇

②手动近似计算f_{p}后,再进行判断:

一阶RC——> f_{p} = \frac{\mathrm{1} }{\mathrm{2\Pi RC} } 

一阶LR——> f_{p} = \frac{\mathrm{R} }{\mathrm{2\Pi L} }

一阶LC——>  f_{p} = \frac{\mathrm{1} }{\mathrm{2\Pi \sqrt{LC}} }

二阶RC同相输入——> f_{p} = \frac{\mathrm{1} }{\mathrm{2\Pi \sqrt{R1*R2*C1*C2}} }(仅适用于特定的二阶RC滤波器结构)

二阶RC反相输入——> f_{p} = \frac{\mathrm{1} }{\mathrm{2\Pi \sqrt{R2*Rf*C1*C2}} }(仅适用于特定的二阶RC滤波器结构)

二阶LR——>简单的双一阶级联,使用一阶公式近似计算

二阶LC——>简单的双一阶级联,使用一阶公式近似计算

③使用示波器、频率计等测量f_{p}精确分辨,再进行判断。

(8)电容、电感在滤波中如何起效的

如何隔直流通交流?

交流电通过电容时,极性不断变化,电容不停充放电,有电流流过;直流经过时,给电容充满电即断开,两极板上正、负电荷固定无法流通,没有电流流过。

交流电通过电感会产生反向电动势阻碍;直流无影响,顺利通过。

如何通阻频段信号?

电容:_{}Z_{c}=\frac{\mathrm{1} }{\mathrm{jwc} }= \frac{\mathrm{1} }{\mathrm{j*2\Pi fc} };如公式所示,高频经过,阻抗小,滤低频。

电感:Z_{L}=jwL=2\Pi fL;如公式所示,低频经过,阻抗小,滤高频。

(附上一个小tip:看到一个大佬的帖子——一匝线圈以内习惯称作磁珠,一匝线圈以上习惯称作电感)

还有一件事,单位不能混淆👇

  • Zc/ZL 表示电容/电感的阻抗,单位为欧姆(Ω)。
  • j 是虚数单位,表示电感阻抗的虚部(注意与电容阻抗的虚部方向相反)。
  • ω 是圆频率,等于2π乘以交流电的频率f,单位为弧度/秒(rad/s)。
  • f 是交流信号的频率,单位为赫兹(Hz)。
  • L 是电感的电感量,单位为亨利(H)。

还有一件事,因为电容电感值一般都较小,这里附上👇它们的单位换算,方便计算:

(9)电容、电感、电阻在实际滤波电路的放置、选型、取值

这个问题在实际设计与生产中可能比较复杂,平时学习基本都是参考前辈已经验证过的电路或者查阅官方的数据手册推荐,可以通过自己手动计算,跑仿真或者打板实测。下列有一些小tips,有兴趣请跳转目录 五、其他。大佬们如果有比较系统的经验之谈可以分享在评论区下方。

四、声明

(1)关于帖子中出现的电路图基本都来自于华成英主编《模拟电子技术基础》(第五版)书籍中的原图,无毒,可以放心食用,如果博主画错了请留言或私信,在下第一时间纠正;

(2)该文通篇没有什么技术含量,供初学者遗忘时记忆使用,学习分享不作商用,不喜请挪步,嘴上留情,若有不足或侵权之处,敬请指出;

(3)博主博主,你的总结好像勉强行,但是还不算精简独到,还有没有更好更详细的理解方法?有的有的,站内有其他大佬的帖子,或者可以去翻阅其他资料以及咨询专业人士的意见,更为严谨详细。

无源与有源滤波器详解:种类、优缺点与应用-CSDN博客

硬件电路设计--运算放大器(三)应用二滤波_运放低通滤波器-CSDN博客

五、其他

👆以上信息来自来自文心一言大模型3.5,仅作参考,有异议敬请指出或者参考专业书籍与从业人士的意见。

### 如何用 Java 发送有 Row 参数的 HTTPS POST 请求 在 Java 中,可以使用 `HttpClient` 或其他 HTTP 客户端库(如 Apache HttpClient)来发送有所谓 “Row 参数” 的 HTTPS POST 请求。“Row 参数” 实际上是指以原始字符串形式传递的数据体(Raw Body)。以下是个完整的实现方式: #### 使用 `HttpURLConnection` 进行 HTTPS POST 请求 过标准的 JDK 提供的 `HttpURLConnection` 类,可以直接设置请求头和请求体。 ```java import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class HttpsPostExample { public static void main(String[] args) { try { URL url = new URL("https://example.com/api"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); // 设置连接属性 connection.setRequestMethod("POST"); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/json"); // 准备 Raw 数据 String jsonInputString = "{\"key1\":\"value1\", \"key2\":\"value2\"}"; // 写入数据到请求体 try(OutputStream os = connection.getOutputStream()) { byte[] input = jsonInputString.getBytes("utf-8"); os.write(input, 0, input.length); } int responseCode = connection.getResponseCode(); System.out.println("Response Code: " + responseCode); } catch (Exception e) { e.printStackTrace(); } } } ``` 上述代码展示了如何创建个 HTTPS POST 请求,并将 JSON 格式的 Raw 数据作为请求体发送[^1]。 #### 使用 Apache HttpClient 库 如果希望更简洁地处理复杂的场景,可以选择 Apache HttpClient 库。下面是段基于此库的示例代码: ```java import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class ApacheHttpPostExample { public static void main(String[] args) throws Exception { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("https://example.com/api"); // 添加 Header httpPost.addHeader("content-type", "application/json"); // 创建 RequestBody String requestBody = "{ \"key1\": \"value1\", \"key2\": \"value2\" }"; StringEntity entity = new StringEntity(requestBody); httpPost.setEntity(entity); // 执行请求 CloseableHttpResponse response = httpClient.execute(httpPost); try { System.out.println(EntityUtils.toString(response.getEntity())); } finally { response.close(); } } } ``` 这段代码利用了 Apache HttpClient 来简化构建和执行 HTTPS POST 请求的过程[^2]。 #### Spring RestTemplate 示例 对于现代 Web 开发者来说,Spring Framework 提供了个非常方便的工具类——RestTemplate,用于快发起 HTTP 请求。 ```java import org.springframework.web.client.RestTemplate; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.http.HttpEntity; public class SpringRestTemplateExample { public static void main(String[] args) { RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); String body = "{ \"key1\": \"value1\", \"key2\": \"value2\" }"; HttpEntity<String> requestEntity = new HttpEntity<>(body, headers); ResponseEntity<String> response = restTemplate.postForEntity( "https://example.com/api", requestEntity, String.class ); System.out.println("Status code: " + response.getStatusCode()); System.out.println("Response body: " + response.getBody()); } } ``` 该方法适合于那些已经在项目中引入 Spring 框架的情况,能够显著减少手动配置的工作量[^4]。 --- ### 总结 无论是采用原生的 `HttpURLConnection`、功能强大的 Apache HttpClient,还是现代化框架中的 `RestTemplate` 工具,都可以轻松完成向服务器发送包含 Raw 参数的 HTTPS POST 请求的任务。每种方式各有优劣,在实际开发过程中可以根据具体需求和技术栈选择最合适的方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值