Синхронизация и декодирование бинарных сигналов при fsk
-
- Сообщения: 11
- Зарегистрирован: 23 окт 2012, 11:16
Синхронизация и декодирование бинарных сигналов при fsk
у меня есть задание, реализовать частотную телеграфию. проблемы возникли при реализации приемника. в наличие у меня есть демодулированный бинарный сигнал. каким образом этот сигнал лучше всего будет декодировать? сложность в том, что нужно учитывать возможность некого небольшого разноса частоты в передатчики и приемнике, а значит с стопроцентной точностью мне не известно, сколько дискретов будет соответствовать одному информационному символу. еще мне не понятно, каким образом на приемнике определять наличие входного полезного сигнала и его начало?! как я понимаю, нужна преамбула, в противном случае я буду терять полезную информацию. даже если я знаю о наличие полезного сигнала, мне нужно его каким-то образом синхронизировать, для декодирования. может кто-нибудь реализовывал подобные проекты и может что-нибудь посоветовать?!
Re: Синхронизация и декодирование бинарных сигналов при fsk
схема демодулятора (декодера) ничем не будет отличаться от типовой для того же FSK, т.е. схема обычного ЧД (некогерентный прием). необходимо будет добавить интерполятор, чтобы выровнять символьную скорость (количество отсчетов на символ), ФАПЧ по тактам к нему. если передача пакетная, то начало можно "ловить" по преамбуле, в принципе по ней же можно подстраивать и основные узлы демодулятора. если преамбулы нет, то тогда остается определять начало передачи по энергетике, но этот алгоритм "инерционен" и есть вероятность потери начала пакета данных.
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Синхронизация и декодирование бинарных сигналов при fsk
ну это зависит от того как информация была закодирована бинарным сигналом. Есть ли шифрование, помехоустойчивое кодирование и т.д.Виктор Васильевич писал(а):у меня есть задание, реализовать частотную телеграфию. проблемы возникли при реализации приемника. в наличие у меня есть демодулированный бинарный сигнал. каким образом этот сигнал лучше всего будет декодировать?
А как вы в этих условиях получили бинарный сигнал? И вообще о какой частоте идет речь?Виктор Васильевич писал(а): сложность в том, что нужно учитывать возможность некого небольшого разноса частоты в передатчики и приемнике, а значит с стопроцентной точностью мне не известно, сколько дискретов будет соответствовать одному информационному символу.
Да все реализовывали кто писали синхронизацию. Обычно рассчитывают корреляцию и ждут пика когда приходит преамбула и по ней ловят начало пакета потом разбирают пакет, контрольные суммы проверяют и т.д. и т.д.Виктор Васильевич писал(а): еще мне не понятно, каким образом на приемнике определять наличие входного полезного сигнала и его начало?! как я понимаю, нужна преамбула, в противном случае я буду терять полезную информацию. даже если я знаю о наличие полезного сигнала, мне нужно его каким-то образом синхронизировать, для декодирования. может кто-нибудь реализовывал подобные проекты и может что-нибудь посоветовать?!
Re: Синхронизация и декодирование бинарных сигналов при fsk
под бинарным сигналом, по-видимому, надо понимать сигнал с выхода ЧД, у которого частота дискр. не кратна символьной частоте передачи, т.е. из этого сигнала надо еще получить битовый поток, а уже потом обрабатывать помехоустойчивое кодирование, протокол, шифрование и т.д., т.п.Бахурин Сергей писал(а):ну это зависит от того как информация была закодирована бинарным сигналом.
Не все так просто при пакетной обработке. Определить начало пакета по коррелятору - это самое малое из всех бед, гораздо больше проблем возникнет при расчете параметров ФАПЧей, отстройки по частоте, параметров корректора (если он предусмотрен) и др., особенно если преамбула коротка.mr.bit писал(а):Да все реализовывали кто писали синхронизацию. Обычно рассчитывают корреляцию и ждут пика когда приходит преамбула и по ней ловят начало пакета потом разбирают пакет, контрольные суммы проверяют и т.д. и т.д.
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Синхронизация и декодирование бинарных сигналов при fsk
Скорее всего да, но надо чтобы ТС подтвердилmr.bit писал(а): под бинарным сигналом, по-видимому, надо понимать сигнал с выхода ЧД, у которого частота дискр. не кратна символьной частоте передачи, т.е. из этого сигнала надо еще получить битовый поток, а уже потом обрабатывать помехоустойчивое кодирование, протокол, шифрование и т.д., т.п.
Речь идет об FSK там вроде попроще с частотной расстройкой, к тому же речь идет о том, что битовый поток уже есть и просто надо отловить в нем начало пакета. Хотя также надо ждать ответа ТС что за входные данные у него.mr.bit писал(а): Не все так просто при пакетной обработке. Определить начало пакета по коррелятору - это самое малое из всех бед, гораздо больше проблем возникнет при расчете параметров ФАПЧей, отстройки по частоте, параметров корректора (если он предусмотрен) и др., особенно если преамбула коротка.
Re: Синхронизация и декодирование бинарных сигналов при fsk
это я в общем описал процедуру демодуляции в пакетном режиме, хотя для FSK это, наверное, будет по-проще сделать.mr.bit писал(а):Речь идет об FSK там вроде попроще с частотной расстройкой, к тому же речь идет о том, что битовый поток уже есть и просто надо отловить в нем начало пакета. Хотя также надо ждать ответа ТС что за входные данные у него.
-
- Сообщения: 11
- Зарегистрирован: 23 окт 2012, 11:16
Re: Синхронизация и декодирование бинарных сигналов при fsk
нет никакого шифрования и помехоустойчивого кодирования.ну это зависит от того как информация была закодирована бинарным сигналом. Есть ли шифрование, помехоустойчивое кодирование
да, именно это я и имел ввиду. по сути мне нужно не декодировать (простите, не совсем правильно выразился) сигнал, а получить битовую последовательность.под бинарным сигналом, по-видимому, надо понимать сигнал с выхода ЧД, у которого частота дискр. не кратна символьной частоте передачи, т.е. из этого сигнала надо еще получить битовый поток
я имел ввиду, что тактовая частота приемника может отличаться от передатчика. т.е. ацп будет на один полезный символ, например, выдавать не 200 отсчетов, как на модуляторе, а 201. как быть с этим?! нужен ФАПЧ?И вообще о какой частоте идет речь?
именно это мне и нужно реализовать. мне не понятно, какой формы и длинны лучше всего использовать преамбулу, чтобы затем рассчитать корреляцию, чтобы это не было слишком трудоемко, но в то же самое время, чтобы она несла достаточно информации. каким образом отследить пик? ведь при корреляции будет много различных пиков, а мне нужен именно максимальный. т.е. скорее всего нужно отслеживать все пики, и после каждого из них начинать формировании битовой последовательности, а при появлении более высокого пика сбрасывать данные сформированной битовой последовательности, и начинать заново формировать?! какой длинны пакеты лучше всего передавать?!Обычно рассчитывают корреляцию и ждут пика когда приходит преамбула и по ней ловят начало пакета потом разбирают пакет, контрольные суммы проверяют и т.д
спасибо всем.
Re: Синхронизация и декодирование бинарных сигналов при fsk
А причем здесь тактовая удаленного передатчика, для приема нужен интерполятор для конвертации семплрейта 200 sps в более удобоваримый, например, 4sps и ФАПЧ для подстройки фазы тактов этого интерполятора, может еще понадобится и ФАПЧ по несущей для корректировки начальной отстройки по частоте.Виктор Васильевич писал(а):я имел ввиду, что тактовая частота приемника может отличаться от передатчика. т.е. ацп будет на один полезный символ, например, выдавать не 200 отсчетов, как на модуляторе, а 201. как быть с этим?! нужен ФАПЧ?
преамбула должна быть известна заранее и определена конкретной передачей. выбирается преамбула не с потолка, она должна обладать хорошими корреляционными свойствами, чтобы Ваш коррелятор не "хватался" за все, что попало. вычисление корреляции задача не такая уж и затратная, если будете искать по битовому потоку, то вообще все просто, для этого всего то надо сдвиговый регистр и сумматоры, с плавающей точкой по-затратнее, но тоже не смертельно. но как я уже и говорил, что просто коррелятором не обойтись, нужен будет еще дополнительный критерий правильности обнаружения преамбулы, т.к. вероятность ложного срабатывания коррелятора при низком С/Ш все-таки остается. Длина пакета, да и все остальное, должно определяться каналом передачи. А Вы что, сами разрабатываете протокол или все-таки надо обрабатывать что-то известное?Виктор Васильевич писал(а):именно это мне и нужно реализовать. мне не понятно, какой формы и длинны лучше всего использовать преамбулу, чтобы затем рассчитать корреляцию, чтобы это не было слишком трудоемко, но в то же самое время, чтобы она несла достаточно информации. каким образом отследить пик? ведь при корреляции будет много различных пиков, а мне нужен именно максимальный. т.е. скорее всего нужно отслеживать все пики, и после каждого из них начинать формировании битовой последовательности, а при появлении более высокого пика сбрасывать данные сформированной битовой последовательности, и начинать заново формировать?! какой длинны пакеты лучше всего передавать?!
спасибо всем.
-
- Сообщения: 11
- Зарегистрирован: 23 окт 2012, 11:16
Re: Синхронизация и декодирование бинарных сигналов при fsk
где можно почитать, как выбрать преамбулу, чтобы она обладала хорошими корреляционными свойствами.выбирается преамбула не с потолка, она должна обладать хорошими корреляционными свойствами, чтобы Ваш коррелятор не "хватался" за все, что попало.
протокол разрабатываю сам, поэтому и задаю подобные вопросы, так как не знаю, что и как должно по нему передаваться. может кто-нибудь может предложить готовый протокол.?!А Вы что, сами разрабатываете протокол или все-таки надо обрабатывать что-то известное
- Бахурин Сергей
- Администратор
- Сообщения: 1116
- Зарегистрирован: 05 окт 2010, 19:55
- Контактная информация:
Re: Синхронизация и декодирование бинарных сигналов при fsk
Хорошими корреляционными свойствами обладают шумоподобные последовательности: коды Баркера, m-последвательнсти, последовательности Голда. Погуглите думаю найдете массу информации.
Что касается протокола то мое мнение такое что хороший протокол не сделать если не знать что за информация будет по нему передаваться. Если вы кино из интернета качаете это одно (ну потеряется пакет да и наплевать можно и перезапросить), а если передаете команды ядерному реактору это совсем другое (потеряется пакет и будет второй Чернобыль с фокусимой вместе взятые).
Что касается протокола то мое мнение такое что хороший протокол не сделать если не знать что за информация будет по нему передаваться. Если вы кино из интернета качаете это одно (ну потеряется пакет да и наплевать можно и перезапросить), а если передаете команды ядерному реактору это совсем другое (потеряется пакет и будет второй Чернобыль с фокусимой вместе взятые).