Курсовая работа: Передача цифрового сигнала
Рисунок 9 – Настройки блока Zero-OrderHold1.
Следующим элементом в АЦП является квантователь. Он обеспечивает квантование с одинаковым шагом по уровню. Рассчитаем значения его параметров.
Таким образом, настройки блока квантования Quantizer1 будут следующие:
Рисунок 10 – Настройки блока Quantizer1.
Блок RoundingFunction1 является простой математической функцией округления значения до ближайшего целого. Этот блок – подготовительное звено перед конвертированием квантованного сигнала в биты.
Блок IntegertoBitConverter1 выполняет преобразование целочисленных значений в биты. Настройки этого блока приведены на рисунке 11:
Рисунок 11 – Настройки блока Integer to Bit Converter1.
Параметр numberofbitsperinteger (количество бит на число) определяется разрядностью АЦП (6) плюс 1.
При этом осциллограмма Scope1 покажет, что 4 битовых канала фактически не используются. Вероятнее всего это связано с несоответствием диапазона сигнала на входе АЦП и его разрядности, т.е. если используется АЦП 7 бит, то максимальное значение сигнала, на него подаваемое должно быть 128 (27) иначе его разрядность не используется при округлении к целым числам, т. о. сигнал, подаваемый на АЦП должен быть увеличен до этой величины, а после ЦАП на столько же уменьшен.
Для реализации увеличения и уменьшения сигнала используются блоки Gain (для увеличения) и Gain1 (для уменьшения) с коэффициентами 8 и 1/8 соответственно.
Блоки Gain выполняют умножение входного сигнала на постоянный коэффициент.
Параметры:
Gain – Коэффициент усиления.
Multiplication – Способ выполнения операции. Может принимать значения (из списка):
- Element-wise K*u– Поэлементный.
- Matrix K*u – Матричный. Коэффициент усиления является левосторонним операндом.
- Matrix u*K – Матричный. Коэффициент усиления является правосторонним операндом.
Saturate on integer overflow (флажок) – Подавлять переполнение целого. При установленном флажке ограничение сигналов целого типа выполняется корректно.
Параметр блока Gain может быть положительным или отрицательным числом, как больше, так и меньше 1. Коэффициент усиления можно задавать в виде скаляра, матрицы или вектора, а также в виде вычисляемого выражения.
В том случае если парметр Multiplication задан как Element-wise K*u, то блок выполняет операцию умножения на заданный коэффициент скалярного сигнала или каждого элемента векторного сигнала. В противном случае блок выполняет операцию матричного умножения сигнала на коэффициент заданный матрицей.
По умолчанию коэффициент усиления является действительным числом типа double.
Для операции поэлементного усиления входной сигнал может быть скалярным, векторным или матричным любого типа, за исключением логического (boolean). Элементы вектора должны иметь одинаковый тип сигнала. Выходной сигнал блока будет иметь тот же самый тип, что и входной сигнал. Параметр блока Gain может быть скаляром, вектором или матрицей либого типа, за исключением логического (boolean).
При вычислении выходного сигнала блок Gain использует следующие правила:
Если входной сигнал действительного типа, а коэффициент усиления комплексный, то выходной сигнал будет комплексным.
Если тип входного сигнала отличается от типа коэффициента усиления, то Simulink пытается выполнить приведение типа коэффициента усиления к типу входного сигнала. В том случае, если такое приведение невозможно, то расчет будет остановлен с выводом сообщения об ошибке. Такая ситуация может возникнуть, например, если входной сигнал есть беззнаковое целое (uint8), а параметр Gain задан отрицательным числом.