Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 15 из 24
  1. #1
    Без позывного
    Регистрация
    06.02.2007
    Адрес
    СПб
    Сообщений
    317
    Поблагодарили
    21
    Поблагодарил
    26

    Новая программа для работы PSK

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

    Итак, кому интересно, вначале описание теоретических принципов, кому неинтересно, можно перейти сразу в конец к описанию софта.

    Итак, Программное (де)кодирование сигналов PSK
    1) Теоретические основы
    PSK относится к семейству протоколов с фазовой манипуляцией - диапазон изменения фаз может принимать дискретные значения, для любительской связи лежащие в диапазоне от 2 до 4.
    Например, для BPSK имеем две фазы:
    f1(t) = cos(f*t)
    f2(t) = cos(f*t + PI)
    Более подробно написано в Википедии - http://ru.wikipedia.org/wiki/Фазовая_манипуляция

    Более точно, модуляция BPSK является дифференциальной - сравнивая последующий и предыдущий сигналы, мы определяем "0" или "1" получаем на выходе.

    Для преобразования сигналов в текстовую форму используется алфавит Varicode, в основе которого лежат два удачных решения - более популярным символам соответствуют более короткие коды, плюс два подряд идущих нуля означают конец символа. Длина символов не фиксирована, что теоретически позволяет расширять varicode новыми символами без потери совместимости.
    Пример кодов:
    1 - пробел
    11 - e
    101 - t
    11011 - l
    11011111 - x
    и пр

    2) Декодирование
    Схема бинарного декодера приведена в аттаче. По сути она сводится к выделению фазы принятого и опорного сигнала за один период, и сравнению разности этой фазы с предыдущим сигналов.
    Основная формула приведена на картинке, по её сути берется интеграл от произведения входного сигнала с опорным. Арктангенс разности двух таких ингегралов позволяет выделить фазу сигнала.

    Более подробно все это описано в книге "Цифровая связь", 2003 год, изд-во "Вильямс".

    В идеале один сигнал по фазе совпадает с опорным, другой отличается на 180 градусов. Если это не так, значит настройка неточная. Данные о фазах как раз и выводятся на фазовую плоскость в программе.

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

    3) Запись сигналов в Windows
    Для чтения сигналов придется использовать звуковую карту, как ни удивительно
    Программный интерфейс доступа к ней давно описан, ничего нового тут в принципе нет. Схема такова:
    - открытие устройства функцией waveInOpen
    - подготовка буферов функцией waveInAddBuffer
    - активация записи фунцией waveInStart
    После неё периодически (в зависимости от длины буфера, обычно раз в секунду) системой активируется callback-функция, в которую автоматически передается указатель на текущий записанный буфер.

    Единственная сложность тут в том, что буферы приходят не синхронно с периодами PSK, так что сигнал надо накапливать в другом буфере бОльшего объема и обрабатывать по мере его наполнения.

    4) Фильтрация
    Все было бы проще, если б в один момент времени передавала только одна станция Однако на практике такого не бывает, и сигнал перед декодированием надо фильтровать полосовым фильтром.
    Есть два принципиально разных способа:
    - через быстрое преобразование Фурье. Поскольку БПФ дает разложение сигнала в спектр, то обнулив нужные части спектра, получаем искомый фильтр. Проблема в достаточной затратности этого метода и большом количестве вычислений.
    - через КИХ/БИХ фильтры. Значительно более быстрый способ, позволяющий фильтровать сигнал с помощью полинома, зависящего от предыдущих значений сигнала. Основная сложность в предвартельном расчете коэффициентов этого самого фильтра.
    Существуют разные методы подбора коэффициентов, соответствующие разным вариантам фильтров (Чеышева, Баттерворта и пр). Более подробно есть в Википедии.

    Собственно, с теорией все, объединив эти 4 части в единое целое, получаем программу декодирования сигналов. Обратный процесс заметно проще, и состоит в формировании "несущей" на заданной частоте и изменением её амплитуды и фазы в соответствии с "0" или "1" в передаваемом сигнале.
    Как выглядит сигнал в процессе передачи, можно видеть непосредственно в программе.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Screenshot.jpg 
Просмотров:	2209 
Размер:	69.8 Кб 
ID:	19540  
    Изображения Изображения  
    Вложения Вложения


  2. #2
    Без позывного
    Регистрация
    06.02.2007
    Адрес
    СПб
    Сообщений
    317
    Поблагодарили
    21
    Поблагодарил
    26
    Часть два - Программа для работы PSK
    Для реализации всего вышеперечисленного, была написана программа, которая обладает основными возможностями:
    - поддержка режимов BPSK32/64/125
    - управлением трансивером через COM-порт
    - поддержка макросов
    Также программа должна была быть быстрой и иметь простой интерфейс.

    Насколько это удалось, судить пользователям, скриншот и файл в аттаче.
    Программа не требует инсталляции, состоит из одного файла размером всего 200Кб (дополнительно могут потребоваться библиотеки MFC и GDI+ но на всех компьютерах они уже есть). На моем целероне программа загружает проц всего на 5-10%, так что теоретически должно работать на любых компах кроме самых древних.

    Идеи и дополнения к программе приветствуются Если это конечно вообще хоть кому-то интересно...

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

    PS: Сегодня как и планировал, через 4 месяца после начала работы, провел с помощью этой программы первую радиосвязь

  3. #3
    Very High Power Аватар для R9UHN
    Регистрация
    23.04.2002
    Адрес
    Междуреченск
    Возраст
    57
    Сообщений
    1,734
    Поблагодарили
    108
    Поблагодарил
    76
    Обязательно надо добавить выбор звукового устройства.

  4. #4
    Very High Power
    Регистрация
    26.08.2006
    Сообщений
    4,042
    Поблагодарили
    295
    Поблагодарил
    103
    Цитата Сообщение от DmitryElj Посмотреть сообщение
    Сегодня как и планировал, через 4 месяца после начала работы, провел с помощью этой программы первую радиосвязь
    И будет она бесплатно и где??

  5. #5
    Без позывного
    Регистрация
    06.02.2007
    Адрес
    СПб
    Сообщений
    317
    Поблагодарили
    21
    Поблагодарил
    26
    Программа бесплатная, файл PSKeyerApp.zip в аттаче к первому сообщению.

    Выбор звуковой карты добавлю.

  6. #6
    Very High Power Аватар для UA5AA
    Регистрация
    16.04.2005
    Адрес
    Moscow_Лось
    Возраст
    72
    Сообщений
    2,321
    Поблагодарили
    334
    Поблагодарил
    217
    ..при работе в цифре многие пользуется миксой. Хорошо бы "воткнуть" в прогу маленький аппаратный журнальчик имеющий такой же сервис занесения данных с экрана как в миксе и (или) совместимый с аппаратником миксы ...

  7. #7
    Standart Power
    Регистрация
    12.11.2003
    Адрес
    Великий Новгород
    Возраст
    64
    Сообщений
    365
    Записей в дневнике
    1
    Поблагодарили
    33
    Поблагодарил
    36
    Цитата Сообщение от UA3ASR Посмотреть сообщение
    Хорошо бы "воткнуть" в прогу маленький аппаратный журнальчик имеющий
    возможность редактирования его полей для внесенния данных.
    не как в миксе где всё строго зафиксировано.

  8. #8
    Без позывного
    Регистрация
    06.02.2007
    Адрес
    СПб
    Сообщений
    317
    Поблагодарили
    21
    Поблагодарил
    26
    2 All:
    Обновил версию программы.
    Добавлено следующее:
    - многоканальный режим
    - автоподстройка частоты
    - ведение аппаратного журнала
    - выбор звуковой карты (подробно не тестировался из-за отсутствия)

    Скриншот и исполняемый файл в аттаче к данному сообщению.

    Кому интересно, просьба потестировать. Программа бесплатная и не требует инсталляции.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Screenshot.jpg 
Просмотров:	212 
Размер:	73.0 Кб 
ID:	19732  
    Вложения Вложения

  9. #9
    Радиолюбитель Аватар для R3D-209
    Регистрация
    21.10.2005
    Адрес
    Раменское, Московская обл.
    Возраст
    56
    Сообщений
    4,781
    Записей в дневнике
    2
    Поблагодарили
    1636
    Поблагодарил
    3569

    Cool

    При запуске в обоих версиях выдаёт: Приложение не было запущено, поскольку оно не корректно настроено. Повторная установка приложения может решить данную проблему.

    Пробовал переустановить не решает...
    Где настройка то?
    Запускал на ХР хом эдишн SP3, четвёртый пень2,8, ОЗУ 3 гига, две звуковушки(одна встроеная).
    73! Игорь (позывной для работы в эфире теперь ищите в моём профиле) :: Правильно заданый вопрос - половина ответа!

  10. #10
    Без позывного
    Регистрация
    06.02.2007
    Адрес
    СПб
    Сообщений
    317
    Поблагодарили
    21
    Поблагодарил
    26
    2 R3D-209:
    У Вас на компьютере отсутствуют какие-то DLL необходимые для работы программы.
    Выложил архив (в аттаче к этому сообщению) с обновленной версией, вроде должно заработать.
    Вложения Вложения

  11. #11
    Радиолюбитель Аватар для R3D-209
    Регистрация
    21.10.2005
    Адрес
    Раменское, Московская обл.
    Возраст
    56
    Сообщений
    4,781
    Записей в дневнике
    2
    Поблагодарили
    1636
    Поблагодарил
    3569
    Цитата Сообщение от DmitryElj Посмотреть сообщение
    У Вас на компьютере отсутствуют какие-то DLL необходимые для работы программы.
    Клянусь на первом томике Ротхаммеля ничего не стирал в винде!
    Скачал новый архив заработало!
    Прикольненько!
    73! Игорь (позывной для работы в эфире теперь ищите в моём профиле) :: Правильно заданый вопрос - половина ответа!

  12. #12
    Very High Power Аватар для R9UHN
    Регистрация
    23.04.2002
    Адрес
    Междуреченск
    Возраст
    57
    Сообщений
    1,734
    Поблагодарили
    108
    Поблагодарил
    76
    Работает. Пол ночи игрался на приём. Падений не было.

  13. #13
    Very High Power
    Регистрация
    26.08.2006
    Сообщений
    4,042
    Поблагодарили
    295
    Поблагодарил
    103
    Цитата Сообщение от DmitryElj Посмотреть сообщение
    программа уже вышла за рамки тестовой, и её можно представить на всеобщее обозрение.
    С какими ОС вы ее тестировали?? Меня больше 98-я интересует..

    Добавлено через 11 минут
    Цитата Сообщение от RA0SEM Посмотреть сообщение
    Работает. Пол ночи игрался на приём. Падений не было.
    А на передачу??

  14. #14
    Very High Power
    Регистрация
    30.11.2003
    Адрес
    Псков, Россия
    Возраст
    61
    Сообщений
    3,698
    Поблагодарили
    834
    Поблагодарил
    1561
    На передачу у меня все программы сидят на СОМ6.
    Выбор портов не велик

    RA1WU Leo

  15. #15
    Very High Power Аватар для R9UHN
    Регистрация
    23.04.2002
    Адрес
    Междуреченск
    Возраст
    57
    Сообщений
    1,734
    Поблагодарили
    108
    Поблагодарил
    76
    2 UT2FF
    только принимал ..Но вот сейчас попробовал - передаёт без проблем.

Похожие темы

  1. Новая ОПн-3
    от PDUker в разделе Радиолюбительские технологии
    Ответов: 4
    Последнее сообщение: 04.10.2008, 12:07
  2. Новая программа для приёма CW
    от RA4HRZ в разделе Программы для телеграфа
    Ответов: 15
    Последнее сообщение: 11.06.2008, 18:58
  3. TrackOn: программа для APRS
    от UA3IRS в разделе Win-XP/7
    Ответов: 5
    Последнее сообщение: 27.02.2007, 15:35
  4. Новая программа SSTV-PAL-Multimode
    от RV3BZ в разделе SSTV
    Ответов: 7
    Последнее сообщение: 22.12.2004, 08:19
  5. Новая программа для разработки схем
    от RuCAD в разделе Общие вопросы
    Ответов: 0
    Последнее сообщение: 05.02.2004, 12:54

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×
Рейтинг@Mail.ru
eXTReMe Tracker


Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×