Jump to content

    

stealth-coder

Участник
  • Content Count

    118
  • Joined

  • Last visited

Everything posted by stealth-coder


  1. Новый TDA4VM от Texas Instruments отладочную плату imx8m + 2803s - это, кстати, не отладочная плата, а готовый модуль для установки на свою плату. Судя по описанию, производитель предоставляет поддержку: To help expedite the development process, customers will be provided access to an SDK featuring drivers, prebuilt libraries, API for easy software integration, pretrained Convolutional Neural Network models and sample source code.
  2. Если используется выравнивание скорости (rate matching, применяется, например, в WCDMA и LTE), то может быть и 1 бит выброшен, и 10, и 100. Под восстановлением ТС имеет ввиду, вероятно, вставку удаленных бит, обычно с нулевым значением, без этой процедуры декодировать, понятно, не получится.
  3. Можно в "столбик" поделить, возможно это будет быстрее. Пример есть в sprp530.pdf a = (denom << normal) & 0x7fff0000; b = 0x80000000; /* dividend = 1 */ for(i = 15; i > 0; i--) b = _subc(b,a); b = b & 0x7fff; expn = (Int32) normal - 15;
  4. Так об этом в test report написано: Single precision: 816 (N=128) 1481 (N=256) Integer (32 bit): 801 (N=128) 1457 (N=256) Integer (16 bit): 454 (N=128) 743 (N=256)
  5. Порылся в загашнике, предлагают первичное обнаружение делать по энергии, а уже потом переходить к корреляциям. При таком подходе вычислительной мощности должно хватить, ещё останется. eth-30122-02.pdf
  6. При правильно настроенном кэше L1 вижу разницу в 1-2%. Всё, что требует рандомного доступа (обычно перемежитель), обязательно размещать в L2. Пользовался библиотечными FFT, комплексные и вещественные фильтры, быстрое копирование, различия на уровне стат. погрешностей. Также неплохо пользоваться "здравым смыслом". Например, в OFDM эквалайзере использовал плавающую точку, но ограничился точностью вычисления 1/Х в 16 бит (одна итерация Ньютона-Рафсона), оказалось достаточно и стало настолько быстро, что даже с фиксированной точкой не стал заморачиваться, хотя даже нашёл пример реализации для WiMax (см. вложение). sprp530.pdf
  7. Смысл в разработке под сигнальник без интринсиков вообще не ясен, ИМХО в этом самый цимес. Тем более, что можно основную фазу разработки провести в какой-нибудь комфортной визуал студии, используя программную эмуляцию интринсиков. Во сколько раз можно ускориться - сильно зависит от задачи и того, с чем сравнивается. Для типовых задач ЦОС обычно вполне реально. Ну и не следует пренебрегать библиотеками от техаса, тоже неплохо написаны. По поводу 30 МГц - бабка надвое сказала, downlink или uplink LTE 20 МГц с аппаратными сопроцессорами турбо и витерби обрабатывается без проблем одним ядром, т.е. сильно зависит от задачи. Если задачу можно распараллелить на много маленьких то да, в противном случае толку либо никакого, либо результаты сравнимы. Габариты, куча высокоскоростных интерфейсов прямо на СоКе без необходимости дополнительных сетевых адаптеров и мостов, аппаратные сопроцессоры декодеров, FFT, RAKE. Т.е. опять все упирается в решаемую задачу. И такое положение вещей было, в общем-то, всегда, чистая вычислительная мощность сигнальников была примерно равна процессорам от интела и амд, наличие специнструкций компенсировало более низкую тактовую (речь про задачи ЦОС, конечно).
  8. Расчет FIR фильтров с помощью БПФ и оконных функций реализован в библиотеке Intel IPP. Есть возможность скомпилировать свою кастомную DLL, включив в нее только требуемые функции. По деньгам - есть какие-то варианты ее бесплатного использования, почитайте на сайте интела.
  9. 1. Разнесенный прием: корреляционным способом определяется фаза одного и того же сигнала с каждой антенны с последующим синфазным сложением сигналов со всех антенн, максимальный выигрыш от сложения с 4 антенн 6 дБ. 2. Фазовый пеленгатор: зная взаимное расположение антенн в пространстве и фазу сигнала с каждой антенны можно получить засечку (оценку направления на источник излучения), усредняя засечки вычисляется пеленг.
  10. Умножаете текущий отсчет на комплексно-сопряженный предыдущий (для случая оцифровки один отсчет на посылку), для перехода к жестким решениям (битам) в случае BPSK взять знак действительной части, QPSK - знаки действительной и мнимой. Для случая N отсчетов на посылку нужно выбрать максимально эффективную точку, это можно сделать усреднив мощность отсчетов на некотором промежутке, выбрав каждый 1-вый, каждый 2-ой, ..., каждый N-ный отсчет и взяв те отсчеты, где усредненная мощность максимальна. Конечно, это очень примитивный метод и даже в идеальных условиях он проигрывает 3 дБ когерентному из-за того, что перемножаются 2 искаженных шумом отсчета. Алгоритм предполагает кратность частоты оцифровки скорости манипуляции.
  11. Не забывайте о пик-факторе, который в общем случае для OFDM составляет 10-12 дБ, а если модулирующий сигнал не рандомизирован, то и значительно больше...
  12. Не совсем по теме, но работать с конкретно этими трансиверами лучше на низкой промежуточной частоте при наличии вычислительных мощностей, т.е. сдвигать в ноль и дофильтровывать силами FPGA/DSP/... с целью эффективной борьбы с постоянной составляющей.
  13. Можно построить код Рида-Маллера с декодером на основе быстрого преобразования Уолша-Адамара, такой декодер, будучи блочным, может работать на честных мягких решениях без алгоритмов вроде Чейза. Пример: код Рида-Маллера (32, 10), используемый для кодирования бит TFCI в 3G (UMTS). Информации в интернете полно, например погуглите патент US20140169273A1.
  14. Если вы что-то там не нашли означает что этого нет? Я не буду рыться в стандарте и искать, мне это не нужно, вы задали вопрос и я вам подсказал что в других стандартах этого же разработчика конкретные величины EVM указаны, из этого можно сделать предположение что они указаны и для DMR. При том что без настроенного аналогового приемо-передающего тракта радиосвязи не будет совсем или будет на небольшой дальности. Передающего. В сторону уменьшения для достижения заданных требований. Резко уменьшится дальность радиосвязи. Когда сами разберетесь, тогда и будете делать выводы.
  15. Предельные требования обычно в стандарте указаны, по крайней мере для 2G/3G/4G есть, т.к. DMR тоже ETSI, то в каких-нибудь "MS requirements" надо искать. Зачем оно понятно - это требования к настройке аналогового тракта, который, в отличие от цифры, от экземпляра к экземпляру отличается.
  16. Любая инженерно-техническая задача начинается с расчета (оценки), исходя из расчета выбираются пути реализации. Если вам подходит стандартный БПФ, то он есть в примерах CUDA, можете скачать, поставить, запустить и посмотреть на цифры. В вашем конкретном случае может это и так, не зная подробностей задачи и железа и не посмотрев в код ничего внятного сказать нельзя. Но меня жизнь научила, что в 90% случаев "дело не в бобине". Раз производители делают PCIe на много линий, значит железо в состоянии их утилизировать, т.е. для современной видеокарты скорости обмена в десятки гигабит в секунду - нормальный режим работы.
  17. GPU предусматривают 2 режима обмена данными - синхронный и асинхронный. Скорость копирования в асинхронном режиме ограничивается только скоростью памяти хоста и карточки и скоростью PCIe, со скоростью 15 Гбит/с на мощном железе не должно возникнуть проблем, такую скорость дает PCIe Gen 2 x4, для DDR 1600 МГц/64 бита это вообще ни о чем. В задаче ТС больше вопросов может возникнуть к карточке, скорость вычислений сильно зависит, например, от разрядности шины. Вообще информация по FLOP для разных карточек есть в интернете, для БПФ сделать оценку требуемой производительности не составляет труда.
  18. С практической точки зрения повторение конца символа как раз и позволяет снизить требования к точности синхронизации, в таком случае при наличии временнОй ошибки на выходе БПФ все поднесущие будут повёрнуты на некоторый угол, линейно зависящий от величины ошибки и индекса поднесущей. Если вы заполните циклический префикс чем-нибудь другим, то поднесущие будут искажены, а не просто повернуты на какой-то угол. Искажения спектра, порождаемые разрывом фазы между символами, приводят к появлению внеполосных помех, которые должны быть подавлены фильтром передатчика. Также существуют методы плавного снижения мощности на переходе.
  19. Зависит от решаемой задачи: 1. Есть RF ADC, у них встроенные дециматоры, иногда программируемые FIR. Например, ADC32RF45. 2. Есть малогабаритные трансиверы типа AD9361, AD9364, AD9371, AD9375, LMS6002, LMS7002, на вход подаётся аналоговый сигнал на РЧ, на выходе - отфильтрованные IQ отсчёты с заданной частотой дискретизации. 3. Собственная или покупная реализация на FPGA, тут уж без ограничений, "дороха, бохато". 4. Есть очень интересная серия сигнальников от TI 66AK2L06/TCI6630 с встроенным Digital Front End, идея отличная - прямое подключение АЦП/ЦАП по интерфейсу JESD204B с последующей расфильтровкой до 48 каналов в зависимости от требуемых полос, но доступен только RFSDK с ограниченным набором конфигураций, заточенных под 3G/4G, остальных на форуме посылают в некие фирмы, которые осуществляют поддержку, естественно не бесплатно.
  20. Как вам по числу 345 понять из каких слагаемых я его получил? Очевидно только угадыванием. По всей видимости восстанавливать ничего не нужно и эти биты четности участвуют в процессе итеративного декодирования каким-то иным образом.
  21. Частота и фаза отражают одно и то же, математически связаны между собой как производная и первообразная (фазовая и частотная модуляция имеют общее название угловая модуляция), поэтому амплитуду-фазу можно визуализировать через фазовую плоскость (если развернуть во времени - будет глазковая диаграмма), амплитуду-частоту через амплитудный спектр, а изобразить вместе нельзя как нельзя нарисовать на листе бумаги монету с двух сторон сразу в виде единого рисунка. На ваши идеи с 3-х мерной комплексной переменной смотреть забавно, но IMHO вы форумом ошиблись, перебирайтесь к математикам поближе.
  22. Ну так разместите этот микрофон максимально близко к пассажирам :) Если речь о попытке создать некий аналог фазированной антенной решетки, то с одним микрофоном это физически невозможно, нужно хотя бы 2 микрофона, тогда можно сформировать диаграмму направленности 180 градусов, 4 микрофона - 90 градусов и т.д. Или поместите микрофон внутрь параболического зеркала (пример условный, просто демонстрация идеи).
  23. 1. За 1 такт ПЛИС у вас накапливается несколько отсчётов сигнала? Я не плисовод, но что-то когда-то где-то читал об однотактных реализациях умножений/сложений за счёт распараллеливания, быстрого переноса и т.п. Подозреваю, что таким образом можно реализовать коррелятор с временем вычисления 1-2 такта. 2. Частота дискретизации не выше тактовой ПЛИС, а ожидаемая форма импульса прямоугольная? В таком случае вопрос можно свести к интегрированию (суммированию) отсчётов на заданном промежутке, по приходу очередного отсчёта из суммы вычитаете самый первый отсчёт в линии задержки, прибавляете вновь полученный отсчёт. 3. Задержка при вычислениях важна? Если нет, то можно сделать коррелятор в виде конвейера, результат будет вычисляться за один такт, только с задержкой в N тактов.