Я понимаю, что подобные вопросы, подобные этому, уже задавались ранее на этом сайте, перечислены ниже. Тем не менее, я смущен по поводу ответов. Если я объясню, что, как мне кажется, я понимаю, кто-то может указать, где я не прав?
Я начну с того, что я знаю:
Закон Шеннона дает теоретический верхний предел
если S = N, то C = B
При N → ∞, C → 0
При N → 0, C → ∞
Формула Найквиста говорит приблизительно, сколько уровней необходимо для достижения этого предела
(Если вы не используете достаточно логических уровней, вы не можете приблизиться к пределу Шеннона, но, используя все больше и больше уровней, вы не превысите предел Шеннона)
Моя проблема в том, что мне трудно понять, почему пропускная способность вообще связана с битрейтом. Мне кажется, что верхний предел частоты, которая может быть передана по каналу, является важным фактором.
Вот очень упрощенный пример: вообще никакого шума, 2 логических уровня (0 В и 5 В), отсутствие модуляции и полоса пропускания 300 Гц (30 Гц - 330 Гц). Он будет иметь предел Шеннона ∞ и предел Найквиста 600 бит / с. Также предположим, что канал является идеальным фильтром, поэтому все, что находится за пределами полосы пропускания, полностью рассеивается. Когда я удваиваю пропускную способность, я удваиваю скорость передачи и т. Д.
Но почему это? Для двухуровневой цифровой передачи с полосой пропускания 300 Гц (30 Гц - 330 Гц) цифровой сигнал "0 В" и "5 В" будет (примерно) прямоугольной волной. Эта прямоугольная волна будет рассеивать гармоники ниже 30 Гц и выше 330 Гц, поэтому она не будет идеально квадратной. Если он имеет основную частоту минимум 30 Гц (то есть «0 В» и «5 В» переключаются 30 раз в секунду), тогда будет хорошее количество гармоник и хорошая прямоугольная волна. Если он имеет основную частоту на максимуме 330 Гц, сигнал будет чистой синусоидой, поскольку нет гармоник более высокого порядка, чтобы сделать его квадратным. Однако, поскольку шума нет, приемник все равно сможет отличить нули от единиц. В первом случае скорость передачи будет равна 60 бит / с, так как "0 В" и «5V» переключаются 30 раз в секунду. Во втором случае скорость передачи будет максимум 660 бит / с (если пороговое напряжение переключения приемника точно равно 2,5 В), и немного меньше, если пороговое напряжение отличается.
Однако это отличается от ожидаемого ответа в 600 бит / с для верхнего предела. В моем объяснении важен верхний предел частоты канала, а не разница между верхним и нижним пределом (пропускной способностью). Может кто-нибудь объяснить, что я не так понял?
Также, когда моя логика применяется к тому же примеру, но с использованием FSK-модуляции (частотная манипуляция), я получаю ту же проблему.
Если ноль выражен как несущая частота 30 Гц, а один выражен как несущая частота 330 Гц, а сигнал модуляции равен 330 Гц, то максимальная скорость передачи составляет 660 бит / с.
Опять же, может кто-нибудь прояснить мое недоразумение?
И зачем вообще использовать прямоугольную волну? Почему мы не можем просто послать синусоидальные волны и спроектировать приемники так, чтобы пороговое напряжение переключения находилось точно посередине между максимальным и минимальным значением синусоидальной волны? Таким образом, сигнал будет занимать гораздо меньшую полосу пропускания.
Спасибо за чтение!
Ответы:
Это тонкий момент, но ваше мышление сбивается с пути, когда вы думаете о тоне 330 Гц, который как-то передает 660 бит / с информации. Это не так - и фактически, чистый тон не передает никакой информации, кроме ее присутствия или отсутствия.
Чтобы передавать информацию по каналу, вы должны иметь возможность указать произвольную последовательность состояний сигнализации, которые должны быть переданы, и - это ключевой момент - уметь различать эти состояния на другом конце.
С вашим каналом 30-330 Гц вы можете указать 660 состояний в секунду, но оказывается, что 9% этих последовательностей состояний будут нарушать ограничения полосы пропускания канала и будут неотличимы от других последовательностей состояний на дальнем конце, поэтому Вы не можете их использовать. Вот почему полоса пропускания информации оказывается равной 600 б / с.
источник
Это только частичный ответ, но, надеюсь, он поможет понять основные моменты, которые вы неправильно поняли.
Если вы переключаетесь на 30 Гц для нуля, вам нужно около 1/60 с или около того, чтобы действительно знать, что вы получили 30 Гц, а не 20 Гц или 50 Гц или что-то еще. В этом случае вы просто включаете и выключаете свою 300 Гц несущую, а сигнал 30 Гц, который посылается в течение 1/660 с в течение нулей, просто сбивает с толку.
Таким образом, в этом примере скорость передачи, которую вы можете отправить, составляет около 20 кГц, что соответствует двукратной разнице между вашими частотами 1 и 0, так же, как формула Найквиста заставляет вас ожидать двухуровневый код.
источник
Ваши вопросы верны и путь к правильному пониманию того, что означает теория ;-).
На вопрос, как большая пропускная способность означает более высокую скорость передачи, экспликация может выглядеть простой, но в то же время быть плохой.
Вот «плохое» объяснение, которое выглядит хорошо. Это начало понимания, почему большая полоса пропускания больше данных. Предположим, что у меня есть первый канал WiFi № 1, работающий на скорости 1 Мбит / с, учитывая мощность и условия кодирования. Затем я беру другой канал WiFi № 2, который имеет ту же пропускную способность, мощность и условия кодирования. Он также работает на скорости 1 Мбит / с. Когда я складываю их вместе, я удваиваю пропускную способность (два разных канала) и удваиваю пропускную способность (2x1Mb / s).
Если вы думаете, что это выглядит как идеальное объяснение, вы забываете, что мы также удвоили мощность. Такова двойная пропускная способность из-за удвоенной мощности или удвоенной пропускной способности. Это на самом деле немного и того, и другого.
Если я поддерживаю общую мощность на одном уровне, удваивая пропускную способность, мне нужно сравнить первый канал WiFi, работающий со скоростью 1 Мбит / с, с суммой двух других каналов WiFi, каждый из которых работает с половиной принимаемой мощности. Я не собираюсь проверять таблицы данных модемов WiFi, но этот интересный пример можно сравнить со следующим теоретическим подходом. Шеннон помогает нам в прогнозировании того, что произойдет в большей или меньшей степени, если кодирование адаптируется к уровням мощности (как в случае с WiFi). Если кодирование не адаптируется, скорость передачи данных остается постоянной до тех пор, пока уровень приема не станет слишком низким, и в это время он упадет до 0.
Так что Шеннон говорит: C = B ∗ log2 (1 + S / N). При сохранении общей мощности, но удвоении полосы пропускания, C2 = 2 * B * log2 (1+ (S / 2) / N), где C2 - потенциальная скорость передачи данных. Заполняя действительные числа, мы можем предположить, что S = 2xN, так что log2 (1 + 2) = 1,58 и log2 (1 + 1) = 1. Таким образом, C = B * 1,58 и C2 = B * 2. Другими словами, когда мой уровень сигнала в самой большой полосе пропускания равен уровню шума, потенциальная скорость передачи данных примерно на 26% выше, чем та же общая мощность, излучаемая в половине полосы пропускания. Теоретически, ультра узкая полоса не может быть более эффективной, чем сверхширокая полоса, основанная на теореме Шеннона. А удвоение пропускной способности при том же уровне общей мощности не удваивает пропускную способность, как это было показано в нашем примере с WiFi. Но пропускная способность выше. Если мы можем пренебречь «1» член в log2 выражения Шеннона,
Однако, как я уже говорил, кодирование должно адаптироваться, оно должно быть оптимизировано с учетом фактической мощности и доступной пропускной способности. Если кодировка остается прежней, я просто перехожу из оперативной в дисфункциональную.
Переходя ко второму вопросу, если у меня сигнал FSK, изменяющийся с частотой 30 Гц с двумя частотами, я могу излучать только со скоростью 30 бит / с, потому что я излучаю 30 символов в секунду, каждый из которых соответствует биту 1 или 0. Если я ввожу 4 состояния ( = 4 частоты), введя две частоты между предыдущими, потому что мой уровень шума это позволяет, тогда я излучаю со скоростью 4x30 бит / с = 120 бит / с. Что касается FSK, я не думаю, что полоса пропускания остается постоянной при увеличении количества состояний таким образом, но, несомненно, можно найти способ сохранить его более или менее постоянным (учитывая пределы 3 дБ, поскольку теоретический частотный спектр не ограничен).
Зачем использовать прямоугольную волну для «модулирующего» сигнала? Это выбор в этом кодировании, который облегчает декодирование, поскольку на стороне приемника вам просто нужно иметь полосовой фильтр для каждой частоты. Вы по-прежнему излучаете «синусоидальные волны» - если вы излучаете только «1» значения, у вас есть только одна частота. Однако сдвиги частоты подразумевают наличие «гармоник», которые позволяют / сопровождают эти сдвиги частоты. Другие кодировки имеют другие преимущества и недостатки. Например, расширенный спектр прямой последовательности позволяет иметь сигнал ниже уровня шума (и, следовательно, иметь более низкие требования к мощности антенны для аналогичного битрейта во многих других кодировках), но его сложнее декодировать (и, следовательно, требуется больше (вычислить) мощности и сложность в схеме декодирования).
Какой бы ни была выбранная кодировка, она должна соблюдать теорему Шеннона, которая устанавливает верхний предел. Вы не можете просто применить Shannon для кодирования, такого как FSK, если вы не отрегулируете уровень мощности, число состояний и другие параметры сигнала FSK при изменении уровня шума или уровня (расстояния) сигнала. Шеннон позволяет проверить абсолютную минимальную мощность для данной полосы пропускания и скорости передачи данных. Метод кодирования увеличит минимальный предел мощности. И когда уровни мощности превышают этот предел, скорость передачи будет просто оставаться постоянной. Применять Шеннона там просто неправильно, если вы хотите объяснить, что большая пропускная способность означает более высокую скорость передачи данных. Пример WiFi может очень хорошо применяться на практике для объяснения там, но это не общий ответ, основанный на теореме Шеннона.
Изменить: перечитывая ваш вопрос: «Во втором случае скорость передачи данных будет максимум 660 бит / с». На самом деле, я не совсем понимаю, как вы получаете 660 бит / с, поскольку ваша частота меняется только 30 раз в секунду, и вы кодируете на двух частотах, что составляет 1 бит. Отсюда и мои 30bps выше. Это кодирование допускает один полный период при 30 Гц и 22 полных периода при 660 Гц для каждого символа. Но 22 периода не изменяют того факта, что существует только один символ. Похоже, что-то не хватает или что рассуждение неверно.
Edit2: я понял - вы сравниваете лимит Найквиста. Этот предел Найквиста говорит вам о верхнем пределе скорости передачи данных с учетом пропускной способности и количества состояний на символ. Здесь выбранная кодировка FSK не является оптимальной. Вы используете 30 Гц и 660 Гц. Предел Найквиста говорит, что 30 бит / с = 2 * B * log2 (2), поэтому полоса пропускания должна быть не менее B = 15 Гц. Не вдаваясь в подробности, он говорит более или менее, что установка частот FSK на 645 Гц и 660 Гц была бы хорошей оптимизацией полосы пропускания (если FSK в противном случае является оптимальным кодированием и без проверки точной полосы пропускания из-за гармоник - 15 Гц может быть слишком низкий для ФСК).
Редактировать 3 - Объяснение, следующее после дальнейшего анализа, чтобы дополнительно объяснить источник путаницы с другим ответом и оригинальным вопросом.
источник