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

 
 
> Как сдвинуть все элементы массива на 1, Оптимизация этого процесса
azh
сообщение Dec 21 2007, 11:31
Сообщение #1


Участник
*

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



Здравствуйте!

Кто-нибудь знает как можно оптимизировать сдвиг элементов массива на 1 (для Blackfin):
-------------------------------------------------------------------
void AddSample(short pBuffer[], short sValue, int nSize)
{
int i;
for (i = 1; i < nSize; i++)
{
pBuffer[nSize - i] = pBuffer[nSize - i - 1];
}
pBuffer[0] = sValue;
}
--------------------------------------------------------------------
Как-нибудь можно для этого использовать кольцевые буфферы или DMA память-память?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dxp
сообщение Dec 21 2007, 11:57
Сообщение #2


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(azh @ Dec 21 2007, 17:31) *
Кто-нибудь знает как можно оптимизировать сдвиг элементов массива на 1 (для Blackfin):
-------------------------------------------------------------------
void AddSample(short pBuffer[], short sValue, int nSize)
{
int i;
for (i = 1; i < nSize; i++)
{
pBuffer[nSize - i] = pBuffer[nSize - i - 1];
}
pBuffer[0] = sValue;
}
--------------------------------------------------------------------
Как-нибудь можно для этого использовать кольцевые буфферы или DMA память-память?

В этом процессоре (как и в любом приличном DSP) есть аппаратная поддержка кольцевых буферов, где требуемая функциональность реализуется аппаратно. Фтыкать доку на тему DAGs (Data Address Generators). Не уверен только, что требуемого результата можно добиться на ЯВУ, скорее всего придется реализовывать на асме.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- azh   Как сдвинуть все элементы массива на 1   Dec 21 2007, 11:31
- - rezident   А может проще ничего не двигать, а лишь модифициро...   Dec 21 2007, 11:45
|- - fontp   Цитата(dxp @ Dec 21 2007, 14:57) В этом п...   Dec 21 2007, 12:06
- - dtsar   Цитата(azh @ Dec 21 2007, 14:31) Здравств...   Dec 21 2007, 18:16
|- - azh   Спасибо за ответы! В help к VDSP++ написано, ...   Dec 21 2007, 18:40
|- - fontp   Цитата(azh @ Dec 21 2007, 21:40) Спасибо ...   Dec 22 2007, 10:26
- - rezident   А зачем вообще нужно сдвигать буфер? Почему нельзя...   Dec 21 2007, 22:37
|- - shasik   Цитата(rezident @ Dec 22 2007, 00:37) А з...   Dec 22 2007, 06:20
- - azh   На самом деле, сдвиг всех элементов массива это то...   Dec 22 2007, 11:19
|- - fontp   Цитата(azh @ Dec 22 2007, 14:19) На самом...   Dec 22 2007, 12:52
- - azh   Большое спасибо за разъяснения! Действительно,...   Dec 22 2007, 13:58
- - vadkudr   Осталось добавить, что ДПФ сдвинутой по кольцу пос...   Jan 5 2008, 04:48
|- - Николай Z   Цитата(dxp @ Dec 21 2007, 14:57) Не увере...   Jan 5 2008, 08:32
|- - dxp   Цитата(Николай Z @ Jan 5 2008, 14:32) Вы ...   Jan 5 2008, 10:11
||- - Николай Z   Цитата(dxp @ Jan 5 2008, 13:11) P.S. Може...   Jan 5 2008, 10:32
||- - Edmundo   Цитата(Николай Z @ Jan 5 2008, 13:32) Да ...   Jan 5 2008, 15:39
|- - TSerg   Цитата(Николай Z @ Jan 5 2008, 11:32) Вы ...   Jan 14 2008, 11:14
|- - Николай Z   Цитата(TSerg @ Jan 14 2008, 14:14) Кольце...   Jan 14 2008, 13:52
- - fontp   Если речь идёт о скользящем ДПФ для немногих гармо...   Jan 6 2008, 13:15
- - alexander55   Цитата(fontp @ Jan 6 2008, 16:15) S(n) = ...   Jan 14 2008, 10:46


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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 08:12
Рейтинг@Mail.ru


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