Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AVR для геофизики / гидроакустики
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2
AndreyMS
Народ, кто пробовал применять AVR для геофизичесих / гидроакустических приложениий? Поделитесь нароботками. help.gif Или может AVR для этого не хватит? Там задача примерно следующая: проFIRить сигнал с частотой 1 kSPS и разрядностью 24 bit фильтром вроде того, что в прикреплении (выдран из промышленной сейсмостанции, построеной на 80386).
_artem_
На этой страничке для фильтра 8 порядка указано 41 циклов для одного порядка FIR фильтра при частоте 16 МГц что дает возможность 48к самплов в секунду .
http://atmel.com/dyn/resources/prod_documents/doc2527.pdf

код здесь
http://atmel.com/dyn/resources/prod_documents/AVR223.zip

но надо проверить
AndreyMS
Этот фильтр в данном контексте - фигня angry.gif . Нужен фильтр типа того, что в прикреплении - из дофига двухбайтных коэфициентов. И еще: код желателно компилящийся безплатными инструментами, все-таки гос. предприятие, на коммерческие денег нет, еле наскребли на 1 копию W2k.
Stanislav
Цитата(AndreyMS @ Jan 12 2006, 22:05) *
Этот фильтр в данном контексте - фигня angry.gif . Нужен фильтр типа того, что в прикреплении - из дофига двухбайтных коэфициентов. И еще: код желателно компилящийся безплатными инструментами, все-таки гос. предприятие, на коммерческие денег нет, еле наскребли на 1 копию W2k.
Простите, если не совсем понимаю суть происходящего, но, по-моему, Вы собираетесь решать задачу заведомо негодными средствами. Ну не предназначен AVR для обработки сигнала, да еще такой разрядности, в реальном времени. Стоит задуматься о применении иной платформы. Я бы предложил ARM, если на DSP деньги тратить не хочется (впрочем, и другие варианты возможны). И не нужно говорить, что копеечная LPC-шка обойдется на 5 копеек дороже копеечной AVR-ки. Это несерьезный подход к серьезной задаче. Как вы уже правильно заметили, разрядность процессора должна соответствовать разрядности самых вычислительно напряженных операций. Соблюдение этого требования в задачах сигнальной обработки реального времени - обязательно.
mse
Цитата
Ну не предназначен AVR для обработки сигнала, да еще такой разрядности, в реальном времени.

Отчего-ж. 24Х16 - 28тактов. Значить 32-33 такта на МАС, ~2мкс. 100-tap FIR как с куста при 1ксемпл. ещё с запасом
Stanislav
Цитата(mse @ Jan 12 2006, 22:35) *
Цитата
Ну не предназначен AVR для обработки сигнала, да еще такой разрядности, в реальном времени.

Отчего-ж. 24Х16 - 28тактов. Значить 32-33 такта на МАС, ~2мкс. 100-tap FIR как с куста при 1ксемпл. ещё с запасом
Боюсь, что Вы имеете неправильное представление о всех операциях, требуемых для получения хотя бы одного выходного отсчета КИХ-фильтра, отсюда и неправильность Вашей калькуляции. Но дело даже не в этом. Выполнение разработки с "вылизыванием" всех ресурсов - крайне порочный подход, не оставляющий возможностей ее развития в дальнейшем. Останется только путь переделки, со сменой платформы, средств разработки, специалистов и т.д. Что, в конечном итоге, обернется куда бОльшими затратами (или "загибанием" всей темы, а может статься, и предприятия).
mse
Цитата
Боюсь, что Вы имеете неправильное представление о всех операциях, требуемых для получения хотя бы одного выходного отсчета КИХ-фильтра, отсюда и неправильность Вашей калькуляции.

Не бойтесь ;О) Как раз на АВР(м48@16VUw) реализован переключаемый полосовой фильтр на 200 тапов(22р коэффициенты, ессно, 10р данные). И всго-то $3 за всё-про всё с обвязкой.
Stanislav
Цитата(mse @ Jan 12 2006, 23:23) *
Цитата
Боюсь, что Вы имеете неправильное представление о всех операциях, требуемых для получения хотя бы одного выходного отсчета КИХ-фильтра, отсюда и неправильность Вашей калькуляции.

Не бойтесь ;О) Как раз на АВР(м48@16VUw) реализован переключаемый полосовой фильтр на 200 тапов(22р коэффициенты, ессно, 10р данные). И всго-то $3 за всё-про всё с обвязкой.
Вы условие еще раз прочтите. При чем здесь Ваши 10 разрядов? Кроме того, в условии есть также несоответствие разрядности данных и к-тов фильтра. Да и у Вас ерунда какая-то.
_artem_
Цитата(AndreyMS @ Jan 12 2006, 21:05) *
Этот фильтр в данном контексте - фигня angry.gif . Нужен фильтр типа того, что в прикреплении - из дофига двухбайтных коэфициентов. И еще: код желателно компилящийся безплатными инструментами, все-таки гос. предприятие, на коммерческие денег нет, еле наскребли на 1 копию W2k.



Я же не предлагаю использовать тот фильтр приведенный в ссылке. Я хотел указать вам на расчет производительности сделанный атмелом для FIR фильтра для определения количества ресурсов на порядок а вам остается его умножить на порядок вашего фильтра не так ли?

Во вторых , зачем гневаться если вам код не подходит и вам неохота этот код под бесплатный компайлер менять - у меня вроде бы с вами котракта на поставку бесплатноого кода нет.)

П.С. Насчет АРМ или АВР , лучше конечно все брать с запасом даже если АВР сможет перелопатить этот объем, свободная мошность никогда не помешает .
mse
Цитата
Кроме того, в условии есть также несоответствие разрядности данных и к-тов фильтра. Да и у Вас ерунда какая-то.

Интересно, какое должно быть соответствие данных и коэффициентов? И в каком месте у меня ерунда? ;О)
ЗЫ 24х24 выполняется за 45 тактов, значить МАС будет под 60тактов. Не смертельное увеличение. Особенно, если ИХ фильтра симметричная.
Stanislav
Цитата(mse @ Jan 13 2006, 00:11) *
Цитата
Кроме того, в условии есть также несоответствие разрядности данных и к-тов фильтра. Да и у Вас ерунда какая-то.

Интересно, какое должно быть соответствие данных и коэффициентов?
Разрядность к-тов фильтра должна быть такой, чтобы не слишком ухудшать отношение С/Ш в интересующей полосе частот сигнала на выходе фильтра. Для хороших 24-х разрядных сигма-дельта АЦП это отношение может превышать 120 dBFS во всей рабочей полосе. При фильтрации "идеальным" КИХ-фильтром такой длины (140-й порядок, если не ошибся), и с такой полосой, каковы приведены в условии, реально получить на выходе >140 dBFS. В то же время, 16-разрядное представление к-тов может существенно ухудшить этот показатель, т.к. фильтр "нагребет" помех и шумов вне полосы пропускания, из-за того, что его внеполосное подавление будет недостаточным по причине усеченной точности представления к-тов.

Цитата(mse @ Jan 13 2006, 00:11) *
И в каком месте у меня ерунда? ;О)
У Вас же имеет место быть противоположная ситуация - разрядность к-тов явно избыточна, что приводит к лишним вычислениям. На мой взгляд, 16-ти разрядного представления к-тов для 200-го порядка при разрядности данных, равной 10, вполне достаточно, т.к.16-разрядной точности выходных данных от 10-битного АЦП Вы все равно не получите.

Цитата(mse @ Jan 13 2006, 00:11) *
ЗЫ 24х24 выполняется за 45 тактов, значить МАС будет под 60тактов. Не смертельное увеличение. Особенно, если ИХ фильтра симметричная.
Ваша методика расчета кол-ва операций способна меня удивить, ей-богу (если Вы ее, конечно, обнародуете). Мне все же кажется, что лучше вернуться к предмету обсуждения данной темы.
_artem_
Требуемая разрядность аккумулятора при 16 битовых коэффициентах (в соответствии со статьей)
16 + 24 + лог(141)/2 ~ 44 битов . Кстати коэффициенты из фильтра не превышают 16 битовый результат.

естественно что при умножении коэффициентов на входной сигнал (в статье 16 на 16) 16 * 24 нам требуется 6 операций 8 битного умножения против 4-х в статье и соответственно увеличится количество складываний . Думаю что если брать грубо то при 16 на 24 раскладе в самом худшем случае количество тактов на порядок КИХ фильтра может увеличиться в два раза по сравнению с данными приведенными в статье .

Если так то статья уыказывает что FIR 8 порядка реализуется со скоростью 48 кило самплов . В нашем случе если разрядность увеличивается то максимальная скорость снизится до 24 килосамплов . Так как требуемый фильтр - 140 порядка то 140 / 8 = ~18 раз то есть количество операций для 140-го порядка должно быть в 18 раз больше чем для фильтра 8 порядка , а это в свою очередь приводит к 24 / 18 = 1.3 килосамплов , что вроде бы предварительно удовлетворяет условиям поставленной задачи . Но много чего может вылезти в процессе проектирования .

Прошу указать на ошибки.
AndreyMS
Цитата(Stanislav @ Jan 12 2006, 22:20) *
Простите, если не совсем понимаю суть происходящего, но, по-моему, Вы собираетесь решать задачу заведомо негодными средствами. Ну не предназначен AVR для обработки сигнала, да еще такой разрядности, в реальном времени. Стоит задуматься о применении иной платформы. Я бы предложил ARM, если на DSP деньги тратить не хочется (впрочем, и другие варианты возможны). И не нужно говорить, что копеечная LPC-шка обойдется на 5 копеек дороже копеечной AVR-ки. Это несерьезный подход к серьезной задаче. Как вы уже правильно заметили, разрядность процессора должна соответствовать разрядности самых вычислительно напряженных операций. Соблюдение этого требования в задачах сигнальной обработки реального времени - обязательно.

Я бы ARM или DSP использовал, если бы нашел таковой либо в корпусе DIP, либо в конструктиве вроде CRUMB128, а то какой-нибудь FBGA-512 с межвыводным рассоянием 0,4 мм распаять ручками невозможно. Подскажите, может плохо искал?
Stanislav
Цитата(_artem_ @ Jan 13 2006, 02:27) *
Требуемая разрядность аккумулятора при 16 битовых коэффициентах (в соответствии со статьей)
16 + 24 + лог(141)/2 ~ 44 битов . Кстати коэффициенты из фильтра не превышают 16 битовый результат.

естественно что при умножении коэффициентов на входной сигнал (в статье 16 на 16) 16 * 24 нам требуется 6 операций 8 битного умножения против 4-х в статье и соответственно увеличится количество складываний . Думаю что если брать грубо то при 16 на 24 раскладе в самом худшем случае количество тактов на порядок КИХ фильтра может увеличиться в два раза по сравнению с данными приведенными в статье .

Если так то статья уыказывает что FIR 8 порядка реализуется со скоростью 48 кило самплов . В нашем случе если разрядность увеличивается то максимальная скорость снизится до 24 килосамплов . Так как требуемый фильтр - 140 порядка то 140 / 8 = ~18 раз то есть количество операций для 140-го порядка должно быть в 18 раз больше чем для фильтра 8 порядка , а это в свою очередь приводит к 24 / 18 = 1.3 килосамплов , что вроде бы предварительно удовлетворяет условиям поставленной задачи . Но много чего может вылезти в процессе проектирования .

Прошу указать на ошибки.
Повторяю: учтите все операции (в т.ч. связанные с вводом-выводом данных и их буферизацией). СамомУ считать лень, но уверен, что возникнет "напряженка".
mse
Цитата
Разрядность к-тов фильтра должна быть такой, чтобы не слишком ухудшать отношение С/Ш в интересующей полосе частот сигнала на выходе фильтра

Толково! Это как это? Соотношение С/Ш фильтр(FIR) способен уменьшить, либо на 0...1LSB, при усечении МАС, либо на 0...0,5LSB, при округлении. Во всей полосе. До Fs/2. И разрядность коэффициентов здесь ни при чём. Потренируйтесь на ФИР с коэффициентами 0х40,0х40,0х40,0х40. Или 1,1,1,1.
Может быть, конечно, вы имели в виду что-то из: "подавление в полосе заграждения", "неравномерность в полосе пропускания/заграждения", или ещё какой параметер АЧХ? ;О) Тут да, есть о чём поговорить.
Цитата
В то же время, 16-разрядное представление к-тов может существенно ухудшить этот показатель, т.к. фильтр "нагребет" помех и шумов вне полосы пропускания, из-за того, что его внеполосное подавление будет недостаточным по причине усеченной точности представления к-тов

Мил человек, нчего он не нагребёт свыше того, что там уже есть(см выше). ;О) Если мне нужно от фильтра "не хуже -10ДБ в полосе заграждения", и 8р коэффициенты(!) этому условию удовлетворяют, то на размерность данных можно и нужно забить. И точность с шумом не пострадают, поверьте, проверено электроникой. ;О) С/Ш, конечно упадёт. На 1/2LSB в полосе до..., бо я обычно округляю.
Цитата
У Вас же имеет место быть противоположная ситуация - разрядность к-тов явно избыточна, что приводит к лишним вычислениям.

Да нет. ;О) тут, как раз, вы не правы. Тоже проверено электроникой. Бо это были узкие BPF с максимально-возможной узкостью и подавлением, где не надо. И разницца с 20р коэффициентами была видна совершенно невооружённым взглядом. Тем более, что всё равно, умножение 16Х24, какая разница? На 16р коэффициентах там ваще смотреть было не на что, так что множить приходилось на 24.
Цитата
Ваша методика расчета кол-ва операций способна меня удивить, ей-богу (если Вы ее, конечно, обнародуете).

Лехко. Возьмём за основу мой текст FIR с беньчьчморков Сахары
http://www.caxapa.ru/benchmarks/source?23
Что мы там видим? Накладные на циклический буфер и загрузку коэфф./данных. Считаем. 18 тактов. Для 24Х24 поимеем, соотвецтвенно, 23. Остаёцца МАС. 45 на умножение, 7 на суммирование. 75 тактов. Ошибся, ошибся, с кем не бывает. Простите, люди. ;О) Итого на м48@20MHZ имеем меньше 4мкС на тап(со знаковыми величинами будет на копеечку больше). Пусть их 100, итого 400мкС на фильтер. Пусть их 200. Итого 800мкс на фильтер. Оставшиеся с 1мС 600 или 200мкс - курим. А это ни много-ни мало 12000 и 4000 тактов соответственно. Если-же подойти к коэффициентам и тапам творчески, то размерность того и другого вполне может упасть. А если задацца симметричной ИХ, то размер фильтера упадёт вдвое. Курим больше.
Замечу, мы говорим о МК ценой меньше бакса. В розницу. Жрущего 10-15мА на этой задаче. И занимающено 1см^2 на плате.
dxp
Цитата(AndreyMS @ Jan 13 2006, 13:30) *
Я бы ARM или DSP использовал, если бы нашел таковой либо в корпусе DIP, либо в конструктиве вроде CRUMB128, а то какой-нибудь FBGA-512 с межвыводным рассоянием 0,4 мм распаять ручками невозможно. Подскажите, может плохо искал?

Означенные чипы бывают и QFP корпусах, которые без проблем паяются руками (паяльником, без печек и станций). А про DIP лучше даже не вспоминать - это осталось в прошлом.
Petka
у вас фильтр 141 тап. на отсчёт т.е. всего 141*1000=141000 операций умножения и сложения в секунду, думаю AVR с такой задачей справится без проблемм. при частоте 14Мгц, получается около 100 тактов на умножение и сложение и выборку с хранением =) хватит за глаза и за уши =). тока как только этот фильтр вас перестанет устраивать что то более мудрёное вы вряд ли сможете на АВРке сделать. придётся всё целиком менять и процессор и среду разработки и железо - ВСЁ. так что может сразу заложитесь на нечто более мощное?
mse
Цитата
у вас фильтр 141 тап. на отсчёт т.е. всего...

Ну да. Только коэффициенты 16р. Знаковая арифметика. Значит, будет ещё быстрее, чем я предполагал.
Без извратов, на 20МГц, м48 будет большую половину времени околачивать. На 14 - меньшую. С извратами - на 10, большую. ;О)
Stanislav
Цитата(mse @ Jan 13 2006, 10:51) *
Цитата
Разрядность к-тов фильтра должна быть такой, чтобы не слишком ухудшать отношение С/Ш в интересующей полосе частот сигнала на выходе фильтра

Толково! Это как это? Соотношение С/Ш фильтр(FIR) способен уменьшить, либо на 0...1LSB, при усечении МАС, либо на 0...0,5LSB, при округлении. Во всей полосе. До Fs/2. И разрядность коэффициентов здесь ни при чём. Потренируйтесь на ФИР с коэффициентами 0х40,0х40,0х40,0х40. Или 1,1,1,1.
Пожалуйста, не нужно давать глупых советов.

Я имел в виду ухудшение С/Ш после прореживания, хотя, в условии этого и нет. При сохранении частоты выдачи данных, действительно, ухудшения С/Ш в интересующей полосе не будет.

Цитата(mse @ Jan 13 2006, 10:51) *
Может быть, конечно, вы имели в виду что-то из: "подавление в полосе заграждения", "неравномерность в полосе пропускания/заграждения", или ещё какой параметер АЧХ? ;О) Тут да, есть о чём поговорить.
Говорить здесь не о чем, все написано выше.

Цитата(mse @ Jan 13 2006, 10:51) *
Цитата
В то же время, 16-разрядное представление к-тов может существенно ухудшить этот показатель, т.к. фильтр "нагребет" помех и шумов вне полосы пропускания, из-за того, что его внеполосное подавление будет недостаточным по причине усеченной точности представления к-тов

Мил человек, нчего он не нагребёт свыше того, что там уже есть(см выше). ;О) Если мне нужно от фильтра "не хуже -10ДБ в полосе заграждения", и 8р коэффициенты(!) этому условию удовлетворяют, то на размерность данных можно и нужно забить. И точность с шумом не пострадают, поверьте, проверено электроникой. ;О) С/Ш, конечно упадёт. На 1/2LSB в полосе до..., бо я обычно округляю.
Повторюсь: я имел в виду возможность прореживания, поэтому и написал "может ухудшить", а не "определенно ухудшит".

Цитата(mse @ Jan 13 2006, 10:51) *
Цитата
У Вас же имеет место быть противоположная ситуация - разрядность к-тов явно избыточна, что приводит к лишним вычислениям.
Да нет. ;О) тут, как раз, вы не правы. Тоже проверено электроникой. Бо это были узкие BPF с максимально-возможной узкостью и подавлением, где не надо. И разницца с 20р коэффициентами была видна совершенно невооружённым взглядом. Тем более, что всё равно, умножение 16Х24, какая разница? На 16р коэффициентах там ваще смотреть было не на что, так что множить приходилось на 24.
Какой смысл делать подавление, значительно превышающее точность представления (и разрешающую способность) выходных данных? Или Вы забыли, что у Вас АЦП - 10 разрядов?

Цитата(mse @ Jan 13 2006, 10:51) *
Цитата
Ваша методика расчета кол-ва операций способна меня удивить, ей-богу (если Вы ее, конечно, обнародуете).

Лехко. Возьмём за основу мой текст FIR с беньчьчморков Сахары
http://www.caxapa.ru/benchmarks/source?23
Что мы там видим? Накладные на циклический буфер и загрузку коэфф./данных. Считаем. 18 тактов. Для 24Х24 поимеем, соотвецтвенно, 23. Остаёцца МАС. 45 на умножение, 7 на суммирование. 75 тактов. Ошибся, ошибся, с кем не бывает. Простите, люди. ;О) Итого на м48@20MHZ имеем меньше 4мкС на тап(со знаковыми величинами будет на копеечку больше). Пусть их 100, итого 400мкС на фильтер. Пусть их 200. Итого 800мкс на фильтер. Оставшиеся с 1мС 600 или 200мкс - курим. А это ни много-ни мало 12000 и 4000 тактов соответственно. Если-же подойти к коэффициентам и тапам творчески, то размерность того и другого вполне может упасть. А если задацца симметричной ИХ, то размер фильтера упадёт вдвое. Курим больше.
Ваш "подсчет" количества операций продолжает тяжко болеть. Когда назовете реальную цифру (с учетом ввода-вывода и буферизации 24-х разрядных чисел), я Вам свистну.
Цитата(mse @ Jan 13 2006, 10:51) *
Замечу, мы говорим о МК ценой меньше бакса. В розницу. Жрущего 10-15мА на этой задаче. И занимающено 1см^2 на плате.
Это какой же такой МК Вы предлагаете использовать? Учтите, что Ваши задачи в контексте этой темы меня совершенно не интересуют.
Stanislav
Цитата(AndreyMS @ Jan 13 2006, 10:30) *
Я бы ARM или DSP использовал, если бы нашел таковой либо в корпусе DIP, либо в конструктиве вроде CRUMB128, а то какой-нибудь FBGA-512 с межвыводным рассоянием 0,4 мм распаять ручками невозможно. Подскажите, может плохо искал?
Посмотрите внимательно у Atmel и Philips. Насколько мне известно, их ARMы - самые дешевые из доставабельных (напр.младшие LPC-шки стоят меньше 100р в розницу). Паять их действительно можно ручками, соблюдая, впрочем, некоторую аккуратность. Бесплатных средств разработки также предостаточно (попробуйте задать вопрос в разделе, посвященном ARM - Вас там ими по уши засыпят).

И еще. Ошибки, допущенные на начальной стадии проектирования, обходятся дороже всего. Поэтому, приступать к исполнению нужно только после тщательной проработки и оценки самОй концепции устройства.
mse
Цитата
Пожалуйста, не нужно давать глупых советов.
Цитата
Я имел в виду ухудшение С/Ш после прореживания, хотя, в условии этого и нет.

Это вполне умный совет, кстати. И что имеете в виду, тоже надо бы писать сразу. Насчёт падения СШ при прореживании, я, чего-то слабо понял, с какого ему падать? Во всех сигмах-дельтах не падает, а тут вдруг упадёт. Пойду поучу матчасть. ;О)
Цитата
Какой смысл делать подавление, значительно превышающее точность представления (и разрешающую способность) выходных данных? Или Вы забыли, что у Вас АЦП - 10 разрядов?

Нет, не забыл. ;О) В силу поределённых обстоятельств, мне надо было ещё и усилить сигнал. Фильтром. Повторюсь, Разница на 20 и 22 разрядах была явная.
Цитата
Ваш "подсчет" количества операций продолжает тяжко болеть. Когда назовете реальную цифру (с учетом ввода-вывода и буферизации 24-х разрядных чисел), я Вам свистну.

В каком месте он тяжко болеет? ;О) Какой вам нужен процедур обретения-вывода данных? Хоть по SPI, хоть по UART, главное, 1мС на выборку. Потратить 10-20-30 тактов на чтение ИО портов и столько-же на запись. Поясните, что имеете в виду... Зарядку кольцевого буфера? Чтение указателя, запись с автоинкрементом, проверка на границу, если выход, загрузка адреса начала буфера, запоминание указателя. Чего там военного? В исходнике ФИР он почти в этом виде и реализован и займёт около 10-15 тактов.
Цитата
Это какой же такой МК Вы предлагаете использовать?
Atmega48
Цитата
Учтите, что Ваши задачи в контексте этой темы меня совершенно не волнуют.
Приплыли. ;О) Я вообще-то не столько для вас распинаюсь, сколько для вопрошающего. Его, думаю, это и волнует в первую очередь.
Stanislav
Цитата(mse @ Jan 13 2006, 15:42) *
...Насчёт падения СШ при прореживании, я, чего-то слабо понял, с какого ему падать? Во всех сигмах-дельтах не падает, а тут вдруг упадёт. Пойду поучу матчасть. ;О)
В сигма-дельтах точность представления к-тов выше, чем выходных данных, кроме того, сигма-дельта - несколько из другой оперы.

Чтобы Вам было понятнее падение С/Ш, представьте себе слабый полезный сигнал и мощную внеполосную помеху. При малой точности представления к-тов помеха в общем случае пролезет в информационную часть спектра после прореживания.

Цитата(mse @ Jan 13 2006, 15:42) *
Цитата
Какой смысл делать подавление, значительно превышающее точность представления (и разрешающую способность) выходных данных? Или Вы забыли, что у Вас АЦП - 10 разрядов?

Нет, не забыл. ;О) В силу поределённых обстоятельств, мне надо было ещё и усилить сигнал. Фильтром. Повторюсь, Разница на 20 и 22 разрядах была явная.
Усиления на 16 можно достичь путем сдвига результата вычислений на 4 бита влево, благо запасные биты будут иметься и при 16-разрядном представлении к-тов фильтра.

Цитата(mse @ Jan 13 2006, 15:42) *
Цитата
Ваш "подсчет" количества операций продолжает тяжко болеть. Когда назовете реальную цифру (с учетом ввода-вывода и буферизации 24-х разрядных чисел), я Вам свистну.
В каком месте он тяжко болеет? ;О) Какой вам нужен процедур обретения-вывода данных? Хоть по SPI, хоть по UART, главное, 1мС на выборку.
SPI.

Цитата(mse @ Jan 13 2006, 15:42) *
...Потратить 10-20-30 тактов на чтение ИО портов и столько-же на запись. Поясните, что имеете в виду... Зарядку кольцевого буфера? Чтение указателя, запись с автоинкрементом, проверка на границу, если выход, загрузка адреса начала буфера, запоминание указателя. Чего там военного?
Ну, вот и хорошо, вместо гаданий посчитайте аккуратно.

Цитата(mse @ Jan 13 2006, 15:42) *
Цитата
Это какой же такой МК Вы предлагаете использовать?
Atmega48
И где это Вы видели ATmega48 меньше доллара в розницу?
mse
Цитата
В сигма-дельтах точность представления к-тов выше, чем выходных данных, кроме того, сигма-дельта - несколько из другой оперы.
Чтобы Вам было понятнее падение С/Ш, представьте себе слабый полезный сигнал и мощную внеполосную помеху. При малой точности представления к-тов помеха в общем случае пролезет в информационную часть спектра после прореживания.

В С-Д стоит задача утоптать внеполосный шум впыль. У человека задача может быть совсем другая, например, фильтровать в минимально возможной полосе, в ущерб подавлению вне полосы.
Насчёт сигнала и помехи: У нас это УЖЕ в цифре. Помеха и сигнал. И если при децимации мы придушим полезное, то это уже не проблема коэффициентов.
Цитата
Усиления на 16 можно достичь путем сдвига результата вычислений на 4 бита влево, благо запасные биты будут иметься и при 16-разрядном представлении к-тов фильтра

Запросто. А я решил съэкономить время на сдвиг. Мне это ничего не стоило. ;О)
Цитата
SPI.

И что? Есть какая-то проблема? ;О) По таймерному 1мС прерыванию запускаем АЦП, в СПИшном прерывании грузим результат в кольцевой буфер, по завершению загрузки, старт проц. ФИР. По завершению ФИР, сквозь любой канал выбрасываем. Суммарные накладные расходы - те самые 10-30 тактов. Не пойму, где криминал? ;О)
Цитата
Ну, вот и хорошо, вместо гаданий посчитайте аккуратно.
Приехали-2 ;О) Куда уж аккуратнее. Ладно, повторю. ;О) 75 тактов на тап, 200 тап, 15000 тактов. +30, ну ладно, 100 тактов накладных расходов. 15100. 755мкС@20MHz. 245мкС личного времени. Или 4900 циклов ОСЦ.
У мужика реально, 16р signed коэффициенты(А данные-то 24р!!! ;О). Значит, на умножение 32 такта(24s*16s). На обслугу остаётся 21+7 такт. Итого, 60 тактов. 141 тап. 8460 циклов на ФИР. 423мкС@20MHz. Ну пусть 500мкС на всё-про всё. ;О) Свободного времени - 10000 тактов. 50% запас. Хочь так ешь, хошь на хлеб намазывай.
Тщательно посчитано?
Цитата
где это Вы видели ATmega48 меньше доллара в розницу?

ЭФО. $0.95. "Оптом - дешевле". ;О)
Stanislav
Цитата(mse @ Jan 13 2006, 17:02) *
В С-Д стоит задача утоптать внеполосный шум впыль. У человека задача может быть совсем другая, например, фильтровать в минимально возможной полосе, в ущерб подавлению вне полосы...
Удосужьтесь посмотреть на к-ты фильтра и убедиться в обратном.

Цитата(mse @ Jan 13 2006, 17:02) *
Насчёт сигнала и помехи: У нас это УЖЕ в цифре. Помеха и сигнал. И если при децимации мы придушим полезное, то это уже не проблема коэффициентов.
Именно проблема точности вычислений в фильтре. А в геофизике (Спитак, Нефтегорск) и гидроакустике ( ПЛАРК "Курск") лишней чувствительности не бывает, т.к. речь может идти о жизни людей. От Вашего же подхода к данному вопросу на версту разит дилетантизмом.

Цитата(mse @ Jan 13 2006, 17:02) *
Цитата
Усиления на 16 можно достичь путем сдвига результата вычислений на 4 бита влево, благо запасные биты будут иметься и при 16-разрядном представлении к-тов фильтра
Запросто. А я решил съэкономить время на сдвиг. Мне это ничего не стоило. ;О)
Нет, стоило. Ведь речь шла об избыточной точности к-тов.


Цитата(mse @ Jan 13 2006, 17:02) *
...По таймерному 1мС прерыванию запускаем АЦП, в СПИшном прерывании грузим результат в кольцевой буфер, по завершению загрузки, старт проц. ФИР. По завершению ФИР, сквозь любой канал выбрасываем. Суммарные накладные расходы - те самые 10-30 тактов. Не пойму, где криминал?
24-битный "геофизический" сигма-дельта АЦП работает вовсе не так, как Вы себе это представляете. Накладных расходов все же побольше будет (обработка как минимум 3-х прерываний, циклическая буферизация, выдача данных).

Цитата(mse @ Jan 13 2006, 17:02) *
Приехали-2. Куда уж аккуратнее. Ладно, повторю. 75 тактов на тап, 200 тап, 15000 тактов +30, ну ладно, 100 тактов накладных расходов. 15100. 755мкС@20MHz. 245мкС личного времени. Или 4900 циклов ОСЦ.
У мужика реально, 16р signed коэффициенты(А данные-то 24р!!! ;О). Значит, на умножение 32 такта(24s*16s). На обслугу остаётся 21+7 такт. Итого, 60 тактов. 141 тап. 8460 циклов на ФИР. 423мкС@20MHz. Ну пусть 500мкС на всё-про всё. ;О) Свободного времени - 10000 тактов. 50% запас. Хочь так ешь, хошь на хлеб намазывай.
Тщательно посчитано?
Сейчас не могу сказать - времени нет посчитать. Если будете любезны привести примеры программных циклов, можно будет сказать определеннее.
В любом случае, загрузка ЦП велика. На развитие фирмваре остается очень небольшой ресурс.

Цитата(mse @ Jan 13 2006, 17:02) *
Цитата
где это Вы видели ATmega48 меньше доллара в розницу?

ЭФО. $0.95. "Оптом - дешевле". ;О)
Точно, есть! Спасибо за ссылку, мне тоже пригодится.
m16
Вы меня простите коллеги но скоро диалог на личности перейдет. имхо автор поста в замешательстве.пора кончать
AndreyMS
Итоги на текущий момент: полезной оказалась вот эта ссылочка http://www.caxapa.ru/benchmarks/source?23. За нее спасибо a14.gif.
mse
Цитата
Удосужьтесь посмотреть на к-ты фильтра и убедиться в обратном

Да сто лет оно мне надо ;О) К примеру, на коротких фильтрах разницы между 8-16 и 24р коэффициентами практически нет. К чему бы это?
Цитата
Именно проблема точности вычислений в фильтре. А в геофизике (Спитак, Нефтегорск) и гидроакустике ( ПЛАРК "Курск") лишней чувствительности не бывает, т.к. речь может идти о жизни людей. От Вашего же подхода к данному вопросу на версту разит дилетантизмом.

Я вас умоляю. ;О) Я про свой дилетантизм и сам могу рассказать немеряно чего. И пафосных примеров привести тоже. И про точность вычислений расскажу всякого. Вы лучше объясните мне, как дилетанту, чтобы от меня не разило, какая связь размерности коэффициентов и СШ фильтра. Ибо речь у нас шла не о "точности вычислений в фильтре", а имана о СШ. Пролистните вверх для памяти. И на примере 24р данных и коэффициентов ФИР 1,1,1,1 и, например, 0х400000,0х400000,0х400000,0х400000 покажите разницу в СШ между ними. И про связь СШ на выходе дециматора с размерностью коэффициентов фильтра перед дециматором.
А про точность не надо. Ибо, именно для поимения необходимой точности вычислений я и применил 22р коэффициенты в своём примере, а вы мне настойчиво рассказываете, что с 10р данными такие коэффициенты использовать бессмысленно.
Цитата
Нет, стоило. Ведь речь шла об избыточной точности к-тов.

;О) Я вам скажу больше, полезный сигнал в том случае по ТЗ должен был быть на -40Дб относительно помехи с отстройкой 25%, а реально необходимая точность достигалась при более чем -50Дб. 0,1...0,3В на фоне 100. Т.е. полезный сигнал был на уровне 10-20LSB. Пик-пик. И именно длинные коэффициенты позволили вытянуть из этого вполне приличный сигнал с нужными метрологицкими характеристиками. Итого: узкий BPF и длинные коэффициенты, и мы имеем нужный сигнал практически без джиттера.
Цитата
24-битный "геофизический" сигма-дельта АЦП работает вовсе не так, как Вы себе это представляете. Накладных расходов все же побольше будет (обработка как минимум 3-х прерываний, циклическая буферизация, выдача данных).

Да и Бог с ним. Хоть десять прерываний. Фильтр в фоне, а обслужить периферию по прерываниям, неужто проблема? Так рассказываете, будто это тайное знание какое, недоступное пониманию дилетантами. ;О) Ну не 100 тактов накладных, ну пусть 200. Что это меняет на фоне 5-10 тысяч свободных?
Цитата
В любом случае, загрузка ЦП велика. На развитие фирмваре остается очень небольшой ресурс.

Анекдот, прости, Господи. 50% ресурса свободного - велика загрузка, фирмваре некуда развивать. Будет развивать некуда - пусть пользуется симметричностью ИХ, ещё процентов 15-20 освободит.
Цитата
полезной оказалась вот эта ссылочка

Да и слава Богу, закрывать тему пора.
В общем, поговорили ;О)
AndreyMS
Цитата
24-битный "геофизический" сигма-дельта АЦП работает вовсе не так, как Вы себе это представляете. Накладных расходов все же побольше будет (обработка как минимум 3-х прерываний, циклическая буферизация, выдача данных).
В моем проекте после АЦП стоит тинька, которая и выполняет обслуживание АЦП. Работает как FIFO, выдача данных по запросу.
Stanislav
Цитата(mse @ Jan 14 2006, 00:49) *
Цитата
Удосужьтесь посмотреть на к-ты фильтра и убедиться в обратном

Да сто лет оно мне надо ;О)...
Еще повторю: Ваши предпочтения здесь не рассматриваются. А нежелание разобраться в сути вопроса делает бессмысленными все Ваши заявления, которые должны трактоваться не иначе, как чистой воды флейм.

Цитата(mse @ Jan 14 2006, 00:49) *
К примеру, на коротких фильтрах разницы между 8-16 и 24р коэффициентами практически нет. К чему бы это?
Вы продолжаете молоть ерунду с упорством, достойным лучшего применения. Подавление компонентов сигнала при 8 бит точности к-тов более ~40 дБ во всей полосе заграждения сделать не удается, и длина фильтра здесь не при чем. Здесь же речь может идти о требуемом подавлении >120-130дБ.


Цитата(mse @ Jan 14 2006, 00:49) *
Я вас умоляю. ;О) Я про свой дилетантизм и сам могу рассказать немеряно чего. И пафосных примеров привести тоже. И про точность вычислений расскажу всякого... Вы лучше объясните мне, как дилетанту, чтобы от меня не разило, какая связь размерности коэффициентов и СШ фильтра. Ибо речь у нас шла не о "точности вычислений в фильтре", а имана о СШ. Пролистните вверх для памяти. И на примере 24р данных и коэффициентов ФИР 1,1,1,1 и, например, 0х400000,0х400000,0х400000,0х400000 покажите разницу в СШ между ними. И про связь СШ на выходе дециматора с размерностью коэффициентов фильтра перед дециматором.
Ну ладно, в последний раз. При децимации полоса заграждения фильтра свертывается в информационную часть спектра, поэтому отн. С/Ш ухудшается. Поэтому, подавление мешающих сигналов должно быть достаточным. Для этого, при использовании 24-бит АЦП логично было бы выбрать и точность к-тов соответствующую. А Ваш "ФИР" вообще для качественной децимации не годится.

Цитата(mse @ Jan 14 2006, 00:49) *
...А про точность не надо. Ибо, именно для поимения необходимой точности вычислений я и применил 22р коэффициенты в своём примере, а вы мне настойчиво рассказываете, что с 10р данными такие коэффициенты использовать бессмысленно.
Цитата
Нет, стоило. Ведь речь шла об избыточной точности к-тов.

;О) Я вам скажу больше, полезный сигнал в том случае по ТЗ должен был быть на -40Дб относительно помехи с отстройкой 25%, а реально необходимая точность достигалась при более чем -50Дб. 0,1...0,3В на фоне 100. Т.е. полезный сигнал был на уровне 10-20LSB. И именно длинные коэффициенты позволили вытянуть из этого вполне приличный сигнал с нужными метрологицкими характеристиками. Итого: узкий BPF и длинные коэффициенты, и мы имеем нужный сигнал практически без джиттера.
У Вас явные проблемы с арифметикой. 0,1...0,3 В на фоне 100 - это 0,5...1,5 LSB для 10-битного АЦП, а не "10-20LSB". 50 дБ же фильтр и с 16-разрядными к-тами "вытянет" легко. Кроме того, речь идет не о "длинных коэффициентах", а о их точности.

Цитата(mse @ Jan 14 2006, 00:49) *
Фильтр в фоне, а обслужить периферию по прерываниям, неужто проблема? Так рассказываете, будто это тайное знание какое, недоступное пониманию дилетантами. ;О) Ну не 100 тактов накладных, ну пусть 200. Что это меняет на фоне 5-10 тысяч свободных?
Цитата
В любом случае, загрузка ЦП велика. На развитие фирмваре остается очень небольшой ресурс.

Анекдот, прости, Господи. 50% ресурса свободного - велика загрузка, фирмваре некуда развивать. Будет развивать некуда - пусть пользуется симметричностью ИХ, ещё процентов 15-20 освободит.
Откуда следует 50%? При 24х24? Может статься, фильтрик надо будет "чуть-чуть" модифицировать, ведь ошибаетесь не только Вы. Или я. Здесь кто-то "извращения" предлагал...
Stanislav
Цитата(AndreyMS @ Jan 14 2006, 11:38) *
В моем проекте после АЦП стоит тинька, которая и выполняет обслуживание АЦП. Работает как FIFO, выдача данных по запросу.
А АЦП какой?
Владимир
Что-то здесь делят не убитого медведя.
Насколько я понял реч идет о разработке.
При разработке за дешевыми вещапи гонятся себе в убыток.
Поэтом лучше именть запас по требованиям к процессору. И я думаю не менее чем двухкратный.
Или может быть и тип другой.
А вот когда макет работает. И програмный код известен, его можно оценить в перекладе на другой процессор.
И там у же, и то только в том случае, если будет массовый выпуск, гоняться за каждым центом.
Stanislav
Цитата(AndreyMS @ Jan 13 2006, 21:14) *
Итоги на текущий момент: полезной оказалась вот эта ссылочка http://www.caxapa.ru/benchmarks/source?23. За нее спасибо a14.gif .
А что в ней полезного? Посмотрел - к Вашей задаче это не имеет отношения. Это лишь некоторый специальный случай для малой разрядности данных, да еще и с ошибкой - возможность переполнения не учтена.

И знак куда-то подевали...
AndreyMS
Цитата
А АЦП какой?
ADS1201 от TI. Или ADS7807 от него же.
Stanislav
Цитата(AndreyMS @ Jan 14 2006, 15:41) *
Цитата
А АЦП какой?
ADS1201 от TI. Или ADS7807 от него же.
Понятно. Прореживание предполагается? И какой динамический диапазон (С/Ш) нужен для 24 и 16 бит? Потребление критично? Компрессия данных предполагается?

Простите за обилие вопросов, но ответить на них нужно для оценки применимости той или иной платформы для решения задачи.
mse
[quote]Ваши предпочтения здесь не рассматриваются. А нежелание разобраться в сути вопроса делает бессмысленными все Ваши заявления, которые должны трактоваться не иначе, как чистой воды флейм.[/quote]
[quote]ы продолжаете молоть ерунду с упорством, достойным лучшего применения. Подавление компонентов сигнала при 8 бит точности к-тов более ~40 дБ во всей полосе заграждения сделать не удается, и длина фильтра здесь не при чем. Здесь же речь может идти о требуемом подавлении >120-130дБ.[/quote]
Спокойно. Смотрим внимательно. Я говорю про короткий фильтр. Уточню, длиной около 10. Разница между 8 и 16р коэффициентами укладывается, на разных участках АЧХ, от десятых, до одного-двух Дб в некоторых(!) точках. Чувствуем разницу? Чего вы мне талдычите про 40 Дб? Что будет на 40Дб я и без вас знаю. У нас этот разговор начался с вашей фразы про недопустимость коэффициентов разрядностью, меньшей данных. Вот я вам и привожу пример, когда разрядность коэффициентов может быть много меньше данных: 8-10таповый ФИР с максимально-узкой полосой пропускания при второстепенных требованиях к подавлению за полосой, скажем не хуже -20Дб. А вы мне предлагаете за каким-то, посмотреть на пример из вопроса. Там тоже, кстати 16р коэффициенты для 24р данных. Ну не нужно, видать, подавление в -90...100 дб. Построили малошумящую схему перед АЦП и ушли от помех, сравнимых с сигналом. Осталось подчистить 30-40Дб. А тут надо, оказывается, душить неудушенное именно на 100-120Дб, и не иначе! Вот незадача!
[quote]Ну ладно, в последний раз. При децимации полоса заграждения фильтра свертывается в информационную часть спектра, поэтому отн. С/Ш ухудшается. Поэтому, подавление мешающих сигналов должно быть достаточным. Для этого, при использовании 24-бит АЦП логично было бы выбрать и точность к-тов соответствующую.[/quote]
Вы вообще читаете, о чём вас спрашивают? Михал Сергеич, в своё время так-же успешно отвечал на поставленные вопросы. Повторю "какая связь размерности коэффициентов и СШ фильтра?" Раз.
"И про связь СШ на выходе дециматора с размерностью коэффициентов фильтра перед дециматором." Два.
Поясню. Дециматор уменьшит СШ на NДб в любом случае. Внимание! ;О) Мы говорим именно о дециматоре! Голом и босом. Стоящем отдельно, после ФИР!
[quote]Я имел в виду ухудшение С/Ш после прореживания, хотя, в условии этого и нет[/quote]
Будут в предварительно-стоящем фильтре 8р коэффициенты или 16 или 24. Без разницы. Вот опровержения этого я и хочу услышать, а не рассказов о важности каждого Дб для ПРК "Курск". Т. е. утверждения, что дециматор реагирует на способ получения данных, поступающих на него. Потому как в контексте разговора вполне однозначно подразумевалось посэмпловая выдача результата фильтрации (циркулярные буфера и прочие прелести). А ваше предположение о дециматоре подразумевало ПОСЛЕДУЮЩУЮ децимацию.
[quote] А Ваш "ФИР" вообще для качественной децимации не годится.[/quote]
Отчего-ж. Хотя я вам его(их) предложил как объект для эксперимента с ПОСЛЕДУЮЩИМ дециматором. Это будут ФНЧ. Типа, вы берёте некоторое число(постоянное, шума нет) и прогоняете через ФИРы с этими коэффициентами и оцениваете внесённый шум там и там. И показываете, что ФИР с коэффициентами 0х400000 имеет шум меньше, чем с 0х1. А потом эти результаты - через дециматор, чтобы он тоже показал превосходство 24р коэффициентов перед 1р.
[quote]У Вас явные проблемы с арифметикой. 0,1...0,3 В на фоне 100 - это 0,5...1,5 LSB для 10-битного АЦП, а не "10-20LSB". 50 дБ же фильтр и с 16-разрядными к-тами "вытянет" легко.[/quote]
С арифметикой нелады и у вас, 0.3В пик-пик к 100 это 3LSB. И 16-бит коэффициенты не давали мне нужной точности. Щас посмотрел записи, там эти 3р разтягивались в 100-200(<<6), а помеха утаптывалась в 1-2р. Ну да ладно, это дело уже сделано и работает, слава Богу.
[/quote]Кроме того, речь идет не о "длинных коэффициентах", а о их точности.[/quote]
Я плакалъ.
[quote]Откуда следует 50%? При 24х24? Может статься, фильтрик надо будет "чуть-чуть" модифицировать, ведь ошибаетесь не только Вы. Или я. Здесь кто-то "извращения" предлагал...[/quote]
[quote]Приехали-2. Куда уж аккуратнее. Ладно, повторю. 75 тактов на тап, 200 тап, 15000 тактов +30, ну ладно, 100 тактов накладных расходов. 15100. 755мкС@20MHz. 245мкС личного времени. Или 4900 циклов ОСЦ.
У мужика реально, 16р signed коэффициенты(А данные-то 24р!!! ;О). Значит, на умножение 32 такта(24s*16s). На обслугу остаётся 21+7 такт. Итого, 60 тактов. 141 тап. 8460 циклов на ФИР. 423мкС@20MHz. Ну пусть 500мкС на всё-про всё. ;О) Свободного времени - 10000 тактов. 50% запас. Хочь так ешь, хошь на хлеб намазывай.
Тщательно посчитано?[/quote]
[quote]
Это лишь некоторый специальный случай для малой разрядности данных, да еще и с ошибкой - возможность переполнения не учтена.

И знак куда-то подевали...[/quote]
Какой ужос ;О) Переполнение... знак. Там, кстати, в метка есть "UHF_level...". Представляю себе уровень СВЧ мощности "-20мВт"
AndreyMS
Цитата(Stanislav @ Jan 14 2006, 16:05) *
Прореживание предполагается? И какой динамический диапазон (С/Ш) нужен для 24 и 16 бит? Потребление критично? Компрессия данных предполагается?

Прореживание прендполагается с частоты 1 kSPS до частоты 100, 200 или 250 SPS. Динамический диапазон для 24 bit 120 dB, для 16 bit 96 dB. Потребление не критично, компрессии не предполагается.
mse
Цитата
А вот когда макет работает. И програмный код известен, его можно оценить в перекладе на другой процессор.

Да прототип-то, как раз, и есть.
Stanislav
Цитата(mse @ Jan 14 2006, 16:26) *
Спокойно. Смотрим внимательно. Я говорю про короткий фильтр. Уточню, длиной около 10. Разница между 8 и 16р коэффициентами укладывается, на разных участках АЧХ, от десятых, до одного-двух Дб в некоторых(!) точках. Чувствуем разницу?
Продолжение старой песни. Вот АЧХ 2-х КИХ фильтров 10-го порядка - один референсный, точный, у другого к-ты округлены до 8 разрядов. Разница очевидна - более 20 дБ. О каких 1-2дБ Вы говорите?
Нажмите для просмотра прикрепленного файла
Цитата(mse @ Jan 14 2006, 16:26) *
...Чего вы мне талдычите про 40 Дб? Что будет на 40Дб я и без вас знаю. У нас этот разговор начался с вашей фразы про недопустимость коэффициентов разрядностью, меньшей данных.
Не нужно совершать дешевый подлог - я говорил о несоответствии разрядности данных и коэффициентов, а не о какой-либо недопустимости.

Цитата(mse @ Jan 14 2006, 16:26) *
...Вот я вам и привожу пример, когда разрядность коэффициентов может быть много меньше данных: 8-10таповый ФИР с максимально-узкой полосой пропускания при второстепенных требованиях к подавлению за полосой, скажем не хуже -20Дб. А вы мне предлагаете за каким-то, посмотреть на пример из вопроса.
Не Вы автор этой темы и Ваши примеры меня не впечатляют.

Цитата(mse @ Jan 14 2006, 16:26) *
Там тоже, кстати 16р коэффициенты для 24р данных. Ну не нужно, видать, подавление в -90...100 дб.
16-разрядные к-ты обеспечат подавление именно в 90-100 дБ.

Цитата(mse @ Jan 14 2006, 16:26) *
...Построили малошумящую схему перед АЦП и ушли от помех, сравнимых с сигналом. Осталось подчистить 30-40Дб. А тут надо, оказывается, душить неудушенное именно на 100-120Дб, и не иначе! Вот незадача!
А это что еще за чушь? Как можно с помощью МШУ избавиться от мощной внеполосной помехи?

Цитата(mse @ Jan 14 2006, 16:26) *
...Вы вообще читаете, о чём вас спрашивают? Михал Сергеич, в своё время так-же успешно отвечал на поставленные вопросы. Повторю "какая связь размерности коэффициентов и СШ фильтра?" Раз.
"И про связь СШ на выходе дециматора с размерностью коэффициентов фильтра перед дециматором." Два.
Ответ дан, нет смысла повторять.

Цитата(mse @ Jan 14 2006, 16:26) *
...Поясню. Дециматор уменьшит СШ на NДб в любом случае. Внимание! ;О) Мы говорим именно о дециматоре! Голом и босом. Стоящем отдельно, после ФИР!
А это что еще за зверь? И что есть N дБ? Децимацию обычно совмещают с фильтрацией. Даже название есть специальное - decimating filter. Если же Вы хотите сделать прореживание на нецелое число отсчетов - из Вашей АТмеги дым пойдет...

Цитата(mse @ Jan 14 2006, 16:26) *
Будут в предварительно-стоящем фильтре 8р коэффициенты или 16 или 24. Без разницы. Вот опровержения этого я и хочу услышать, а не рассказов о важности каждого Дб для ПРК "Курск". Т. е. утверждения, что дециматор реагирует на способ получения данных, поступающих на него. Потому как в контексте разговора вполне однозначно подразумевалось посэмпловая выдача результата фильтрации (циркулярные буфера и прочие прелести). А ваше предположение о дециматоре подразумевало ПОСЛЕДУЮЩУЮ децимацию.
Цитата
А Ваш "ФИР" вообще для качественной децимации не годится.

Отчего-ж. Хотя я вам его(их) предложил как объект для эксперимента с ПОСЛЕДУЮЩИМ дециматором. Это будут ФНЧ. Типа, вы берёте некоторое число(постоянное, шума нет) и прогоняете через ФИРы с этими коэффициентами и оцениваете внесённый шум там и там. И показываете, что ФИР с коэффициентами 0х400000 имеет шум меньше, чем с 0х1. А потом эти результаты - через дециматор, чтобы он тоже показал превосходство 24р коэффициентов перед 1р.
Это просто чушь какая-то. Ничего не понял.
Stanislav
Цитата(mse @ Jan 14 2006, 16:26) *
Цитата
У Вас явные проблемы с арифметикой. 0,1...0,3 В на фоне 100 - это 0,5...1,5 LSB для 10-битного АЦП, а не "10-20LSB". 50 дБ же фильтр и с 16-разрядными к-тами "вытянет" легко.

С арифметикой нелады и у вас, 0.3В пик-пик к 100 это 3LSB.
Нет, у меня, к счастью, все в порядке. Нормальные люди приводят (эффективную) амплитуду гармонического сигнала и помехи, которая и будет 0,5-1,5 ЕМР для сигнала. Вы же путаетесь даже в собственном представлении.

Цитата(mse @ Jan 14 2006, 16:26) *
И 16-бит коэффициенты не давали мне нужной точности. Щас посмотрел записи, там эти 3р разтягивались в 100-200(<<6), а помеха утаптывалась в 1-2р.
Ерунда. 16-разрядные к-ты дадут дин. диапазон 90-100 дБ (см. выше). Нехватку точности при вычислениях следует объяснить иными причинами...

Цитата(mse @ Jan 14 2006, 16:26) *
Приехали-2. Куда уж аккуратнее. Ладно, повторю. 75 тактов на тап,.......
Тщательно посчитано?
Нет. Приведите пример цикла с разрядностью 24х24 - убедитесь в обратном.

Цитата(mse @ Jan 14 2006, 16:26) *
Цитата
Это лишь некоторый специальный случай для малой разрядности данных, да еще и с ошибкой - возможность переполнения не учтена.
И знак куда-то подевали...

Какой ужос ;О) Переполнение... знак. Там, кстати, в метка есть "UHF_level...". Представляю себе уровень СВЧ мощности "-20мВт"
Бред.
Stanislav
Цитата(AndreyMS @ Jan 14 2006, 20:03) *
Цитата(Stanislav @ Jan 14 2006, 16:05) *

Прореживание предполагается? И какой динамический диапазон (С/Ш) нужен для 24 и 16 бит? Потребление критично? Компрессия данных предполагается?

Прореживание прендполагается с частоты 1 kSPS до частоты 100, 200 или 250 SPS. Динамический диапазон для 24 bit 120 dB, для 16 bit 96 dB. Потребление не критично, компрессии не предполагается.
Понятно. Фильтрацию Вы проводите с целью прореживания, из-за "плохих" АЧХ собственных фильтров АЦП (кстати, что-то не нашел их в даташитах). Такой подход вполне оправдан. Однако, чтобы гарантированно получить 120 дБ С/Ш после прореживания для ADS1201 в полосе,скажем, 50 Гц, к-ты прореживающего фильтра должны иметь точность >~20 разрядов. Я бы взял 24. Промоделируйте на матлабе, не забывая, что внеполосный шум - величина интегральная, т.е. интеграл от плотности его мощности во всей полосе задержания фильтра. После прореживания он перейдет в информационную область спектра и, сложившись с уже имеющимся шумом, ухудшит отношение С/Ш в интересующей Вас полосе.

Если прореживание предполагается совместить с фильтрацией, АТмега должна справиться и с 16х16, и с 24х24, причем "тинька" для буферизации и не понадобится. Смысл в том, что Вам потребуется определять только каждый 10-й, 5-й или 4-й выходной отсчет фильтра, сократив в такое же число раз количество операций. Однако, я бы все же посоветовал рассмотреть возможность использования более дружественной для таких задач платформы. Кто знает, что еще может потребоваться...

Поправочка: следует читать "...уровень внеполосного шума - величина интегральная.." и т.д.
forever failure
Цитата(mse @ Jan 14 2006, 18:26) *
Спокойно. Смотрим внимательно. Я говорю про короткий фильтр. Уточню, длиной около 10. Разница между 8 и 16р коэффициентами укладывается, на разных участках АЧХ, от десятых, до одного-двух Дб в некоторых(!) точках. Чувствуем разницу? Чего вы мне талдычите про 40 Дб?

Это фуфло, а не фильтр. Подавление за полосой пропускания именно в данном случае должно быть никак не
меньше 120 дБ. Нарисуйте-ка такой фильтр с разрядностью коэффициентов < 24 ?

Еще раз, не забываем, что:
"внеполосный шум - величина интегральная, т.е. интеграл от плотности его мощности во всей полосе задержания фильтра".

Если его не задавить до прореживания, то после прореживания его будет не задавить никак.
mse
Цитата
Продолжение старой песни. Вот АЧХ 2-х КИХ фильтров 10-го порядка - один референсный, точный, у другого к-ты округлены до 8 разрядов. Разница очевидна - более 20 дБ. О каких 1-2дБ Вы говорите?

У вас очень ценное качество - отвечать совсем не по теме. Не люблю повторять по десять раз, но ланно:" Вот я вам и привожу пример, когда разрядность коэффициентов может быть много меньше данных: 8-10таповый ФИР с максимально-узкой полосой пропускания при второстепенных требованиях к подавлению за полосой, скажем не хуже -20Дб."
В вашем примере охрененно-узкая полоса, аж 30% по -10Дб. Я плакалъ. Сильно. Я то надеялся, что вы забацаете хотя бы 10%, а вы с барского плеча - 30. Спасибо. Вот четыре картинки. Две - хороших, на 8 и 16 бит. И две - ацтой, типа вашего. Тоже 8 и 16. Почувствуйте разницу. Не между 8 и 16, а между узкой полосой и "узкой".
Цитата
Не нужно совершать дешевый подлог - я говорил о несоответствии разрядности данных и коэффициентов, а не о какой-либо недопустимости.
Звыняйте, дешёвые подлоги у вас в каждом посте. Я устал вам на это указывать.
mse
Цитата
Не Вы автор этой темы и Ваши примеры меня не впечатляют.

Толково! ;О)
Цитата
16-разрядные к-ты обеспечат подавление именно в 90-100 дБ.

Правда? В скольки точках? Ну-ка посчитайте на своей картинке. ;О) На моей, кстати, в некоторых точках, тоже некисло давит, 8 битами.
Цитата
А это что еще за чушь? Как можно с помощью МШУ избавиться от мощной внеполосной помехи?

А что, мы уже избавляемся от мощной помехи? Звыняйте, не знал. А от мощной НАВОДКИ, например, 50Гц и её гармоник, РЧ наводок, схемотехника, как правило, помогает.
Цитата
Ответ дан, нет смысла повторять.

В каком месте? Я так и не услышал оценки уровня вносимого ФИРом шума, как функции длины коэффициента, например. И про дециматор, кстати, тоже, по сути ничего, кроме того, что всем известно.
mse
Цитата
Это фуфло, а не фильтр. Подавление за полосой пропускания именно в данном случае должно быть никак не
меньше 120 дБ. Нарисуйте-ка такой фильтр с разрядностью коэффициентов < 24 ?
Еще раз, не забываем, что:
"внеполосный шум - величина интегральная, т.е. интеграл от плотности его мощности во всей полосе задержания фильтра".
Если его не задавить до прореживания, то после прореживания его будет не задавить никак.

Про данный случай разговор уже ушёл в сторону, как вы могли заметить. После сообщения Станислава
Цитата
Разрядность к-тов фильтра должна быть такой, чтобы не слишком ухудшать отношение С/Ш в интересующей полосе частот сигнала на выходе фильтра.
Вот я и решил поинтересоваться, как фильтр может ухудшить, пусть даже не слишком, отношение С/Ш. А мне тут про Курск, про реактор и любимый лунный трактор.
Что касается собственно фильтра, не спорю - фуфло. Просто жизнь не всегда даёт возможность поиметь для обработки 100 сэмплов. Хоть 8р, хоть 24р. А на коротком и узком фильтре хрен получишь выигрыш от разрядности коэффициентов. Смотрим 4 картинки вверху. Так что есть и логика, и необходимость в коэффициентах много меньших разрядности данных. Это чтобы не забыть про то, что "внеполосный шум - величина интегральная, т.е. интеграл от плотности его мощности во всей полосе задержания фильтра". Фуфли толку утоптать его на 20% полосы в -70 Дб, если в 60% полосы он фактически не подавлен вообще. См пример Станислава. Очень смешно. Особенно с учОтом того, что плотность мощности шума растёт к низким частотам.
А дай мне 100 сэмплов, я сам, безо всяких поучений, разрядов наберу вагон.
mse
Цитата
Это просто чушь какая-то. Ничего не понял.

Правда? Не припоминаете?
Цитата
Разрядность к-тов фильтра должна быть такой, чтобы не слишком ухудшать отношение С/Ш в интересующей полосе частот сигнала на выходе фильтра.

Что может быть непонятного? Берёте 4-таповый фильтр с коэффициентами 0х400000 и с 0х1. Это ФНЧ, значит в качестве данных берём некую константу о 24р, например 0хffffff, или какая вам больше нравится. И на его примере показываете, что в первом случае СШ уменьшается "не слишком", а во втором, соотвецтвенно, "слишком". Неужели я прошу невозможного? Удовлетворите тягу дилетанта к знанию. Только конкретно этого вопроса. Своё виденье "ухудшения" я уже указал. В цифрах. Чего и вам желаю. Про дециматор, кстати, разговор тоже будет отдельный. Как только мы утрясём этот. А то посты разрастаюцца неконтролируемо.
Цитата
Нет, у меня, к счастью, все в порядке. Нормальные люди приводят (эффективную) амплитуду гармонического сигнала и помехи, которая и будет 0,5-1,5 ЕМР для сигнала. Вы же путаетесь даже в собственном представлении.

Нормальные люди читают, что написано: " 0,1...0,3В на фоне 100. Т.е. полезный сигнал был на уровне 10-20LSB(1-3, ессно). Пик-пик."
Цитата
Ерунда. 16-разрядные к-ты дадут дин. диапазон 90-100 дБ (см. выше). Нехватку точности при вычислениях следует объяснить иными причинами...
Вот-вот. См выше. В скольких точках АЧХ они дадут 100Дб подавление? Вы станете смеяться, но на самом деле в том моём примере фильтр вполне сносно выделял нужный сигнал и при более чем -60Дб сигнал-помеха. Правда, джиттер уже был недопустим, до 2-5градусов, но сам сигнал вполне уверенно фиксировался.
И там действительно, надо было душить помеху более чем на 100 Дб. А такая задача не для 16р коэффициентов. Посмотрели бы хоть на свои весёлые картинки. Причём на разрядность данных в этом случае совершенно наплевать, как ни странно.
mse
Цитата
Бред.

Это вы про что? Про это?
Цитата
Это лишь некоторый специальный случай для малой разрядности данных, да еще и с ошибкой - возможность переполнения не учтена.
И знак куда-то подевали...

Да, это некий специальный случай. Коэффициенты и данные беззнаковые. Но никто не мешает переписать процедуру умножения 16х16 для знаковых чисел. Увеличить под требуемую разрядность данных.
Возможность переполнения учтена - коэффициенты масштабированы так, чтобы переполнения не было в принципе. И, самое главное, этот пример не для вопрошавшего. Если вы удосужитесь посмотреть, то это ответ на ваш пассаж о невозможности чего-то там на АВР. Типа, возможно. Считайте такты.
Цитата
Приведите пример цикла с разрядностью 24х24 - убедитесь в обратном.

С какого будуна 24Х24? У человека 16р, знаковые коэффициенты, 141 длина. Для этого случая и будет более 50% производительности не использованной при 20МГц. Чорным по белому написано. Текст умножытеля привести? А что, самому посмотреть и модифицировать Атымелью аппноту никак? На слабо пробираете? Ладно, вот вам 16sx24u, бо 16sx24s будет занимать столько-же. Переписывать для удовольствия s*s лень.
Stanislav
Цитата(mse @ Jan 18 2006, 01:48) *
...Фуфли толку утоптать его на 20% полосы в -70 Дб, если в 60% полосы он фактически не подавлен вообще. См пример Станислава. Очень смешно. Особенно с учОтом того, что плотность мощности шума растёт к низким частотам.
А дай мне 100 сэмплов, я сам, безо всяких поучений, разрядов наберу вагон.
Очередное бредовое заявление. С чего это Вы взяли, что плотность мощности шума растет к НЧ? Я могу привести десяток общеизвестных примеров, иллюстрирующих совершенно обратную зависимость спектральной плотности мощности шума. Однако, это к теме не относится, а, кроме того, задача прореживающего фильтра - подавить все внеполосные сигналы. На примерах ниже - фильтры малой длины (20-го порядка), которые уже годятся в качестве дециматоров. Синим - референсные АЧХ, красным - АЧХ фильтров с 8-разрядным округлением коэффициентов. Не страдая дальтонизмом, легко увидеть разницу. При этом 16-разрядное представление практически не отличимо от референсного, а при 8-ми разрядном - "этакая загогулина получается, пунимаешш".

Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла
Stanislav
Цитата(mse @ Jan 18 2006, 02:29) *
Нормальные люди читают, что написано: " 0,1...0,3В на фоне 100. Т.е. полезный сигнал был на уровне 10-20LSB(1-3, ессно). Пик-пик."
Что сие может значить???

Цитата(mse @ Jan 18 2006, 02:29) *
В скольких точках АЧХ они дадут 100Дб подавление? Вы станете смеяться, но на самом деле в том моём примере фильтр вполне сносно выделял нужный сигнал и при более чем -60Дб сигнал-помеха. Правда, джиттер уже был недопустим, до 2-5градусов, но сам сигнал вполне уверенно фиксировался.
И там действительно, надо было душить помеху более чем на 100 Дб. А такая задача не для 16р коэффициентов. Посмотрели бы хоть на свои весёлые картинки. Причём на разрядность данных в этом случае совершенно наплевать, как ни странно.
При чем здесь это? Вы говорили: "Бо это были узкие BPF с максимально-возможной узкостью..." Вот пример АЧХ КИХ-фильтра с "максимально-возможной узкостью" 200-го порядка.

Нажмите для просмотра прикрепленного файла

Референсная АЧХ и АЧХ фильтра с 16-битным представлением коэффициентов практически неразличима.

16-разрядное представление способно подавить компоненты внеполосного сигнала на 83-90 дБ (насчет 90-100 я действительно погорячился). А Ваши цифры отношения сигнал-помеха так скачут от поста к посту (от- 40 в посте #27 до -60 в последнем), что сами напоминают случайный процесс навроде шума. Ваше же упорство по защите собственного проекта достойно быть отмеченным, но, увы, не в этой теме.

Цитата
...Если вы удосужитесь посмотреть, то это ответ на ваш пассаж о невозможности чего-то там на АВР...
Опять подмена понятий. Дешевле не бывает.

Цитата(mse @ Jan 18 2006, 02:59) *
Цитата
Приведите пример цикла с разрядностью 24х24 - убедитесь в обратном.

С какого будуна 24Х24? У человека 16р, знаковые коэффициенты, 141 длина. Для этого случая и будет более 50% производительности не использованной при 20МГц. Чорным по белому написано. Текст умножытеля привести? А что, самому посмотреть и модифицировать Атымелью аппноту никак? На слабо пробираете? Ладно, вот вам 16sx24u, бо 16sx24s будет занимать столько-же. Переписывать для удовольствия s*s лень.
Что за бред опять? И для чего этот огрызок кода? Вам же говорят - нужно получить динамический диапазон 120 дБ. При 16-разрядных к-тах это в общем случае невозможно. Цикл 24х24 s*s я сделал - получилось гораздо больше пресловутых "75 тактов". Если я не прав - докажите, иначе Ваши слова буду расценивать, как совершенно бесцеремонный наезд со всеми вытекающими... Мне все же кажется, что Вам не "лень", а именно "слабо". Подвердить вот это:

"Что мы там видим? Накладные на циклический буфер и загрузку коэфф./данных. Считаем. 18 тактов. Для 24Х24 поимеем, соотвецтвенно, 23. Остаёцца МАС. 45 на умножение, 7 на суммирование. 75 тактов." !!!
mse
Цитата
Очередное бредовое заявление. С чего это Вы взяли, что плотность мощности шума растет к НЧ? Я могу привести десяток общеизвестных примеров, иллюстрирующих совершенно обратную зависимость спектральной плотности мощности шума. Однако, это к теме не относится, а, кроме того, задача прореживающего фильтра - подавить все внеполосные сигналы

Да так, взял. Могу привести только один общеизвестный пример, который перевесит ваш десяток - шум 1/F. Особенно в геофизике и гидроакустике. Но об этом мы говорить не будем, с вашего позволения. ;О)
Если вы прочитаете исходное сообщение г. forever failure и мой ответ на него, то волшебным образом увидите, что к вашим "аргУментам" этот пост не относится никаким боком. Ваши весёлые картинки пытаются служить ответом на моё сообщение:
"Вот я вам и привожу пример, когда разрядность коэффициентов может быть много меньше данных: 8-10таповый ФИР с максимально-узкой полосой пропускания при второстепенных требованиях к подавлению за полосой, скажем не хуже -20Дб."
Сообщение №35. Можете начать проверять. Любимое занятие"совецких учОных" - выдернуть предложение из абзацца:
"Спокойно. Смотрим внимательно. Я говорю про короткий фильтр. Уточню, длиной около 10. Разница между 8 и 16р коэффициентами укладывается, на разных участках АЧХ, от десятых, до одного-двух Дб в некоторых(!) точках. Чувствуем разницу? Чего вы мне талдычите про 40 Дб? Что будет на 40Дб я и без вас знаю."
и нещадно его опровергнуть. Что написано в следующем предложении - см выше.
Знатные у вас узкополосные фильтры - всего-то в 60% от Fs/2. АПРК Курск с такими уплывёт далеко. И Спитак будет стоять вечно. Ваши новые картинки - из этой-же оперы. Где я хоть раз говорил про фильтр для децимации(полосой 25%)? Ах да, здесь: " Про дециматор, кстати, разговор тоже будет отдельный. Как только мы утрясём этот. А то посты разрастаюцца неконтролируемо."
Кстати, на ЭТОТ вопрос нет ответа уже 4 страниццы... А про деццыматоры и как там у вас "decimating filters" мы ещё поговорим. ;О) Особенно в части применимости АВР к этому классу фильтров. Как только кое-что утрясём.
Цитата
При чем здесь это? Вы говорили: "Бо это были узкие BPF с максимально-возможной узкостью..." Вот пример АЧХ КИХ-фильтра с "максимально-возможной узкостью" 200-го порядка.

А вот при том, что в духе Михал-Сергеича вы отвечете на часть предложения из разговора на 3 страниццах. А в разговоре целиком оправдывается-оспаривается(на всякий случай напоминаю, я оправдываю, вы оспариваете) использование коэффициентов, размерностью, много большей, чем данные. В моём случае 10р данные и 22р коэффициенты. И для моего случая узкий фильтр выглядит примерно так: с 22 бит и 16 бит соотвецтвенно. Особо весело эти картинки подтверждают ваш добрый совет-утверждение
Цитата
Ерунда. 16-разрядные к-ты дадут дин. диапазон 90-100 дБ (см. выше). Нехватку точности при вычислениях следует объяснить иными причинами...
Заслушать бы эти таинственные причины...
mse
Цитата
Что за бред опять? И для чего этот огрызок кода? Вам же говорят - нужно получить динамический диапазон 120 дБ. При 16-разрядных к-тах это в общем случае невозможно.

Станислав, это даже не смешно. Человек предоставил вам коэффициенты из готового изделия, которое он собрался повторить. Там 16р знаковые коэффициенты. И 24р данные. Знаковые или нет, не знаю.
Цитата
Там задача примерно следующая: проFIRить сигнал с частотой 1 kSPS и разрядностью 24 bit фильтром вроде того, что в прикреплении (выдран из промышленной сейсмостанции, построеной на 80386).

Но раз в оригинальном изделии 16р хватало, значит подавление 120дБ не нужно, расслабьтесь. Итого, именно для его случая: 141 тап, 16р знаковые к, 24р знаковые(?) д, я и приводил цифру 50% простоя АВР@20МГц. 16s*24u я привёл. Она занимает 32 такта. 16s*24s займёт столько-же. Писать это мне лень, бо моё любопыцтво это уже не удовлетворит, а результат я просто знаю.
Код
UHF_level_data_filtering:
        sub     r8,r8
        sub     r9,r9
        movw    r10,r8
        movw    r12,r8
        movw    r14,r8

        lds     xl,circular_buffer_for_LPF_ptr
        lds     xh,circular_buffer_for_LPF_ptr+1

        ldi     main_counter,16

        ldi     zl,low(_16_tap_LPF_coeff*2)
        ldi     zh,high(_16_tap_LPF_coeff*2)

UHF_level_data_filtering_loop:
        ldi     temporary1,high(circular_buffer_for_LPF_bot);1
        cpi     xl,low(circular_buffer_for_LPF_bot)        ;1
        cpc     xh,temporary1                                    ;1
        brcs    UHF_level_data_filtering_ptr                    ;2

        ldi     xl,low(circular_buffer_for_UHF_LPF)
        ldi     xh,high(circular_buffer_for_UHF_LPF)
UHF_level_data_filtering_ptr:

        ld      r3,x+         ;2 К и Д грузятся в соотв. регистры проццедуры помножения, ессно.
        ld      r4,x+         ;2
        lpm     r5,z+        ;3
        lpm     r6,z+        ;3
        lpm     r7,z+        ;3

;проццедура умножения 16s*24u, которую любопытные могут переделать в 16s*24s, занимает 32такта

        add     r8,mul_res0;1
        adc     r9,mul_res1;1
        adc     r10,mul_res2;1
        adc     r11,mul_res3;1
        adc     r12,mul_res4;1
        adc     r13,zero_reg;1
        adc     r14,zero_reg;1
        adc     r15,zero_reg;1 за этот отсчёт не уверен, надо анализировать коэффициенты, но ладно, пусть будет.

        dec     main_counter;1
        brne    UHF_level_data_filtering_loop;2

Итого 61 такт на цикл. Циклов 141, итого 8601. Накладные расходы на инициализацию - 13 тактов
Совсем итого 8614 тактов. На 50нС цикле - 430мкС. Fs=1000Гц, или 1000мкс. Более 50% времени процессор курит. Где я неправ, поясните. И не надо говорить, что вы где-то чего-то не поняли - в ТОЙ САМОЙ цитате цифры были прописаны однозначно для каждого случая. Сообщение #23. Тем более, что вы его уже цитировали.
Цитата
Цикл 24х24 s*s я сделал - получилось гораздо больше пресловутых "75 тактов". Если я не прав - докажите, иначе Ваши слова буду расценивать, как совершенно бесцеремонный наезд со всеми вытекающими... Мне все же кажется, что Вам не "лень", а именно "слабо".

Вот весело, чего-ж вы сразу не предъявили публике плоды труда своего? Если правильно, я сголашусь а если нет, то укажу на ошибки. Что стесняетесь-то? Кстати, почти 3 страниццы бесцеремонных наездов было имана от вас, бо хоть какие-то аргументы в виде графиков(хоть и не в тему), появились только на 3 странице. А до того самым конструктивным был аргУмент в виде Спитака и АПРК Курск, да ответы Gorbatchov-style.
Кстати-2, про 24*24 и разговора не было про знаковое. Не, брешу-брешу!!! Было:
Цитата
Для 24Х24 поимеем, соотвецтвенно, 23. Остаёцца МАС. 45 на умножение, 7 на суммирование. 75 тактов... Итого на м48@20MHZ имеем меньше 4мкС на тап(со знаковыми величинами будет на копеечку больше). #15
А про меня не беспокойтесь, мне именно лень.
Про 24р знаковое и 100-200тапов напишу позже, щас занят.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.