Данные в аудио и обратно. Модуляция / демодуляция с исходным кодом

Хорошее обсуждение здесь. Некоторые разъяснения:

  • Telerik действительно использует jQuery внутренне (и будет все больше теперь, когда MS поддерживает его) улучшать клиентские функции (и уменьшать клиентский код) для многих средств управления
  • , jQuery является клиентской библиотекой, которая является большой для разработки JavaScript. Если необходимо обратиться к доступности, тем не менее, Вы - ручей с jQuery реализации UI, потому что они зависят от JavaScript для всей функциональности. Уникальное преимущество Telerik состоит в том, что можно представить и клиентскую и серверную сторону, подразумевая, что можно поддерживать клиенты, которым не включили JavaScript.
  • Для многих средств управления Telerik, можно или A) устранить дополнительный код на странице путем отключения опций (из-за внутренней логики сценария загрузки по мере необходимости), или B) значительно уменьшить влияние клиентского кода при помощи, обеспечивают объединители сценария и компрессоры.

Являющийся долговременным веб-разработчиком, тем не менее, я всегда поощряю людей использовать правильный инструмент для задания. Если Вам не нужны мощные возможности RadControls, или поддержка accesiblitity или обширная документация (для помощи парню, который наследует приложение), не используйте их для сайта. Если все, в чем Вы нуждаетесь, является основным UI, jQuery может быть очень хорошо. Что я склонен находить, тем не менее, то, что, когда разработчик может предложить расширенные функции пользователям (о чем мы иногда думаем как "чрезмерное увеличение размера") для того, чтобы не сделать дополнительную работу, пользователи намного более впечатлены конечным продуктом и находят намного легче использовать.

И прежде всего, помните в большинстве случаев, что Вы генерируете значение для своей компании/клиентов путем создания приложения - не компоненты UI. Таким образом, если нет серьезное основание изобрести велосипед, Вы обычно лучше всего обслуживаетесь при помощи чего-то, что это было уже создано и протестировано для решения проблемы, с которой Вы сталкиваетесь.

Hope, которая помогает.-Todd

22
задан Martin Konicek 6 February 2019 в 14:48
поделиться

1 ответ

Одной из целей модуляции / демодуляции является адаптация к характеристикам канала. Например, канал может быть не в состоянии пройти DC. Другая цель состоит в том, чтобы преодолеть определенное количество и тип шума в канале, в то же время передавая данные выше некоторой заданной частоты ошибок.

Для FSK вам просто нужны процедуры, которые могут генерировать синусоидальные волны на двух разных частотах на передающей стороне, а также фильтровать и обнаруживать две разные частоты на принимающей стороне. Длина каждого сегмента синусоидальных волн, разделение по частоте и амплитуда будут зависеть от скорости передачи данных и количества шума, которое вам необходимо преодолеть.

В простейшем случае нулевой шум просто создает N или 2N синусоидальных волн в последовательных фиксированных временных рамках. Что-то вроде:

x[i] = amplitude * sin( i * 2 * pi * (data[j] ? 1.0 : 2.0) * freq) / sampleRate )

На приемном конце вы можете сэмплировать сигнал с частотой, намного превышающей максимальную частоту, и измерить расстояние между переходами через ноль, и посмотреть, найдете ли вы короткий или длинный период осциллограмм. При наличии ненулевого шума можно использовать гораздо более изощренные методы с использованием фильтров цифровой обработки сигналов (БИХ, КИХ и т. Д.) И различных статистических детекторов.

2
ответ дан 29 November 2019 в 05:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: