Специальные радиосистемы
Логин  Пароль   Регистрация   
На главную
наш магазин радио
объявления
радиорейтинг
радиостанции
радиоприемники
диапазоны частот
таблица частот
аэродромы
статьи
файлы
форум
поиск
Профессиональная радиостанция Vertex VX-231
Работаем с сигналами. Часть 4-я.
Руководство пользователя SV+.
Начало » Цифровая обработка сигналов
Разместил: SergUA6 6.0
Авторские права © http://www.radioscanner.ru


PSK или фазовая манипуляция, в отличии от FSK или MFSK абсолютно лишена "человечности", если в последних, что-то журчит и переливается и так или иначе на слух музыкально(до определенных скоростей) и достаточно понятно по определению, то PSK и ее производные такие как QAM, этого лишены напрочь. Не лишне будет напомнить, что до определенного момента существовало мнение, что фазовая манипуляция(говорим о цифре) вообще не пригодна для устойчивой и надежной связи, со временем правда выяснили, что это большое заблуждение. Действительно есть определенные проблемы, мы их рассмотрим, эти проблемы осложняют анализ реальных сигналов иногда вынуждая делать ошибочные выводы.

Фазовую манипуляцию принято визуализировать на фазовой плоскости, где в случае соблюдения ряда условий, отображается так называемое фазовое созвездие, какие это условия? Это точное соответствие несущей и тактовой частот, и порядка самой манипуляции. Практически все фазовые вьюверы обеспечивают возможность выставить любую частоту несущей, тактовой и выбрать порядок. Давайте на этом немного заостримся, что бы выставить нужные частоты их нужно знать, если их не знать или они не известны, то толк от возможности их выставить просто нулевой, что это значит? Это значит, что если софт имеет распрекрасный фазовый фьювер, но не имеет инструмента для определения точного значения несущей, тактовой и порядка, это дуриловка самая настоящая, тонкие намеки на то, что все это можно подобрать(ужас то какой) в серьез рассматривать нельзя, почему? Да, хотя бы по этому, это один и тот же сигнал:



Те кто плотно занимается анализом, прекрасно в курсе подобных вещей, те кто об этом не осведомлен, с энтузиазмом и надеждой пускаются в увлекательную игру "сотвори созвездие какое тебе нравится" честно пытаясь подобрать частоты несущей, тактовой и порядок. ;) Может быть все таки это свойство конкретного фазовового вьювера, результат его не правильной работы? Увы, любой нормальный вьювер должен себя так вести, к примеру Code-300, при всем при том, что работу его вьювера назвать нормальной трудно http://www.radioscanner.ru/forum/index.php?action= vthread&forum=8&topic=18904&page=0#msg101219 В Code-300 фазовый вьювер ну скажем так, помягче, плохонький, в отличии от вьювера SkySweeper'a который просто ужасен, фактически это бестолковые игрушки которые позволяют в лучшем случае увидеть то, что и так известно, все это не к тому, что в SV+ входит крутой вьювер(хотя если честно я старался), а к тому, что вьювер без инструментов вещь не сильно-то и нужная если не сказать бесполезная.

Если с тактовой частотой мы разобрались в предыдущих разделах, то с определением порядка PSK и точного значения несущей начнем разбираться прямо сейчас, c практически идеальных сигналов. Возьмем к примеру этот же. После загрузки его в SV+ и, напоминаю, обязательной проверке на пригодность, от того, что сигнал заявлен как образец вовсе не следует, что он именно таким и является, измеряем тактовую, c точностью до герца. Уже это не трудно и известно как. Зачем такая точность? Затем, что если мерить ее по обычному спектру, то получая значение к примеру 1208 Гц или что-то около того, 90% решают, что тактовая 1200 Гц, и оказываются абсолютно не правыми, нужно мерить, а не угадывать, анализ, как уже говорилось, это не подгонка результата под свои догадки, а вывод по конкретным и ясным цифрам и значениям. Измерили, получили 1199.69 Гц, до герца это будет 1200, это тактовая. Несущая определяется автоматически вместе с порядком PSK, для чего используется модуль возведения сигнала в степень. Выделив спектр сигнала маркерами частоты вызываем модуль возведения в степень, примерно так:



Верх формы этого модуля рассматривать не будем, там ничего нового, в низу, после стандартной "лупы" и индикатора процесса, окно, где указана средняя частота(предполагаемая несущая, очень грубая оценка) которая вычисляется при вызове модуля по маркерам частоты которыми выделяли сигнал на первом шаге, рис. 1. Значение в этом окне можно и нужно будет менять, с помощью кнопок. Кнопка xn, запускает процесс пересчета, то есть обновляет окно, в любой момент когда это потребуется. Следующее окно с цифрой, это степень в которую возводится сигнал, цифру можно менять. Control - включает, с перерисовкой, маркер нуля рис. 4, маркер нужно будет совмещать как можно точнее с несущей путем изменения значений тактовой частоты. S(t)=S(t)' - предыскажения вносимые в сигнал для тяжелых случаев, когда несущую определить проблема, на самом деле с появлением амплитудно-фазового корректора необходимость в этой функции отпала, так как реально помогает в очень ограниченных случаях, осталось от старых версий, архаизм короче, практически ей не пользуюсь уже. Разберемся по картинке, что тут происходило. На первом шаге, выделили маркерами частоты сигнал по спектру и вызвали модуль возведения сигнала в степень. Шаг 2 заменили порядок степени на четвертый и пересчитали, кнопка xn. После персчета, шаг 3, ясно обнаруживаются несущая и боковые(спектральные линии), включаем маркер нуля для точного установления значения несущей, чекбокс Control рис 4. Играясь(прибавляя, отнимая и перерисовывая кнопкой xn) значением частоты несущей совмещаем маркер нуля и несущую шаг 5, считываем значение несущей, 1588 герц. Порядок PSK равен степени, при возведениии в которую появились спектральные линии, подчеркиваю появились, потому что если возведете в восьмую, линии так же будут, то есть момент появления линий важен, а не наличия в принципе, на хороших сигналах и в щестнадцатой степени линии будут, зашумленные но явные. Все у нас готово для осознанного вызова фазового вьювера, разницу почувствуйте, мы будем не просто тыкать в кнопки ожидая чуда, а внесем совершенно конкретные значения, и если что-то пойдет не так, как ожидается, будет повод подумать, а не просто чего-то там перебирать. :)

Для вызова фазового вьювера точно так же выделяем сигнал маркерами частоты(именно сейчас это не обязательно, но если вы это будете делать всегда оно только к лучшему, туда подальше поймете), и обязательно выделяем часть сигнала маркерами времени, фиктивная в данном случае процедура, но без нее вьювер не вызвать. Вызываем.



Рассмотрим то, что под областью отображения спектра высокого разрешения, цифра 1 окно где рисуется созвездие, вертикальный слайдер - регулировка размера изображения(АРУ, как это принято в других вьюверах не используется, возможно потом введу), CarrierTone - сюда руками вписывается измеренное значение частоты несущей, число целое, по умолчанию при вызове модуля там среднее между маркерамами частоты, как видите дробное, отображается дробное, заносится руками только целое. SpeedModulation - то же самое, заносится руками точная реальная(измеренная) частота манипуляции, число целое, отображается дробное при работе.
n-PSK - порядок PSK полученный по измерениям, выбирается из списка, изменить можно в любой момент.
SyncTakt - включает/выключает синхронизацию по тактовой частоте.
NonStop - запускает процесс в кольцо, то есть по достижении конца файла, все начинается сначала и так пока электричество не кончится.
use RRC filter - используется RRC фильтр с альфой = значению возле слайдера, сладер меняет это значение, пока нас это не очень волнует.
PLL slow - увеличивает постоянную времени ФАПЧ по несущей, для QAM модуляции, рассмотрим это позже.
Summary - при выключенной тактовой синхронизации на некоторых сигналах позволяет увидеть сами переходы, сомнительной необходимости вещь, но осталась от прежних версий.
Life - включает динамическое обновление созвездия, нужно довольно часто, иногда не нужно.
WriteIQ - запись в файл квадратурных каналов, оставим на время боюсь это нужно единицам. Слайдеры сверху в низ, Delay - реальная задержка скорости отрисовки, работает только при включенном Life.
Time of life - фиктивное время динамического обновления, работает только при включенном Life, чем меньше значение тем быстрее обновление, но тем меньше точек на плоскости в текущий момент времени.
Contrast- регулировка яркости точек, аккуратней - ярче, не значит лучше.
Go! - когда активна, запускает фазовый вьювер.
Clear - обнуляет окно вывода.
Break - останавливает процесс, начать можно только с начала, то есть это не стоп/старт, а полное прерывание. LoadFile - загрузка файла для визуализации, вызывает список файлов которые можно загрузить в модуль, в списке будут только файлы открытые на текущий момент в SV+, то есть абы какой файл не загрузить, только те, с какими работаем.

Ну и загрузим файл с каким работали.



Форма поменяет вид, появится инструментарий для амплитудно-фазовой корректировки рис 1, оставим это на потом, заполним поля измеренными значениями выставим флажки как на рис2 и нажмем Go!, получим отличное, в полном соответствии с измерениями фазовое созвездие PSK-4, можно поиграть с флажками и слайдерами. Кроме того можно быть уверенным, что это действительно PSK-4 с тактовой 1200 и несущей 1588 Герц, ведь мы ничего не подгоняли, а все просто измерили и убедились в своих измерениях.

Все описанное выше, это классический, правильный способ определения параметров PSK сигналов, существует еще один метод форсированный, он менее трудоемок, но чреват ошибками и требует наличия определенных навыков. Рассмотрим его, используется окно вывода амплитудно-фазового корректора, не сам корректор, а его функции отображения.

Работаем с тем же самым файлом, загружаем его в SV+, выделяем маркерами частоты спектр, выделяем маркерами времени какой либо фрагмент, вызываем фазовый вьювер, и сразу загружаем файл для отображения на фазовой плоскости, как уже говорилось, окно отображения спектра высокого разрешения меняет вид, так как если загружается файл, то однозначно спектр высокого разрешения не интересует пользователя, получится примерно так:



Слайдер внизу окна это навигация по файлу, левое крайнее положение соответствует началу файла, крайнее правое концу, слайдер стоит в крайнем левом, в начале файла как видим ничего нет, по этому и в окне отображения то же нет ничего, подвинем слайдер до появления хоть чего нибудь, примерно как на последней картинке, отрегулировав вертикальным слайдером масштаб получим графический спектр сигнала в первой степени(см. режим Mode = X^n, n=1), то есть собственно сам сигнал. Если мышкой побегать по полю отображения, то в левом нижнем углу формы фазового вьювера будут бегать циферки F = XXXX, это частота которая соответствует положению курсора, частота может быть, если обратите внимание отрицательной, пусть это не беспокоит сильно, спектр отображается в комплексном виде, кроме того частота пересчитывается в немного другой вид, заточенный под перенос в окно CarrierTone. Если кликнуть левой кнопкой иыши значение частоты курсора впишется в окно CarrierTone, если будет включен режим АМ, то значение будет вписано в окно SpeedManipulation. Красная линия это частота на которой работает ФАПЧ, зеленые линии это места где должны быть боковые, для значения тактовой в окне SpeedManipulation, сейчас там 100. Определим значение тактовой. Для этого переводим аплитудно-фазовый корректор в режим АМ. Подберм масштаб и посмотрим, что видно. Режим АМ, это та же самая огибающая, и точно так же позволяет увидеть тактовую частоту, если точно на пике кликнуть левой кнопкой, то ее значение впишется в окно SpeedManipulation, тут есть один момент, это окно не для измерений частот, по этому значение тактовой может оказаться сильно не точным, сдвиг на один пиксел может привести к большой погрешности, у меня получилось 1205.68 Герц, оставим так.



Переводим АФК в режим возведения в степень, и меняем степень до тех пор пока не появится знакомая картинка, пик с несущей и боковыми по краям, это произойдет на 4-й степени, вид будет примерно такой:



Теперь если кликнуть точно на пике несущей, свовместятся линии ФАПЧ и несущей, линии боковых, а значение несущей частоты впишется в окно CarrierTone, осталось поменять значение порядка на 4-й, на самом вьювере, выставить флажки и запустить сам процесс. После того как ФАПЧ по несущей и тактовой захватят эти частоты, картинка примет знакомый вид. Чем метод плох? Тем, что это косвенная возможность, она не закладывалась именно для этого, точность определения частот очень плохая, и если по несущей, ФАПЧ еще как то способна отработать большую погрешность, то по тактовой 5 герц это очень много, и на захват требуется довольно приличное время и не факт, что он вообще произойдет, именно по этому требуемая точность определения частот по несущей и тактовой не хуже одного герца, реально как видим вьювер справляется и с худшими параметрами, но нужны гарантии, а не крайние пределы работы ФАПЧ, так вот гарантия, это предварительная установка с точностью не хуже одного герца, не смотря на то, что этот вьювер легко обходит по этим вещам все какие мне довелось увидеть(допускаю, что настоящих-то я и не видел). Само собой мы говорим о вьюверах универсальных, узко заточенные вьюверы под конкретные сигналы и задачи не в счет.

Собственно и все, технология определения и визуализации PSK освещена в полном объеме, освойте на хороших сигналах, важно это понять и закрепить, потому что следующая часть будет посвящена тем трудностям и тонкостям которые возникают в реальности, и нам будет не до азов анализа сигналов PSK.

Комментарии к статье
Автор Комментарий
RadioWave
Участник
1.3
06 Мар 2007 10:23


Можно, конечно, любить свою программу, но не до такой же степени.
В Code300-32 при известной скорости манипуляции и некоторых навыках работы с ним не представляет особого труда определить кратность фазовой манипуляции и несущую частоту. Вплоть до КАМ-16 и в некоторых случаях КАМ-32. Поэтому, вопрос о том, где лучше "Phase plane" - в SV+ или в Code300-32, для меня лично остается открытым.
SergUA6
Модератор (RIP)
6.0
06 Мар 2007 10:40


Кхм... не входит в мои планы доказывать, что code-300 не анализатор, и никогда им не был. Не стоит вопрос, где что лучше, юзайте то, что кому нравится принципы одинаковы. О прграмме... я ее люблю, и не доволен ей, точно так же как родители любят и недовольны своими детьми, мне ли не знать ее узкие места, их много, даже очень много.

Я заранее приношу извинения всем, кого задевает моя манера излагать мысли, если я где-то и "прохожусь" по стороннему софту, то ни как не в желании кого-то унизить или оскорбить, потом это моя точка зрения, вовсе не заначит, что она правильная.

p.s.
RadioWave
Поэтому, вопрос о том, где лучше "Phase plane" - в SV+ или в Code300-32, для меня лично остается открытым.

Вопрос закрывается легко, приводите пример(делаете его искуственно) где Phase plane Code-300 что-то показывает, а вьвер SV+ нем как рыба, со своей стороны я делаю то же самое... ;)

Вы же понимаете, что code-300 будет нокаутирован легко. ;)
Без обид. Сode-300, отличный набор декодеров, imho конечно же.
RadioWave
Участник
1.3
12 Мар 2007 16:21


Извините, если немного переборщил с резкостью своих высказываний.
Просто, действительно, в некоторой степени возмутила категоричность
утверждений о функциональности сторонних продуктов.
Каюсь, что свои выводы делал исходя из использования не самой последней версии SV+.
На самом же деле, целиком и полностью поддерживаю Вашу работу. Считаю, что по функциональному наполнению Ваша программа, уже находится на достаточно высоком уровне. А учитывая, что Вы не собираетесь останавливаться на достигнутом... ну что ж, поживем - увидим.
Я уже имел наглость пару раз высказывать свое мнение по поводу SV+. Если Вы в этом нуждаетесь, могу и в дальнейшем некоторые критически-конструктивные замечания и пожелания. Если же нет - буду просто иногда тихонько юзать софтинку.
RadioWave
Участник
1.3
21 Мар 2007 10:52


SergUA6
Эх, ну если гора не идет к Магомету, то Магомет вынужден идти к горе. Это в качестве преамбулы.
Не дождался я Вашего согласия на свои критически-конструктивные замечания, не выдержал и решил все-таки высказать некоторые свои пожелания.

1. Мне кажется не всегда удобным вариант работы с предварительно отфильтрованным полосовым фильтром сигналом. Гораздо удобнее, особенно при анализе многоканальных передач, когда сигнал фильтруется в процессе анализа и параметры этой фильтрации (ширина полосы, центральная частота) можно менять по ходу работы. В общем, как это сделано, например, в Code300-32 :-).

2. Автоматический поиск несущей частоты на качественных сигналах работает, в общем, не плохо. Но на сигналах, побитых помехами и другими проблемами ВЧ диапазона, несущая частота "улетает" куда-то в неизвестном направлении. Поэтому предлагаю предусмотреть фиксацию несущей частоты и ее ручную корректировку по ходу анализа (опять таки подобно тому, как это сделано в Code300-32).

Ну пока я думаю хватит. Дождусь Вашей реакции на эти пожелания.
Если же таковой не последует, то буду надеяться, что все же в следующих версиях SV+ хоть частично мои пожелания будут учтены. Ведь для всех, кто заинтересован в глубоком анализе радисигналов, мне кажется, такие изменения будут не лишними.

С уважениемм RadioWave.
SergUA6
Модератор (RIP)
6.0
21 Мар 2007 13:23


RadioWave э-э-э... пардон, я честно говоря не заглядывал сюда, критика конечно нужна какие проблемы, наоборот даже полезно.

По 1 и 2 на самом деле прослеживается концепция реалтайм, я ее просто не воспринимаю в серъез. Не потому что это противоречит идеологии SV, просто я сколько ни бился, у меня никогда не получались результаты которыми я бы был удовлетворен, всегда есть сомнения которые нужно развеять, а вот тут и нет других вариантов кроме как offline анализ.

Лучше бы примеры привести, не совсем понятны мне затруднения по обоим пунктам. Да, на реальных сигналах не все так просто, об этом и будет следующая "повесть", и хотелось бы не "выдуманные" проблемы там разобрать, а реальные, так что будет очень даже к стати.
RadioWave
Участник
1.3
22 Мар 2007 14:42


SergUA6
Вы меня немного неправильно поняли. Я не имел в виду работу в режиме real-time. Я хочу, чтобы при работе с файлом в процессе отображения фазового созвездия можно было не прерывая это отображение изменять некоторые пераметры. Такие как полоса и центральная частота полосового фильтра (для выделения поднесущей в многоканальных сигналах), фиксация и ручная корректировка несущей частоты сигнала (для работы с сигналами низкого качества).
Как мне представляется - все перечисленные изменения не влекут за собой кардинальной переработки кода программы и требуют небольшого количества затраченных человеко-часов.
С предоставлением примеров есть пока определенные технологические затруднения. С "улетанием" несущей частоты на некачественных сигналах Вы и сами должны были сталкиваться, если тестировали программу на "живых" сигналах.
В общем пока верьте на слово. Если можете, конечно. :-)
SergUA6
Модератор (RIP)
6.0
23 Мар 2007 09:47


RadioWave
В общем нужны все таки примеры, которые попробуем разобрать и определится нужно ли действительно то о чем Вы говорите, пока не совсем ясны мне трудности.
Добавлять комментарии могут только зарегистрированные, активировавшие регистрацию и не ограниченные в доступе участники сайта!
Файл создан: 02 Мар 2007 21:18, посл. исправление: 09 Мар 2009 02:06
© radioscanner.ru, miniBB® 2006 | загрузка: с.