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

 
 
 
Reply to this topicStart new topic
> преобразование массива комплексных 16-ти битных отсчетов в массив комплексных 32-битных отсчетов (проверялось на TMS320C6416)
qxov
сообщение Apr 13 2007, 09:26
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 22-03-07
Из: Санкт-Петербург
Пользователь №: 26 406



Порой бывает необходимо. В принципе, задача не сложная. Данная версия работает несколько быстрее, чем будучи написанная "в лоб". Как всегда, пожелания и комментарии буду рад видеть.

Код
// Вход: int inputSamples[nSamps], inputSamples[i]=_pack2(imag[i], real[i])
// Результат: int expandedSamples[2*nSamps], expandedSamples[2*i]=real[i], expandedSamples[2*i+1]=imag[i]
inline void expandSamples(int *inputSamples, int *expandedSamples, int nSamps)
{
    // Здесь можно добавить #pragma MUST_ITERATE с подходящими значениями, смотреть надо по месту
    for(int i=0;i<nSamps/2;i++)
    {
        int input1=inputSamples[i];
        int sign1=_shr2(input1,15);
        expandedSamples[2*i]=_pack2(sign1,input1);
        expandedSamples[2*i+1]=_packh2(sign1,input1);

        int input2=inputSamples[i+nSamps/2];
        expandedSamples[2*i+nSamps]=_ext(input2,16,16);
        expandedSamples[2*i+1+nSamps]=input2>>16;      
    }
}
Go to the top of the page
 
+Quote Post
qxov
сообщение Apr 13 2007, 18:10
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 22-03-07
Из: Санкт-Петербург
Пользователь №: 26 406



Если работать с памятью с помощью amemd8 получаем ускорение примерно на 5% по сравнению с этим вариантом...
Go to the top of the page
 
+Quote Post
qxov
сообщение May 18 2007, 08:29
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 22-03-07
Из: Санкт-Петербург
Пользователь №: 26 406



Позор мне =)

for(int i=0;i<nSamps;i++)
_amemd8(&expandedSamples[2*i])=_mpy2(_amem4_const(&inputSamples[i]),0x00010001);
Go to the top of the page
 
+Quote Post
partsun
сообщение May 31 2007, 07:42
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 24-04-07
Пользователь №: 27 276



А у ВАС нет примерчиков работы со временем (типа сравнения таймер дошёл или нет, сложения времЁн, вычитание, и всё такое )
Go to the top of the page
 
+Quote Post
qxov
сообщение Jun 6 2007, 11:24
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 22-03-07
Из: Санкт-Петербург
Пользователь №: 26 406



Цитата(partsun @ May 31 2007, 11:42) *
А у ВАС нет примерчиков работы со временем (типа сравнения таймер дошёл или нет, сложения времЁн, вычитание, и всё такое )

Не совсем понимаю вопрос, если честно
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:44
Рейтинг@Mail.ru


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