| Автор |
Съобщение |
|
perro_iv
Ранг: Новодошъл
Регистриран на: Вто Авг 23, 2005 10:36 am Мнения: 156 Местоположение: Казанлък
|
 10 бита - смотана работа ...
Налага ми се да извършвам математическа обработка на даннита от АЦП - то и то в момента на обработката на приемания сигнал. Само че с тия 10 битови данни нащата се усложняват при 8 - битовата архитектура, или искам да кажа, че ми е нужен по-кратък алгоритъм. Не се сещам, как да може да се преобразува или свие 10 битовия резултат в 8 битов.
|
| Чет Дек 29, 2005 12:35 am |
|
 |
|
Balkana
Ранг: Популярен
Регистриран на: Чет Дек 01, 2005 10:42 pm Мнения: 301
|
Най-бруталното, бързо и лесно е просто да изрежеш двата младши бита на резултата и да използваш останалите като за 8-битов резултат. Така 10-битовото ти АЦП става на 8-битово. Остава сам да прецениш може ли приложението ти да се лиши от тези 2 бита точност.
|
| Чет Дек 29, 2005 12:40 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
Ами да, това е варианта, аз по добър не знам, но тогава прост губиш точност, предполагам не мислиш че може да минеш от 10 на 8 при същата точност. Ако е PIC четеш старшите, 1 команда, CCS си има настройка в хедър файла с коко бтово ADC да работи. Какв толкова сметки ще правиш че те мъчи 16 биово число?
|
| Чет Дек 29, 2005 12:47 am |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
А може и да извършиш няколко измервания - примерно 4 или 8
сумираш двубайтово и с 2 (3) шифта делиш на 4 (8) - така става някакво осредняване.
Пак си имаш 1 байт, но е средното на няколко мерения....
4 ( 8 ) съм написал, а ми излиза усмивка??
|
| Чет Дек 29, 2005 5:59 pm |
|
 |
|
perro_iv
Ранг: Новодошъл
Регистриран на: Вто Авг 23, 2005 10:36 am Мнения: 156 Местоположение: Казанлък
|
Много ми хареса бруталното решение. Не ми и беше минало през ума. Сега разбрах защо позволяват дясна и лява ориентация на резултата. Точноста не ме бърка понеже формата на сигнала не се променя.
Идеята на Wise ми се въртеше в главата. По този начин във всъщност се следи първата производна, което би намерило доста приложения.
thanks ...
|
| Пет Дек 30, 2005 10:42 pm |
|
 |
|
NikB
Ранг: Почетен член
Регистриран на: Съб Сеп 25, 2004 10:32 pm Мнения: 710
|
 Може вече да съм забравил математиката :)
Може вече да съм забравил математиката  , но не виждам как като сумираш (т.е. интегрираш) и осредняваш стигна до първата производна
Първата производна е разликата от два съседни отчета, разделени на времето между тях.
Впрочем, мисля че и цялата идея със 10 битово събиране и делене на (броя събираеми по 4) е доста фалшива, защото никаква информация от младшите битове няма да стигне до резултата.
С други думу: ако ще осредняваш, едно и също е, дали ще сумираш 10 битовия резултат или 8 битовия (разбира се, и в двата случея ще трябва да се грижиш за преносите).
|
| Съб Дек 31, 2005 3:18 pm |
|
 |
|
perro_iv
Ранг: Новодошъл
Регистриран на: Вто Авг 23, 2005 10:36 am Мнения: 156 Местоположение: Казанлък
|
Аз нещо съм се омотал.
Във всъщност исках да кажа следното:
Ако се извърши изваждане на предходния резултат от текущия се намира нарастването на функцията за периода между двете измервания, което ти дава информация за скороста на изменение за дадения интервал (първа производна).
Когато скороста на нарастване не е голяма, съотнесено към периода между два отчета, резултатът може да се вмъкне в осемте бита, без загуба на точност.
Конкретните стойности зависят от честотата на дискретизация и честотния спектър на с-ла.
|
| Нед Яну 01, 2006 12:54 pm |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
да, това е най-простата компресия, мисля че се казваше делта модулация.
|
| Нед Яну 01, 2006 6:33 pm |
|
|