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

 
 
 
Reply to this topicStart new topic
> Цифровая обработка сигналов на PIC32
Jevys
сообщение Feb 9 2010, 05:58
Сообщение #1





Группа: Участник
Сообщений: 6
Регистрация: 26-04-06
Пользователь №: 16 503



Осваиваю PIC32, общее впечатление хорошее - микроконтроллер мощный. Одна из основных задач PIC32 в данном проекте - цифровая обработка сигналов, в частности расчет среднеквадртичного значения.
Вопрос в использовании стандартных фунций предлагаемых в С32, а именно вычисления суммы квадратов mips_vec_sum_squares32. Эта функция возвращает 32-битное значение типа INT, причем похоже, что только старшую половину 64 битного регистра умножителя-накопителя. В результате если операнды, возводимые в квдрат, небольшие по значению, то результат теряется. Если операнды путем сдвига перед выполнением функции приводить к 32 битному значению, то и в этом случае будет потеря точности. Например, при обработке 24 битных данных их квадрат будет 48-битным, а функция возвращает, как уже говорилось, только 32 битное значение, а если из него взять квадратный корень то останется всего то 16 битное значение. Что делать? Разбираться в системе команд MIPS не хочется - думаю что всю часть проекта вполне удастся реализовать на Си.
Go to the top of the page
 
+Quote Post
VCO
сообщение Mar 13 2010, 12:03
Сообщение #2


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



Цитата(Jevys @ Feb 9 2010, 08:58) *
Что делать? Разбираться в системе команд MIPS не хочется - думаю что всю часть проекта вполне удастся реализовать на Си.

Делать ассемблерную вставку, реализующую необходимую Вам операцию так, как Вам надо. Осваиваем PIC32 уже почти год - несколько раз помогало.
Встречный вопрос: неужели PIC32 самый подходящий процессор для ЦОС?


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
Jevys
сообщение Mar 15 2010, 14:29
Сообщение #3





Группа: Участник
Сообщений: 6
Регистрация: 26-04-06
Пользователь №: 16 503



Конечно по производительности PIC32 проигрывает DSP, но не так уж и много. Особенно там, где получается использовать предложенные Микрочипом функции. В нашем случае производительности вполне хватает. А в плюс идут мощная периферия, высокая производительность в задачах с плавающей запятой, удобная среда разработки.
Go to the top of the page
 
+Quote Post
SAR
сообщение Mar 28 2010, 13:06
Сообщение #4


Участник
*

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



Цитата(Jevys @ Feb 9 2010, 08:58) *
частности расчет среднеквадртичного значения.
***
а если из него взять квадратный корень то останется всего то 16 битное значение. Что делать?


Для такой сложной функции как извлечение квадратного корня из суммы квадратов - есть очень простое алгоритмическое решение - CORDIC. Применимо для операндов абсолютно любой разрядности, и почти не требует операций умножения и деления.
Go to the top of the page
 
+Quote Post

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

 


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


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