Как мне написать код MATLAB для ЦАП?
На первом этапе я сгенерировал последовательность битов (0,1).
Я использовал команду Рэнди x = randi([0 1],1,3)
генерировать случайные биты
Я застрял с этими 2 шагами:
Разделите последовательность на 3 бита на 8 уровней [000, 001, 010, 011, 100, 101, 110, 111]
Для каждого квантового уровня присваивается значение амплитуды из диапазона [-2, 2]
1 ответ
Решение
Я не буду предоставлять полный исходный код, чтобы оставить немного домашней работы для вас, но я дам вам несколько советов:
randi()
создает последовательность из 0 и 1 чисел с плавающей точкой- Посмотри документацию функции
bitpack
, Это позволяет вам упаковать ваши биты из элементов массива в один байт. Имейте в виду, что для заполнения байта необходимо предоставить массив "битов" из 8 элементов. Пользователь 'uint8' в качестве аргумента класса. - перед передачей массива чисел с плавающей точкой в битпак вы должны преобразовать его в
logical
массив с помощьюlogical()
функция. - посмотрите на документацию
linspace()
создать массив из 8 элементов, содержащих равные пробелы значения амплитуды - ищите значение амплитуды в этом массиве для каждого "цифрового" значения.