CTSDM踩坑记录

MATLAB行为级建模

首先,两个库一定要装完!!你有两个方法:

1、把这两个文件下载下来并复制到当前目录下,并将两个文件添加到当前路径(上方“主页”栏-“设置路径”-“添加并包含子文件夹”)。
在这里插入图片描述
2、正版matlab可以通过附加功能,搜索出以下两个工具箱并安装。(下面两图是我已经安装好了)

在这里插入图片描述
ps:Signal Processing toolbox,Control Systems toolbox,Optimization Toolbox 都是需要的。
否则会报类似:Undefined command/function ‘zpk’.等错误。

mex simulateMS.c报错

Error using mex
undefined referenceto `drand48’
collect2.exe: error: ld returned 1 exit status
在你的delsig toolbox 所在目录找到simulateMS.c文件,在所有函数的前面加上对该函数的定义。

double drand48 (void)
{
    return (((double) (rand ( ))) / ((double) RAND_MAX)) ;
}

Simulink线性化工具

特别好用,可以用来算simulink模型的传输函数
mathwork官方教程:
https://ww2.mathworks.cn/help/slcontrol/linearized-system-monitoring.html
先鼠标点击相应的线,添加线性分析点:
分别给输入和输出加上点
在这里插入图片描述
点击模型线性化器
在这里插入图片描述
点击选中结果查看器,点击波特:
在这里插入图片描述
可以查看波特图,以及线性化结果在状态空间,传输函数,零极点增益形式下的显示。选择传输函数或者零极点增益都可以查看z域表达式。
在这里插入图片描述
另外:
对于CTSDM环路,有采样有ad da,是没有办法进行线性化的,因为你的系统本质上是个时变非线性系统,把S/H,AD,DA全用导线替代,就可以完成传输函数的plot了。

Verilog-A电路级建模

1、 报错:Cannot print DC solution because DC did not converge. Resolve the convergence issue and rerun the simulation.
对于有很多理想模型的情况,很容易出现dc不收敛。可以在tran的option中skip dc。
2、设置电路初始状态:ADEL-simulation-convergence aids-initial conditon(node set也是设置的初始值,不过是初始时通过一个电阻与该节点相连,一种软连接,initialcondition 是直接置为该电压值。)
3、对于环路的分析,可以把环路断开来和matlab的结果进行对比,找出到底是哪个节点有问题。

DAC mismatch仿真方法

1、自己用电流源一个一个设置相应的值
在这里插入图片描述
2、使用ADE XL,对相应的mc点creat 相应的corner
先跑.dc的MonteCarlo仿真,得到DAC输出电流的histogram:
在这里插入图片描述
然后点击上面的一个点,右侧就会跳到对应的点
然后在右侧的数据上,右键-create statistical corner,选择based on statistical parameter values,左侧corner处就会显示出你create的corner
在这里插入图片描述

在这里插入图片描述
再次run的时候要选择single run而不是montecarlo

积分电路的理解

1、积分电路对于直流输入的稳态响应。
Vin是直流输入,达到稳态后,由于电容相当于开路,实际上由于运放输入端的虚断是始终存在的ix=0,电容相当于开路ic=0,所以i=0,那么运放负输入端的电压就为输入电压。图中的仿真Vin为500mV,可以看到最后稳定后运放负输入端电压为500mV。
在这里插入图片描述
在这里插入图片描述

而积分电路的积分性能,其实仅在反馈成立时有效,而只有在Vin由0变到固定电位的瞬间,虚短才成立,运放负输入端才趋近于0。
2、由第一条可以知道,对于差分积分运放电路,输入端共模电压,将由前级电路决定。差分电路可以利用叠加原理,分为差模分析和共模分析。共模分析时,输入短接且都接Vcm,也就是一个直流电平,达到稳态后,运放输入端共模电位就为Vcm。

关于s域到z域的变换

从定义上,
z = e s T s z=e^{sT_s} z=esTs
准确来说应该是用这个e指数的式子去替换,但是大家都会发现 1 1 − z − 1 \frac{1}{1-z^{-1}} 1z11 1 / ( s T s ) 1/(sTs) 1/(sTs),似乎在这个定义上并不等价,但是在understanding delta sigma 那本书中又是等价的,其实原因是“采样!”,对于有采样的系统,采样过程就是一种离散化的过程,而我们只需要保证连续时间系统被采样后的冲激响应是不变的那么系统就是等价的。
由此,我们只关心采样点上的冲激响应的值,而工程上常用的变换其实是另一种近似后的变换。
后向差分变换:
y ( t ) ′ = y ( n T s ) − y ( ( n − 1 ) T s ) / T s y(t)'=y(nT_s)-y((n-1)T_s)/T_s y(t)=y(nTs)y((n1)Ts)/Ts
Z ( y ( t ) ′ ) = [ Y ( z ) − Y ( z ) z − 1 ] / T s = Y ( z ) ( 1 − z − 1 ) / T s Z(y(t)')=[Y(z)-Y(z)z^{-1}]/T_s=Y(z)(1-z^{-1})/T_s Z(y(t))=[Y(z)Y(z)z1]/Ts=Y(z)(1z1)/Ts
又有:(假设t=0时y(t)=0,而这在因果系统中通常是符合的)
L ( y ( t ) ′ ) = s Y ( s ) L(y(t)')=sY(s) L(y(t))=sY(s)
对比上面两式只需要令 s = ( 1 − z − 1 ) / T s s=(1-z^{-1})/T_s s=(1z1)/Ts就完成了从s域到z的变换。而这也是工程上常用的变换方法。现在再去看 1 1 − z − 1 \frac{1}{1-z^{-1}} 1z11 1 / ( s T s ) 1/(sTs) 1/(sTs),就是等效的了。

Quartus分辨率和笔记本分辨率不适配

会导致软件中的字出现重叠,在配置IP catalog时尤其明显。
win10解决办法:
添加链接描述
win11和win10操作有所不同:
找到quartus软件,右键属性-兼容性-更改高DPI设置-替代高DPI缩放行为-选择系统(增强)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cchhhhhhhh?

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

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

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

打赏作者

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

抵扣说明:

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

余额充值