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

 
 
> Как сдвинуть все элементы массива на 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
Ответов
vadkudr
сообщение Jan 5 2008, 04:48
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 20-11-07
Пользователь №: 32 502



Осталось добавить, что ДПФ сдвинутой по кольцу последовательности равен ДПФ несдвинутой умноженной на exp(-j*2*pi/N*n*k)
k - пробегает 0..N-1
n - величина сдвига
N - длина последовательности
:-)
Go to the top of the page
 
+Quote Post
Николай Z
сообщение Jan 5 2008, 08:32
Сообщение #3


Местный
***

Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930



Цитата(dxp @ Dec 21 2007, 14:57) *
Не уверен только, что требуемого результата можно добиться на ЯВУ, скорее всего придется реализовывать на асме.

Вы видимо ярый ненавистник ЯВУ... biggrin.gif
На самом деле все что можно написать на ассемблере - можно написать и на любом ЯВУ причем совершенно необязательно с потерей эффективности, но зато намного структурнее и понятнее.


Цитата(vadkudr @ Jan 5 2008, 07:48) *
Осталось добавить, что ДПФ сдвинутой по кольцу последовательности равен ДПФ несдвинутой умноженной на exp(-j*2*pi/N*n*k)
k - пробегает 0..N-1
n - величина сдвига
N - длина последовательности
:-)

Вы незаметили что у товарища вовсе не сдвиг по кольцу,
а вот что:
Цитата(azh @ Dec 22 2007, 14:19) *
Вся задача выглядит так:
1. Добавить очередной отчет с АЦП в буффер (на место первого элемента буффера, при этом все остальные элементы сдвинуть на 1, и последний "вытолкнуть" из буффера)
2. Посчитать ДПФ для этого буффера

и после каждого сдвига и добавления вся последовательность изменяется.

Сообщение отредактировал Николай Z - Jan 5 2008, 08:35
Go to the top of the page
 
+Quote Post
dxp
сообщение Jan 5 2008, 10:11
Сообщение #4


Adept
******

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



Цитата(Николай Z @ Jan 5 2008, 14:32) *
Вы видимо ярый ненавистник ЯВУ... biggrin.gif

Сия фраза ясно указывает, что либо: 1) вы ничего про меня не знаете; 2) вы просто провокатор. Второе с вероятностью 0.99. Впрочем, все уже знают, что это у вас работа такая. Меня зацепить не удастся, т.ч. направляйте усилия на более наивных участников. biggrin.gif

Цитата(Николай Z @ Jan 5 2008, 14:32) *
На самом деле все что можно написать на ассемблере - можно написать и на любом ЯВУ причем совершенно необязательно с потерей эффективности, но зато намного структурнее и понятнее.

Написана очевидная глупость. На самом деле на некоторых ЯВУ (как правило С/C++) можно иногда написать без потери эффективности по сравнению с асмом, но достигается это в подавляющем большинстве случаев за счет специальных непереносимых расширений конкретного ЯВУ в части конкретной платформы. Могу с легостью привести пример для того же Blackfin'а, где асм даст преимущество ЯВУ, но не буду этого делать - вступать в спор с виртуалами куда бОльшая глупость, нежели вышеотквоченная фраза. biggrin.gif Т.ч. цепляйте кого-нить другого. счастливо оставаться.

P.S. Можете и дальше (это уже второй случай) искать мои старые посты и пытаться меня вытащить на дискуссию, но сразу предупреждаю, этого вам не удастся. Меняйте тактику. wink.gif


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Николай Z
сообщение Jan 5 2008, 10:32
Сообщение #5


Местный
***

Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930



Цитата(dxp @ Jan 5 2008, 13:11) *
P.S. Можете и дальше (это уже второй случай) искать мои старые посты и пытаться меня вытащить на дискуссию, но сразу предупреждаю, этого вам не удастся. Меняйте тактику. wink.gif

Да не нужны Вы мне ни для какой дискусии - это просто попутное замечание по сути сказанного Вами... biggrin.gif
Не обольщайтесь...

Сообщение отредактировал Николай Z - Jan 5 2008, 10:36
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- azh   Как сдвинуть все элементы массива на 1   Dec 21 2007, 11:31
- - rezident   А может проще ничего не двигать, а лишь модифициро...   Dec 21 2007, 11:45
- - dxp   Цитата(azh @ Dec 21 2007, 17:31) Кто-нибу...   Dec 21 2007, 11:57
|- - 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
||- - 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 Текстовая версия Сейчас: 11th August 2025 - 17:15
Рейтинг@Mail.ru


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