Страница 50 из 1557 ПерваяПервая ... 40434445464748495051525354555657601001505501050 ... ПоследняяПоследняя
Показано с 736 по 750 из 23345
Like Tree15314Спасибо

Тема: проект WSJT-X: моды JT65,JT9,WSPR,JT4,JTMS,MSHV - работа с тестовым софтом

  1. #736
    Экстра-класс
    Регистрация
    18.01.2015
    Адрес
    новосибирск
    Возраст
    69
    Сообщений
    1,678
    Поблагодарили
    127
    Поблагодарил
    55
    Цитата Сообщение от UA9LEW Посмотреть сообщение
    Поставьте 0 и не мучайтесь.
    не понял где 0 выставить, вначале?

  2. #737
    Коротковолновик
    Регистрация
    10.07.2012
    Адрес
    Тюмень
    Возраст
    59
    Сообщений
    361
    Поблагодарили
    87
    Поблагодарил
    34
    Цитата Сообщение от UA9OP Посмотреть сообщение
    не понял где 0 выставить, вначале?
    тут
    Нажмите на изображение для увеличения. 

Название:	131.png 
Просмотров:	72 
Размер:	55.2 Кб 
ID:	158797
    бонусом получите что все декодирования теперь выстроятся строго по порядку в пределах прохода.

    Плюс бывает что и вот на таких частотах умудряются работать.
    Название: 130.png
Просмотров: 478

Размер: 15.2 Кб

    пс На скорость декода практически не повлияет
    пс2 Как это себя поведет в модифицированных версиях хз, не смотрел

  3. #738
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    4,797
    Поблагодарили
    7172
    Поблагодарил
    707
    Цитата Сообщение от UA3DJY Посмотреть сообщение
    Продолжаю работать над исходником subtract65.
    Временно прекратил попытки оптимизации вычитания сигналов в исходнике subtract65 по причине утечки памяти в WSJT-X, проявляющейся в периодическом отсутствии доступа к дробной части массива dd().

    Этот массив содержит отсчеты(samples) входного цифрового звукового потока и является основой всего происходящего в WSJT-X.

    Часто бывает что при первичном чтении массива получаю например такие данные (номер отсчета, значение):

    dd 2201 19.0000000
    dd 2202 16.0000000
    dd 2203 12.0000000
    dd 2204 4.00000000
    dd 2205 -16.0000000
    dd 2206 -29.0000000
    dd 2207 -10.0000000

    При вычитании декодированного сигнала идет запись в массив dd() после чего часто ситуация возвращается к нормальной, например:

    dd 2201 19.0524387
    dd 2202 15.4829807
    dd 2203 23.0843353
    dd 2204 55.9010811
    dd 2205 33.9535789
    dd 2206 -26.7643013
    dd 2207 -44.2844543

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

    Эффект на декодирование непредсказуемый, поэтому в присутствии этого дефекта в коде считаю вообще бессмысленной какую либо оптимизацию декодирования.

    Дефект наблюдаю как в модифицированном r6462mod6 так и немодифицированном WSJT-X r6496, также в r6229.

    Если есть желание пощупать диагностику самостоятельно то в исходник subtract65.f90 необходимо добавить следующий код(всего три строки прямо перед блоком вычитания сигнала):

    .....
    + do i=1,20
    + print *, 'dd',2200+i,dd(nstart+2200+i)
    + enddo

    ! Subtract the reconstructed signal
    call timer('subtr_3 ',0)
    .....

    В этом коде nstart означает стартовый отсчет с учетом DT вычитаемого сигнала/сообщения, отсчет 2200 примерно середина первого sync тона этого сигнала (точно середина - отсчет 2229).

    Само декодированное сообщение в окошке будет ниже распечатанных значений напряжения отсчетов кодом диагностики.

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

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

  4. #739
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    4,797
    Поблагодарили
    7172
    Поблагодарил
    707

    вычитание JT65 сигналов в WSJT-X

    Происходит в jt65_decode.f90 последовательно на каждом проходе по определенному предварительно списку кандидатов, логика следующая:

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

    При вычитании сигналов используется массив dd() для чтения амплитуды сигнала до вычитания и записи амплитуды обратно в массив dd()
    уже после вычитания сигнала. То есть значения амплитуд в этом массиве после каждого вычитания меняются.

    Для вычитания сигнала в процедуре subtract65.f90, на основании известной sync последовательности тонов, общей для всех JT65 сигналов, и известной data последовательности тонов уже декодированного сигнала, по-тонально симулируется декодированный сигнал, перегоняется из временной области в частотную где применяется фильтр ФНЧ, после чего возвращается обратно во временную область, затем он вычитается из массива dd() с записью результата обратно в этот массив.

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

  5. #740
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    4,797
    Поблагодарили
    7172
    Поблагодарил
    707
    Цитата Сообщение от UA3DJY Посмотреть сообщение
    Временно прекратил попытки оптимизации вычитания сигналов в исходнике subtract65 по причине утечки памяти в WSJT-X, проявляющейся в периодическом отсутствии доступа к дробной части массива dd().

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

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

    Сигнал с АЦП (или цифрового потока SDR) проходит через изменение частоты дискретизации и ФНЧ (исходник fil4.f90) после чего записывается в массив dd(). При первоначальной записи используются целые числа и затем последующая обработка с плавающей запятой. Диапазон значений в массиве -32767...+32767, что соответствует примерно 90 дБ динамического диапазона (20*log10(32767)) при максимально возможной амплитуде сигнала.

    В процессе обработки на декодер уже попадают тона отфильтрованные полосой бина 2.69 Гц что увеличивает динамический диапазон еще на 10*log10(6000/2.69)= 33 дБ снизу за счет уменьшения мощности шума после узкополосного полосового фильтра.

    Значит эффект подавления слабых сигналов сильным при использовании SDR с выключенной АРУ и цифровым аудио потоком связан исключительно со ступенькой боковых излучений за пределами передаваемой полосы JT65 сигнала, то есть с чистотой формирования сигнала в системе компьютер-трансивер-усилитель (паразитная амплитудная модуляция + ее интермодуляционные составляющие, использование линейного участка микрофонного тракта).

    Отдельной темой является одновременная работа на передачу в JT9 и JT65 в одном интервале, особенно в части используемой на передачу мощности.

  6. #741
    Мастер Аватар для R5WM
    Регистрация
    31.05.2012
    Адрес
    Железногорск
    Возраст
    67
    Сообщений
    642
    Поблагодарили
    290
    Поблагодарил
    18
    Цитата Сообщение от UA3DJY Посмотреть сообщение
    то есть с чистотой формирования сигнала в системе компьютер-трансивер-усилитель (паразитная амплитудная модуляция + ее интермодуляционные составляющие, использование линейного участка микрофонного тракта).
    Кстати. Еще лет 5-6 тому назад замечал, что сигналы со слабыми и тонкими линиями трека и посылок оценивались с более высокими уровнями db чем мощные с жирными треками.

  7. #742
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    4,797
    Поблагодарили
    7172
    Поблагодарил
    707
    Цитата Сообщение от UA3DJY Посмотреть сообщение
    В процессе обработки на декодер уже попадают тона отфильтрованные полосой бина 2.69 Гц что увеличивает динамический диапазон еще на 10*log10(6000/2.69)= 33 дБ снизу за счет уменьшения мощности шума после узкополосного полосового фильтра.
    В этой формуле 6000 это полоса приема WSJT-X получаемая из частоты дискретизации 12000 поделенной на 2(теорема Котельникова или Найквиста-Шеннона), Гц.

    Если на приемнике полоса ограничена 2500 Гц или менее, то дополнительное снижение нижней планки динамического диапазона за счет узкой полосы бина будет соответственно приведенной выше формуле меньше.

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

  8. #743
    Мастер
    Регистрация
    03.11.2007
    Адрес
    Абинск
    Возраст
    67
    Сообщений
    614
    Поблагодарили
    125
    Поблагодарил
    309
    Уважаемый Игорь! Во многих цифровых программах есть очень полезная функция быстрого перехода на заранее запрограммированную, (любимую) частоту. Эта функция называется по-разному: - в MMVARI -> Align, в FlDigi -> QSY. Разница энергетики в полосе частот от 100 Гц до 2.4 кГц очень большая. Можно ли ввести подобную функцию и в WSJT-X?

  9. #744
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    4,797
    Поблагодарили
    7172
    Поблагодарил
    707
    Цитата Сообщение от RW9FN Посмотреть сообщение
    Уважаемый Игорь! Во многих цифровых программах есть очень полезная функция быстрого перехода на заранее запрограммированную, (любимую) частоту. Эта функция называется по-разному: - в MMVARI -> Align, в FlDigi -> QSY. Разница энергетики в полосе частот от 100 Гц до 2.4 кГц очень большая. Можно ли ввести подобную функцию и в WSJT-X?
    Николай, приветствую!

    Думаю что можно, но я до сих пор считал что энергетика в спектре одинакова - обусловлено узкополосной побиновой фильтрацией тонов сигнала в WSJT-X.

    На классике есть завал фильтров внизу и вверху спектра, что на передачу и прием может привести к разной энергетике тонов JT65 сигнала на частотах ниже 300 Гц и выше 2500 Гц, для узкого спектра JT9 разница невелика.

    Почему Вы думаете что энергетика на определенной частоте может быть больше?

    В программах MMVARI и FlDigi эта функция может быть востребована для работы в соревнованиях.

    При использовании перестраиваемого узкополосного фильтра на классике (кварцевый в ПЧ и/или конденсаторный в НЧ) я обычно ориентируюсь на картинку водопада для точной установки частоты передачи в полосу фильтра, и поскольку расположение сигналов в спектре в моде JT65 очень быстро меняется мне приходится довольно часто перестраивать узкий фильтр на другую(свободную) частоту для работы на общий вызов.

    73 Игорь

  10. #745
    Мастер
    Регистрация
    03.11.2007
    Адрес
    Абинск
    Возраст
    67
    Сообщений
    614
    Поблагодарили
    125
    Поблагодарил
    309
    Цитата Сообщение от UA3DJY Посмотреть сообщение
    Почему Вы думаете что энергетика на определенной частоте может быть больше?
    Это наблюдается на всех моих трансиверах, если на частоте 2 КГц установить 10 Ватт - то на частоте 400 Гц будет около 1-2 Ватт. И это в любой цифровой программе и моде.

  11. #746
    Мастер
    Регистрация
    16.03.2013
    Адрес
    Москва
    Возраст
    73
    Сообщений
    983
    Поблагодарили
    300
    Поблагодарил
    38
    Цитата Сообщение от RW9FN Посмотреть сообщение
    Это наблюдается на всех моих трансиверах, если на частоте 2 КГц установить 10 Ватт - то на частоте 400 Гц будет около 1-2 Ватт. И это в любой цифровой программе и моде.
    В этой зоне (у классики) и рапорта завышаются минимум в 2 раза!
    Поэтому чтобы работать на этих частотах я сдвигаюсь вниз на 500гц а то и более и верхний участок меньше мешает и рапорта точнее!

  12. #747
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    4,797
    Поблагодарили
    7172
    Поблагодарил
    707
    Цитата Сообщение от RW9FN Посмотреть сообщение
    Это наблюдается на всех моих трансиверах, если на частоте 2 КГц установить 10 Ватт - то на частоте 400 Гц будет около 1-2 Ватт. И это в любой цифровой программе и моде.
    И при поднятии уровня звука на передачу чтобы достичь 10 Ватт выходной мощности приходится выходить на нелинейный участок микрофонного тракта. Если бы не эта особенность классики то можно было бы попросить разработчиков сделать в софте калибровку положения ползунка PWR в зависимости от частоты передачи с записью корректирующего коэффициента значений в wsjtx.ini.

    Похожая морока у классики при работе в JT возникает при использовании VOX для управления передачей, также с выходом на нелинейный участок.

    Можно менять частоту на трансивере как предложил Виталий UA3ALE, но при этом выпадает верхняя часть JT участка.

    Увы, классика неудачный вариант для JT.

  13. #748
    Мастер
    Регистрация
    03.11.2007
    Адрес
    Абинск
    Возраст
    67
    Сообщений
    614
    Поблагодарили
    125
    Поблагодарил
    309
    Цитата Сообщение от UA3DJY Посмотреть сообщение
    В программах MMVARI и FlDigi эта функция может быть востребована для работы в соревнованиях.
    Для проведения обычных QSO работает замечательно, а на СДРах работает значительно меньше народа чем на классике.

  14. #749
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    4,797
    Поблагодарили
    7172
    Поблагодарил
    707
    Цитата Сообщение от RW9FN Посмотреть сообщение
    Для проведения обычных QSO работает замечательно, а на СДРах работает значительно меньше народа чем на классике.
    Насчет калибровки выходного уровня по частоте написал письмо на форум разработчиков, несмотря на проблемы с линейностью микрофонного тракта это все же полезный функционал, потому что пользователь все равно добавляет уровень работая на краях диапазона и бывает забывает его снизить вернувшись в полосу фильтра.

    По части кнопки "домашняя частота" надо подумать, если делать то скорее всего это будет окошко в которую забивается эта частота и кнопка вызывающая переход на нее, еще кнопка добавления текущей частоты в домашнюю. То есть одно окошко и две кнопки, здесь надо хорошо продумать.

  15. #750
    Модератор
    Регистрация
    05.03.2015
    Сообщений
    4,797
    Поблагодарили
    7172
    Поблагодарил
    707

    планы на выпуск mod7

    Решил немного отвлечься от математики и вернулся к оптимизации, получил прорыв в декодированиях.

    Всем кто хочет сейчас попробовать - поставьте nbirdie=5 в исходнике extract.f90. Наблюдаю ощутимое увеличение количества правильных декодирований и снижение ложных в режиме Preamp, прирост общего количества декодирований.

    Продолжаю тестирование с поиском оптимального значения nbirdie, готовлюсь к выпуску mod7.

Похожие темы

  1. JT65/JT9 - имейте совесть, когда в "цифре" работаете!
    от RX4CD в разделе JT65, JT9, WSPR, JT4, JTMSK, FT8
    Ответов: 65
    Последнее сообщение: 05.10.2019, 07:15
  2. Как начать работать с CW?
    от Z80X в разделе Телеграф
    Ответов: 6
    Последнее сообщение: 23.12.2010, 13:43
  3. Новая мода JT65
    от RX3AIS в разделе Цифровые виды радиосвязи
    Ответов: 1
    Последнее сообщение: 28.06.2007, 23:02
  4. Как начать работу с OZiExplorer 3D ?
    от RX3AOE в разделе Win-XP/7
    Ответов: 4
    Последнее сообщение: 15.10.2006, 19:55
  5. Работаю с DXtelnet но через час он отклю...
    от в разделе Компьютеры и сети
    Ответов: 0
    Последнее сообщение: 16.12.2001, 20:54

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

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

Ваши права

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