死区时间的分析与设置

出现死区的主要原因是因为MOS管的源极和栅极之间的结电容。现在在栅极加上一个门电路。当门电路输出的信号跳变的瞬间,电流是非常大的,会导致MOS管发热,所以需要在门电路后面再串联一个电阻,这个电阻很小,一般在10Ω左右。
在这里插入图片描述

  • 图中电容画出来只是方便理解,实际是隐藏在MOS管中的

假设门电路的输出为方波,RC电路的充放电波形如下:
在这里插入图片描述
当输入从低电平跳变为高电平时:电压不能突变,而在MOS管栅极电压从0增加到Vm的过程中,MOS管在放大区,处于半导通状态,直到电压增加到Vm后,MOS管完全饱和导通。而从高电平跳变为低电平时与之类似。

现在来看推挽输出电路,按理说,上面的MOS管导通,下面的MOS管就截止;下面的MOS管截止,上面的MOS管导通。电路大概为:
在这里插入图片描述
  但是RC充放电电路的充电和放电时间是不一样的,这样问题就大了!此时若输入信号从1变为0,上面MOS的RC电路放电,下面的MOS管的RC电路充电,则当上面MOS管还没放完电,处于半导通状态时,而下面的MOS管虽然也还没充完电,但也处于半导通状态。此时两个MOS管就会同时导通,这是我们不想看到的。
  所以在电平翻转时,让原先导通的MOS管的结电容先开始放电,然后延时一段死区时间,再让另一个MOS管的结电容开始充电。

  • 当然我们也要保证两个MOS管的型号是一样的,否则其充放电时间不一致,肯定会出问题。

在这里插入图片描述
  但是由于这个延时,两个MOS管又有一段时间是同时断开的。此时上面MOS管的源极和下面MOS管的漏极连通,这一瞬间会在输出端产生一个毛刺信号。所以死区时间应该调的足够合适,让其正好交替导通。
经验之谈
  实际应用时测试死区时间,应该将示波器接到输出端,根据这个毛刺信号的时间调延时时间。但调的过程中可能会出现两个MOS管短路,爆炸。
  这里将经验分享给大家:先在上面MOS管的漏极和VCC之间接一个电流表,再把死区时间调到芯片允许的最大值,保证两个MOS管的输出,然后不断缩小死区时间,边调边看电流,一开始电流几乎不变,而当死区时间缩小到某一个值时,两个MOS管接近同时导通,此时电流会迅速增大,在电流基本不变突然开始迅速增大时,此时设置的死区时间即为最佳死区时间。

### Sentence-BERT概述 Sentence-BERT是一种基于BERT模型的改进方法,旨在高效生成句子级别的语义表示。传统的BERT模型虽然能够捕捉词和子句之间的复杂关系,但在实际应用中通常需要计算两个句子之间所有的token对齐相似度矩阵,这使得其时间复杂度较高[^1]。 为了降低这种计算开销并提高效率,Sentence-BERT引入了一种特殊的架构设计——即Siamese网络结构以及Triplet网络结构。这两种结构允许在训练过程中直接学习到适合于下游任务(如语义相似度比较)的句子嵌入向量[^2]。 具体来说,在Sentence-BERT框架下,输入的一组句子会分别经过同一个预训练好的BERT编码器处理得到各自的隐藏状态表示;随后这些隐藏状态会被进一步聚合成为固定长度的向量形式作为最终的sentence embedding输出[^3]。 ### 句子嵌入生成过程详解 当采用Siamese BERT-network来实现上述目标时,主要涉及以下几个方面: #### 数据准备阶段 对于每一对待比较或者分类标注过的正负样本组合(s₁, s₂),它们将被送入相同的神经网络分支当中共享参数权重wₜ从而获得对应的低维稠密特征表达f(s₁; wₜ), f(s₂ ;wt)[^4] #### 训练损失函数定义 常见的做法是利用余弦距离衡量两句话之间的接近程度,并结合交叉熵或其他对比学习专用的目标优化准则构建整体loss function用于指导整个端到端系统的调整完善工作流程如下所示: \[ L=\sum_{i=1}^{N}-\log \frac{\exp \left(\operatorname{sim}\left(f\left(s_i^+\right), f\left(s_i^-)\right)\right)}{\sum_j \exp \left(\operatorname{sim}\left(f\left(s_i^+\right), f\left(s_j^\prime\right)\right)\right)}} \][^5] 其中\( sim() \) 表达的是某种特定测量方式比如前面提到过的cosine similarity等等. #### 推理预测环节 一旦完成充分迭代后的收敛模型保存下来之后就可以方便快捷地针对新来的测试实例执行前馈操作获取相应高质量的结果了. ```python from sentence_transformers import SentenceTransformer, util # 加载预训练模型 model = SentenceTransformer('all-MiniLM-L6-v2') # 输入句子列表 sentences = ['This framework generates accurate sentence embeddings.', 'Sentence-BERT uses siamese networks to produce these embeddings.'] # 获取句子嵌入 embeddings = model.encode(sentences) print("Embedding shape:", embeddings.shape) ``` 以上代码片段展示了如何使用Hugging Face提供的`sentence-transformers`库加载一个预先训练好Sentence-BERT变体(all-MiniLM-L6-v2),并通过调用`.encode()`方法快速简便地取得给定文本集合相应的数值化描述信息[^6].
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tilblackout

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值