Автор |
Сообщение |
|
Дата: 29 Дек 2010 17:18:42
#
Задача следующая: необходимо демодулировать сигнал SOQPSK-TG (CPM).
Алфавит троичный (+1;0;-1); формирующий фильтр - приподнятый косинус; отклик парциальный L=8; индекс модуляции h=1/2.
1. При L=1 (полный отклик) декодировать сигнал можно алгоритмом Витерби. При L=8 количество состояний становится просто огромным (4374) и использовать алгоритм Витерби нереально. Может кто знает каким еще способом можно декодировать такой сигнал?
2. Может кто сталкивался: подойдут ли для восстановления тактовой и несущей в CPM такие микросхемы HSP50110 (цифровой квадратурный тюнер) и HSP50210 (цифровая петля Костаса). Микрухи Intersil.
3. Позволит ли структура приемника, приведенного в прикрепленном файле демодулировать сигнал CPM.
http://www.radioscanner.ru/uploader/2010/an9658.pdf |
|
Дата: 29 Дек 2010 17:23:46
#
long_foot Сигналик сам где?
|
Реклама Google
|
|
|
Дата: 29 Дек 2010 18:29:41
#
long_foot Вообще-то, конечно, оптимально было бы использовать алгоритм Витерби, но ввиду большой длины кодового ограничения можно попробовать демодулировать обычным когерентным алгоритмом O-QPSK. правда при этом потеряете в помехоустойчивости, но может Вам этого окажется достаточно.
|
|
Дата: 29 Дек 2010 21:53:11
#
|
|
Дата: 29 Дек 2010 22:17:21
#
petr0v Да ладно. Виртуальный вопрос, и ответы будут такие ж. Проехали. Тут достаточно тем, где отсутствие предмета обсуждения, сводится к чему угодно, только не к решению проблем интересующих вопрошающего. В прочем это проблемы того кто спрашивает. Хочет абстрактных ответов, получит именно их.
|
|
Дата: 30 Дек 2010 10:20:27
#
|
|
Дата: 30 Дек 2010 10:29:22
#
meshДа ладно. Виртуальный вопрос, и ответы будут такие ж. Проехали. Тут достаточно тем, где отсутствие предмета обсуждения, сводится к чему угодно, только не к решению проблем интересующих вопрошающего. В прочем это проблемы того кто спрашивает. Хочет абстрактных ответов, получит именно их.
Если конкретно, то меня интересует как будет выглядеть структура приемника для демодулирования вышеописанного сигнала. (методы восстановления несущей и тактовой (петля Костаса или что-то другое?), непосредственно сам алгоритм демодуляции и детектирования).
|
|
Дата: 30 Дек 2010 10:46:13 · Поправил: long_foot (30 Дек 2010 11:11:41)
#
|
|
Дата: 12 Янв 2011 17:38:15
#
Так что никто ничего не посоветует?
|
|
Дата: 12 Янв 2011 17:57:48
#
long_foot
Так что никто ничего не посоветует?
Мало найдётся людей кто делал демодулятор для этой модуляции, если вообще найдётся.
Вы хотя бы неоптимальный демодулятор как для OQPSK сделали?
|
|
Дата: 26 Янв 2012 15:06:39 · Поправил: Mesh (26 Янв 2012 15:08:16)
#
Чёт не нашёл подходящей темы, посему тисну тут. Вроде получилось у меня выдрать биты из сигналика CIS-1280 типо они тут http://www.radioscanner.ru/uploader/2012/oqpskbits.txt
Возня конечно некоторая, но если оченно нужно то можно. Вечером разрисую как это через SA можно сделать.
з.ы. Если с темой не угадал, то пардон, лучше ничего не нашёл, а новую для трёх постов вроде как не фонтан создавать. |
|
Дата: 26 Янв 2012 19:15:07 · Поправил: Mesh (26 Янв 2012 19:37:43)
#
Такс, получить биты с OQPSK. Тут такое, собсно как появился в SA FSK дем, то бишь новая игрушка, вмиг было прочекено, что OQPSK оченно легко выстраивается в FSK-3, типо запросто. Появились мысли что это наверное можно как-то приспособить для демодингу. Но мысли как прискакали так и ускакали тогда. Саму OQPSK периодически терзал в PSK деме, но там только в относительной моде можно чего получить, а получить чего внятного там невыходил, близко очень и с перекрытием идут правые точки. Обидно да, вроде и сигналик как бы ничего, и вроде и вот она мода, а вот подиш биты попробуй выдрать. Ессно нужен спешиал дем, но где ж его взять? На форуме писателей прог раз два и обчёлся, ото больше грамотеев, самому такое не поднять, тактовая, синхра, сдвиги на полбита, ну это всё в баню, выльется в полгода пляски, а то и больше. :-)
После прочтении статьи про GMSK и OQPSK та былая мысль потеряла свой блеск, типо это реал обшибочно, глаздиаграмма то совсем другая. Ну ладно, а думки то в голове сидят. Тут волею судеб, подкатывает реал задача, нужны биты, вот нужны и всё! Конешно нужны не просто нулики и еденички, а как бы хоть с какой-то там гарантией.
Ладно, тут уже типикал набор "сигарета, кофе, бумага, карандаш". Курю статью, так сказать глаздиаграмму изучиваю, да думки думаю, как бы эту FSK-3 хоть она вроде и кривая к делу приспособить, уж больно уровни хорошо разделены, на звезде фазовой и то хужее гораздо, хотя понятно что это полумера и выкрутасы, по любому нужен дем спешиал. Но вот нет его, а биты надо.
После недолгих раздумий да рисований всяких рож на бумаге, нарисовался план атаки на сигналик. :)
Демлю как FSK-3. В резалте битовый поток в кодинг виде с тремя уровнями, нижний верхний ясный перец это 0 и 1, а средний, а вот средний это чередование нулей и едениц, статья в помощь сомневающимся.
Собсно вопрос как грамотно перекодить то что есть в нормал поток. Ну дык это уже не дем писать. :) Тут можно покумекать, и кумекать особо и нечего, через замену буков в любом редакторе, эти ходы вобщето типовые, когда надо по быстрому чего к чему привести. Надо только продумать всё хорошенько, что б там не накладывались ходы друг на друга, а было всё чётко.
Ну так вот, после юниверсал дема, там поиграть конешно надо фильтрами, ползунками, и всё такое имею такой текст как на скрине. Этот текст копируется в отдельный файл, от SA собсно ничего больше и не надо.
В тексте, ноль это реал ноль, двойка это реал еденица, а еденица это средний уровень который нужно расколбасить в нормал.
В таком виде текст не катит, его нужно перекодить что б было удобно работать. Еденичку, то бишь средний уровень заменяю на допустим A. Двойку обзываю как она и есть теперь еденичкой.
Дальше всё просто до безумия. :) Разряжаю сначала все 0AAAA...AAA там сколько этих A будет по барабану, в 01010...101, то бишь AA это последовательность 10 по кругу. Что б не пролететь и не тратить время на пустые ходы, лучше сходу брать первую серию A так символов в 20-30.
В редакторе пишу заменить 0AAAAAAAAAAAAAAAAAAAAAAAAAAAA на 01010101010101010101010101010.
Ессно такой длины нет, ну и ничего, куда спешить?
Удаляю одну А с конца, и один символ с конца в серии в замене. И так до тех пор пока не пройдёт последняя комбинация 0A заменить на 01.
Йес, половина дела сделана, терь тож самое но для 1AAAAAAAAAAAAAAAAAAAAA заменить на 1010101010101010101010, тут AA это уже 01 по кругу.
Вот и все дела! :-) После последнего хода 1A заменить на 10 будет реал битпоток с OQPSK. Он лежит в посте выше. Там инверсия бит возможно, и что делать дальше это дело другого сорту, и криптоаналистам больше адресован.
Но тут как бы вопрос гарантий нужно ещё отчекить. Ну уж тут-то и думкать сильно не пришлось, любой FSK-2 сигнал можно в юниверсал деме перевести в FSK-3 вид руками, то бишь брать синхру не на уровне как надо, а на переходах как не надо, как я делал на OQPSK потому что так уровни разделяются на ура имено в этой моде.
Ну и сделать тож самое и сравнить потоки от нормал FSK-2 демодинга, и от FSK-3 "левака", всё сходится. То бишь вопрос гарантии как бы гарантируется, если сигналик не в доску косой.
Конешно это криво, это наверное разозлит разработчиков, типо не так сигналик обработали, не на той частоте, не теми ходами, но пардоне, нужны были биты, а не дем, биты получены? Ну как бы и все претензии в Гаагский суд. :-)
Да, к стати, оченно, оченно может быть что я где-то впал в непонятки, и реал поток кривой, велкам на обсуждение где, почему, по какой причине, бум разбиратся, самому свои ошибки трудно сходу понять.
Ну так где-то. |
|
Дата: 26 Янв 2012 19:47:34 · Поправил: Skif585 (26 Янв 2012 19:50:09)
#
Mesh
Если с темой не угадал
С темой вы угадали)
Предварительно посмотрел демодулированный Вами файл из сигнала CIS-1280. По структуре oqpskbits.txt совпадает с «фреймом», который просматривается в модуле VMW - http://signals.radioscanner.ru/base/files/signal52/picture_picblock_c_1.gif
Детально не разбирался, на вскидку - структура Вашего битового потока 32 бита, из них «первые» 16 бит с одним фазирующим (синхронным) битом и 15 информационными, последующие 16 бит как первые но фазирующий битом в инверсии, возможно временное разделение каналов.
Сам не разбирался – просто вопрос: «нормальными» способами в SA или другими программами CIS-1280 демодулировать не получается? Кстати о прогах, например Code300-32 это способна сделать?
Жду Вашего комментария) – да и демодулировать одно, другое дело знать расстановку бит и т.п как это задумывал производитель CIS-1280, все-таки это дибиты.
Да и на последок - ждём криптомастера, думаю он пропояснит суть демодуляции CIS-1280.
Всё что выше сказано касается только CIS-1280,
Mesh Простите не удержался), но и что касается моих вопросов это не полемика, а просто наболевшие банальные вопросы ламера, так что пжл поясните как студенту ). |
|
Дата: 26 Янв 2012 22:03:27
#
Skif585 Дибитов в сигналике нет, это из статьи вытекает как бы. Физически сигналик есть то что есть, картинка буржуйская там наглядно показывает как всё в сигналике в битах. Дибиты будут в спешиал деме, где квадратуры обратно сдвинут и получат дибиты как на входе модулятора. Из той ж статьи, раз OQPSK это как бы GMSK с мелким индексом, то и демить её можно через FSK дем, если очень прижмёт, что собсно я и сделал. Получить дибиты из того что есть, эт уже вобще дело пустяковое, если оно надо конечно, а вот надо или нет эт я не знаю. Тут ж другое, верно получены биты или нет. Если нет то где косяк, если верно, то как бы остальное эт дела уже тех кому поток нужен был.
Да то что с VMW совпадает эт я конешно проверил, эт первый чекит, потом прочекил саму кухню, на обычных FSK-2, вроде ничего косого не обнаружил. Других путей как получить биты с OQPSK в SA я чёто придумать не смог, с PSK дема можно ещё снять в абсолюте, но как раз вот на этом сигналике там то и не выйдет ничего, звезда сразу плохая, хуже чем FSK-3 разделение, ну а в дифмоде там сразу видно что будут проблемы.
Код-300, я не в теме, он вобще в состянии это отдемить или нет, тот который у меня и FSK-2 то толком отдемить не может, може руки кривые, но веры нет ни какой.
Ну тут как бы сам метод, верный неверный, скорее так вопрос стоит. Типо когда очень надо, а дема нормал нет, и сигналик боле мене ничего.
|
|
Дата: 26 Янв 2012 22:37:57 · Поправил: alife (26 Янв 2012 22:45:47)
#
Mesh
Ага)Знач вот он Ваш вариант демодинга...)На практике его бы испытать. Реал нужно знать как CIS-1280 декодить и что на выходе должно быть после него, тогда можна определить правильный способ или нет. Кстати мой вариант смотрели...)?Бывают потоки с траблами на выходе,а бывают ваще норм...как в VMW. Количество бит после демодуляции сигналика длительностью 1с считали?По теории должно 1280 Бит быть.
Skif585
Сам пробовал демодить различными средствами CIS-1280...Тоже брал Code300-32 и демодулятор OQPSK-- на выходе резалты не такие далеко. Конечно, могу ошибаться, может что-то не так делал.
|
|
Дата: 26 Янв 2012 22:47:50 · Поправил: Mesh (26 Янв 2012 23:05:13)
#
alife Не, способ можно прочекить проще, сбацать тест сигналик OQPSK с известной датой и демодульнуть его так. Но как бы меня ломает :) На FSK-2 прочекил, всё работает. А OQPSK как бы близняк GMSK, а GMSK демится через FSK дем, ну и вроде всё должно быть пучком. Но конешно нужно б прочекить, для чистоты совести, хотя у меня на 99 процев уверность есть что всё нормал, но вот кто б это сделал, в смысле независимый чекит, или хотя б сигналик сгенерил с известной датой. :)
з.ы. Ваш вариант смотрел конешно, там очень сильно зависит как точки в дифмоде правые будут рисоватся. Если будут друг на дружку налазить, то и веники, траблы гарантированы. А отрисовку точек лучше всего сотреть на максимальной яркости, вот на этом CIS-1280 который в базе там они наезжают, перескекают зоны друг дружки. Вот который INMARSAT там вроде получше, но всё равно имхо тут как FSK-3 вроде больше расстояние между уровнями, соотвесно и гарантий больше. Ну а так оно конешно, нормал дем нужен для OQPSK, да вот тока где ж его взять.
|
|
Дата: 27 Янв 2012 13:51:48
#
|
|
Дата: 27 Янв 2012 13:57:18 · Поправил: Mesh (27 Янв 2012 13:59:02)
#
petr0v Описание прочитал, ну имхо чекить будет неудобно. Можно слепить что нить типо, исходный битовый там 1111000011111110000000111111110000000, ну такое что б как бы сразу было видно то или не то, и загнать это в OQPSK, тогда после демодинга будет видно что там искажается если искажается, а так, так я хз, как пересчитывать это всё в нормал битпоток, в смысле делать выводы прально или нет отдемилось.
|
|
Дата: 27 Янв 2012 14:05:28
#
Сейчас попробую, мне тоже не очень удобно т. к. в модели передаётся 2 бита на символьном интервале и удвоенной битовой частоты нигде нету.
|
|
Дата: 27 Янв 2012 14:09:33
#
petr0v И к стати чего-то не то в моделке. :( Она какая-то не такая как те OQPSK какие я видел и какие в базе. Правда пока особо не крошил сигналик, так первые впечатления, мог где и ошибится.
|
|
Дата: 27 Янв 2012 14:11:16
#
Другой коэффициент ската фильтра корень из приподнятого косинуса...
|
|
Дата: 27 Янв 2012 14:14:16 · Поправил: Mesh (27 Янв 2012 14:16:27)
#
petr0v Да вроде это типикал фильтр. Как-то плохо в FSK-3 строится, и SA не чекит его как офсетную моду, прикольно, ну с чекитом в SA ладно, там хрен его знает как оно сделано, а вот то что отдельно один канал тактовую не рисует после АМ дема, эт реал что-то не так, или я в плену думок каких, тож вариант может быть.
|
|
Дата: 27 Янв 2012 14:41:40
#
Mesh
Только в фильтре разница может быть по идее. Всё работает по этому сигнал, созвездие идеальное восстанавливается на приёме, все промежуточные траектории векторные соответствуют OQPSK, переходов на 180 градусов нету. Задержите реальный канал на 2 отсчёта относительно мнимого получите обычную QPSK, в файле никаких частотных и фазовых сдвигов нету.
|
|
Дата: 27 Янв 2012 14:53:16 · Поправил: Mesh (27 Янв 2012 15:07:21)
#
petr0v Да как бы и в статье пишут что разница в фильтрах. Но что-то она больно крутая выходит. Вот ваш сигналик SA рисует как надо только с RRC включёным, но вроде это нормал, RRC так RRC. Но почему глаздиаграмма такая ну просто жуть какая разная с реал OQPSK? Ведь сигналик вроде синтетикал, должно быть идеально, а оно всё точно в обратку. Оно то можно вытащить биты по той кухне как я писал, но ёлы палы, или этих OQPSK реал тьма вариантов, или что-то где-то не так.
з.ы. А можно RRC сделать не 0.35 а чего поболе, там 0.7 или 0.8 я так сотрю в реал сигналиках если RRC и заюзан, то ни как не таких параметров как 0.35, или у вас не 0.35 а круче гораздо, имхо слишком рубит спектру, такое впечатление что там 0.15 или около того.
|
|
Дата: 27 Янв 2012 15:03:15
#
Mesh
Так и должно быть, векторные траектории очень сильно зависят от фильтров и от того где смотреть, на выходе формирующего или на выходе согласованного приёмного. Плюс у вас ещё заморочки с символьной частотой...
|
|
Дата: 27 Янв 2012 15:10:28 · Поправил: Mesh (27 Янв 2012 15:15:47)
#
petr0v А символьная то чего? По вашему сигналику она выходит 22050, ну дибиты идут с 11025, ну дык тогда б заморочки были б везде, на всех сигналиках, но оно ж не так. У вас точно RRC с 0,35? Там в Матлабе например с BT для Гауса есть косяки какие-то, где-то читал что МатЛаб по своему эти вещи трактует, чуть не в двое толи завышает, толи занижает, уже не помню, если брать типикал формулы, как бы не случилось что 0.35 МатЛаба это 0.175 по тикпикал формулам.
|
|
Дата: 27 Янв 2012 15:21:31 · Поправил: petr0v (27 Янв 2012 15:29:16)
#
синтезированный OQPSK скоэффициентом ската 1
Mesh
А символьная то чего?
Ну это по мотивам тогдашнего спора по этой же теме, в общем я считаю что в файле условно символьная частота 1 Гц при частоте семплирования 4 отсчёта на символ, возможно вы считаете что частота 2 Гц...
У вас точно RRC с 0,35?
Точно, я и ручками в своё время считал, совпадает с матлабом один в один. |
|
Дата: 27 Янв 2012 15:29:27
#
petr0v Ну дык, и SA щас детектит, и глаз как глаз, и звезда как звезда, имхо в реале это RRC с 0.5, а то что было как бы 0.35 эт на самом деле 0.175. Потом скрины положу, они конешно ну оченно разительные. Ну дык ладно, нужен как бы какой чекитный битпоток исходный, что б проверить саму метОду. Так без ясного понятия что имено всунуто в OQPSK разбиратся долго выйдет.
|
|
Дата: 27 Янв 2012 15:33:02 · Поправил: Mesh (27 Янв 2012 15:33:45)
#
petr0v Я честно говоря ничего не считаю, я юзаю тулс который вроде как в грехах смертельных пока не замечен, и ессно я ему верю. Если он грит что тактовая 1 герц, и на этой тактовой у него всё отрисовывается, ну чего мне ему не верить? Тем боле эту тактовую я и глазами вижу, доверяй но проверяй типо.
|
|
Дата: 27 Янв 2012 15:46:44 · Поправил: petr0v (27 Янв 2012 15:58:37)
#
Mesh
petr0v Ну дык, и SA щас детектит, и глаз как глаз, и звезда как звезда, имхо в реале это RRC с 0.5, а то что было как бы 0.35 эт на самом деле 0.175.
Нет. Смотрите по ширине основного лепестка(случай альфа=1), он шире символьной частоты в 2 раза, как в учебнике. Символьная как для QPSK имеется ввиду, собственно OQPSK только сдвигом отличается одной квадратуры при формировании.
Ну дык ладно, нужен как бы какой чекитный битпоток исходный, что б проверить саму метОду.
У меня передаётся два бита на символьном интервале, какой первым считать какой вторым? ;)
|
Реклама Google |
|