реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Вопросы по DTMF/DSP/алгоритму Герцеля, Вопросы от начинающего программиста DSP
fontp
сообщение Oct 13 2013, 11:10
Сообщение #16


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (fant @ Oct 9 2013, 17:08) *
to fontp

Если у Вас есть два файла, оцифровки СM7291, просим выложить их на сервер. Описание тестов есть [attachment=80006:DSA_802980.pdf



Выложил оцифровку, которой мы пользовались десять лет назад в одной международной корпорации.
upload\dsp\dtmf\*
Только не спрашивайте меня, как этим пользоваться. Лучше смотрите на командник test.bat и разберитесь сами,
а не я буду за вас разбираться rolleyes.gif Невозможно все помнить, что было назад 10 лет.
Go to the top of the page
 
+Quote Post
Sudar1977
сообщение Nov 7 2013, 11:13
Сообщение #17





Группа: Новичок
Сообщений: 1
Регистрация: 6-05-10
Пользователь №: 57 109



Это была моя первая серьезная задача (10 лет назад).
Реализовывал на ADSP-2185, как указано в chpter 8 Digital Tone Detection. Прикрепленный файл  Chapter_8.pdf ( 109.95 килобайт ) Кол-во скачиваний: 369

Наткнулся на ограничение вычислительной мощности, т.к. хватало всего на 6-7 каналов вместо 30. Усовершенствовал алгоритм добавив накопление (один буфер копим, другой обсчитываем). В итоге получилось 30 каналов и еще предварительный анализ о наличии цифры. Устройство работает на сети.
Была еще задача с АОН, челнок и пр.
Go to the top of the page
 
+Quote Post
megadocent
сообщение Jun 10 2014, 07:32
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 20-11-09
Из: Пермь
Пользователь №: 53 747



Ух, что нашел. rolleyes.gif
Краткие итоги.
TMS320C6726 позволил одновременно обрабатывать 120 каналов, считать мощности в каналах, детектировать DTMF, производить анализ импульсного набора + анализ 425Гц. Плюс еще что-то делать по мелочи. Уперся скорее в пропускную способность DMA и объем памяти (Работал с буфером, а не по мере поступления отсчетов), чем в производительность процессора.

Из интересного вспоминается, как очень резко удалось поднять производительность развернув циклы.
Вместо
Код
    while (i<BUFSIZE)
    {
        x2 = x1;
        x1 = x;        
        x  = shortaddr[i++] + f_coef*x1 - x2;
    }
    return (x2*x2 + x*x - f_coef*x2*x);


использовал одновременный расчет 3 отсчетов.
Компилятор гораздо лучше смог оптимизировать это дело. За счет этого раза в 2, что-ли, скорость повысилась.

Код
    while (i<BUFSIZE)
    {
        x  = shortaddr[i++] + f_coef*x1 - x2;
        x2 = shortaddr[i++] + f_coef*x  - x1;
        x1 = shortaddr[i++] + f_coef*x2 - x;
    }
    x  = shortaddr[i++] + f_coef*x1 - x2;
    x2 = shortaddr[i++] + f_coef*x  - x1;
    return (x2*x2 + x*x - f_coef*x2*x);
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 03:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016