Перейти к содержанию
    

Демодуляция цифрового 4-FSK

Есть выход с ЧМ детектора, который является цифровым 4-FSK

 

С 2-FSK вроде бы понятно: применяем Integrate & Dump фильтр, затем, если результат фильтра больше 0, то символ = +1, если меньше 0, то символ = -1.

 

В случае 4-FSK: 2 уровня > 0 (+1 и +3), 2 уровня < 0 (-1 и -3). Вопрос в том, как отличить +1 от +3 ? Полагаю, надо как то вычислить пороги для +1 и +3. Можно ли динамически получить эти пороги, если предшествующий сигнал либо преамбула (последовательность +3+3-3-3...), либо псевдослучайный поток дибитов ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли динамически получить эти пороги, если предшествующий сигнал либо преамбула (последовательность +3+3-3-3...), либо псевдослучайный поток дибитов ?

Можно, АРУ Вам в помощь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно, АРУ Вам в помощь

 

А можно поподробнее ?

 

Пока думаю, что проще жестко задать уровни +3 и -3, например 1 вольт пик-ту-пик.

 

А вот дрейф среднего уровня надо постоянно как то компенсировать. Может для этого АРУ предлагалось ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А можно поподробнее ?

Как и в любом приемнике, в том числе и цифровом, АРУ необходимо для приведения уровня выходного сигнала к некой системе эталонных значений, в Вашем случае +/- 1 и +/- 3, а далее уже в решающем устройстве демодулятора по правилу максимального правдоподобия выносится решение (жесткое или мягкое) относительно принятых символов (выбирается ближайшее к эталонному значение).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас же FSK, какие уровни? 4 палки в спектре, каждая соответствует своей паре бит. Либо набор согласованных фильтров с определением максимума энергии на выходе, либо fft и определяете на каком частотном бине максимум энергии. FSK модуляция угловая по своей сути, т.е. в амплитуде информации нет. Зачем тут АРУ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас 3 независимых "медленных" процесса, которые "мешают" приему символов:

1. дрейф опорной частоты. На выходе чд это будет выглядеть, как дрейф нуля

2. изменение девиации. на выходе чд это будет выглядеть, как изменение "размаха" сигнала. такая ситуация обычно возникает, если у вас частотный модулятор и/или демодулятор реализованы в аналоговом виде. Также этот эффект можно встретить в многопользовательской системе с пакетной передачей.

3. Изменение фазы символов

 

Во всех случаях схема компенсации зависит соотношения между скоростью изменения параметра и периодом передачи синхрогруппы, по которой соотв. параметр может быть оценен. Я бы выделил 2 способа:

1. Оцениваем параметр по синхрогруппе и используем эту оценку для всего пакета

2. Оцениваем параметр по синхрогруппе и подстраиваем оценку в процессе приема данных.

 

2-й способ предпочтителен, т.к. при использовании разумного помехоустойчивого кодирования он будет показывать лучшe BLER.

1-й способ проще в реализации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас же FSK, какие уровни? 4 палки в спектре, каждая соответствует своей паре бит. Либо набор согласованных фильтров с определением максимума энергии на выходе, либо fft и определяете на каком частотном бине максимум энергии. FSK модуляция угловая по своей сути, т.е. в амплитуде информации нет. Зачем тут АРУ?

приемник детекторный, не фильтровой, поэтому и 4 уровня сигнала на выходе ЧД, все честно, правда и помехоустойчивость будет соответтствующая, посему и АРУ на выходе необходимо, все остальное как писал выше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть выход с ЧМ детектора, который является цифровым 4-FSK

 

С 2-FSK вроде бы понятно: применяем Integrate & Dump фильтр, затем, если результат фильтра больше 0, то символ = +1, если меньше 0, то символ = -1.

 

В случае 4-FSK: 2 уровня > 0 (+1 и +3), 2 уровня < 0 (-1 и -3). Вопрос в том, как отличить +1 от +3 ? Полагаю, надо как то вычислить пороги для +1 и +3. Можно ли динамически получить эти пороги, если предшествующий сигнал либо преамбула (последовательность +3+3-3-3...), либо псевдослучайный поток дибитов ?

4 FSK у вас до ЧМ детектора. А то о чем вы пишите уже 4 ASK. В вашем случае проще всего добавить избыточное кодирование из заранее выбранного размера куска сообщения в сообщение большего размера. Чтобы результат имел одинаковое распределение всех состояний. Тогда на ответной стороне достаточно иметь статистический декодер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 FSK у вас до ЧМ детектора. А то о чем вы пишите уже 4 ASK. В вашем случае проще всего добавить избыточное кодирование из заранее выбранного размера куска сообщения в сообщение большего размера. Чтобы результат имел одинаковое распределение всех состояний. Тогда на ответной стороне достаточно иметь статистический декодер.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Схема описанная топикстартером вполне типичная, для приема 4FSK и C4FM, на выходе демодулятора обычная 4PAM последовательность, задача убрать DC, обнаружить центр символа, в определенных пределах подстроить пороги. Можете поглядеть как это сделано в gnu-radio. Я с помощью демодулятора из gnu-radio спокойно принимал APCO P25 и dPMR, хотя конечно как пишут эстеты, подобное надо принимать когерентно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Если изменить в исходном сигнале ничего нельзя, то при отсутствии гарантированной базы в виде альманаха всех возможных состояний, декодирование с хорошими характеристиками в принципе невозможно. Чтобы отличить +2 от +1 нужно, чтобы в сообщении они гарантированно были. А иначе не с чем сравнивать пороги.

ПС: спасибо Quasar за точное определение. Это не ASK, это действительно PAM.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если изменить в исходном сигнале ничего нельзя, то при отсутствии гарантированной базы в виде альманаха всех возможных состояний, декодирование с хорошими характеристиками в принципе невозможно. Чтобы отличить +2 от +1 нужно, чтобы в сообщении они гарантированно были. А иначе не с чем сравнивать пороги.

ПС: спасибо Quasar за точное определение. Это не ASK, это действительно PAM.

Вот мне интересно, что это за сигнал такой, в котором будут передаваться постоянно одно или два состояния из возможного ансамбля, состоящего из 4-х состояний и как в этом случае будет работать тактовая синхронизация демодулятора, а из этого вытекает, что все сообщения, как правило, скремблируются для придания псевдослучайности потоку. Посему смотрим еще раз вопрос ТС и разбираемся как работает элементарный ЧД.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот мне интересно, что это за сигнал такой, в котором будут передаваться постоянно одно или два состояния из возможного ансамбля, состоящего из 4-х состояний и как в этом случае будет работать тактовая синхронизация демодулятора, а из этого вытекает, что все сообщения, как правило, скремблируются для придания псевдослучайности потоку. Посему смотрим еще раз вопрос ТС и разбираемся как работает элементарный ЧД.

 

Я думаю это какой-то неправильный сигнал :-)

 

Скремблирование конечно обязательно, единственно что, при передаче синхро-последовательностей используют только символы +3 и -3, ну оно и понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот мне интересно, что это за сигнал такой, в котором будут передаваться постоянно одно или два состояния из возможного ансамбля, состоящего из 4-х состояний и как в этом случае будет работать тактовая синхронизация демодулятора, а из этого вытекает, что все сообщения, как правило, скремблируются для придания псевдослучайности потоку. Посему смотрим еще раз вопрос ТС и разбираемся как работает элементарный ЧД.

Синхросигнал из одного тона. Постоянку калибрует.

 

И немножко о другом. Как измерить мощность QAM-сигнала в антенне? Будет ли она зависеть от неодинаковой вероятности символов созвездия? В пределе, при передаче всегда одного символа?

 

PS

Термин "детектор" ака "обнаружитель" не подразумевает, что на его выходе будет аналоговый сигнал.

Изменено пользователем GetSmart

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Синхросигнал из одного тона. Постоянку калибрует.

Пускай калибрует, но причем здесь это в данном случае? В вопросе речь идет о приеме данных

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...