在对一些控制电路或数字相关的电路的仿真时,有时需要考虑输入控制位的进制转化。在 matlab 程序中提供了常见的进制转化的函数,我们可以直接加以利用。
针对二进制与十进制之间的转换,matlab 中提供了dec2bin 和 bin2dec 的函数以供使用:
>> dec2bin(47)
ans =
101111
>> bin2dec(‘101 0110 1100’)
ans =
1388
在对一些控制电路或数字相关的电路的仿真时,有时需要考虑输入控制位的进制转化。在 matlab 程序中提供了常见的进制转化的函数,我们可以直接加以利用。
针对二进制与十进制之间的转换,matlab 中提供了dec2bin 和 bin2dec 的函数以供使用:
>> dec2bin(47)
ans =
101111
>> bin2dec(‘101 0110 1100’)
ans =
1388
在利用 fft 变换分析频谱时,常要考虑将采样时间和信号的周期设为互质的关系。为了方便的找到所选的质数,我们可以利用 matlab 自带的质数表函数 primes() 来加以查找。
下面所示为利用 primes 函数求得100以内的质数:
>> primes(100)
ans =
Columns 1 through 19
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67
Columns 20 through 25
71 73 79 83 89 97
除了质数表函数 primes() 之外,另一种更为灵活的方式是利用检测质数的函数 isprime(),下面的方法就算出了 150 到 200 的质数:
>> A=150:200;
>> B=A(isprime(A))
B =
151 157 163 167 173 179 181 191 193 197 199
这里把 Matlab (Matrix Laboratory) 工具的一些注意的地方大致列以下:
这里简单谈下由时域仿真结果计算 jitter 的方法。
关于如何计算 jitter, 这里的方法主要分为两步,首先在 Cadence 仿真中得到时钟信号过零点时刻的数据,然后利用 matlab 对此数据处理,从而得到 clock jitter 以及时钟周期的直方图(histogram)。
对于过零点时刻的获取,主要可以通过 calculator 中的 cross 函数对 spectre 时域仿真的时钟信号的处理来得到,如下图中所示。