Форум по радиосвязи предназначен прежде всего для постояльцев портала, которые кроме паяния жучков умеют жать на тангенту, проводить QSO, которые возлюбили свои антенны, и трансиверы как самого себя. Правила данного форума в рамках пп 6.6., 6.7.8., 6.7.9 соответствуют регламенту проведения радиосвязей
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
Думается что MELPE1200 хорошо ляжет на ADSP BF532, который на 400 МГц, но полностью целочисленный. К тому же по собственному опыту - разгоняется до 700 МГц и работает при комнатной температуре. Все три BF532 что были разогнались.
А вот BF533 падла, толлько до 500 МГц гонится.
+ ну ещё один новый пост на предыдущей странице написал.
Это сообщение отредактировал Gospodin_Riba - Nov 1 2016, 11:57 AM
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Видел эту статью, лучше бы они исходник выложили, чем опусы писать! В кратце идея получить MELP600 из 2400 сводится к прореживанию фрейма. Могу ошибаться.
Ради интереса пробовал удлинять фрейм(что приводит к снижению битрейта) в Codec2 на конфигах: 450/700/1200 - в 1,5 / 2/ 3 раза.
Удлинение более чем в 2 раза ведёт к появлению эффекта "эхо", хотя и разборчиво.
Вот из codec2 450 делал 300/225/ и 150. Это ещё на +3дБ к чутью приемника, так как либо сужение полосы в 2 раза, либо увеличение спред-фактора. Но "в поле" пока не проверял.
Чутье -137 ... -136 дБм это уже 0,03 - 0,04 мкВ на 50 Ом.
Вертится идея сделать двусторонний пейджер (точнее СМС-трансивер), но делать "кухонный комбайнер" из устройства как бы не хочется. Поэтому в данной теме - только функционал раций. Пейджер как-нить потом. А может ещё и MPEG-видео-передатчик низкоформатного видео.....
Есть MELP2400 с плавающей точкой - работает реактивно. А тот о котором писал на 1200 -он на самом деле не чистый MELPe, на самом деле:
MELPe 1200 - это MELP 2400 + Microsoft Transcoder SC1200 + Noise Preprocessor.
Noise Preprocessor - этот модуль убирает шум из речи, но он опять написан на целочисленной реализации. На BlackFin или Pentium Packet может и заработает без напряга.
Вернулся к первому модулю RFM96 в котором я угробил передатчик. Оказалось что не угробил - был просто плохой контакт в бракованном разъеме, что в свое время послужило причиной лже-заключения о том что спалил УВЧ передатчика. С новым разъемом и первый модуль также дует 50 мВт мощности. Измерения вёл индикатором поля и меряю в относительных показаниях.
В ближайшее время планирую доработать устройства до функционала раций: припаять кнопку PTT, добавить микрофон, наушники там где их нет. Ну и переписать программу - чтобы по нажатию кнопки был передатчик, по отпусканию - приемник. Очень аккуратно с регистрами надо: например LNA гасить перед передачей для страховки (у него +55 дБ усиления).
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
Путём секретных спец-ухищрений сделал Codec2 на 300 бит/с. И особой разницы в сравнении с 450 бит/с не заметил. Звуковые образцы прилагаю.
Это позволит увеличить чутьё приемника в 1,5 раза! Было -133,8 - станет -135.7 дБм (0,0367 мкВ).
Конфы такие (в первой пакет/задержка короче, но минимальная коррекция ошибок. во второй пакет чуть длинее и задержка тоже, зато коррекция ошибок лучше):
QUOTE
SF=8 BW=20.8(3) kHz CRC off Implicit mode Low Datarate Optimize off <16ms
Группа: Cоучастник
Сообщений: 10514
Пользователь №: 34842
Регистрация: 11-July 08
Место жительства: BY
Да, можно свое дело открывать,заказать у китайцев,и продавать рации и лицензии,или прошивки.Обычно у цифровых раций чуйка, почему-то стандартная,например у DP4600 стоимостью 51 тысяча,0.2-0.3мкв.Не хотят они использовать, ни узкие кодеки, ни RFM c LORa.Может вояки где-то используют. Образцы 300-400 б/с,трудно-разборчивы.Хорошо разбираются только ожидаемые слова.Такой низкий битрейт можно использовать в радиолюбительской связи,позывной легко будет разобрать,фразы об аппаратуре и антеннах,тоже. А произвольная речь,не разбирается, а скорей угадывается.Ну и конечно пейджеры,рулят.Тут можно и до -148дбм увеличить.
Это сообщение отредактировал radiofan - Nov 1 2016, 10:46 PM
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
QUOTE
Да, можно свое дело открывать,заказать у китайцев,и продавать рации и лицензии,или прошивки.
Много шипов в законах страны моего проживания.
Во-первых: вокодирование речи - по сути есть её шифрование. Потому что порядок следования бит информации полностью определяется алгоритмом программы и непосвящённому расшифровать поток, даже зная что это LoRa + Codec2, практически невозможно
Во-вторых: всё что ниже битрейта 800 бит/с попадает под ограничения: как со стороны дяди Сэма, так и под закон РФ
В-третьих: "а кому оно нах... нужно?". У данного усторйства очень низкая ниша применения: от любителей до сверхдальней связи в ЧС, где требуется элементарный радиообмен важной информации, а не праздный базар-вокзал.
Налаживать дело по продаже подобного устройства в РФ - нарушение её законов. Укажите другой путь, если ошибаюсь.
QUOTE
Обычно у цифровых раций чуйка, почему-то стандартная,например у DP4600 стоимостью 51 тысяча,0.2-0.3мкв.
Это потому что китайцы копируют, а военные разработки им ещё не утекли. Ну и плюс всё упирается в законы (см. выше).
QUOTE
Не хотят они использовать, ни узкие кодеки, ни RFM c LORa.Может вояки где-то используют.
Это от инертности мышления и от отсутсвие образцов для копирования. Прошарил интернет ради интереса: рация на базе LoRa-модема - такого устройства вообще нет.
У военных корелляционные приемники используются уже давно. Хорошо что сейчас корелляционный приемник просочился в потребительский сегмент в виде ASIC/VLSI - на коленках хоть собирать не надо!
QUOTE
Образцы 300-400 б/с,трудно-разборчивы.Хорошо разбираются только ожидаемые слова.Такой низкий битрейт можно использовать в радиолюбительской связи,позывной легко будет разобрать,фразы об аппаратуре и антеннах,тоже. А произвольная речь,не разбирается, а скорей угадывается.
С этим соглашусь, почти... При желании, можно натренироваться и трудности с распознаванием уйдут. Слушать конечно же надо в наушниках.
QUOTE
Ну и конечно пейджеры,рулят.Тут можно и до -148дбм увеличить.
Пейджер он только на прием, так что корректнее устройство с передачей сообщений назвать "текстовый трансивер". LoRa Calculator даёт чутьё -150,1 дБм при SF=12 и BW=7,8 кГц. При этом, пакет с минимальной преамбулой(10,25 байт) и пэйлоадом(1 байт) будет передаваться в эфире 9,5 секнуды И то, это без всяких оптимизаций.
Присоединённое изображение (Нажмите для увеличения)
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
Скрестил Codec2 и шумовой препроцессор NPP7, взятый из сорцов MELPE1200. Вышло великолепно: на оригинальной звуковой пробе(не вокодированной) - подавление шума с -24 дБ на -39 дБ (на 15 дБ ниже, по шкале Audacity ) + убирает постоянную составляющую, если есть -а это выравнивает rail-to-rail по звуку, что предотвращает оверсемплинг при ассиметрии полу-волн.
На вокодированной звуковой пробе ещё более сильное подавление шума. Что на практике вылилось в отсутствие пердёжки во время коротких пауз между речью.
Правда сорцы пришлось переделать: выставить одинаковый раздел фрейма в Codec2 и NPP. Сейчас ориентируюсь полностью на свой мод кодека 300 бит/с.
Звуковые образцы прилагаю в архив: 300bps.wav - вокодированный голос без шумового препроцессора 300bps_NPP.wav - вокодированный г-с с шумовым препроцессором (гудящего говна между речевыми фрагментами нет).
Ну и main-section энкодера(Win32 версия):
CODE
#include "codec2.h" #include "melpe.h"
#include <stdio.h> #include <stdlib.h>
int main(void) { void *codec2; FILE *fin; FILE *fout; short *buf; unsigned char *bits; int nsam, nbit, nbyte;
Группа: Cоучастник
Сообщений: 10514
Пользователь №: 34842
Регистрация: 11-July 08
Место жительства: BY
Жаль,что такая вещь пропадает.Но можно придумать куда приспособить. Странно,передавать текстовую информацию модемом можно, а речь в виде того же цифрового потока нельзя,бред.Дурацкий закон.А как же цифровые рации,их полно в продаже? Или тот же сотовый телефон,там еще то шифрование.Все пользуются и все законно. Был раньше, так называемый двухсторонний пейджер,он мог передавать тексты.Твейджер назывался.Он хоть законен?
Группа: Cоучастник
Сообщений: 10514
Пользователь №: 34842
Регистрация: 11-July 08
Место жительства: BY
Да,забыл написать,на днях обнаружил,что при поднесении спиральной антенны к обычному оконному стеклу в лоджии,резко снижается уровень принимаемого сигнала,по индикатору сканера.И это на 27МГц.Так что не советую клеить антенну на стекло.Видимо есть какие-то добавки в стекле.
На УКВ (100, 144) такого не замечал, окна стандартный стеклопакет. Все по науке, в глубине комнаты поле слабое, у окна намного лучше. Особенно на передачу заметно, контролировал уровень своей передачи по удаленному WebSDR приемнику.
Группа: Cоучастник
Сообщений: 10514
Пользователь №: 34842
Регистрация: 11-July 08
Место жительства: BY
Это заметно,только когда спиральная антенна настроена точно на рабочую частоту, т.е точно в резонансе. Я попробовал родную спиралку от сканера на фм радио,стекло тоже не влияет,потому, что она и так далека от резонанса.
Группа: Cоучастник
Сообщений: 10514
Пользователь №: 34842
Регистрация: 11-July 08
Место жительства: BY
У меня в доме сплошная шумовая завеса на 27Мгц,все каналы забиты равномерным шумом с уровнем около 1мкв.Так что добротность уходит это точно,но возможно и резонанс плывет,из за металла в стекле.Специально не проверял.
Это сообщение отредактировал radiofan - Nov 2 2016, 07:21 PM
Звук в той теме действительно хорош, но как пишит сам автор:
QUOTE
...Основное отличие от существующих кодеков заключается в том, что индивидуальные характеристики речи абонента изначально (один раз) отправляются в цифровом виде реципиенту. А дальше идет нормальный обмен с низкой скоростью. Это существенный недостаток...
Это херово и ликвидирует всё приемущество его кодека.
radiofan: А как же цифровые рации,их полно в продаже? Или тот же сотовый телефон,там еще то шифрование.Все пользуются и все законно.
Ну так они получили лицензию в соответствующих структурах, вшили бэкдоры куда надо и поделились протоколом. И те кому вы нужны, скрываясь за такой "шифро"-рацией, раскроют ваши сообщения за 1-2 часа...
Совсем другое дело когда какой-нить вундеркинд-гик на коленках мострячит сие чудо и что он там передает - одному ему известно. Такие устройства, попади оно в руки плохих дядек, может создавать реальную угрозу людям(надеюсь понятно почему) . Вспомните китайского ОПСОСа нелегально развернувшегося в РФ и чем все закончилось.
QUOTE
radiofan: Да,забыл написать,на днях обнаружил,что при поднесении спиральной антенны к обычному оконному стеклу в лоджии,резко снижается уровень принимаемого сигнала,по индикатору сканера.И это на 27МГц.Так что не советую клеить антенну на стекло.Видимо есть какие-то добавки в стекле.
Да я вообще как в сказке нах... до сих пор не верится что LoRa на такое способна: передатчик и приемник замурованы, антенны обычные диполи, прямой видимости нет, плотная застройка - и тем не менее: прошибает на километры! И мощность в 100 раз меньше, чем у заводских портативок(50 мВт вместо 5Вт)
Начал эксперименты с MELP2400 floating point implementation. Очень быстро кодирует/декодирует.
Помедитировав над сорцами - родил производные: MELP 1200 OK MELP 800 OK MELP 600 на грани разборчивости, но лучше чем Codec2 300-450, 700 bps MELP 400 не разборчиво, голос дедушки Ленина с выбитыми зубами MELP 300 то же что и 400, только хуже. Выложил для "поржать".
Образцы проб прикладываю (звук новый).
Это сообщение отредактировал Gospodin_Riba - Nov 3 2016, 07:17 AM
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
Ну и сами кодеки-melp прилагаю, скомпилированные под Win32. Запускать enc.bat для кодирования. Запускать dec.bat для де-кодирования. Исходный файл должен быть: wav, 16 bit, signed, 1 канал, 8000 Гц и называться 0.raw. C оторванным wav-хедером )))
После кодирования родится 1.raw И после декодирования из 1.raw родится 2.raw - его слушать через Audacity. Извините, клеить RIFF WAV Header лениво
И кстати, перенес NPP на STM32 - всё-же жрёт вычислительную мощь, без заиканий работает с Codec2 если разогнать по крайней мере на 40% (236 МГц).
Это сообщение отредактировал Gospodin_Riba - Nov 3 2016, 07:15 AM
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
в той теме на электроникс, что romanetz выложил, автор не прилепил скомпилированные кодеки под Win32, так что затестить и проверить не на чем. Можно было бы посмотреть и оценить степень сжатия его кодера.
А так можно залить что угодно. Я тоже могу MP3 128kbps закачать и сказать, что это вокодер на 100 бит/с, у которого супер-пупер длиннючая кодовая книга, набранная в режиме калибровки и самообучения вокодера на разных голосах - и превратиться из электронщика в фотографа-коллекционера голосов Мутно всё без программ кодеков
Это сообщение отредактировал Gospodin_Riba - Nov 3 2016, 03:50 PM
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
Немного допилил MELP 2400, затем приступил к оптимизации пакуемых данных. Зачем-то на выходной буфер тратится аж в 4 раза больше места, чем надо: все старшие байты =0 и байт не более 0x3F, что привело к мысли о хранении данных всего 9 раз по 6 бит. Раскурив в сорцах функции упаковки, убедился что предположения мои верны. Переделал упаковку данных - теперь всё максимально плотно и соотношение между выходным и пожатым файлом ровно 213,3333 =(128 000 bps / 600 bps).
Ну и потом портировал на STM32. Разгонять не пришлось. Работает на 600 бит/с при такой конфе LoRa-модема:
QUOTE
BW=125 kHz SF=10 чутье -133 дБм (0,05 мкВ)
CR=4/5 (1) Payload = 27 байт (супер фрейм из 4-х фреймов по 7 байт -1 байт, который пакуется)
Preamble = 10,25
Tair = 354,3 ms < 360 ms (Payload=27)
Качество звука несомненно лучше, чем с Codec 2, но чутьё в 1,5 раза хуже.
Пост обновлён, файлы звуков перезалил на новые.
Нашёл доки как melp2400 переделать на 600. Сорцы изменил согласно этим докам.
Ниже звуковые пробы : оригинал, melp 600 bps, codec2 700 bps. По записям видно, что MELP уделал Codec2 по качеству, хотя битрейт на 100 меньше.
Это сообщение отредактировал Gospodin_Riba - Nov 5 2016, 12:05 PM
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
Удалось понизить битрейт MELP 600 до 489 бит/с c сохранением того же звучания что и на 600. Даю подсказку: битовый поток в MELP избыточен из-за алгоритмов FEC в нём. А так как LoRa FEC поддерживает аппаратно, то стало быть 20% избыточных бит можно под снос.
Ещё одна тонкость FEC - она работает когда есть что принять. Если приёма нет, то FEC не поможет. Ранее я гнался за конфигами с максимальной FEC, но от неё толку не будет если чувствительность не позволяет принять пакет. Поэтому - вначале приоритет на чутьё, а потом на FEC.
Правда FEC (тот самый Error Correction Code в LoRa) поможет в случае искажения бит в пакете из-за сильных помех в полосе. Надеюсь пакет там передаётся с перемежением(перетасовкой бит) Хотя в кодированном потоке порядок битов не важен и строго говоря - и так псевдослучаен.......
Вот ещё можно пожать короткий поток битов длиной 27 ... 45 байт. LZW77 или RLE какой-нить... Стандартный Zip/Rar даёт проигрыш в упаковке таких коротких порций. А в вокодированном потоке есть всяко корелляция между битами данных (потому что речь непрерывна и плавно меняющаяся) и биты должны жаться в теории...
Это сообщение отредактировал Gospodin_Riba - Nov 6 2016, 05:47 AM
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
достаточно странный инструмент если честно. можно же было и на хак рф уно поколбасить. передатчик там маленький есть. мат среда под линух давно существует- в ней удобно все эти комплексированные вычисления делать. потом под дурдуину залить оболочку.
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
QUOTE (Macintosh @ Nov 6 2016, 12:33 PM)
достаточно странный инструмент если честно. можно же было и на хак рф уно поколбасить. передатчик там маленький есть. мат среда под линух давно существует- в ней удобно все эти комплексированные вычисления делать. потом под дурдуину залить оболочку.
а приемник с -133.8 дБм? (0,0457 мкВ)
лунух и дирдуина - не мой путь.
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
достаточно странный инструмент если честно. можно же было и на хак рф уно поколбасить. передатчик там маленький есть. мат среда под линух давно существует- в ней удобно все эти комплексированные вычисления делать. потом под дурдуину залить оболочку.
а приемник с -133.8 дБм? (0,0457 мкВ)
лунух и дирдуина - не мой путь.
ну вопрос в отработке- напрямую технологию сложно пробивать. хотя если аппаратная часть рассчитана на небольшую полосу, то возможно и прелестно получится. а если размазывать спектр? перемежение оно в общем то быстро отслеживается- давно уж все это включено, наверное даже в матлаб либры. просто отловят сие. многие виды перемежения и инверсии просто добавлены в математику.
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
QUOTE (Macintosh @ Nov 6 2016, 03:12 PM)
а если размазывать спектр? перемежение оно в общем то быстро отслеживается- давно уж все это включено, наверное даже в матлаб либры. просто отловят сие. многие виды перемежения и инверсии просто добавлены в математику.
В режиме LoRa-модема RFM96 размазывает спектр за счёт расширения спектра чип-кодами.
Если перенести сигнал в звуковую область, то более подходящего названия ему чем "пипись-пипись..." не придумаешь!
а если размазывать спектр? перемежение оно в общем то быстро отслеживается- давно уж все это включено, наверное даже в матлаб либры. просто отловят сие. многие виды перемежения и инверсии просто добавлены в математику.
В режиме LoRa-модема RFM96 размазывает спектр за счёт расширения спектра чип-кодами.
Если перенести сигнал в звуковую область, то более подходящего названия ему чем "пипись-пипись..." не придумаешь!
ну это скорее цифровая передача данных. а сам то чип чем передает? обычной квадратурной? и насколько широко он свою манипуляцию гоняет? и тестит ли канал с самоподстройкой?