WSPR

Аватара пользователя
R0AEK
Сообщения: 277
Зарегистрирован: 03 ноя 2019, 22:30
Позывной: Саша R0AEK
Город: Красноярск-26
Благодарил (а): 40 раз
Поблагодарили: 51 раз

WSPR

Сообщение R0AEK » 14 ноя 2019, 17:33

2Qay, спасибо, добавим использование этого девайса в новую версию. Можно ссылку в личку на проверенный вариант для покупки. Будем экспериментировать.

Аватара пользователя
2Qay
Сообщения: 47
Зарегистрирован: 14 окт 2019, 12:58
Откуда: Татарстан
Позывной: ----
Город: Казань
Благодарил (а): 11 раз
Поблагодарили: 8 раз

WSPR

Сообщение 2Qay » 14 ноя 2019, 21:18

R0AEK, я использовал микросхему голую, купленную в чип и дейле (мало ли запрещено тут упоминать напрямую магазин :D ). Там в даташите вся схема есть если что, прям по ней можно собирать и не париться. У меня с полпинка всё заработало. Если не ошибаюсь у robotdyn есть такой модуль, могу если только этого продавца посоветовать.

Аватара пользователя
R2AJI
Сообщения: 264
Зарегистрирован: 12 окт 2019, 22:48
Город: Москва
Благодарил (а): 72 раза
Поблагодарили: 86 раз

WSPR

Сообщение R2AJI » 14 ноя 2019, 21:57

2Qay писал(а):
14 ноя 2019, 15:02
Если не ошибаюсь, то это модуль на часиках ds3231
Абсолютно верно, DS3231. Точность хода изумительная, за несколько месяцев убежали часы всего на пару секунд. Проверялось на синтезаторе, с батарейкой.

Аватара пользователя
2Qay
Сообщения: 47
Зарегистрирован: 14 окт 2019, 12:58
Откуда: Татарстан
Позывной: ----
Город: Казань
Благодарил (а): 11 раз
Поблагодарили: 8 раз

WSPR

Сообщение 2Qay » 15 ноя 2019, 02:57

R2AJI писал(а):
14 ноя 2019, 21:57
Абсолютно верно, DS3231. Точность хода изумительная, за несколько месяцев убежали часы всего на пару секунд. Проверялось на синтезаторе, с батарейкой.
Это вам ещё бракованные попались, там если по документации посмотреть, от эталона за год они должны уходить на 2 секунды максимум.

Аватара пользователя
R0AEK
Сообщения: 277
Зарегистрирован: 03 ноя 2019, 22:30
Позывной: Саша R0AEK
Город: Красноярск-26
Благодарил (а): 40 раз
Поблагодарили: 51 раз

WSPR

Сообщение R0AEK » 15 ноя 2019, 05:50

Будем пробовать, в дополнении, мой проект wspr будет плавно переходить с si570 на более дешевый si5351

Аватара пользователя
R0AEK
Сообщения: 277
Зарегистрирован: 03 ноя 2019, 22:30
Позывной: Саша R0AEK
Город: Красноярск-26
Благодарил (а): 40 раз
Поблагодарили: 51 раз

WSPR

Сообщение R0AEK » 15 ноя 2019, 14:28

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

Давайте поломаем сложившуюся ситуацию по разработке радиолюбительских устройств. Любой автор видит свое разрабатываемое устройство по своему, он сначала разрабатывает, потом выкладывает на всеобщее обозрение/повторение, и автора начинают засыпать вопросами/предложениями/замечаниями....

Первое - определяем функционал, можно я начну....

Передающая часть на Si5351, МК.... на выбор, главное обеспечить простое подключение, для конфигурирования, к ПК без заморочек.

1. WSPR по КВ диапазонам, на УКВ .... тут на любителя, диапазон хоть и ограничен на 600-800км по земле, но интересный.
2. CW по КВ и УКВ.
3. Возможность - вещать на разные антенны, с заданным расписанием, в зависимости от времени суток.
4. Возможность управления внешним УМ. Для WSPR до 1 ватта достаточно, чтобы обогнуть шарик. Управление ДПФ приветствуются.
4. Было бы не плохо - разработать и приемную часть, которая в инет будет отправлять принятые споты.
5. Ваши предложения....!

P/S/ Как обещал, выложу в доступном понимании алгоритм формирования WSPR передачи, готовлю материал.

Аватара пользователя
R0AEK
Сообщения: 277
Зарегистрирован: 03 ноя 2019, 22:30
Позывной: Саша R0AEK
Город: Красноярск-26
Благодарил (а): 40 раз
Поблагодарили: 51 раз

WSPR

Сообщение R0AEK » 19 ноя 2019, 20:10

Доброго времени суток!

Процесс кодирования WSPR хорошо описан радиолюбителем Andy Talbot G4JNT, ссылка на оригинал документа.

Моя реализация данного процесса на Delphi, во вложении. Этот же алгоритм и используется в маяке, я не стал МК маячка нагружать процессом кодирования WSPR передачи, в память маячка просто записывается уже закодированная последовательность WSPR передачи.

Если начать с простого, то для процесса кодирования WSPR передачи придерживаемся заявленными автором протокола правилами:

1. Позывной должен состоять из максимум шести символов и может содержать буквенные символы A-Z, цифры 0-9.
2. Четырех значный QTH локатор - например - NO66.
3. Выходную мощность в dBm - 0-60.

Первым делом переводим все символы в верхний регистр, т.е. из "a" в "A" и так далее...

Выполняем кодирование (бит- упаковку) позывного - кодирование позывного в N
n1 := ch1;
n2 := n1*36+ch2;
n3 := n2*10+ch3;
n4 := 27*n3+(ch4-10);
n5 := 27*n4+(ch5-10);
n6 := 27*n5+(ch6-10);}

если до цифры в позывном 1 символ то n1 = 36 иначе n1 = порядковый номер символа.

Выполняем кодирование QTH локатора в m1
m1 = (179-10*[loc1]-[loc3])*180+10*[loc2]+[loc4]
loc1 и loc2 порядковый номер символа из массива QTH_Sym
loc3 и loc4 непосредственно указанная цифра

Выполняем кодирование уровня выходной мощности в M
M = m1 * 128 + [PwrValue] + 64
где PwrValue значение уровня выходной мощности в dBm.

Выполняем бит упаковку N и M в массив Bit_Packed.

Выполняем сверточное кодирование (Convolutional Encoding)
WSPR сообщения для K=32, r=1/2 кода
бит упакованные, N & M = 259047992 & 2896997 = $F70C238B0D1940

Выполняем чередование (Interleaving).

В данном процессе мы получаем следующую картину:

{кодированное WSPR сообщение "K1ABC FN42 37" в бит последовательности для 4-FSK
Source-encoded message (50 bits, hex): F70C238B0D1940
Data symbols:
1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0
1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 0
1 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 1
1 1 1 0 1 1 1 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0
1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 0 0 1 0 1 1 1
Sync symbols:
1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0
0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 1
1 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 1
1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1
0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0
1 0 1 1 0 0 0 1 1 0 0 0
Channel symbols:
3 3 0 0 2 0 0 0 1 0 2 0 1 3 1 2 2 2 1 0 0 3 2 3 1 3 3 2 2 0
2 0 0 0 3 2 0 1 2 3 2 2 0 0 2 2 3 2 1 1 0 2 3 3 2 1 0 2 2 1
3 2 1 2 2 2 0 3 3 0 3 0 3 0 1 2 1 0 2 1 2 0 3 2 1 3 2 0 0 3
3 2 3 0 3 2 2 0 3 0 2 0 2 0 1 0 2 3 0 2 1 1 1 2 3 3 0 2 3 1
2 1 2 2 2 1 3 3 2 0 0 0 0 1 0 3 2 0 1 3 2 2 2 2 2 0 2 3 3 2
3 2 3 3 2 0 0 3 1 2 2 2 }

Как выше писал, для модуляции нас интересует последний блок цифр от 0 до 3 (Channel symbols), это и есть последовательность перехода частоты манипуляции.

Если будут вопросы, постараюсь ответить!

73!
Вложения
WSPR_Coding_Delphi.zip
(4.47 КБ) 31 скачивание

Аватара пользователя
R0AEK
Сообщения: 277
Зарегистрирован: 03 ноя 2019, 22:30
Позывной: Саша R0AEK
Город: Красноярск-26
Благодарил (а): 40 раз
Поблагодарили: 51 раз

WSPR

Сообщение R0AEK » 19 ноя 2019, 20:22

Добавлю, я программист-радиолюбитель самоучка, если гуру программирования найдут более изящные и быстрые решения, буду только благодарен за указания на ошибки ;)

Аватара пользователя
R0AEK
Сообщения: 277
Зарегистрирован: 03 ноя 2019, 22:30
Позывной: Саша R0AEK
Город: Красноярск-26
Благодарил (а): 40 раз
Поблагодарили: 51 раз

WSPR

Сообщение R0AEK » 07 дек 2019, 21:43

Не перестает удивлять цифра в более менее прохождение.....
1.png
хотя голосом в ssb (70 ватт) кричал ноль ответа, а в цифре (<1 ватта) пол шарика....

Аватара пользователя
R0AEK
Сообщения: 277
Зарегистрирован: 03 ноя 2019, 22:30
Позывной: Саша R0AEK
Город: Красноярск-26
Благодарил (а): 40 раз
Поблагодарили: 51 раз

WSPR

Сообщение R0AEK » 25 фев 2020, 10:20

Решил пристроить простаивающий SDR трансивер SoftRock Ensemble RXTX для WSPR-RX/TX станции. Сделал вчера пробный запуск. Работает на 80/40/30/20m по установленному расписанию в WSJT-X. На выходе не более 1w.
wspr_sr_01.JPG
wspr_sr_02.JPG
wspr_sr_03.JPG
wspr_st_3.png
Вот до куда дострелил уже
wspr_st_4.png
Конфигурация ПК (собрал из полу убитого железа, заменив высохшие электролиты):
CPU - Intel Core 2 Duo
RAM - 2Gb
MB - ASRock G31M-VS2
HDD - 250Gb
Дополнительная аудиокарта Asus Xonar D1 (не смог я заставить HDSDR работать на передачу и прием с одной интегрированной звуковой картой VIA)

Корпуса для ПК пока нет. Как подберу корпус и отлажу автозапуск после потери питания, поставлю на дачу.

PS. Кроме WSPR будет хороший помощник для удаленной работы в FT8 и самоконтроля :D :D :D

Ответить

Вернуться в «Микроконтроллеры и программирование»