-
08.02.2016, 12:30 #526
- Регистрация
- 05.03.2015
- Сообщений
- 5,570
- Поблагодарили
- 7959
- Поблагодарил
- 807
предискажение уровней сигналов в WSJT-X
Идея заключается в том чтобы после быстрого преобразования Фурье в символьном спектре внести
разную степень расширения диапазона малых уровней сигналов для второго и третьего
проходов с компрессией высоких уровней сигналов.
То есть на каждом проходе в спектре делаю разную зависимость выходных уровней от входных,
при этом для первого прохода использую функцию предложенную разработчиками.
В результате проведенных работ по оптимизации были выбраны следующие функции:
1-ый проход: s=real(c(i))**2 + aimag(c(i))**2
2-ой проход: s=SQRT(real(c(i))**2 + aimag(c(i))**2)
3-ий проход: s=(abs(real(c(i))) + abs(aimag(c(i))))**0.01
Для осуществления выбора функции в исходнике symspec65 в зависимости от номера прохода в
исходнике jt65_decode.f90 ввожу общую для двух подпроцедур переменную номера прохода npass.
Значение этой переменной присваивается в том месте кода где мы устанавливаем пороги под каждый проход,
строка common/igor/npass в начале обоих исходников позволяет совместное использование этой переменной обеими
подпроцедурами.
На основании значения этой переменной выбирается необходимая функция предискажения
уровней сигналов в спектре после быстрого преобразования Фурье в исходнике symspec65.f90
_____
В результате оптимизации функций получены следующие результаты в количестве JT65 декодирований:
Сравнение эффективности работы r6462mod3 c r6449.
Софт от разработчиков r6449:
файлы SDR с выключенной АРУ - 1066 правильных декодирований и 5 ложных
файлы SDR с включенной АРУ - всего 3064 декодирования
модифицированный релиз r6462mod3:
файлы SDR с выключенной АРУ - 1163 правильных декодирований и 5 ложных
файлы SDR с включенной АРУ - 3449 правильных декодирований и 8 ложных
Прирост в количестве правильно декодированных сообщений от 9.1 до 12.6 процента.Последний раз редактировалось UA3DJY; 08.02.2016 в 12:47.
-
08.02.2016, 12:32 #527
- Регистрация
- 05.03.2015
- Сообщений
- 5,570
- Поблагодарили
- 7959
- Поблагодарил
- 807
r6462mod3
Полный исходный код со всеми модификациями и Release notes на него, для самостоятельной
компиляции, можно взять здесь: https://cloud.mail.ru/public/9uqT/dCs5GwFFB
Если кто нибудь захочет включить индикацию номера прохода в окне декодированных сообщений,
то это можно сделать так:
--- a/branches/wsjtx/lib/symspec65.f90
+++ b/branches/wsjtx/lib/symspec65.f90
-!print *, 'npass = ',npass
+print *, 'npass = ',npassПоследний раз редактировалось UA3DJY; 08.02.2016 в 12:49.
-
08.02.2016, 12:58 #528
- Регистрация
- 18.01.2015
- Адрес
- новосибирск
- Возраст
- 74
- Сообщений
- 1,686
- Поблагодарили
- 128
- Поблагодарил
- 55
-
08.02.2016, 14:18 #529
- Регистрация
- 29.01.2015
- Возраст
- 46
- Сообщений
- 218
- Поблагодарили
- 21
- Поблагодарил
- 103
сразу же увидел улучшение в декодировании после последнего улучшения в предискажениях -ранее декодировалось 10 позывных из фала 1410 с выкл ару-теперь 11-пороги 2.4-1.0-0.5 random 6
RK4LWA
-
08.02.2016, 15:01 #530
- Регистрация
- 18.01.2015
- Адрес
- новосибирск
- Возраст
- 74
- Сообщений
- 1,686
- Поблагодарили
- 128
- Поблагодарил
- 55
-
08.02.2016, 15:23 #531
- Регистрация
- 29.01.2015
- Возраст
- 46
- Сообщений
- 218
- Поблагодарили
- 21
- Поблагодарил
- 103
был в файлах .что использует UA3DJY -с выкл ару-По итогам тестирования с последними изменениями 1171 верное декодирование +3 ложных,прибавка на 4 верных декодирования в связи с изменением уровня предыскажений-пороги 2.4-1.0-0.5 random 8 -три прохода
RK4LWA
-
08.02.2016, 16:26 #532
- Регистрация
- 18.01.2015
- Адрес
- новосибирск
- Возраст
- 74
- Сообщений
- 1,686
- Поблагодарили
- 128
- Поблагодарил
- 55
-
08.02.2016, 16:39 #533
- Регистрация
- 29.01.2015
- Возраст
- 46
- Сообщений
- 218
- Поблагодарили
- 21
- Поблагодарил
- 103
я считаю только jt65 декодирования-у Вас их так же 11-и нет разницы между 6-8 рандомами как я проверил. ps везде где писалось выше -речь шла только о jt65 декодированиях-jt 9 не считались
RK4LWA
-
08.02.2016, 16:47 #534
- Регистрация
- 05.03.2015
- Сообщений
- 5,570
- Поблагодарили
- 7959
- Поблагодарил
- 807
принудительное включение Robust Sync в зависимости от количества кандидатов
Steve K9AN в софте сделал принудительное включение Robust Sync если после использования полной функции корреляции количество кандидатов на проходе превышает 50.
Алгоритм следующий:
1. количество кандидатов на первом проходе определяется при помощи полной функции корреляции
2. если количество кандидатов более чем 50 то 'включается Robust Sync', количество кандидатов обнуляется и заново оценивается уже с помощью однобитной функции корреляции. Включившись на одном из проходов(обычно на втором, на первом проходе очень редко) Robust Sync остается включенным для всех оставшихся проходов приемного интервала.
Использование однобитной функции корреляции Robust Sync примерно на 0.5 дБ снижает чувствительность по декодированным сигналам.
При вычитании сигналов с SNR лучше чем -20 на следующем проходе количество кандидатов становится в пределах от 150 до 250, что связано скорее всего с расползанием спектра тона между бинами после быстрого преобразования Фурье и особенностью примененного точечного вычитания тонов в спектре.
Можно в софте выключить вычитание спектра после второго прохода если количество кандидатов на втором проходе менее 50, можно выключать в коде Robust Sync после каждого прохода декодирования.
Возможно эти два изменения позволят увеличить количество декодированных совсем слабых DX сигналов на почти закрытом диапазоне, за счет более низких порогов второго и третьего проходов и использования полной функции корреляции,
но чтобы проверить что такой подход даст эффект нужно несколько десятков звуковых файлов где SNR сигналов хуже чем -20 и есть один..два сигнала с SNR примерно -15...-20.
Если на файлах будет выигрыш то можно даже попробовать вывести на окно графического интерфейса квадратик с галочкой включающей/выключающей вычитание сигналов.
Нужна помощь в сборе таких файлов, желательно на сетапе с низким уровнем шума (антенна Яги или активная антенна).
Какие еще будут мысли?Последний раз редактировалось UA3DJY; 08.02.2016 в 17:00.
-
08.02.2016, 17:23 #535
- Регистрация
- 27.11.2010
- Возраст
- 68
- Сообщений
- 260
- Поблагодарили
- 52
- Поблагодарил
- 100
-
08.02.2016, 17:54 #536
- Регистрация
- 29.01.2015
- Возраст
- 46
- Сообщений
- 218
- Поблагодарили
- 21
- Поблагодарил
- 103
UA3DJY:у меня довольно низкий уровень шума -так как активная антенна-а точнее укороченная с усилителем если уж быть точным
RK4LWA
-
08.02.2016, 18:56 #537
- Регистрация
- 05.03.2015
- Сообщений
- 5,570
- Поблагодарили
- 7959
- Поблагодарил
- 807
-
08.02.2016, 18:57 #538
- Регистрация
- 05.03.2015
- Сообщений
- 5,570
- Поблагодарили
- 7959
- Поблагодарил
- 807
-
08.02.2016, 19:56 #539
- Регистрация
- 29.01.2015
- Возраст
- 46
- Сообщений
- 218
- Поблагодарили
- 21
- Поблагодарил
- 103
ua3dyj:запись вести как понимаю через программу -Save All ? И как по времени-сколько писать ? завтра мог бы на 21 сделать записи -полосу 2.5 возьму ps Действительно теперь нет прироста в декодировании при третьем проходе ниже 1.0-более того даже на 1 ошибочное появляеться при 2.4-1.0-0.5. Как и нет прироста при random erasure выше 6 -теперь вообще моментально декод идет
Последний раз редактировалось RK4LWA; 08.02.2016 в 20:02.
RK4LWA
-
08.02.2016, 19:58 #540
- Регистрация
- 29.01.2015
- Возраст
- 46
- Сообщений
- 218
- Поблагодарили
- 21
- Поблагодарил
- 103
Ra3rka-ничего и не поменялось в компиляции -кроме конечной папки расположения пакета скомпилированного
RK4LWA
Социальные закладки