1⃣️根据dds算法设计信号发生器的时候,假设相位累加器位宽为24,rom表位宽为8,数据深度是256,为什么可以截取相位累加器高8位赋值给rom呢?这一步完成了什么工作啊?
2⃣️采样点数不是2^24吗,是怎么量化成256个的?
3⃣️运行速度是怎么体现在数据中的?
这里的原理不是很明白,求指点!
在 DDS(Direct Digital Synthesis)算法中,相位累加器的作用是计算出每个时刻对应的相位值。如果相位累加器的位宽是 24 位,那么它可以表示 $2^{24}$ 个不同的相位值。而 ROM(只读存储器)中存储的是幅度值,位宽为 8 位,可以表示 $2^8$ 个不同的幅度值。因此,为了将相位和幅度结合起来,需要将相位累加器的高 8 位作为地址,去 ROM 中取出对应的幅度值,从而生成对应的输出信号。这一步操作完成了将相位和幅度结合起来,生成输出信号的工作。
采样点数不是 $2^{24}$,而是由时钟频率和采样率决定的。在 DDS 系统中,输出信号的频率是由参考时钟频率和相位累加器的变化速度决定的。因此,输出信号的频率是一个连续的变化,而不是离散的。在 DDS 系统中,为了将连续的输出信号转换为离散的数字信号,需要进行采样和量化。采样的时候,会在一定时间间隔内对输出信号进行采样,得到一系列的采样值。在这个过程中,采样点数是由采样率和采样时间决定的。因此,采样点数可以不是 $2^{24}$,而是一个任意的数字。然后,对于每个采样值,可以进行量化,将连续的采样值映射为离散的数字信号。如果量化的位宽是 8 位,那么可以表示 $2^8$ 个不同的量化值。因此,将采样后得到的采样值经过量化之后,可以得到 256 个不同的数字信号。
运行速度可以体现在数据中,比如在 DSP(数字信号处理)系统中,通常会使用时钟周期数来表示算法的运行时间。在 DDS 系统中,如果时钟频率是 $f_c$,采样率是 $f_s$,那么输出信号的周期是 $\frac{1}{f_c}$,采样周期是 $\frac{1}{f_s}$。因此,每个输出周期内会有 $\frac{f_c}{f_s}$ 个采样点。如果采样点数是 $N$,那么总共需要 $N\frac{f_c}{f_s}$ 个时钟周期来完成一次输出。这个时间可以用来衡量算法的运行速度。另外,如果 DDS 系统需要在实时环境下工作,那么需要保证算法的运行速度足够快
2⃣️ 采样点数确实是 $2^{24}$,但是在 DDS 中,每一个相位累加器的值都是通过一个固定的量化步长进行逐次累加得到的。这个量化步长可以根据所需要的频率精度进行设置,通常为一个固定的小数值。例如,如果量化步长为 $2^{-24}$,则相位累加器每累加 $1$ 个时钟周期,其值就会增加 $2^{-24}$。因此,相位累加器的取值范围是 $[0, 2^{24}-1]$,总共可以产生 $2^{24}$ 个不同的相位值,这些相位值是通过 $256$ 个离散的量化值进行表示的。
3⃣️ 运行速度通常可以通过时钟频率来衡量,即每秒钟可以执行多少个时钟周期。例如,如果时钟频率为 $100$ MHz,表示每秒钟可以执行 $100$ 个百万次时钟周期。在 DDS 中,相位累加器的更新速度通常由时钟频率和量化步长共同决定,因为每个时钟周期相位累加器的值都会增加一个固定的量化步长。因此,如果希望提高输出信号的更新速度,可以增加时钟频率或者减小量化步长。
DDS通过如下三类证书来支撑其安全特性的实现:
1)Permissions CA Certificate
由所有域成员共享,用来认证Governance文件和Permissions文件的合法性。
2)Identity CA Certificate
由所有域成员共享,用来认证其他域成员的身份。