世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

【问】+如何用公式描述闭环系统的时域方程

[复制链接]
查看: 3296 |回复: 84
1
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2018-8-17 09:46:52
  通常接触的控制环路分析都是建立在小信号模型的基础上,闭环系统的的动态变化过程实际上还存在大信号的成分,是否能用公式将闭环系统的时域方程描述出来?这样当环路设计好之后直接就可以看出时域效果或者方便在此基础上作调制和优化。
收藏收藏11
fengbin
  • 积分:8817
  • |
  • 主题:69
  • |
  • 帖子:273
积分:8817
LV8
副总工程师
  • 2018-8-21 09:14:00
 
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2018-8-21 14:21:20
 
谢谢提供的资料,资料中好像只是对小信号进行了讲解。
ckj_ck
  • 积分:14256
  • |
  • 主题:91
  • |
  • 帖子:953
积分:14256
LV10
总工程师
  • 2019-1-26 09:47:47
 
比较麻烦。
你试试描述函数分析法看看
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-1-26 18:24:51
 
有无试过用小信号闭环输出电阻Zo(s)和阶跃输出电流算出的时域动态,和真正的比较一下?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-1-26 22:42:02
 
改天试一下,在闭环的几个传函中这个应该是最符合上电情况了,之前用的其它两个传函算时域应该不太合适。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-6 20:25:18
 
给您一个小玩意:
Buck Transient with Type 1 .rar (131.95 KB, 下载次数: 57)
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-7 08:21:26
 
我用Saber也做了下验证结果非常准确。

您的这种解题方法超级赞,受教了。


greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-8 10:40:56
 
你我仿真有些差别,我的opamp是理想模型。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-8 18:49:25
 
Saber的仿真误差找到了,一是续流二极管的电阻Rd=0.1没有设置,二是选用的三角波发生器起始电压是从3V-5V,下个周期后才为正常的1V-5V。

boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-8 19:00:31
 
我给补偿部分加了比例环节P,参照您的公式加了一小段,不知对否?

仿真对比如下:

如果依次整理出Type Ⅱ、Type Ⅲ以及其它拓扑的表达式,用来验证环路补偿应当是极其方便了……

greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-8 21:55:32
 
这个应该没问题,你用Vr2,我之前是用R2和C2间的node voltage ,可以不知什么原因,Mathcad 总是报错,改用Vr2,依然报错,怪了。可否上传您的 file 给我试试 ?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-8 22:07:43
 
有时关闭软件重新启动一下报错莫名就好了……

Buck Transient with Type 2.rar

115.95 KB, 下载次数: 24, 下载积分: 财富 -2

greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-8 22:24:09
 
谢谢了,您的可以,没问题,怪哉,要check check。您仍用我给你的 Portable version 么?
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-8 22:31:54
 
找到问题了,忘了给 Vr20赋值。也说明用 node voltage 方法有点问题,用Vr2就可以。呵呵。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-9 08:43:45
 
我个人电脑上还在用这个版本,跟普通的15版也兼容。请教一下这种解题方法学名或书面名叫什么?
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-9 11:20:09
 
把Differential Eqn. 化为 Difference Eqn. (Discrete Eqn.)的方法,叫 离散化 ?

之前用node voltage (vn) 的方法是可以的,原先 matrix 左手边的vn的index是j,改为j+1便可以了。
例如11楼的红圈内的,把vr2j+1改为vr2j,就会报错了。
这里有个疑问,Vr和vo是j-th step的值时,vr2也应该是j-th step的值,为什么要把它移後一步呢?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-9 19:52:37
 
这个我也没想通,下标j行不通后就尝试了j+1,所以对之前得出的结果不是很确定。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-10 12:25:33
 
应该可以接受了。
saber1990
  • 积分:459
  • |
  • 主题:1
  • |
  • 帖子:30
积分:459
LV6
高级工程师
  • 2019-10-13 15:31:03
 
看到这里不得不佩服,对过程理解的很透测,一直以来想用数学复现电源动态过程,现在终于找到这种方法了。谢谢!
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-10 17:35:09
 
1,2,3 类补偿器,验证过的,也许有点用:
Opamp compensators .rar (1.05 MB, 下载次数: 33)





boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-10 19:43:27
 
非常感谢!参照您的公式整理出的buck Type 3时序波形文件
Buck Transient with Type 3.rar (136.22 KB, 下载次数: 17)
仿真波形对比

greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-11 11:48:42
 
现在有了 Buck PowerStage 的时域描述,应该有方法找出它的Gvc(s) 的大概 fcross 和 phase margin,进而计算补偿器的RC 。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-11 17:16:07
 
在重新设置buck功率级参数后发现了一个问题:

整个计算过程中默认运放一直工作在线性区既Vr+=Vr-(公式中的Vrj),刚巧您列举的参数符号这一条所以计算和仿真很吻合。
当换一组Buck电路参数后出现运放饱和的情况如上右图,所以方程可能还需再增加一两个。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-12 12:29:26
 
运放处于闭环时,一定是 Vr+=Vr- ,当运放输出饱和时,运放不再闭环,两个Vr就会分离。现在不知哪个是因,哪个是果,可否上传您的 New Buck 文件?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-12 12:57:06
 
把Buck系统设置的更高效(小阻尼系统)就会出现这种情况(运放饱和),这种情况我把它当作大信号来看待。
环路补偿频域-时域.rar (211.87 KB, 下载次数: 18)
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-12 16:54:16
 
設 Ro = 恒定 2欧,用回原来的方式,即不带入Vrn ,Mathcad 和 PSIM 的比较如下,有点差别。

主要是两个Vr 分离后,缺乏对Vrn的描述。


boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-13 11:35:38
 


当Ve=0时 Vrp和Vrn分离开了,仿真时尝试让Vrp=Vrn不过和Mathcad的计算结果没能完全重合。
joezzhang
  • 积分:6649
  • |
  • 主题:5
  • |
  • 帖子:1795
积分:6649
LV8
副总工程师
  • 2019-4-12 16:39:56
 
低阻尼应该就是LC谐振频率处有较高的增益,那么时域会否体现为输出电容上的电压过冲,进而导致Vr-大幅变化最终使运放输出饱和?
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-12 16:56:09
 
出现饱和不是问题,是允许的。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-13 09:19:07
 
那就请LZ完善之。
还有25楼的Type 3是不是有点问题?C1 这么大,Psim 时域仿真,输出是带 (8Vpp,1.7Khz) 震荡的。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-13 11:41:35
 
25楼的补偿参数是随便设置的并不合理(只是想看重复性),如果将前面计算好的补偿参数带进去后对比如下:


LZ水平有限,完善这个计算还是有难度的。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-13 16:57:11
 
先尝试了比较简单的PI补偿(7楼参数),Vrn的表达式和波形如下

Vrn波形趋势是对的只是发生了震荡,原因还未分析出来。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-13 19:58:32
 

在ve公式中再增加一个Vrn>Vrp的或判定可以消除Vrn>Vrp时的震荡,Vrn<Vrp时的震荡还没能消除(运放的供电设置为Vcc=4V)。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-13 20:04:58
 
Type3的实现方法跟上面的相似,Type3的计算文件和仿真对比图如下: 环路补偿频域-时域(待改进).rar (219.31 KB, 下载次数: 9)

Vrn<Vrp时的震荡问题还没有解决。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-14 14:08:21
 
这里采用的方法不是很好,不过好像是可以解决震荡问题了 Buck环路补偿-频域&amp;时域Ver01.rar (172.83 KB, 下载次数: 11)
根据时域波形对补偿参数做了优化仿真和计算对比如下:

相对于Saber仿真,Mathcad的计算瞬间就完成了…… 后续准备更改各个参数尝试寻找规律。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-15 10:58:33
 
完善了98%,也可以了。 那个震荡问题确实有趣。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-15 21:08:54
 
Ve信号放大会发现其有轻微的震荡(机理不详)

我开始写的语句是以Vcc>=12V做判据的,所以微小的震荡就产生了剧烈的震荡。在Saber仿真中没有这个震荡会不会是Mathcad的某个语句写的不理想?
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-16 15:36:38
 
语句不觉有问题,有空再研究。20楼的,把变量全改用电容电压,式子简洁些。
Opamp compensators v2.rar (1.05 MB, 下载次数: 15)
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-16 17:09:20
 

经验证结果一致 Buck环路补偿-频域和时域Ver02.rar (158.99 KB, 下载次数: 11)
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-16 18:05:16
 
有没有发现,改变 vej 式子里的 0.05,会使vo波形左右移动一点,步长 δt 改变,也会。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-16 21:33:33
 

好像δt取的越小计算的结果越准,而且vej式中的“0.05”也可以跟着取小,如果δt无限小那么“0.05”是不是就可以为零了?震荡是否就是由于δt引起的误差造成的?
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-17 13:31:38
 
是的,δt越小,0.05 可以越小,似乎维持 "0.05"/δt = 2/T 就比较准确 。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-17 21:24:35
 
我试了一下,好像 "0.05"/δt = 2.5/T是临界值公式
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-17 22:17:38
 
这里的2.5恰巧同参考电压Vref一样,“0.05”似乎可以用Vref*δt/T来替代,下面做了两组测试

左图δt=0.01T,Vref=2.5V,右图δt=0.005T,Vref=1.25V,代入公式后刚好都处于临界状态。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-17 22:52:46
 
加了一判断语句,Vcc处的震荡问题好像可以解决了。 Buck环路补偿-频域和时域Ver03.rar (166.64 KB, 下载次数: 14)



greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-18 17:30:09
 
解决了就好,100% 完善。 (最后这个问题能不能归咎 MathCAD ?)
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-18 21:42:43
 
如果再把boost、反激甚至LLC的方程导入进去就更完美了。对Mathcad只是略知皮毛最后这个问题不好评价……
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-19 11:04:37
 
先来个开环 RCD Flyback 练练手 ?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-4-19 12:03:55
 
RCD也考虑进去?感觉可以当仿真软件来用了。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-4-19 12:51:19
 
只是随便说说。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-11-13 09:52:43
 
尝试用这种方法模拟LLC电路,在fs<fr阶段就出现了问题,输出是发散的不知哪里出了问题?

附上Mathcad文件: LLC-fs小于fr.rar (141.05 KB, 下载次数: 16)
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-11-13 11:14:05
 
看看。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-11-13 12:41:44
 
iLr 等也一直增大。把Voj 恒等于276后,它们依然。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-11-13 12:59:40
 
不知道是符号还是哪个公式的问题,fs>fr时也有点问题。附件: LLC-fs大于fr.rar (139.68 KB, 下载次数: 10)

boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-11-13 14:28:56
 
怀疑是判断语句条件if(iLmj<iLrj)的问题,把初始参数都设置为零上电时到了这个地方就不对了。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-11-13 22:51:13
  • 倒数10
 
公式雏形出来了,波形大致是对的,可以兼容全频率范围(60kHz~160kHz):

附件: LLC-离散微积分法.rar (155.75 KB, 下载次数: 22)
(这种算法能将Ts作为形参传递下来吗?)
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-11-14 08:32:09
  • 倒数8
 
解决了,好!
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-11-14 09:36:46
  • 倒数7
 
有办法能将开关频率fs传递下来吗?或者for语句之类的多次调用?下面是手动算的增益结果(300Ω负载)。

greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-11-14 12:10:15
  • 倒数6
 
貌似 For loop 是少不了 。最好连dGdc/df 都弄出来。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-11-18 12:17:55
  • 倒数5
 
模拟压控振荡器VCO在控制电压Vcont处加了个小的扰动实现频率扰动,再对比输出电压Vo可以算出增益和相位,可惜Mathcad绘图中不能超过5*105个点,增大步进时间后当总时间超过0.1S计算会很慢(或者算不出来),不知有没有办法解决?还有就是15版的Max和Min函数您是如何解决的?

greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-11-18 13:24:06
  • 倒数4
 
绘图现在是...t99,t100,t101... 这样的? 弄成 ...t100,t105,t120... 能么?

Max和Min 我也用不多,有什么问题?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-11-18 13:46:37
  • 倒数3
 
t这样改可能跟改步进σt一样的效果,估计是Mathcad自身的问题,高版本的不知是不是有改进(或者是修改Mathcad参数的高级操作?)。
在求LLC电路Max-Q的帖子中,有一种微分法和另一种Max法,您上传的Max法在15版里用不了(Max函数从来没成功过)后来看到您说你解决了15版的Max问题?
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-11-18 15:19:04
  • 倒数2
 
我意思,如果只是绘图点数限制的话,可不可以像下面这样,省点点数,当然插值的直线算不算点数,可不知道了。
Max 的问题解决了,本来应该没问题的。


boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
最新回复
  • 2019-11-18 17:07:14
  • 倒数1
 
好像是可以
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-6-18 09:59:27
 
这个小玩意好像又有点问题,看看file里最后的波形:(file 去掉 .txt 便是)

Buck .xmcd.txt (380.79 KB, 下载次数: 7)
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-6-18 16:08:27
 
怀疑是由电感方程中δt引起的误差

如上图在ve电压小跳变的前后,电感电流iL似乎是不变,正常应该是跟ve电压相似的规律。

减小δt后做了个对比如下:

继续减小δt会提示点数太多无法显示……
(顺便请教个问题,利用反三角函数acos获得的是周期性函数,能否直接得出连续函数?不使用微、积分)
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-6-18 18:11:57
 
理论上δt越小越准确,如果是accumulated error,不同的δt,为什么那个bump出现在同一时间。把δt给为0.015T或0.02T,Vcj+1 算式会变红,error。

意思是 f(t) = acos (Φ(t)) ,不用微积分,得出 f(t) ?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-6-18 22:50:24
 
问题找到了,跟δt没关系跟周期T有关,bump大约出现在444个周期处。跟周期T有关的只有锯齿波swj函数,经验证这个函数最大值4.96不是5存在一定偏差,重新修正锯齿波函数后bump就没有了。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-6-19 09:21:17
 
锯齿波修改后的公式如下:


反三角函数求相位的问题绘图如下:

图中f(t)是已知量目标是求解相位φ(t),用反三角求出的φ(t)是图中蓝色周期信号而原始相位信号是连续的绿色信号,如何快速获得这个连续相位信号?(用微积分可以实现但运算速度太慢)
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-6-19 12:00:06
 
1. 谢谢,用您的这个和我原来的saw(t),bump都是没有了,但启动初期的波形却依然。


2. f(t) 的周期T容易得到吗? 假设φ(t)=m*t,m=2π/T 。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-6-19 12:23:00
 

启动初期的波形是这上图红圈处吗?这个波形是因锯齿波定义区间定义在1~5V(您最开始这么定义的后面的一直也没改过),当ve小于1V时就产生了这种类似随机波。

T周期是未知的变换的T(t)函数,好像可以将三角函数的微积分方程转换成普通方程来求解,还在尝试中。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-6-19 13:36:54
 
1. 这些毛刺不应该存在,saw=0~4V,一样有。虽然bump不见了,但Vo有点低频起伏,另δt加长,同样会出error,总是感觉这玩意有暗病。

2. 这是实时地,一边输入f(t),一边输出φ(t) ,像FM解调 ?  用微积分如何解决?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-6-19 14:21:05
 
ve确实有缺陷,唯独它的表达式不是与前一状态相关。

等同于FM解调,微积分法求连续相位是下面的表达式

greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-6-19 16:27:02
 
1. 这个暂时放下,有空再研究。

2. 有点迂回啊,好弄吗? 怎么觉得f(t)和φ(t)都不是周期性函数。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-6-20 08:46:04
 
上面的可能有点问题,另外一种方法是对信号微分后取包络得出FM解调信号,不过如果能利用反三角函数应该可以将噪声也解调出来,我的应用中是期望能完全还原出调制信号包括噪声。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-6-20 14:04:14
 
全软件实现? 信号包括噪声的 bandwidth 几何?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-6-20 16:56:59
 
先从软件的角度,信号噪声比较关心的是低频噪声,经反三角——微分——取绝对值后结果不错,下面是反三角和包络法的对比

右图红色曲线是原始曲线,绿色的是包络法(包络未取)蓝色曲线是反三角微分法。
如果频率是线性变化或是三角波之类就方便了,可惜应用中的频率是非线性的,微分方程恐怕是避免不了了。
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-6-20 17:52:21
 
这个PM例子的好处是,f2(t) 的幅值是bounded 的,φ(t) 是differentiable 的 。
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-6-27 20:10:35
 
向您请教个问题,已知一组曲线如何绘制出其包络线?

比如图中红色曲线原为啁啾波经处理后获得的每周期最大值,最终想得到是蓝色虚线,在Mathcad中要如何处理?可以线性拟合吗?RCD包络检波或是有其它什么方法?
greendot
  • 积分:31576
  • |
  • 主题:0
  • |
  • 帖子:8690
积分:31576
LV12
专家
  • 2019-6-27 21:35:42
 
Mathcad 有 Regression 和 CurveFitting 功能,不知可否先试试?
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-6-27 22:59:37
 
这两个功能不知道怎么用help文档也不会看,后来又试了一下包络检波电路,之前就试过用的是时间t函数一直算不出了,后来参照您给的这种带下标的方式可以解出来了。

ckj_ck
  • 积分:14256
  • |
  • 主题:91
  • |
  • 帖子:953
积分:14256
LV10
总工程师
  • 2019-9-28 12:33:04
 
还特地加了-0.0002啊,数值模拟放电过程,挺有意思
boy59
  • boy59
  • 离线
  • LV10
  • 总工程师
  • 积分:16430
  • |
  • 主题:118
  • |
  • 帖子:2779
积分:16430
LV10
总工程师
  • 2019-9-29 08:46:47
 
blueskyy
  • 积分:28371
  • |
  • 主题:129
  • |
  • 帖子:13401
积分:28371
LV10
总工程师
  • 2019-11-14 08:29:43
  • 倒数9
 
站位学习~
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号