如何为 DAC 转换器编写 MATLAB 代码?

How do I write MATLAB code for a DAC converter ?

在第一步中,我生成了一个位序列 (0,1)..

我使用了 randi 命令 x = randi([0 1],1,3) 来生成随机位

我坚持了这两个步骤:

将序列按3位分成8级 [000, 001, 010, 011, 100, 101, 110, 111]

为每个量子级别分配 [-2, 2]

范围内的振幅值

我不会提供完整的源代码给你留下一些功课,但我会给你一些提示:

  • randi() 正在创建一个 0 和 1 浮点数序列
  • 查看函数bitpack的文档。这允许您将数组元素中的位打包到单个字节中。请注意,您需要提供一个 "bits" 的 8 元素数组来填充一个字节。用户 'uint8' 作为 class 参数。
  • 在将浮点数数组传递给 bitpack 之前,您必须使用 logical() 函数将其转换为 logical 数组。
  • 查看 linspace() 的文档以创建一个包含 8 个元素的数组,其中包含等间距幅度值
  • 在此数组中查找每个 "digital" 值的振幅值。