图2。9 128位精度下Logistic映射及10000点FFT频谱
2。2。2 Logistic信号Simulink实现
根据公式2。1,使用一个含有初值的寄存器(图2。10中的Memory),该初值相当于式中的x(0)。一个被减数为1,减数为寄存器输出的减法器,减法器输出,寄存器输出,与常数4相乘。最终得到Logistic信号表达式。Matlab中寄存器是64位的。产生信号结果如图2。11,得到一个具有白噪声特性的序列。来-自~优+尔=论.文,网www.youerw.com +QQ752018766-
图2。10 Simulink下的Logistic信号发生器仿真图
i
图2。11 Simulink下仿真出的Logistic信号
2。2。3 Logistic信号的FPGA实现
由于FPGA实现受到DAC精度和速度的影响。我们的DAC是xilinx公司的Pmod DA4。12位串行,最高1Mbps速率。为了保证运算速度,最终决定选用Q32表示法。最后再截取高12位作为输出。
根据Q32表示法初值设置为0。1,verilog语句为os<=32'h19999999 ; //初始化0。1。这里,如果,看作无符号二进制,相当于将0。1放大了2的32次方倍。当Simulink和式子中的小数参数化作二进制时,产生前文分析过的量化误差。
此时,式2。1变为式2。3。
(2。3)
其中,μ的取值范围在225附近。x(n)在0到223之间。
FPGA实现和Simulink实现的原理相同,用到的器件一致,控制好时序就可以了。详细代码见附录。