Автор |
Сообщение |
|
Дата: 16 Авг 2016 07:23:22
#
horizon, опередил. Да, через gnuradio и gr-paint.
Коллеги, кто-нибудь пробовал собрать векторный измеритель импеданса? По софту как-то очень скупо.
|
|
Дата: 03 Авг 2017 14:20:34 · Поправил: DVE (03 Авг 2017 20:44:59)
#
|
Реклама Google
|
|
|
Дата: 04 Авг 2017 00:32:45
#
Подскажите кто в теме, есть ли смысл брать B210 сейчас, или что-то поновее есть?
Мое мнение - берите лучше LimeSDR и горя знать не будете. Он лучше хотя бы потому, что на борту присутствует буферная память, которой нет у B210 и без которой скоростные потоки по USB3 гонять просто нереально.
Из личных достижений на Lime - одновременно два канала полосой по 50 МГц.
|
|
Дата: 04 Авг 2017 11:24:40
#
Спасибо, подумаю. Я бы и купил LimeSDR, но это ж как неуловимый Джо, их опять нигде в наличии нет и будут только после 30 сентября.
|
|
Дата: 25 Апр 2019 06:11:51
#
We are LUOWAVE SDR electronics, a manufacturer of USRP from China. Friends in need can browse our website and buy it directly on AliExpress. Our website is en.luowave.com.
|
|
Дата: 21 Ноя 2019 12:13:54 · Поправил: Redoutable (21 Ноя 2019 12:28:17)
#
Народ, терзаю тут плату USRP B210.
Запустил несколько прилагающихся примеров, написал пару программулек на их основе.
За основу взял примеры rx_samples_to_file.cpp и rx_multi_samples.cpp
Все, вроде бы ничего. Работает, вроде адекватно.
Теперь пытаюсь заставить работать сразу 2-е платы B210 в пределах одного класса uhd::usrp::multi_usrp.
Но пока получается достучаться только до 1-го устройства.
Действую я так:
+ Если выполнить:
// --args="type=b200" или --args="serial0=31BR156,serial1=31BR15C"
uhd::device_addrs_t dev_addrs = uhd::device::find (args, uhd::device::USRP);
for (int dev = 0; dev < dev_addrs.size (); dev++)
{
std::cout << dev_addrs.at (dev).to_string () << "\n";
}
выдается:
type = b200, name = 3000501960086, serial = 31BR156, product = B210
type = b200, name = 3000501960092, serial = 31BR15C, product = B210 // т.е. плат просматривается 2-е
+ далее выполняем:
usrp = uhd::usrp::multi_usrp::make (args);
std::cout << "get_num_mboards = " << usrp->get_num_mboards () << "\n";
но получаем:
get_num_mboards = 1 // ??????????????????? а ожидалось то 2 !!!!!!!!!!!!!!!!!
+ и далее пробуем:
// --subdev="A:A A:B"
usrp->set_rx_subdev_spec (subdev, 0); // выполняется
usrp->set_rx_subdev_spec (subdev, 1); // выдает ошибку:
Error: LookupError: IndexError: multi_usrp::mb_root(1) - LookupError: IndexError: multi_usrp::mb_root(1) - path not found
У кого какие мысли по данному поводу? |
|
Дата: 21 Ноя 2019 14:03:44 · Поправил: iliyav (21 Ноя 2019 14:05:13)
#
Как я помню
uhd::usrp::multi_usrp::make
предназначен для создания одного экземпляра драйвера,
так что его надо вызывать дважды с двумя разными аргументами
один раз с "serial=31BR156"
второй раз с "serial1=31BR15C"
Мы это использовали чтобы на одной машине с двумя USRP B210 запустить две отдельные программы привязав каждую к определенному USRP. Наверно в пределах одно программы нужно поступать так же.
Вообще вопросы лучше задавать на англоязычном форуме, например
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
предварительно поискав в нем ответы на свои вопросы. Часто там действительно отвечают. |
|
Дата: 22 Ноя 2019 00:16:15 · Поправил: Redoutable (22 Ноя 2019 00:18:53)
#
Сказанное вами противоречит документации (правда на X310 USRP):
Предположим, что мы объединили 2 X310 USRP в один multi_usrp, используя приведенную выше адресную строку, возможно, используя следующую команду:
uhd::device_addr_t args ("addr0=192.168.10.2,addr1=192.168.20.2");
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make (args);
Некоторые команды uhd::usrp::multi_usrp требуют передачи индекса устройства. Это просто индекс в списке адресов, поэтому скажем, мы хотим проверить главную тактовую частоту на обоих устройствах, это было бы действительно:
double mcr0 = usrp->get_master_clock_rate (0);
double mcr1 = usrp->get_master_clock_rate (1);
Некоторые методы по умолчанию применяются ко всем устройствам, поэтому следующая команда установит нулевое время на всех устройствах:
usrp->set_time_next_pps (uhd::time_spec_t (0));
Таким образом, индексы устройств выполняются от 0 до N-1, где N - количество устройств.
Каналы индексируются аналогичным образом. Индексы каналов выполняются от 0 до M-1, где M - общее количество каналов на всех устройствах.
Количество и порядок каналов на устройство зависит от спецификации Subdevice. В данном примере предположим, что все X310 USRP используют стандартную конфигурацию, и все они имеют две дочерние платы.
В этом случае каналы 0 и 1 отображаются в слот A и B первого USRP соответственно. Каналы 2 и 3 отображаются на слоты A и B второго USRP и т.д.
Однако, изменяя спецификацию subdev на отдельных устройствах, это может измениться. Скажи, что у нас есть необычный код:
usrp->set_rx_subdev_spec ("A:0 B:0", 0);
usrp->set_rx_subdev_spec ("A:0", 1);
usrp->set_rx_subdev_spec ("B:0 A:0", 2);
|
|
Дата: 22 Янв 2021 11:43:22
#
Доброго времени суток. Можно ли где-то скачать уже скомпилированный драйвер UHD для USRP B200mini или только один вариант самому компилить из исходников?
|