Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 13:31 01.05.24 
Техника
   >> Радио комуникации
*Кратък преглед

Страници по тази тема: 1 | 2 | 3 | 4 | (покажи всички)
Тема Re: Разни (хамски) питаниянови [re: gat3way]  
Автор sysvladi (непознат)
Публикувано20.12.17 19:37



Здравей,
Обнових си локалното репоситори
Пробвах и в нова директория build2, но изхода е:

Scanning dependencies of target gqrx
[ 11%] Building CXX object src/CMakeFiles/gqrx.dir/applications/gqrx/main.cpp.o
In file included from /usr/include/boost/predef/other/endian.h:11:0,
from /usr/include/boost/predef/detail/endian_compat.h:11,
from /usr/include/boost/detail/endian.hpp:9,
from /usr/include/boost/math/special_functions/detail/fp_traits.hpp:27,
from /usr/include/boost/math/special_functions/sign.hpp:18,
from /usr/include/boost/lexical_cast.hpp:167,
from /usr/include/boost/program_options/value_semantic.hpp:14,
from /usr/include/boost/program_options/options_description.hpp:13,
from /usr/include/boost/program_options.hpp:15,
from /usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/applications/gqrx/main.cpp:46:
/usr/include/boost/predef/os/bsd.h:85:5: error: missing expression between '(' and ')'
#if BOOST_OS_BSD
^
src/CMakeFiles/gqrx.dir/build.make:186: recipe for target 'src/CMakeFiles/gqrx.dir/applications/gqrx/main.cpp.o' failed
make[2]: *** [src/CMakeFiles/gqrx.dir/applications/gqrx/main.cpp.o] Error 1
CMakeFiles/Makefile2:124: recipe for target 'src/CMakeFiles/gqrx.dir/all' failed
make[1]: *** [src/CMakeFiles/gqrx.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2

Дистрибуцията е Debian 8.8

Редактирано от sysvladi на 20.12.17 20:19.



Тема Re: Разни (хамски) питаниянови [re: gat3way]  
Автор sysvladi (непознат)
Публикувано21.12.17 09:55



gat3way,
Днес обърнах внимание, че при процеса на cmake се открива липсваща зависимост LibITPP, която не се появява при cmake от master branch-a
Инсталирах libitpp-dev libitpp8, но все още излиза грешка, въпреки че намира бибилиотеката.

/usr/local/include
-- Could NOT find LibITPP (missing: LIBITPP_INCLUDE_DIR)
libitpp found.

Потърсих в кода къде е дефинирано LIBITPP_INCLUDE_DIR
Едно от местата е
gqrx/CMakeLists.txt:139:find_path(LIBITPP_INCLUDE_DIR/itpp itcomm.h
Предполагам, че се търси пътя към този хедър фаил itpp itcomm.h
и самия фаил в /usr/local/include, където намирам други хедъри, но не и търсения.

Би ли проверил при теб дали този хедър файл е наличен.

Редактирано от sysvladi на 21.12.17 10:02.



Тема Re: Разни (хамски) питаниянови [re: sysvladi]  
Автор gat3way (altered mind)
Публикувано22.12.17 00:46



Хм, при мен itpp/itcomm.h е в /usr/include (идващо с libitpp-dev). Тези да не са направили някоя реформа в libitpp техната верица. Както и да е, това не би трябвало да е фатално, libitpp е опционална зависимост, в случай че искаш да анализираш данните в p25 трафика (какъвто така или иначе тук няма). Все пак нямаш ли някъде itcomm.h? Коя версия ти е libitpp-dev?

Що се отнася до libboost-program-options (как мразя boost не е истина, с кеф ще го разкарам това за сметка на доброто старо getopt в чистото C)....все още не мога да разбера откъде се получава това. Да не би да имаш няколко инсталирани версии на пакета (което не е невъзможно - те са си кошмар и съответно и дебианските им зависимости са оформени кошмарно)? Макар че както казваш, master-а си се билдва. Голяма мистерия.

EOF


Тема Re: Разни (хамски) питаниянови [re: sysvladi]  
Автор gat3way (altered mind)
Публикувано22.12.17 01:52



П.П в момента всъщност проучвам да ползвам itpp за разни опити да декодирам контролните съобщения по NXDN трънка, та от това което знам засега е странно да го няма този хедър.....това се води в общи линии "основния" хедър на itpp библиотеката, всички типове и голяма част от класовете им са декларирани там, би било странно ако са го преименували, доста неща ще счупят предполагам...ма знам ли...

EOF


Тема Re: Разни (хамски) питаниянови [re: gat3way]  
Автор Alenadrow (старо куче)
Публикувано22.12.17 19:03



Да докладвам, че на Linux mint 18.3 всичко се билдва и резултата се пуска. Но само толкоз време сколасах да отделя днес, не съм го дори разглеждал подробно, нито пускал в реално действие. Просто ъпгрейднах машината, билднах и само да кажа, че поне при мен всичко изглежда ОК от раз. Някой от тия дни се надявам да разцъкам.

П.П. А ти има ли късмета да си получиш HF+? В "моя" магазин пише, че са ги леко прецакали и ще доставят май чак от началото на януари. Аз не съм поръчвал де - чакам някакво първаначално ревю от теб.



Тема Re: Разни (хамски) питаниянови [re: Alenadrow]  
Автор sysvladi (непознат)
Публикувано22.12.17 20:23



Аlenadrow, за съжаление при мен "одисеята" продължава.



Тема Re: Разни (хамски) питаниянови [re: gat3way]  
Автор sysvladi (непознат)
Публикувано22.12.17 20:34



gat3way, понеже вчера бързах и не съм огледах добре нещата.

1. Днес просто направих символичен линк от /usr/include/itpp към /usr/local/include/itpp :)

2. По отношение на cmake при Could NOT find LibITPP (missing: LIBITPP_INCLUDE_DIR)
След помощ от приятел :), нещата се решиха.

CMakeLists.txt:139

# mbelib (optional dependency)
find_path(LIBITPP_INCLUDE_DIR/itpp itcomm.h
HINTS ${PC_LIBITPP_INCLUDEDIR} ${PC_LIBITPP_INCLUDE_DIRS}
PATH_SUFFIXES libitpp )


При мен вече изглежда така

# mbelib (optional dependency)
find_path(LIBITPP_INCLUDE_DIR itpp itcomm.h
HINTS ${PC_LIBITPP_INCLUDEDIR} ${PC_LIBITPP_INCLUDE_DIRS}
PATH_SUFFIXES libitpp )

3. Наложи се за билдна и инсталирам gnuradio 3.7.11, т.к. експерименталния branch на gqrx при билдването не "харесва" gnuradio 3.7.6, с който работех, нещо му липсваше в хедърите на
gr-analog/include/gnuradio/analog/pwr_squelch_cc.h

4. Излязоха проблеми на:
[ 13%] Building C object src/CMakeFiles/gqrx.dir/dsp/ism433/baseband.c.o
/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/baseband.c: In function ‘baseband_demod_FM’:
/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/baseband.c:133:5: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
for (unsigned n = 0; n < num_samples; n++) {
^
/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/baseband.c:133:5: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code

но ги реших :)

5 .Накрая макар и малък, напредъка е до тук:
[ 11%] Building CXX object src/CMakeFiles/gqrx.dir/applications/gqrx/main.cpp.o
[ 11%] Building CXX object src/CMakeFiles/gqrx.dir/applications/gqrx/mainwindow.cpp.o
[ 11%] Building CXX object src/CMakeFiles/gqrx.dir/applications/gqrx/receiver.cpp.o
[ 12%] Building CXX object src/CMakeFiles/gqrx.dir/applications/gqrx/remote_control_settings.cpp.o
[ 12%] Building CXX object src/CMakeFiles/gqrx.dir/applications/gqrx/remote_control.cpp.o
[ 13%] Building CXX object src/CMakeFiles/gqrx.dir/applications/gqrx/file_resources.cpp.o
[ 13%] Building C object src/CMakeFiles/gqrx.dir/dsp/ism433/baseband.c.o
[ 14%] Building C object src/CMakeFiles/gqrx.dir/dsp/ism433/bitbuffer.c.o
[ 14%] Building C object src/CMakeFiles/gqrx.dir/dsp/ism433/data.c.o
/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/data.c:98:62: error: ‘strdup’ undeclared here (not in a function)
.array_elementwise_import = (array_elementwise_import_fn) strdup,

/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/data.c: In function ‘data_make’:
/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/data.c:217:4: warning: implicit declaration of function ‘strdup’ [-Wimplicit-function-declaration]
format = strdup(va_arg(ap, char*));
^
/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/data.c:217:11: warning: assignment makes pointer from integer without a cast
format = strdup(va_arg(ap, char*));
^
/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/data.c:240:10: warning: assignment makes pointer from integer without a cast
value = strdup(va_arg(ap, char*));
^
/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/data.c:259:16: warning: assignment makes pointer from integer without a cast
current->key = strdup(key);
^
/usr/src/gqrx-sdr/gqrx-experimental/gqrx/src/dsp/ism433/data.c:262:23: warning: assignment makes pointer from integer without a cast
current->pretty_key = strdup(pretty_key ? pretty_key : key);
^
src/CMakeFiles/gqrx.dir/build.make:370: recipe for target 'src/CMakeFiles/gqrx.dir/dsp/ism433/data.c.o' failed
make[2]: *** [src/CMakeFiles/gqrx.dir/dsp/ism433/data.c.o] Error 1
CMakeFiles/Makefile2:124: recipe for target 'src/CMakeFiles/gqrx.dir/all' failed
make[1]: *** [src/CMakeFiles/gqrx.dir/all] Error 2
Makefile:117: recipe for target 'all' failed
make: *** [all] Error 2

Между другото коя версия на gcc ползваш?

Редактирано от sysvladi на 22.12.17 21:42.



Тема Re: Разни (хамски) питаниянови [re: sysvladi]  
Автор Alenadrow (старо куче)
Публикувано22.12.17 21:47



Нямах днес Debian под ръка да пробвам, иначе бих опитал дали ще се получи същото.

Моята "радиолюбителска" машина е доста "чиста" всъщност - имаше си отпреди build essential, билдвал съм туй-онуй, но в общи линии нищо не е пипано "надълбоко", само довабих едно-две липсващи зависимости, които cmake ме наплю, но от дистрибуцията - на ръка не съм компилирал нищо, освен самото gqrx на gat3way. Въпреки че тоя mint не знам и аз за коя поредна година го ъпгрейдвам, то по-скоро нещата са близки до чиста инсталация, поне що се отнася до билд системата.

Ще погледам по виртуалките, които търкалям за някой Debian тия дни, ако попадна на някой чист обещавам да пробвам дали на него ще мине, ако това ще бъде от полза.



Тема Re: Разни (хамски) питаниянови [re: Alenadrow]  
Автор sysvladi (непознат)
Публикувано22.12.17 22:25



Опасявам се, че проблемите при мен се дължат на компилатора, който е gcc version 4.9.2



Тема Re: Разни (хамски) питаниянови [re: sysvladi]  
Автор gat3way (altered mind)
Публикувано23.12.17 01:43



Аз също съм на дебиан (наскоро ъпдейтван от jessie на stretch - не си падам по cutting edge неща много).

Апропо, ще ви зарадвам. ITPP е ВЕЛИКА библиотека и спестява много работа. В резултат на това само за един ден, вече имам (почти) работещо декодиране на NXDN type-C трънк канала:



Още парсване му трябва, но важното е че работи коректно. Моите зли планове да накарам gqrx да следва разговори от трънка може и да се сбъднат. Само трябва да си поговоря с някой разбиращ от тези неща, защото не ми е изобщо ясно какви са бандплановете и как се връзват каналите с реалните честоти.

P.S сега разбирам защо няма и опънсорс декодери (поне доколкото знам DSD+ не е отворен). Спецификацията е грешна. Добре че имам все пак известно вземане-даване с криптография, хаха. Всичкият трафик по NXDN се криптира с поточен шифър, ползващ прост LFSR с 9 регистъра. Началното състояние (ключът) е публично известен и описан в документацията. Полиномът (т.е как се клоква шифърът - кои регистри се xor-ват с кои) - също е описан при това коректно. Според това което са писали обаче, началното състояние трябва да е 0xE4...ма не е, 0x154 е. Не знам на какво се дължи тази разлика, имах теория че за всеки бит изход генерират и изход от шифъра, без значение дали ще го ползват (LICH байтовете в началото на фрейма по спецификация не се криптират)....обаче не е това, проиграх го това и не излиза. Не знам откъде е разминаването. Според мен просто са си оплескали документа без да искат.

Това беше много хубава задача, която ми потроши няколко нощи. Добре че са дали тест вектори пичовете, че да схвана какво не е наред. Другото което не беше наред беше че бях тафнал някакъв viterbi декодер дето не работеше много добре поради някаква незнайна причина. Този проблем libitpp го реши наготово (там има наготово viterbi с punctured codes, дори deinterleaving-а реших с тяхната библиотека да го правя вместо на ръка, голям кеф и мързел).

PS2 друго, което ме дразни (ама не знам дали е добре да дълбая в тази посока) - NXDN48 филтъра в DSD кода е доста тесен, в смисъл достатъчно тесен че скапания RTL-SDR при пускане, в рамките на минута и нещо докато загрее, да му дрифт-не осцилатора дотолкова, че да не може да се декодира вече нищо. С Airspy (а вероятно и с по-новите RTL-чета от rtl-sdr.com магазина) няма такива проблеми. Ама "разширяването" на bandpass-а на филтъра в dsd кода би било голяма свинщина предвид каква свинщина е текущата му имплементация....така че засега ще го оставя. Ако попречи много на бъдещите планове да карам gqrx да следва разговори вече ще си помисля.

PS3 - нямам още и CRC проверки, т.е разчитам че на по-ранна фаза, някъде някое флагче ще е грешно и тем подобни евристични глупутки, които работят добре ако имаш силен сигнал, но се счупват при слаб. Проблемът е много дразнещ. Лесно е да напишеш CRC функция при даден полином. Ама е дразнещо да го правиш когато не е на гранулярност байтове, а битове деба. А при NXDN много го обичат това - контролните съобщения никога не са кратни на 8 бита. За капак ползват няколко различни CRC алгоритъма - за 6-битова и за 12-битова сума, за да има разнообразие. Ама ще се погрижа за това. Така че в последния commit - всички crc глупости в кода абсолютно не се ползват, а те вероятно и не работят половината, защото разчитат на вход - байтове. Много дразнещо това, ма ще се оправим.

Редактирано от gat3way на 23.12.17 03:01.




Страници по тази тема: 1 | 2 | 3 | 4 | (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.