Хорошее обсуждение здесь. Некоторые разъяснения:
Являющийся долговременным веб-разработчиком, тем не менее, я всегда поощряю людей использовать правильный инструмент для задания. Если Вам не нужны мощные возможности RadControls, или поддержка accesiblitity или обширная документация (для помощи парню, который наследует приложение), не используйте их для сайта. Если все, в чем Вы нуждаетесь, является основным UI, jQuery может быть очень хорошо. Что я склонен находить, тем не менее, то, что, когда разработчик может предложить расширенные функции пользователям (о чем мы иногда думаем как "чрезмерное увеличение размера") для того, чтобы не сделать дополнительную работу, пользователи намного более впечатлены конечным продуктом и находят намного легче использовать.
И прежде всего, помните в большинстве случаев, что Вы генерируете значение для своей компании/клиентов путем создания приложения - не компоненты UI. Таким образом, если нет серьезное основание изобрести велосипед, Вы обычно лучше всего обслуживаетесь при помощи чего-то, что это было уже создано и протестировано для решения проблемы, с которой Вы сталкиваетесь.
Hope, которая помогает.-Todd
Одной из целей модуляции / демодуляции является адаптация к характеристикам канала. Например, канал может быть не в состоянии пройти DC. Другая цель состоит в том, чтобы преодолеть определенное количество и тип шума в канале, в то же время передавая данные выше некоторой заданной частоты ошибок.
Для FSK вам просто нужны процедуры, которые могут генерировать синусоидальные волны на двух разных частотах на передающей стороне, а также фильтровать и обнаруживать две разные частоты на принимающей стороне. Длина каждого сегмента синусоидальных волн, разделение по частоте и амплитуда будут зависеть от скорости передачи данных и количества шума, которое вам необходимо преодолеть.
В простейшем случае нулевой шум просто создает N или 2N синусоидальных волн в последовательных фиксированных временных рамках. Что-то вроде:
x[i] = amplitude * sin( i * 2 * pi * (data[j] ? 1.0 : 2.0) * freq) / sampleRate )
На приемном конце вы можете сэмплировать сигнал с частотой, намного превышающей максимальную частоту, и измерить расстояние между переходами через ноль, и посмотреть, найдете ли вы короткий или длинный период осциллограмм. При наличии ненулевого шума можно использовать гораздо более изощренные методы с использованием фильтров цифровой обработки сигналов (БИХ, КИХ и т. Д.) И различных статистических детекторов.