简易的波形折叠电路

60b6d72ae9ed174ea69bc1a1b7c2e61f.png

01 波形折叠

19a26458d62f5382cfd66e14e81f78c1.jpeg

一、背景介绍

今天在 Youtube 上看到 UP 主 Neukolln 展示了一款非常简单波形折叠电路。那么什么是波形折叠电路?它有什么用处?

1、什么是波形折叠?

通常情况下,信号在放大中会产生“饱和失真”,这是由于放大器输出动态范围所致。饱和之后,信号的细节就消失了,声音显得啥呀干燥。波形折叠则是将声音波形幅值超过某个阈值之后将其反褶过来,其变化过程依然保留在输出信号中。

下图给出了三角波、锯齿波、方波信号在波形折叠之后的形状。折叠不仅改变了信号的波形,同时也改变了信号中的频率成分。对于方波信号,波形折叠仅仅改变了它的幅度。

16675c547c9a0aadda204f35a8b575e2.png
▲ 图1.1.1 波形折叠

2、波形折叠的用途

也许你已经厌倦了普通的振荡电路所产生的音调了,使用波形折叠可以为其添加一些令人激动的成分,声音信号经过波形折叠之后增加了一些金属质感。

75c7599cd99eb5af5ee533f69f50ebaf.png
▲ 图1.1.2 波形折叠之后会改变音乐的音色,使其产生金属乐器的效果

由于波形折叠限制了信号的幅值,所以也对动态变化大的敲击乐进行了限幅,避免后级功率放大进一步产生失真。

二、波形折叠电路

波形折叠电路有很多形式。视频中给出了一款最为简易的实现电路,它巧妙的利用了晶体三极管特殊的对称结构以及 NPN-PNP的互补特性。

1、三极管反向放大电路

为了理解这款简易波形折叠电路的工作原理,先看一下三极管的反向放大电路。下面给出了三极管反向放大电路原理图。三极管的集电极与发射极连接有相同阻值的电阻。如果三极管工作在放大区域时, 集电极与发射极电流基本相同,这样便在三极管的集电极与发射极产生及向相反的信号。

4f7ccc04a45a042d8f5ee441ea74997b.png
▲ 图1.2.1 简易波形折叠电路

在上述电路中,当三极管基极电压小于等于 0 V时,发射极的电位小于 -0.7V, 所产生的电流在集电极电阻、发射极电阻上的电压相同,再根据电路正负极工作电压都是 12V,所以此时三极管的集电极电压大于等于 0.7V,三极管处于放大区域。三极管集电极波形与基极波形极性相反。

当基极电压超过0V,继续上升。三极管集电极-发射极之间的电压就会持续减少。当基极电压超过 0.7V,对应发射极电压上升到 0V,集电极电压降低到 0V。此时三极管的基极与集电极之间的 PN结便开始导通,集电极电压便会随着基极电压上升开始上升。

9944ea388c59019f6598e5f195d1d086.png
▲ 图1.2.2 三极管集电极上产生信号波形折叠

这个电路对于所有三极管基极电压超过 0.7V 的电压波形进行折叠。下面给出了实际测试电路图。三极管使用 8050 NPN 三极管。输入信号为 500Hz 峰峰值为 5V, 平均值为 0V的三角波,在三极管的集电极测试到的信号波形。

bd2a0737c2033fc06c986c07d8774aef.png
▲ 图1.2.3 NPN晶体管波形折叠电路

使用 MSO24示波器产生输出信号,并测量基极与集电极电压波形。读取示波器两个通道波形数据绘制如下。蓝色为基极输入波形,当超过0.7V 左右, 橙色为集电极电压波形。在基极信号小于 0.7V 时,输出与输入信号反向。当输入信号超过 0.7V 时, 输出波形则是对输入波形进行了反褶。请注意,输出波形在整体上比输入波形往上平移了大约 0.7V。

4c5635390ff75dd7191448679bde1d35.png
▲ 图1.2.4  三角波形对应的折叠效果

  下面是信号为正弦波时对应的折叠效果。

d747801f387778e1fc25e761cf5095f0.png
▲ 图1.2.5  正弦波对应的折叠波形

使用 PNP 三极管可以构成反向波形折叠电路。根据同样的原理,下面电路则对信号小于 -0.7V 的信号产生折叠。

dadabf5f49ef8bb6bb3b5408943f3d4d.png
▲ 图1.2.6 PNP三极管组成的反向折叠电路

下图给出了三角波形反向波形折叠的效果。当基极信号小于 0.7V 后, 集电极输出的信号便开始反向减少了。

073a0f0105c59fc2b1f7b94b9e78812a.png
▲ 图1.2.7  反向三角波形折叠的信号

2、双向波形折叠

把上述两个电路进行并联,将两个三极管的基极并联,集电极信号并联,便可以兴盛双向波形折叠电路。

c5831d9dd68d2ede1e9128a39411057e.png
▲ 图1.2.8 双向波形折叠

  下面给出了上述双向波形折叠电路的输入输出信号波形。

2c19f1a735ae091d0d3508edf3ea9282.png
▲ 图1.2.9  双向折叠电路输出波形

三、电路的改进

1、增加反向放大器

由于三极管集电极信号与基极信号之间存在反相关系,在上述放大电路后面增加一级反向放大,便可以将输入输出之间的信号极限保持相同。

下面电路中,巧妙的利用了原来三极管集电极分压效果,根据戴维南电源等效原理,可以等效成一个内阻为 10k 的电压源。由此后面增加一个输入电阻为  10k, 放大倍数为 -1 的放大电路,便可以实现输入输出之间波形同相了。

c806b005f3e7ba1cd315b93b3d940ab0.png
▲ 图1.3.1 增加反向放大器

2、增加输入放大器

在上述电路中,要求驱动基极的电压信号内阻比较小。下面给电路的输入增加一级放大,一方面可以对输入信号的幅值进行调整,另一方面也可以使得三极管基极信号驱动能力更强。

d96cd04324c6e8b3f2b21d2ebcb434f5.png
▲ 图1.3.2 增加输入信号限幅放大

3、双重双向折叠

如果输入信号很强,经过一次折叠之后有可能还会出现反向幅度超过限制。将上述电路进行级联,便可以形成双重双向折叠电路,这样便可以将信号进一步折叠在规定的电压范围之内了。

71f296f152dda29ced7c7f308e9c6dfa.png
▲ 图1.3.3 双重双向折叠电路

下面让我们看看双重波形折叠的效果吧。

3c41ea88062fcd2e3dbcd3301b9bdb49.gif
▲ 图1.3.4  双重波形折叠

※ 总  结 ※

本文介绍了 Neukolln 发布的一款简易波形折叠电路。在其视频中给出了波形经过折叠之后听起来的音效。

这个简单电路也有缺点,由于三极管 PN 结导通过程中的非线性,也使得输出的折叠波形出现了过度失真,比如下面三角波形折叠后产生的圆滑过度。

35cf2bc33dc056267c737efdfaa2a09b.png
▲ 图2.1 三角波形折叠效果

c904d41c4b5b3361222438df920b55aa.jpeg

ed0df0ea51eb5c73466724b246ee356a.gif

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STL 容器和迭代器连载6_顺序容器的操作3

2019独角兽企业重金招聘Python工程师标准>>> /*- * 文件名 :STL_con_ite_6.cpp * 开发人员:袁培荣 * 当前版本:1.0.0.2595 * 创建时间:2012-05-24 * 修改时间:2012-05-24 * 功能…

vector的内存释放

1. vector容器的内存自增长 与其他容器不同,其内存空间只会增长,不会减小。先来看看"C Primer"中怎么说:为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储。设想一…

poj 2096 , zoj 3329 , hdu 4035 —— 期望DP

题目&#xff1a;http://poj.org/problem?id2096 题目好长...意思就是每次出现 x 和 y&#xff0c;问期望几次 x 集齐 n 种&#xff0c;y 集齐 s 种&#xff1b; 所以设 f[i][j] 表示已经有几种&#xff0c;转移一下即可。 代码如下&#xff1a; #include<cstdio> #incl…

[C++]MySQL数据库操作实例

由于课程大实验需要使用c操作MySQL数据库&#xff0c;经过一番研究终于成功实现VS2008中与MySQL的连接。环境设置&#xff1a;安装完MySQL之后&#xff0c;将安装目录中的include目录下的libmysql.lib文件拷到VS2008安装目录中的VC\lib\下&#xff0c;然后在项目-选项-c/c-常规…

MapInfo开发心得——控件篇

前阵做一个项目过程中&#xff0c;需要结合MapInfo进行地方展示开发&#xff0c;积累一点点心得与大家共享以下所有基于MapXtreme 6.6MapInfo提供了足够强大的WinForm地图空间&#xff0c;可以很方便地在VS中拖拉摆放。但如此强大的控件也带来了封闭性太强的问题。现在我们都接…

89个嵌入式相关概念,你懂了几个?

嵌入式、计算机的学习&#xff0c;最基础的就是弄清一些概念。嵌入式、计算机相关的概念很多&#xff0c;这次汇总整理一些&#xff1a;1. 操作系统&#xff08;Operating System&#xff0c;OS&#xff09;&#xff1a;是管理计算机硬件与软件资源的系统软件&#xff0c;同时也…

使用VLC转码,在HTML5页面播放实时监控

首先要获取摄像机品牌的RTSP地址&#xff1a; 如大华的是rtsp://user:pwdip:port/cam/ realmonitor?channel1&subtype0 海康的是rtsp://user:pwdip:port/MPEG-4/ch1/main/av_stream Html5 <video>并不支持rtsp,所以使用vlc进行转码,将rtsp转http流,这样<video&g…

聊聊Linux中线程和进程的联系与区别!

大家好&#xff0c;推荐飞哥的一篇文章&#xff01;关于进程和线程&#xff0c;在 Linux 中是一对儿很核心的概念。但是进程和线程到底有啥联系&#xff0c;又有啥区别&#xff0c;很多人还都没有搞清楚。在网上对进程和线程的讨论中&#xff0c;很多都是聚集在这二位有啥不同。…

Docker swarm 实战-部署wordpress

Docker swarm 实战-部署wordpress 创建一个overlay的网络 docker network create -d overlay demo6imq8da3vcwvj2n499k4bwdlt docker network ls NETWORK ID NAME DRIVER SCOPE feea5ba8507b bridge bridge …

比GDB方便n倍的调试工具——CGDB

CGDB 是GDB的前端&#xff0c;在终端窗口中意图形化的形式来调试代码(基于ncurse)&#xff0c;非常方便。相对于GDB来说&#xff0c;可以很大的提高效率。这篇文章就来分享一下CGDB的最基本使用方法&#xff0c;如果是第一次听说&#xff0c;强烈建议您体验一下&#xff0c;一定…

WCF Security userName/Password

1. Transfer SecurityTransfer Security 主要包括三个方面&#xff1a; "消息完整性(Message Integrity)"、"消息机密性 (Message Confidentiality)" 和 "交互验证(Mutual Authentication)"。消息完整性必须确保消息在传输过程中没有被篡改&…

保护视力,我写的一个定时提醒的小玩意。

做程序员2年了&#xff0c;感觉视力越来越差。有时候常常工作到忘记休息。于是就想写一个能够定时提醒的小东西(公司不让从网络下载别的程序)。 功能: 1.能够每隔一段时间提醒我休息&#xff0c;做做眼保健操。 2.能够自己设定时间间隔. 运行环境&#xff1a;.ne…

WinCE程序的几种开发方法

文章允许转载,请注明出处和作者:luocq(akay_21cn_com)下面介绍的几种开发方法,还是倾向于Delphi的程序员,如果是熟练的VC程序员,当然VC是不二的选择.1、采用Delphi2007来进行WinCE .net程序开发http://spaces.msn.com/members/GordonLiWei/?partqsayear%3D2005%26amonth%3D12&…

几道Linux驱动相关面试题,你会几题?

1一、Linux基础1、任意3种网络操作的Linux命令,并说明他们的含义 1. ifconfig 命令ifconfig 用于查看和配置 Linux 系统的网络接口。 查看所有网络接口及其状态&#xff1a;ifconfig -a 。 使用 up 和 down 命令启动或停止某个接口&#xff1a;ifconfig eth0 up 和 ifconfig et…

解决Too many open files问题

转载&#xff1a;https://blog.csdn.net/zhuwinmin/article/details/72730288 当用linux做高并发服务器时&#xff0c;会遇到"Too many open files"的错误。 Linux是有文件句柄限制的&#xff08;open files&#xff09;&#xff0c;而且Linux默认不是很高&#xf…

树莓派的这十年

来源 | 新智元编辑 | 袁榭 好困刚刚过完10岁生日的树莓派&#xff0c;早已褪去了当年廉价电脑教具的外衣&#xff0c;一跃成为全球业界首屈一指的微型电脑品牌。为啥叫「Raspberry Pi」&#xff1f;从某种意义上讲&#xff0c;「树莓」这个命名方式其实很单纯&#xff0c;因为大…

layui 在springboot2.x 时,页面展示不了layui的问题

[[]]是thymeleaf的内联表达式&#xff0c;在script上加 th:inline"none" 即可 报错信息 转载于:https://www.cnblogs.com/SeaWxx/p/10287505.html

ArcGIS Flex API 中的 Flex 技术(一)--事件

作者&#xff1a;Flyingis 本文严禁用于商业目的&#xff0c;如需转载请注明作者及原文链接&#xff0c;其他疑问请联系&#xff1a;dev.vip#gmail.com 在ArcGIS Flex API中探索Flex使用是一种不错的学习方法&#xff0c;可以相互辅助理解ArcGIS Flex API和Flex&#…

C++11 bind注意事项(传引用参数的时候)

默认情况下&#xff0c;bind的那些不是占位符的参数被拷贝到bind返回的可调用对象中。 当需要把对象传到bind中的参数中时&#xff0c;需要使用ref或者cref。 例如&#xff1a;

四元數與旋轉

为什么80%的码农都做不了架构师&#xff1f;>>> 在討論「四元數」之前&#xff0c;我們來想想對三維直角座標而言&#xff0c;在物體旋轉會有何影響&#xff0c;可以擴充三維直角座標系統的旋轉為三角度系統&#xff08;Three-angle system&#xff09;&#xff0c…