Твоя "дизайн-идея" стара как мир (называется RZ), не взлетела. Только если в виде QAM-64 и т.п. Картинку уже показывал миллион раз, из неё следует, что не нужно изобретать ничего кроме QPSK (М=4, для которого компаратора наверное достаточно). Для http://caxapa.ru/thumbs/674415/shannon.jpg
https://www.edn.com/Home/PrintView?contentItemId=4017668
бедных есть BPSK -- сделать проще, скорость в два раза хуже. Всякие виды NRZ отличаются от последней только широченной полосой (от нуля, но сверху в два раза меньше). В итоге QPSK по свойствам лучше NRZ оказывается (почему -- см. ниже), по требуемой силе сигнала/шум и примерно с такой же полосой (только узкой уже, а не от нуля). Почему лучше: ибо межсимвольная интерференция влияет *сильно* меньше (нет низких, от нуля, частот, уже полоса на символ) и фаза может без ошибок гулять аж на 1/8 периода, а в голом UART где NRZ ошибка фаза распространяется на следующие 10 бит и в старт-бите должна быть порядка 1/16. Вот табличика из статьи по ссылке (сравнение видов модуляции): http://m.eet.com/m …68079/imagetable01.gif Но если от теории переходить к практике, QPSK относительно сложно сделать. Нужен какой-то ФАПЧ и относительно высокая его тактовая частота, нужна синхронизация на логическом уровне, для вычленения в потоке битов уже отдельных байт -- сложная логическая схема, скорей FPGA. А NRZ(I) работает на простейшей логике тактируемой примерно на порядок более высокой тактовой (чем "несущая"). А ты "изобрёл" RZ схему, которую похоронили ещё в 60-х. Сложности много, а принципиальных преимуществ перед двоичной NRZ -- нет. Вот если подумать как сделать простой QPSK приёмник, другое дело. Да и компаратора может и достаточно, но с другой стороны нет нужды. Узел перемножения/накопления имеющийся сейчас в каждом цифровом приёмнике и сформированный из двух мультиплексоров на КМОП транзисторах, двух конденсаторов, ещё двух транзисторов для сброса и двух усилителей-компараторов достаточно прост и несколько понизит требуемый сигнал/шум. Выходы компараторов кодируют относительную (с гетеродином, условно) разность фаз, которая является одновременно двумя принимаемыми битами. Гетеродин должен подстраиваться, и это самое сложное. Допустим, по частоте он всегда попадает (ибо кварц), пакеты короткие и имеют преамбулу для подстройки фазы (как Nordic работает) и то что все кварцы немножко разные нас не интересует. Но изначальную фазу в пределах четверти бита нужно всё же как-то установить. И пока чисто аналоговая часть схемы -- это мультиплексор и компараторы, и не хочется иметь аж отдельный VCO. Что-то вроде такого (выловлено на Радиолоцмане: https://www.radiol …ematics.html?di=144253), цифровой ФАПЧ на 555ИЕ10. Работающий в момент прохождения преамбулы только. Как это всё сделать нормально, вот интересно. Но думать некогда, пора идти говнокодить C++. Кстати подумалось, часть микросхем современных трансиверов (вроде нордика, но на более низкие частоты) можно применять и по витой паре...
[ZX]
https://www.edn.com/Home/PrintView?contentItemId=4017668
бедных есть BPSK -- сделать проще, скорость в два раза хуже. Всякие виды NRZ отличаются от последней только широченной полосой (от нуля, но сверху в два раза меньше). В итоге QPSK по свойствам лучше NRZ оказывается (почему -- см. ниже), по требуемой силе сигнала/шум и примерно с такой же полосой (только узкой уже, а не от нуля). Почему лучше: ибо межсимвольная интерференция влияет *сильно* меньше (нет низких, от нуля, частот, уже полоса на символ) и фаза может без ошибок гулять аж на 1/8 периода, а в голом UART где NRZ ошибка фаза распространяется на следующие 10 бит и в старт-бите должна быть порядка 1/16. Вот табличика из статьи по ссылке (сравнение видов модуляции): http://m.eet.com/m …68079/imagetable01.gif Но если от теории переходить к практике, QPSK относительно сложно сделать. Нужен какой-то ФАПЧ и относительно высокая его тактовая частота, нужна синхронизация на логическом уровне, для вычленения в потоке битов уже отдельных байт -- сложная логическая схема, скорей FPGA. А NRZ(I) работает на простейшей логике тактируемой примерно на порядок более высокой тактовой (чем "несущая"). А ты "изобрёл" RZ схему, которую похоронили ещё в 60-х. Сложности много, а принципиальных преимуществ перед двоичной NRZ -- нет. Вот если подумать как сделать простой QPSK приёмник, другое дело. Да и компаратора может и достаточно, но с другой стороны нет нужды. Узел перемножения/накопления имеющийся сейчас в каждом цифровом приёмнике и сформированный из двух мультиплексоров на КМОП транзисторах, двух конденсаторов, ещё двух транзисторов для сброса и двух усилителей-компараторов достаточно прост и несколько понизит требуемый сигнал/шум. Выходы компараторов кодируют относительную (с гетеродином, условно) разность фаз, которая является одновременно двумя принимаемыми битами. Гетеродин должен подстраиваться, и это самое сложное. Допустим, по частоте он всегда попадает (ибо кварц), пакеты короткие и имеют преамбулу для подстройки фазы (как Nordic работает) и то что все кварцы немножко разные нас не интересует. Но изначальную фазу в пределах четверти бита нужно всё же как-то установить. И пока чисто аналоговая часть схемы -- это мультиплексор и компараторы, и не хочется иметь аж отдельный VCO. Что-то вроде такого (выловлено на Радиолоцмане: https://www.radiol …ematics.html?di=144253), цифровой ФАПЧ на 555ИЕ10. Работающий в момент прохождения преамбулы только. Как это всё сделать нормально, вот интересно. Но думать некогда, пора идти говнокодить C++. Кстати подумалось, часть микросхем современных трансиверов (вроде нордика, но на более низкие частоты) можно применять и по витой паре...