Перейти к содержанию

    

aser

Свой
  • Публикаций

    221
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о aser

  • Звание
    Местный

Контакты

  • Сайт
    http://kanyevsky.kpi.ua
  • ICQ
    0

Информация

  • Город
    Украина
  1. В вокодерах период основного тона измеряют путем построения графика автокорреляционной функции и измерения расстояния между соседними пиками.
  2. Модель такая: два процесса дают присваивание одному сложному, но наверное, разрешенному (resolved) сигналу. Причем в 1 процессе драйвера части сигнала - нет, а в другом процеессе - нет дайвера дополненной части сигнала. Точнее - им драйверы есть, но симулятор должен, согласно VHDLref, подключать туда дефолтное значение. Так что правильные симуляторы дают в результате "Х". А должны были дать U. Мораль- надо в каждом процессе присваивать всем элементам сложного объекта какие-то внятные значения.
  3. RapidIO в ArriaV что-то неправильно работает на передачу. Может, что-то недопрограммировано? Есть ли где-то заводской пример включения RapidIO? Посоветуйте.
  4. Похоже, вопрос не как лаконично, а как правильно. Как правильно - здесь: http://www.emodel.org.ua/images/em/36-6/Sergienko.pdf
  5. Для обработки речи что ДПФ, что БПФ - всё едино, т.к. любой микропроцессор успевает. Например, в телефонном вокодере по 200 выборкам делают автокорреляцию, по автокорреляции строят АР-фильтр, через фильтр пропускают синусоиды разной частоты, выбирают синусоиды, на которые фильтр хорошо окликается и делают интерполяцию частоты речевого сигнала. На все это и многое другое типа вычисление периода основного тона, подбор сигнала возбуждения тратится всего 20 млн.оп./с.
  6. Цитата(count_enable @ Feb 18 2016, 11:18) Корень посчитаю кордиком, сумму аккумулятором, а вот как быть с квадратом разницы? Если кордиком - так лучше и сам модуль вектора считать кордиком. Это больше десятка тактов. А если считать на DSP48, то и корень лучше считать быстро. Например, как в: http://kanyevsky.kpi.ua/GEN_MODUL/SQRT/index.php
  7. Здесь показано, как строить генератор с нормальным распределением: http://kanyevsky.kpi.ua/fpgadesign/dsp_rab1r.html
  8. Цитатакак правильно посчитать мощность во всей полосе Значит, у сигнала есть полоса [F1,F2] В эту полосу входят бины B1,...,Bn полученного FFT. Тогда мощность в данной полосе равна: K*SUMi=1n(ReBi^2 + ImBi^2), где К - усиление входного временного окна. (Имеется в виду, что напряжение на АЦП подается на нагрузочный резистор 1 Ом, тогда мощность - в ваттах)
  9. ЦитатаХочется выделить основную гармонику (цифровым фильтром) и измерить программно её частоту с точностью 0,01 Гц. Что я могу: С помощью ДПФ посчитать амплитуду основной гармоники. С помощью БПФ посчитать амплитуды всех гармоник. С помощью цифрового фильтра выделить полосу около 50 Гц и получить отфильтрованную выборку из 64-х точек. Когда-то в 1993г. такую задачу решал для измерения токов в рельсах метро на контроллере 8051 на частотах 50, 75, 125 ... Гц. Решалась просто: сигнал умножался на косинус, синус 50 Гц и накапливался как скользящее среднее. Результат - как фильтрация узким фильтром. Если сигнал строго =50 Гц. то выходной сигнал - постоянная, если 49 Гц - вых. сигнал 1 Гц, если 51 Гц - сигнал 1 Гц, но крутящийся в противоположную сторону. И т.п. Соответственно, если на выходе синусоида с периодом 100 сек. то сигнал 50,01 Гц.
  10. Инициализация нужна всегда, если в схеме или алгоритме есть обратная связь. Тот же счетчик: это сумматор с регистром и обратной связью. Если не инициализировать, то его состояние в данный момент - непредсказуемо, т.е. "Х". Схема SRL16 построена вокруг LUT и поэтому может быть инициализирована из файла прошивки типа: signal SRL_Vect: std_logic_vector(0 to 15):=x"ABCD"; и SRL16 тоже не будет работать предсказуемо, если будут обратные связи, но не будет инициализации, например, в схеме LSFR.
  11. Как тестировать БИХ фильтры в VHDL - это тут: http://kanyevsky.kpi.ua/useful_core/testbe...for_filter.html и тут: http://kanyevsky.kpi.ua/useful_core/filter_tb.zip
  12. Ключ, как правило, подается как 64-разрядное число, в котором каждый 8-й бит - бит четности. Биты четности не принимаются во внимание при шифровании. Поэтому в натуре ключ 56-битовый. Ключ используется для создания 16 различных 48-битных подключей, каждый для отдельного этапа шифрования.
  13. Вот здесь http://kanyevsky.kpi.ua/fpgadesign/dsp_rab2rus.html есть простые формулы расчета и объяснение фазовых фильтров
  14. Перестраиваемый режекторный фильтр описан здесь: Regalіa P., Mіtra S.K., Vaіdyanathan P.P. The Dіgіtal All-Pass Fіlter: A Versatіle Sіgnal Processіng Buіldіng Block // Proc. ІEEE. -1988. -V.76. -№1. - p.19 - 37. Есть перевод в ТИИЭР. Суть: выход фазового фильтра складывается со входом - на частоте поворота на 180 град. сигнал полностью подавляется.
  15. Для фильтров период тактовой частоты зависит от критического пути от одного регистра до другого. Если фильтр рекурсивный и за 1 такт обрабатывается 1 отсчет, то такой крит. путь будет довольно длинный. Тогда разрядность арифметики мало влияет на критический путь - межсоединения съедают бОльшую долю задержки. Если фильтр 10-го порядка, то разрядность нужна порядка 20, а тогда у фильтров что 16-разрядных, что 24-разрядных задержки сумматоров отличаются незначительно. Влияет, если используются умножители. Тогда при переходе с 18 разрядов на 20 крит. путь может удвоиться.