Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: отличие CIC от FIR
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Страницы: 1, 2, 3
shf_05
вроде бы без проблем использую CIC и FIR для децимации и интерполяции, знаю их характеристики (АЧХ, ФЧХ, ПФ). использую микросхемы дециматор и интерполятор (AD6620 и AD9856), там CIC фильтры, + в первой FIR есть на последней стадии децимации.

Но так до конца не понимаю разницы между CIC и FIR. Попытался найти в учебнике по ЦОС- про CIC нет ни слова...

За свою жизнь воплотил проект, где сигнал интерполировался в 4 раза FIR фильтром, причем свойства фильтра выбрал так-
* неравномерность АЧХ в полосе <= необходимой,
* затухание на 2-й гармонике исходного сигнала не менее требуемого
получил коэф-ты, зарядил в ДСПш-ку и все.
правильно ли я это сделал?

Вот что не дает покоя-
1. зачем тогда в ряде прог по расчету ЦФ (напр. MATLAB) есть фильтры, к-е наз-ся интерполирующие/децимир.
2. в чем фишка использовать CIC? не лучше ли FIR?
3. может просто все дело в простоте реализации CIC?
4. можно ли использовать IIR, если не важна ФЧХ интерполятора/дециматора?
Alex65111
Есть вопросы изменения частоты дискретизации. Там необходимо использовать предварительно фильтрацию. В принципе, если ФЧХ не важна, то фильтрация может осуществляться как FIR так и IIR. Однако, теория теорией, но в жизни важны реализационные аспекты. С учетом этого, FIR в этих задачах предпочтительнее, так как именно на их базе возможны вычислительно эффективные полифазные структуры.
А CIC фильтры эффективно реализуются на аппаратном уровне так как не требует умножителей. При этом надо учесть, что CIC это по сути FIR, только типа рекурсивная реализация.
При чисто программной фильтрации-децимации архитектура CIC вычислительно менее эфективна, чем полифазные FIR. При аппаратной реализации CIC более эффективны.
shf_05
спасибо за лекцию - про CIC и FIR понял.
а если необходима минимальная задержка сигнала при децимации/интерполяции, можно ли использовать IIR фильтр при чисто программной реализации (на ДСП)?
Дело в том, что сейчас использую дециматор на 256, 8 из которых- CIC2, 16- CIC5 и 2- FIR, при этом задержка в фильтре порядка 1,5 мс. полоса сигнала порядка 4-16кГц.
Время задержки весьма критичный для меня параметр, вот и думаю использовать IIR фильтр для децимации. Будет ли это решением проблемы?
Alex65111
Цитата
сейчас использую дециматор на 256, 8 из которых- CIC2, 16- CIC5 и 2- FIR
- а почему Вы приняли именно такую схему децимации? Вообще то считается, что первый каскад должен максимально децимировать, т.е в Вашем случае как минимум 64, а то и все 128.

По поводу IIR сам не работал по такой схеме, но чисто теоритически (если фаза не страшна) можно, однако вычислительная сложность будет нерационально большой, так как в этом случае придется рассчитывать отсчеты, которые потом все равно удалять (децимировать).
shf_05
Цитата(Alex65111 @ Jul 23 2008, 12:30) *
- а почему Вы приняли именно такую схему децимации? Вообще то считается, что первый каскад должен максимально децимировать, т.е в Вашем случае как минимум 64, а то и все 128.



схема такова потому что она реализуется на ИМС AD6620, у нее ограниченные возможности, можно сделать CIC2= 8, CIC5=16, FIR=2.

Цитата(Alex65111 @ Jul 23 2008, 12:30) *
По поводу IIR сам не работал по такой схеме, но чисто теоритически (если фаза не страшна) можно, однако вычислительная сложность будет нерационально большой, так как в этом случае придется рассчитывать отсчеты, которые потом все равно удалять (децимировать).


а дляинтерполятора все равно- выч сложность будет примерно одного порядка?
Михаил_K
Есть еще одно отличие CIC от FIR. При реализации FIR можно получить АЧХ с требуемыми параметрами, например косинусный фильтр с нужным коэффициентом скругления. А вот с CIC такой гибкости нету. Поэтому при децимации сначала используют CIC, а затем FIR, дабы получить нужные свойства. Еще один немаловажный параметр фильтра - ГВЗ. У рекурсивных фильтров, которым является CIC она не линейна (линейна лишь в части полосы)Кстати, утверждение, что первый каскад должен максимально децимировать не верно. Лучше для максимальной децимации использовать FIR, а уж чего не хватает - добивать CICом. Так можно получить меньшую неравномерность АЧХ и ГВЗ.
Самурай
Цитата(Михаил_K @ Jul 23 2008, 14:27) *
Еще один немаловажный параметр фильтра - ГВЗ. У рекурсивных фильтров, которым является CIC она не линейна (линейна лишь в части полосы)


Немного не так - CIC это не рекурсивный фильтр (в том смысле что это не IIR), это рекурсивная реализация FIR фильтра, причем с линейной ФЧХ во всей частотной области и следовательно постоянным ГВЗsmile.gif

Что касается использования IIR для децимации, то конечно можно. Но только ГВЗ для IIR будет не такая уж и маленькая. Хотя и меньшеsmile.gif Но будет нелинейной ФЧХ и будут (скорее всего) вычисления с плавающей точкой. Хотя, если не ошибаюсь, для IIR также возможна полифазная реализация.
shf_05
с дециматором ясно, а как насчет интерполятора?
ведь даже в матлабе по умолчанию ф-я decimate использует БИХ фильтр чебышева?
Михаил_K
Цитата(Самурай @ Jul 23 2008, 17:19) *
Немного не так - CIC это не рекурсивный фильтр (в том смысле что это не IIR), это рекурсивная реализация FIR фильтра, причем с линейной ФЧХ во всей частотной области и следовательно постоянным ГВЗsmile.gif


гм. Возможно я ошибся на счет ГВЗ....

Цитата(shf_05 @ Jul 23 2008, 17:51) *
с дециматором ясно, а как насчет интерполятора?
ведь даже в матлабе по умолчанию ф-я decimate использует БИХ фильтр чебышева?


С интерполяцией наоборот. Если есть требования к неравномерности АЧХ, то сначала нужно интерполировать FIRом, а потом можно добить CICом

Кстати, неплохо про CIC написано у Xilinx. Смотрите прикрепленный файлик
Alex65111
Цитата
Лучше для максимальной децимации использовать FIR, а уж чего не хватает - добивать CICом
- Чето намудрили, если уж FIRом сумели много децимировать, то CIC уже нафиг не нужен.
shf_05
Цитата(Alex65111 @ Jul 23 2008, 20:57) *
- Чето намудрили, если уж FIRом сумели много децимировать, то CIC уже нафиг не нужен.


вот вот я впал в замешательство зачем?!
des00
Немножко оффтопик, но частью по теме.

Господа просветите ламера.

Использую у себя на ФПГА в качестве дециматоров/интерполяторов N каскадов FIR со всеми единичными коэффициентами (порядок FIR определяется кратным изменением частоты).

АЧХ и ФЧХ CIC и этого FIR совпадают.

Чем такой фильтр хуже/лучше чем классический CIC (с рекурсивной частью) ?


Спасибо.
Михаил_K
Цитата(Alex65111 @ Jul 23 2008, 18:57) *
- Чето намудрили, если уж FIRом сумели много децимировать, то CIC уже нафиг не нужен.


СIC нужен. С ростом коэффициента децимации возрастает объем оборудования, занимаемого FIRом. В частности величина линий задержки и объем памяти для коэффициентов. Так например на VirtexII в тысяыном плисе я реализовывал двухканальный FIR с коэффициентом децимации 128. При этом сожрало практически всю память плиса. А поставленный перед ним CIC, занимая небольшой объем позволил увеличить общий коэффициент децимации до 32768.
shf_05
спасибо всем за ответы.
как насчет реализации дециматоров и интерполяторов на FPGA, нужно реализовать интерполятор и дециматор на 256, "конечная" Fs>= 4MSPS.
насколько это трудоемкая задача? можно ли реализовать на cpld?
кто делал- поделитесь соображениями.
сам до этого не использовал FPGA, только ДСП.
если есть ссылки по теме скинте пожалуйста.
Михаил_K
Цитата(shf_05 @ Jul 24 2008, 12:49) *
спасибо всем за ответы.
как насчет реализации дециматоров и интерполяторов на FPGA, нужно реализовать интерполятор и дециматор на 256, "конечная" Fs>= 4MSPS.
насколько это трудоемкая задача? можно ли реализовать на cpld?
кто делал- поделитесь соображениями.
сам до этого не использовал FPGA, только ДСП.
если есть ссылки по теме скинте пожалуйста.


Боюсь что на CPLD будет трудновато. Разве что действительно CIC использовать, если нет требования к АЧХ.

Если же использовать FIR, то нужно строить полифазную структуру, с учетом того, что фильтр как правило симметричный. Задача не слишком сложная, главное правильно понять. Помню когда делал дециматор, чуть мозг не спалил, когда делал разворот в центре фильтра smile.gif
Самурай
Цитата(des00 @ Jul 24 2008, 06:14) *
Немножко оффтопик, но частью по теме.

Господа просветите ламера.

Использую у себя на ФПГА в качестве дециматоров/интерполяторов N каскадов FIR со всеми единичными коэффициентами (порядок FIR определяется кратным изменением частоты).

АЧХ и ФЧХ CIC и этого FIR совпадают.

Чем такой фильтр хуже/лучше чем классический CIC (с рекурсивной частью) ?
Спасибо.


Если Ваш фильтр реализован напрямую, по классической схеме (и без всяких полифазных штучек): линия задержки + M сумматоров - то такой фильтр требует больше ресурсов (как памяти или регистров на линию задержки и больше LE на арифметику) и обладает меньшей гибкостью в настройке параметров по сравнению с CIC.

Во всяком случае, идею CIC я понял именно такsmile.gif.
Михаил_K
Цитата(Самурай @ Jul 24 2008, 19:19) *
Если Ваш фильтр реализован напрямую, по классической схеме (и без всяких полифазных штучек): линия задержки + M сумматоров - то такой фильтр требует больше ресурсов (как памяти или регистров на линию задержки и больше LE на арифметику) и обладает меньшей гибкостью в настройке параметров по сравнению с CIC.

Во всяком случае, идею CIC я понял именно такsmile.gif.


Вот на счет ресурсов вы правы. Боюсь даже что если без всяких полифазных штучек приличный фильтр вместить в приемлимые FPGA будет сложно. А вот гибкость в настройке параметров - тут всетаки наоборот.
729
Цитата(Самурай @ Jul 24 2008, 19:19) *
Во всяком случае, идею CIC я понял именно такsmile.gif.

Если почитать статью Хогенауэра по CIC фильтрам, то станет ясно, что реализация CIC на ПЛИС, да и просто в целочисленной арифметике, требует большой тщательности из-за непомерной разрядности сумматоров.

Но не совсем в этом идея CIC реализации. Идея в том, что тактовая, на которой может работать CIC реализация, равна входной частоте отсчетов. Для многих задач это очень важный фактор. Но за это приходится платить неравномерностью АЧХ и хорошим подавлением только в узких частотных участках.
Николаевич
Цитата(729 @ Jul 25 2008, 12:04) *
Если почитать статью Хогенауэра по CIC фильтрам, то станет ясно, что реализация CIC на ПЛИС, да и просто в целочисленной арифметике, требует большой тщательности из-за непомерной разрядности сумматоров.

Но не совсем в этом идея CIC реализации. Идея в том, что тактовая, на которой может работать CIC реализация, равна входной частоте отсчетов. Для многих задач это очень важный фактор. Но за это приходится платить неравномерностью АЧХ и хорошим подавлением только в узких частотных участках.

Ну тщательности там особой нет, все элементарно считается, включая требуемую разрядность.
А идея, я б сказал, в другом. И связана идея в основном с децимрующим вариантом. Идея в том, чтобы оставить свободным (почти) от наложения только ма-а-а-а-хонький участок в спектре прореженного резальта, наплевав с вычокой колокольни на всю остальную часть спетктра.И в дальнейшем этот ма-а-а-хонький участок только и использовать. Выделив его старыми добрыми народными средствами - КИХ-классика или БИХ. Но работающими уже на шибко низкой частоте. . biggrin.gif
des00
2 Самурай и Михаил_K

В проекте переношу сигнал с 8*Fверхнее на 64*Fверхнее(децимация в 8 раз).

FIR фильтр 8 го порядка реализован как цепочка суммататоров.

Итоговый дециматор состоит из 6 ти таких фильтров(дает подавление 60дБ на 8fверхнее). ~5000LC для 22 битных данных.

Фильтр скопировал у старших коллег, по их словам CIC фильтр плохо подходит для фпга реализаций, из-за эффектов усечения разрядности аккумуляторов и мне не рекомендовали его использовать.

Вот мне и стало интересно почему smile.gif

Спасибо.
729
Цитата(Николаевич @ Jul 25 2008, 12:30) *
Ну тщательности там особой нет, все элементарно считается, включая требуемую разрядность.
А идея, я б сказал, в другом. И связана идея в основном с децимрующим вариантом. Идея в том, чтобы оставить свободным (почти) от наложения только ма-а-а-а-хонький участок в спектре прореженного резальта, наплевав с вычокой колокольни на всю остальную часть спетктра.И в дальнейшем этот ма-а-а-хонький участок только и использовать. Выделив его старыми добрыми народными средствами - КИХ-классика или БИХ. Но работающими уже на шибко низкой частоте. . biggrin.gif

Вы статью Хогенауэра читали?
А Ваша идея не к CIC относится, а к каскаду интеграторовsmile.gif


Цитата(des00 @ Jul 25 2008, 12:33) *
2 Самурай и Михаил_K

В проекте переношу сигнал с 8*Fверхнее на 64*Fверхнее(децимация в 8 раз).

FIR фильтр 8 го порядка реализован как цепочка суммататоров.

Итоговый дециматор состоит из 6 ти таких фильтров(дает подавление 60дБ на 8fверхнее). ~5000LC для 22 битных данных.

Фильтр скопировал у старших коллег, по их словам CIC фильтр плохо подходит для фпга реализаций, из-за эффектов усечения разрядности аккумуляторов и мне не рекомендовали его использовать.

Вот мне и стало интересно почему smile.gif

Спасибо.

Если разрядность аккумуляторов не усекать, то она до безобразия разрастается, Ваши коллеги совершенно правы. Но есть методика грамотного усечения разрядности для каждого сумматора исходя из требуемого уровня шума округления на выходе. Посчитав по ней можно весьма эффективно уменьшить ресурсы в ПЛИС. Об этом у Хогенауэра есть.
Николаевич
Цитата(729 @ Jul 25 2008, 14:34) *
Вы статью Хогенауэра читали?

Обязательно. biggrin.gif

Цитата(729 @ Jul 25 2008, 14:34) *
А Ваша идея не к CIC относится, а к каскаду интеграторовsmile.gif


Вы мне льстите, но справедливости ради должен заметить, что это не моя идея biggrin.gif
Собс-но она реализована во всех так называемыхцифровых приемниках, ад6620 и иже с ними.

И на просто интеграторах она не пройдет. Просто интегратор весьма неустойчив эмоционально. Почему-то. Даже в одиночку. Я думаю, что сказывается длительное воздержание. От дифференцирования. А уж если их каскад, этих интеграторов, то все, пиши пропало. Содом и даже гоморра.
К счастью есть еще комбы, направляющие энергию интеграторов в естественное русло.
А все вместе - да, каскад интеграторов и комбов, гребенков в смысле. biggrin.gif Его так и назвали КИГ -какскад интеграторов и гребенок.

P.S. Закину удочку. Собс-но СИК первого порядка элементарно получается, если рассмотреть классическую блок схемку согласованного с прямоугольником фильтра, а именно: интегратор, вычитатель, на входы вычитателя подаются незадержанный и задержанный на длительность прямоуг. выход интегратора. Если после интегратора вставить прорежатель, а уже после него все остальное, то цик и получится, задержку при этом можно и, я бы сказал, нужно, смасштабировать. biggrin.gif
729
Цитата(Николаевич @ Jul 25 2008, 15:32) *
Собс-но она реализована во всех так называемыхцифровых приемниках, ад6620 и иже с ними.

Вы никогда не задумывались почему?

Цитата(Николаевич @ Jul 25 2008, 15:32) *
И на просто интеграторах она не пройдет. Просто интегратор весьма неустойчив эмоционально. Почему-то. Даже в одиночку. Я думаю, что сказывается длительное воздержание. От дифференцирования. А уж если их каскад, этих интеграторов, то все, пиши пропало. Содом и даже гоморра.
К счастью есть еще комбы, направляющие энергию интеграторов в естественное русло.
А все вместе - да, каскад интеграторов и комбов, гребенков в смысле. biggrin.gif Его так и назвали КИГ -какскад интеграторов и гребенок.

Как-то очень Вы узко про интеграторы судите. Они, интеграторы, впрочем как и интегралы, бывают не только от -бесконечности до n, но и немного другиеsmile.gif

Цитата(Николаевич @ Jul 25 2008, 15:32) *
P.S. Закину удочку. Собс-но СИК первого порядка элементарно получается, если рассмотреть классическую блок схемку согласованного с прямоугольником фильтра, а именно: интегратор, вычитатель, на входы вычитателя подаются незадержанный и задержанный на длительность прямоуг. выход интегратора. Если после интегратора вставить прорежатель, а уже после него все остальное, то цик и получится, задержку при этом можно и, я бы сказал, нужно, смасштабировать. biggrin.gif

А удочку тут Вы куда закинули?


Цитата(Николаевич @ Jul 25 2008, 15:32) *
И на просто интеграторах она не пройдет. Просто интегратор весьма неустойчив эмоционально. Почему-то. Даже в одиночку. Я думаю, что сказывается длительное воздержание.

И, смею Вас заверить, для всех реально оцифрованных сигналов тот интегратор, который Вы имеете в виду, ВСЕГДА устойчив. Это Вам просто разрядиков в нем не всегда хватает...
shf_05
уважаемые господа, можно ссылочку на статью Хогенауэра?
729
Цитата(shf_05 @ Jul 25 2008, 16:23) *
уважаемые господа, можно ссылочку на статью Хогенауэра?

Напишите мне в личку мыло, я Вам её на почту сброшу.

Цитата(shf_05 @ Jul 25 2008, 16:23) *
уважаемые господа, можно ссылочку на статью Хогенауэра?

Получилосьsmile.gif
shf_05
Цитата(729 @ Jul 25 2008, 18:46) *
Напишите мне в личку мыло, я Вам её на почту сброшу.
Получилосьsmile.gif

Спасибо!
как я понял, если бы позволяли аппаратные возможности, то децимировали-интерполировали бы через
ФИР?
и основная фича CIC- возможность работать при достаточно простой аппаратной реализации?

а если исполнять децим/интерпол на весьма шустром ДСП, то учитывая, что умножение и сложение для него равносильны по выч затратам, то можно все делать на ФИР? или ИИР?
Николаевич
Цитата(729 @ Jul 25 2008, 16:13) *
Вы никогда не задумывались почему?

Ой... Вы так загадочны... Давайте не уходите в сторону, ладно biggrin.gif
Причина элементарна - получить удовлетворительный результат при минимальных затратах. Умножитель к минимальным затратам не относится. Удовлетворительный результат заключается в понижении частоты дискретизации и сохранении более-менее свободной от наложений области спектра в районе 0 частоты. Что при этом творится в соседней области спектра мало интересно. Достигается этот результат использованием ЦИК-ов. В их децимирующем варианте. Возражения есть? biggrin.gif
Цитата(729 @ Jul 25 2008, 16:13) *
Как-то очень Вы узко про интеграторы судите. Они, интеграторы, впрочем как и интегралы, бывают не только от -бесконечности до n, но и немного другиеsmile.gif

У вас блестящие познания в математике. Вот как раз немного другие пределы и обеспечиваются (в случае с циками) комбами и прореживателями (для дец. варианта). Преврающими швейную машинку в колхозную сноповязалку. То есть интеграторы до бесконечности в интеграторы не до бесконечности, или в ЦИК. biggrin.gif
Цитата(729 @ Jul 25 2008, 16:13) *
А удочку тут Вы куда закинули?

Похоже, что в болото biggrin.gif
Цитата(729 @ Jul 25 2008, 16:13) *
И, смею Вас заверить, для всех реально оцифрованных сигналов тот интегратор, который Вы имеете в виду, ВСЕГДА устойчив. Это Вам просто разрядиков в нем не всегда хватает...

Батюшки, это что-то новое в теории устойчивости. Собственно неустойчивых цепей вообще не бывает, вся проблема в том, что бесконечность плохо отображается и отражается. Например на резисторах... Милый 729, используемые в ЦИКАХ интеграторы,( те, у которых бескончности), всегда неустойчивы, А ЦИКИ всегда устойчивы, если правильно спроектиованы разумеется. И даже если вы ЦИКИ назовете интеграторами не с с бескончностями они все равно будут устойчивыми. Потому что кихи. biggrin.gif
729
Цитата(shf_05 @ Jul 25 2008, 16:59) *
Спасибо!
как я понял, если бы позволяли аппаратные возможности, то децимировали-интерполировали бы через
ФИР?
и основная фича CIC- возможность работать при достаточно простой аппаратной реализации?

а если исполнять децим/интерпол на весьма шустром ДСП, то учитывая, что умножение и сложение для него равносильны по выч затратам, то можно все делать на ФИР? или ИИР?

Да конечно можно. CIC это и есть FIR. Реализуйте как хотите.
Была бы возможность, я бы фильтры с CIC подобной АЧХ не использовал бы вообще.
Николаевич
Цитата(shf_05 @ Jul 25 2008, 16:59) *
Спасибо!
как я понял, если бы позволяли аппаратные возможности, то децимировали-интерполировали бы через
ФИР?
и основная фича CIC- возможность работать при достаточно простой аппаратной реализации?

а если исполнять децим/интерпол на весьма шустром ДСП, то учитывая, что умножение и сложение для него равносильны по выч затратам, то можно все делать на ФИР? или ИИР?

Конечно. Более того, ЦИК обычно и пускают в связке с "классическим" FIR. Назначение ЦИК - облегчить жизнь FIRу.

У FIR, кстати, есть замечательная русская аббревиатура - КИХ (Конечной длины Импульсная Характеристика). А у IIR - БИХ (Бесконечной длины Импульсная Характеристика)
shf_05
Цитата(729 @ Jul 25 2008, 19:05) *
Да конечно можно. CIC это и есть FIR. Реализуйте как хотите.
Была бы возможность, я бы фильтры с CIC подобной АЧХ не использовал бы вообще.

яб тоже, хоть она потом и "выравнивается" на последней стадии дециматора...

высь сыр бор начался из-за желания убрать из схемы имс типа AD9856- глюкавит порой виснет или выдает на выход ноль, если глюкнет от помехи- на выходе случайный сигнал (шум), а заодно и ее "друга"- AD6620, правда на нее нареканий нет- железная штука, но тоже невсовсем что надо.
вот думаю что ставить FPGA или TMS64xx.

Цитата(Николаевич @ Jul 25 2008, 19:10) *
У FIR, кстати, есть замечательная русская аббревиатура - КИХ (Конечной длины Импульсная Характеристика). А у IIR - БИХ (Бесконечной длины Импульсная Характеристика)

ну это общеизвестный факт))) можно еще проше фильтр с конечной их и с бесконечной их.
Николаевич
Цитата(shf_05 @ Jul 25 2008, 17:17) *
ну это общеизвестный факт))) можно еще проше фильтр с конечной их и с бесконечной их.

Да, я заметил, что даже на русской клавиатуре некоторые пишут ФИР. А некоторые не ленятся даже переключать раскладку, чтобы написать FIR. Видимо от общеизвестности. И задают "сложнейшие" вопросы по ЦИК.
729
Цитата(Николаевич @ Jul 25 2008, 16:59) *
Ой... Вы так загадочны... Давайте не уходите в сторону, ладно biggrin.gif
Причина элементарна - получить удовлетворительный результат при минимальных затратах. Умножитель к минимальным затратам не относится. Удовлетворительный результат заключается в понижении частоты дискретизации и сохранении более-менее свободной от наложений области спектра в районе 0 частоты. Что при этом творится в соседней области спектра мало интересно. Достигается этот результат использованием ЦИК-ов. В их децимирующем варианте. Возражения есть? biggrin.gif

А как же без возраженийsmile.gif
1. В сторону я как раз и не уходил - ответ на вопрос, почему в ad6620 первыми стоят CICы, стал бы ответом на один из вопросов автора темы.
2. А без ЦИКов Вы такой результат получить не можете? Например, если тактовая кристалла в 2 раза больше частоты отсчетов и памяти в кристалле много? Только не надо больше пересказывать статейные блок-схемы своими словами, ладно?

Цитата(Николаевич @ Jul 25 2008, 16:59) *
У вас блестящие познания в математике. Вот как раз немного другие пределы и обеспечиваются (в случае с циками) комбами и прореживателями (для дец. варианта). Преврающими швейную машинку в колхозную сноповязалку. То есть интеграторы до бесконечности в интеграторы не до бесконечности, или в ЦИК. biggrin.gif

А я грешным делом подумал, что Вы говорите об интеграторах от бесконечности, а не до... Но всё равно сложно как-то у Вас - то интегратор до бесконечности, то не до бесконечкости тоже интегратор, то он вообще только ЦИК. А просто сумма в N отсчетов без децимации (скользящее среднее) уже не интегратор?

Цитата(Николаевич @ Jul 25 2008, 16:59) *
Батюшки, это что-то новое в теории устойчивости. Собственно неустойчивых цепей вообще не бывает, вся проблема в том, что бесконечность плохо отображается и отражается. Например на резисторах... Милый 729, используемые в ЦИКАХ интеграторы,( те, у которых бескончности), всегда неустойчивы, А ЦИКИ всегда устойчивы, если правильно спроектиованы разумеется. И даже если вы ЦИКИ назовете интеграторами не с с бескончностями они все равно будут устойчивыми. Потому что кихи. biggrin.gif

Опять как-то сложно - то неустойчивые интеграторы, то неустойчивых цепей вообще не бывает. Вы уж как-нибудь определитесь.
Мне даже в страшном сне не привидится отображения и отражения бесконечности на резисторах, Вы уж простите.
А главное, совсем не понятен смысл, то есть к чему всё это сказано. Про неустойчивые интеграторы Вы сами речь завели, теперь пытаетесь неустойчивый интегратор (кстати, почитайте, всё же, Хогенауэра) влепить в CIC... Ну НЕТУ в CIC фильтре ни одного неустойчивого интегратора (даже если один сумматор от него оставить), НЕТУ!



Цитата(Николаевич @ Jul 25 2008, 17:10) *
У FIR, кстати, есть замечательная русская аббревиатура - КИХ (Конечной длины Импульсная Характеристика). А у IIR - БИХ (Бесконечной длины Импульсная Характеристика)

Ну Вы прям Америку за Америкой открываете!!! Особенно мне понравился Ваш опус про CIC первого порядкаsmile.gif
Кстати, как Вы "расшифровываете" свои "СИК" и "ЦИК"?
Николаевич
Цитата(729 @ Jul 25 2008, 17:51) *
1. В сторону я как раз и не уходил - ответ на вопрос, почему в ad6620 первыми стоят CICы, стал бы ответом на один из вопросов автора темы.

Ему и без меня ответили. Я на вас среагировал. Дай, думаю, пообщаюсь с 729 чуток. Давно не общался. biggrin.gif
Цитата(729 @ Jul 25 2008, 17:51) *
2. А без ЦИКов Вы такой результат получить не можете? Например, если тактовая кристалла в 2 раза больше частоты отсчетов и памяти в кристалле много? Только не надо больше пересказывать статейные блок-схемы своими словами, ладно?

biggrin.gif
Запросто. Но автору и до вас и до меня ответили, да он, я думаю, и сам не слепой и видит, что реалицация ЦИК проще реализации классического универсального КИХ или БИХ. И вопрос простоты реализации не стоит.
Но если желаете - ради бога. Я переадресую ваш вопрос вам же. Ваша основная идея элементарна реализуется без ЦИКА, при этом кристалл работает тактовой=частоте отсчетов. Просто у него до страсти ресурсов и он все делает параллельно. Устраивает? Если устраивает, то ваша основная идея идет раком. Или все-таки перестанете уходить в сторону?
Вы ведь что сказали в сообщении, на которое я отреагировал? ЦИК давит в узких областях. Я высказал свою точку зрения (по поводу основной идеи biggrin.gif ) - оставляет узкую область свободной от наложений. Ничего в ней не давя. При этом налевав на остальные области. Вот хотите - оспаривайте ее. Не хотите - не доказывайте, что 2*2=4.


Цитата(729 @ Jul 25 2008, 17:51) *
А я грешным делом подумал, что Вы говорите об интеграторах от бесконечности, а не до...
Но всё равно сложно как-то у Вас - то интегратор до бесконечности, то не до бесконечкости тоже интегратор, то он вообще только ЦИК. А просто сумма в N отсчетов без децимации (скользящее среднее) уже не интегратор?

Батюшки, ваши знания математики меня поражают все больше и больше biggrin.gif
Я вам открою страшную тайну. Любой фильтр является интегратором. Интеграл вычисляет потому что. Знаете какой? biggrin.gif
И просто сумма в N отсчетов без децимации - обязательно интегратор, но вот увы, без децимации редко удается понизить частоту дискретизации. Не знаю, почему так получается. А поставив дециматор вы придете к? Только по другому нарисованному. biggrin.gif

Цитата(729 @ Jul 25 2008, 17:51) *
Опять как-то сложно - то неустойчивые интеграторы, то неустойчивых цепей вообще не бывает. Вы уж как-нибудь определитесь.
Мне даже в страшном сне не привидится отображения и отражения бесконечности на резисторах, Вы уж простите.

Да, этого вам не понять biggrin.gif
Цитата(729 @ Jul 25 2008, 17:51) *
Ну НЕТУ в CIC фильтре ни одного неустойчивого интегратора (даже если один сумматор от него оставить), НЕТУ!

Ой. Куда это он там делся, милый 729? biggrin.gif Проделайте эксперимент - выведите куда-нибудь выход этого, по вашим словам, устойчивого интегратора и внимательно за ним наблюдайте. Подав на вход единичный импульс. А потом вспомните один из критериев устойчивости. Или в литературе найдите, если вспоминать нечего.

Цитата(729 @ Jul 25 2008, 17:51) *
Ну Вы прям Америку за Америкой открываете!!! Особенно мне понравился Ваш опус про CIC первого порядкаsmile.gif
Кстати, как Вы "расшифровываете" свои "СИК" и "ЦИК"?

Да какую Америку... Я рад, что вам понравился мой опус. По нему есть возражения? А расшифровываю я примерно так же ,как другие расшифровывают ФИР. biggrin.gif Цаскад интеграторов и комбов. Или Саскад интеграторов и комбов biggrin.gif
729
Цитата(Николаевич @ Jul 25 2008, 18:51) *
Ой. Куда это он там делся, милый 729? biggrin.gif Проделайте эксперимент - выведите куда-нибудь выход этого, по вашим словам, устойчивого интегратора и внимательно за ним наблюдайте. Подав на вход единичный импульс. А потом вспомните один из критериев устойчивости.

Я не очень Вас обижу, если еще раз скажу, что в CIC фильтре нет элементов, которые Вы называете неустойчивыми интеграторами?
Больше повторяться не буду, Вы уж простите.
А то, что будет на выходе, например, первой секции для Вашего примера, надеюсь, Вы и сами сможете нарисовать. Заодно и посмотреть на результатsmile.gif
Николаевич
Цитата(729 @ Jul 25 2008, 19:16) *
Я не очень Вас обижу, если еще раз скажу, что в CIC фильтре нет элементов, которые Вы называете неустойчивыми интеграторами?
Больше повторяться не буду, Вы уж простите.
А то, что будет на выходе, например, первой секции для Вашего примера, надеюсь, Вы и сами сможете нарисовать. Заодно и посмотреть на результатsmile.gif

Как вы меня можете обидеть? biggrin.gif Вы только не валите с больной головы на здоровую. Неустойчивые интеграторы - от вас. А по поводу есть-нет - ну разуйте глаза, что ж я еще вам могу посоветовать. И вспоминайте устойчивость, вспоминайте, если знали, конечно. biggrin.gif
729
Цитата(Николаевич @ Jul 25 2008, 19:26) *
Неустойчивые интеграторы - от вас.

Нет уж, простите... Вам Вас же процитировать, или сами найдёте?

Цитата(Николаевич @ Jul 25 2008, 19:26) *
А по поводу есть-нет - ну разуйте глаза, что ж я еще вам могу посоветовать. И вспоминайте устойчивость, вспоминайте, если знали, конечно. biggrin.gif

Эээ... А Вы попробуйте переключить своё внимание в словосочетании "неустойчивый интегратор" на второе слово. И еще раз внимательно перечитайте то, что я написал...

Цитата(Николаевич @ Jul 25 2008, 19:26) *
Я вам открою страшную тайну. Любой фильтр является интегратором. Интеграл вычисляет потому что. Знаете какой?

Да... Действительно страшная тайна, особенно если под "любой" попадают цифровые фильтры 07.gif

Ну и возвращаясь к теме. Вы настаиваете, что CIC "...оставляет узкую область свободной от наложений...", я же настаиваю на том, что CIC - это только одна из реализаций некого фильтра, оставляющего узкую область, свободную от наложений. Фильтр с CIC "подобной" АЧХ реализуется многими способами. Например, просто как FIR с весьма некороткой, но симметричной ИХ (целый ряд схем реализации), или как набор последовательно включенных FIR с более короткими и простыми ИХ (еще больший ряд схем реализации), как CIC со всеми своими сумматорами в 40 и более разрядов. Ну кому что подходит по железу.

Но совсем "ничго в ней не давя" это Вы зря - давит в "...узкой области свободной от наложений..." еще как.

Повторяю еще раз: CIC - это только одна из возможных схем (однотактовая - тактовая фильтра равна частоте отсчетов, что часто очень немаловажно), РЕАЛИЗАЦИИ простейшего децимирующего фильтра. И только этим она хороша. АЧХ у CIC на больших порядках паршивая, выравнивать последующими фильтрами надо. И не более того. Но среди всех этих схем, по-моему, нет ни одной "однотактовой", кроме схемы CIC.
Вот и всё...
vechnost
Vot ne plohaya statya pro fir filteri, tam toze govoritsya o comb filterah kotoriye yavlyayutsya chastyu cic fltera i pochemu oni horosi:
http://www.techonline.com/learning/techpaper/193103481
729
Цитата(vechnost @ Jul 27 2008, 01:59) *
Vot ne plohaya statya pro fir filteri, tam toze govoritsya o comb filterah kotoriye yavlyayutsya chastyu cic fltera i pochemu oni horosi:
http://www.techonline.com/learning/techpaper/193103481

Так и не получилось скачать статью... Вы не могли бы её выложить тут в виде файла?
shf_05
Ну господа Вас и понесло))).
насколько я помню неустойчивыми бывают цепи с ОС при выполнении 2-х условий- коэф. передачи K*beta>1 и угол равен 180. или полюсы ПФ лежат за ед. кругом.
если говорить об интеграторах или дифференциаторах, то они не могут быть неустойчивыми по определению.
как видно из ПФ CIC, она тоже не может быть неустойчивой.
наличие дифференциаторов я понимаю необходимо для
1. предотвращения "насыщения интеграторов постоянкой" - это еще вопрос к Вам, уважаемые
2. обеспечение "лепестковой" АЧХ за счет наличия нулей в ПФ за счет решетчатого (comb) фильтра.
shf_05
Цитата(shf_05 @ Jul 27 2008, 22:40) *
Ну господа Вас и понесло))).
насколько я помню неустойчивыми бывают цепи с ОС при выполнении 2-х условий- коэф. передачи K*beta>1 и угол равен 180. или полюсы ПФ лежат за ед. кругом.
если говорить об интеграторах или дифференциаторах, то они не могут быть неустойчивыми по определению.
как видно из ПФ CIC, она тоже не может быть неустойчивой.
наличие дифференциаторов я понимаю необходимо для
1. предотвращения "насыщения интеграторов постоянкой" - это еще вопрос к Вам, уважаемые
2. обеспечение "лепестковой" АЧХ за счет наличия нулей в ПФ за счет решетчатого (comb) фильтра.

поправлюсь- интегратор имеет полюс в точке z=1, это условно устойчивый элемент, на частоте 0 его ПФ стремится к бесконечности, если бы не ограниченность арифметики вычислителя, тогда слующий за ним "дифференциатор" исправил бы положение за счет нуля в своей ПФ.
Николаевич
Цитата(729 @ Jul 25 2008, 22:09) *
Нет уж, простите... Вам Вас же процитировать, или сами найдёте?

Не надо меня цитировать. Это вы несколько постов назад, демонстрируя блестящую эрудицию, сказанули, что у интеграторов, как и у интегралов пределы бывают не обязательно бесконечные, а совсем даже конечные. Так вот, чтобы вы могли отличать и пришлось говорить об устойчивых интеграторах и неустойчивых. Вообще говоря в приличном общесте интегратором считается эл-т, имеющий пер. функцию для аналогового варианта: 1/s, для цифры: - 1/(1-z^-1). Все остальное может называться как угодно - интегратор со сбросом, скользящее среднее, соглас с прямоугольником фильтр и т.д. Но не просто интегратором. Что интересно, и 1/s и 1/(1-z^-1) - передаточные функции неустойчивого элемента.
Цитата(729 @ Jul 25 2008, 22:09) *
Эээ... А Вы попробуйте переключить своё внимание в словосочетании "неустойчивый интегратор" на второе слово. И еще раз внимательно перечитайте то, что я написал...

А вы считаете что я в ваших 2-х словах нашел какое-то третье, большой андронный коллайдер например, и обращаю внимание на него, да? biggrin.gif Нет, милый мой, исключительно на интегратор и исключительно на ваши высказывания о его устойчивости милостиво обратил я свой взор.


Цитата(729 @ Jul 25 2008, 22:09) *
Да... Действительно страшная тайна, особенно если под "любой" попадают цифровые фильтры 07.gif

Ну для вас - очень похоже, что действительно страшная тайна. Вы сейчас намерены осветить вопрос о различиях между суммой и интегралом? biggrin.gif

Цитата(729 @ Jul 25 2008, 22:09) *
Ну и возвращаясь к теме. Вы настаиваете, что CIC "...оставляет узкую область свободной от наложений...", я же настаиваю на том, что CIC - это только одна из реализаций некого фильтра, оставляющего узкую область, свободную от наложений. Фильтр с CIC "подобной" АЧХ реализуется многими способами. Например, просто как FIR с весьма некороткой, но симметричной ИХ (целый ряд схем реализации), или как набор последовательно включенных FIR с более короткими и простыми ИХ (еще больший ряд схем реализации), как CIC со всеми своими сумматорами в 40 и более разрядов. Ну кому что подходит по железу.

Но совсем "ничго в ней не давя" это Вы зря - давит в "...узкой области свободной от наложений..." еще как.
Повторяю еще раз: CIC - это только одна из возможных схем (однотактовая - тактовая фильтра равна частоте отсчетов, что часто очень немаловажно), РЕАЛИЗАЦИИ простейшего децимирующего фильтра. И только этим она хороша. АЧХ у CIC на больших порядках паршивая, выравнивать последующими фильтрами надо. И не более того. Но среди всех этих схем, по-моему, нет ни одной "однотактовой", кроме схемы CIC.
Вот и всё...


Нет уж, наставивать надо было раньше, причем в ключе первого вашего сообщения, на которое я сделал замечание. А сейчас настаивать поздно. biggrin.gif
Кстати, чуть не забыл, что именно давит ЦИК, и еще как по вашим словам, в узкой области свободной от наложений ? biggrin.gif


Цитата(shf_05 @ Jul 28 2008, 09:49) *
поправлюсь- интегратор имеет полюс в точке z=1, это условно устойчивый элемент, на частоте 0 его ПФ стремится к бесконечности, если бы не ограниченность арифметики вычислителя, тогда слующий за ним "дифференциатор" исправил бы положение за счет нуля в своей ПФ.

О господи. Знатоки... Теперь еще условная устойчивость...
Значит так. Фильтр устойчив, если интеграл(сумма) от модуля его импульсной характеристики конечен.
Пределы интеграла (суммы) - от 0 до бесконечности. Имульсная характеристика интегратора - скачок.
Если вы этот скачок просуммируете(проинтегрируете) получите бесконечность. Интегратор неустойчив. И неустойчив он по любому критерию проверки устойчивости.
И с исправлением полюсов нулями как-то не так у вас biggrin.gif
Если сразу после интегратора с пер. ф-ей 1/(1-z^-1) следует дифференциатор с пер. ф-ей (1-z^-1),
то этот дифференциатор скомпенсирует полюс интегратора своим нулем независимо от разрядности арифметики. Главное, чтобы ее разрядность не ниже входной была biggrin.gif А в результате получится провод. Устройство с к-том передачи=1. Ужасно устойчивое устройство. biggrin.gif
Если после интегратора стоит дециматор, а уже потом дифференциатор, то тоже скомпенсирует, но для этого нужно будет увеличить разрядность интегратора-дифференциатора , по сравнению с разрядностью входных данных. А в результате получится скачущее среднее. Тоже весьма устойчивая штука biggrin.gif
shf_05
Цитата(Николаевич @ Jul 28 2008, 13:57) *
Значит так. Фильтр устойчив, если интеграл(сумма) от модуля его импульсной характеристики конечен.
Пределы интеграла (суммы) - от 0 до бесконечности. Имульсная характеристика интегратора - скачок.
Если вы этот скачок просуммируете(проинтегрируете) получите бесконечность. Интегратор неустойчив. И неустойчив он по любому критерию проверки устойчивости.
И с исправлением полюсов нулями как-то не так у вас biggrin.gif
Если сразу после интегратора с пер. ф-ей 1/(1-z^-1) следует дифференциатор с пер. ф-ей (1-z^-1),
то этот дифференциатор скомпенсирует полюс интегратора своим нулем независимо от разрядности арифметики. Главное, чтобы ее разрядность не ниже входной была biggrin.gif А в результате получится провод. Устройство с к-том передачи=1. Ужасно устойчивое устройство. biggrin.gif
Если после интегратора стоит дециматор, а уже потом дифференциатор, то тоже скомпенсирует, но для этого нужно будет увеличить разрядность интегратора-дифференциатора , по сравнению с разрядностью входных данных. А в результате получится скачущее среднее. Тоже весьма устойчивая штука biggrin.gif


про ИХ вы правы!!!. я тоже так думал!!!, но из курса ТАУ известно, что интегратор- условно устойчив (он на границе устойчивости) полез в книги и действительно так по крайней мере так написано в Бесекерский ТАУ 2003г. то же самое про ПФ с компл. сопряж полюсами на ед. окр., как по вашему устойчива или нет такая система?
Видимо на стыке 2-х дисциплин получается небольшая разница в понятиях "устойчивость". Вобщем не будем ломать над этим голову, просто важно знать как себя ведет та или иная система, а как ее классифицировать не в моей компетенции.
а вот 2 иболее послед. интеграторов- вещь вообще интересная))

и про дифференциатор вы правы, только если подать постоянку на вход интегратора, то через какое-то время его выход превысит разр. сетку проца (особенно если он с ФТ) и следом стоящий диф-р уже не поможет. хотя на бумаге (формула) все вроде как сокращается ( то же и про дециматор)
alex_os
Цитата(shf_05 @ Jul 28 2008, 12:53) *
....только если подать постоянку на вход интегратора, то через какое-то время его выход превысит разр. сетку проца (особенно если он с ФТ) и следом стоящий диф-р уже не поможет. хотя на бумаге (формула) все вроде как сокращается ( то же и про дециматор)

Вы хотите сказать, что cic на ФТ не работает с постоянной составляющей ?!
Николаевич
Цитата(shf_05 @ Jul 28 2008, 12:53) *
про ИХ вы правы!!!. я тоже так думал!!!, но из курса ТАУ известно, что интегратор- условно устойчив (он на границе устойчивости) полез в книги и действительно так по крайней мере так написано в Бесекерский ТАУ 2003г. то же самое про ПФ с компл. сопряж полюсами на ед. окр., как по вашему устойчива или нет такая система?

Еще раз. Система неустойчива, если интеграл от модуля ее ИХ бесконечен. И интегратор и комплексный ПФ 1-го порядка с полюсом на ед. окружности и действит. ПФ 2-го порядка с компл.-сопряженными полюсами на ед. окружности - неустойчивы.


Цитата(shf_05 @ Jul 28 2008, 12:53) *
и про дифференциатор вы правы, только если подать постоянку на вход интегратора, то через какое-то время его выход превысит разр. сетку проца (особенно если он с ФТ) и следом стоящий диф-р уже не поможет. хотя на бумаге (формула) все вроде как сокращается ( то же и про дециматор)

А может просто перестать фантазировать? Вот почему все, ссылающиеся на Бесекерского, такие фантазеры, пытающиеся выдать свои умозрительные выводы за истину? Может вам простейший эксперимент проделать, a? Ну вот взять, например, 3-х разрядную арифметику с фикс. запятой, дополнительный код. Т.е. 3-х разрядные входные данные, 3-х разрядный интегратор, 3-х разрядный дифференциатор, прореживание=1 (отсутствует) Для определенности - все входные данные равны трем. Начальные условия - нулих.
Чтоб вам легче было, я даже щас выход интегратора изображу:
0,
0+3=3,
3+3=-2,
-2+3=1,
1+3=-4
-4+3=-1
-1+3=2,
2+3=-3
-3+3=0,
....

Ваша задача - найти выход дифференциатора. Для проверки - он равен 3,3,3,3,3,3, ..... biggrin.gif



Цитата(alex_os @ Jul 28 2008, 13:45) *
Вы хотите сказать, что cic на ФТ не работает с постоянной составляющей ?!

Он просто фантазирует biggrin.gif
shf_05
))))))))
я вовсе не фантазер)
и я ничуть с Вами не спорю, я даже готов утвержать то же что и Вы! просто я привожу Вам пример другого понимания понятия "устойчивость".

по определению устойчивости для дискретных систем, в ЦОС как это приводите Вы неуст- если не сходится ИХ цепи. а у Бессекреского немного не так.

а про диф-р я был не прав, чето затуманило мне рассудок- забыл, что там "wrap-arround", спасибо, что дали поголове!!! интересно, что будет если там не просто диф-р а Z^-5 или 20 или 80- то же самое))
PS забило голову "насыщение" АЛУ, привык использовать в обычных КИХ и БИХ. еще раз спасибо Николаевичу за отрезвление. а про устойчивость интегратора давайте вопрос закроем.
shf_05
еще вопросик- сделал такую операцию на 16разр проце: y(n)= int(x(n))-int(x(n-80)) оптим фильтр для сигнала длиной 80 отчетов, все работает хорошо, пока вх. сигнал меньше или равен, чем round(32768/80)= 409, если больше, то на выходе алу образуется растущий до 32767 сигнал, а затем предательсий -32768 и затем -32736. на выходе интегратора как и описывается у Николаевича - пила, на выходе y(n) вовсе не то, что хотелось бы.
явление понятное, выходит надо повышать разрядность интегратора, чтобы при макс вх. сигнале не происходило переполнения за 80 отчетов?
shf_05
сделал разрядность сумматора 32 бита и все стало как надо. (чуял же я что есть подвох с насыщением или переполнением накопителя в интеграторах)
выходит, что разрядности интегратора должно хватать на наиболее "длинную" линию задержки в гребенчатом фильтре, не буду гадать, пора читать статью Хогенауера до конца.

спасибо всем!

надеюсь тема закрыта.
Николаевич
Цитата(shf_05 @ Jul 28 2008, 17:49) *
выходит, что разрядности интегратора должно хватать на наиболее "длинную" линию задержки в гребенчатом фильтре, не буду гадать, пора читать статью Хогенауера до конца.

Естественно. Я вам и говорил, что в случае прореживания (или задержки в дифференциаторе большей 1) разрядность должна быть больше входной. Ведь что имеется на входах дифференциатора?
На плюсовом входе текущее данное с выхода интегратора biggrin.gif , на минусовом - задержанное на K*L тактов тактовой частоты интегратора, K - к-т прореживания, L - задержка в дифференциаторе. Очевидно, что текущее и задержанное данное могут отличаться по величине вплоть до K*L*|IMAX|. IMAX - максимально-возможное значение на входе интегратора. Соответственно и разрядность интегратора должна быть больше входной не менее, чем на ceil(log2(K*L)) разряда. Это в случе однокаскадного ЦИКа (один интегратор и 1 дифференциатор). В многокаскадных еще выше разрядность.
fontp
Но если не стремиться к истинной "битовой" точности, а ограничиться допустимой, то можно "усекать" (pruning) разрядность.U.-Meyer-Baese в книге "DSP with FPGA" в главе Hogenauer Pruning Theory очень подробно описал как это сделать грамотно (понятно что Hogenauer тоже описал, но не так подробно :-))
shf_05
Цитата(fontp @ Jul 29 2008, 14:20) *
Но если не стремиться к истинной "битовой" точности, а ограничиться допустимой, то можно "усекать" (pruning) разрядность.U.-Meyer-Baese в книге "DSP with FPGA" в главе Hogenauer Pruning Theory очень подробно описал как это сделать грамотно (понятно что Hogenauer тоже описал, но не так подробно :-))


а есть эта книга в электронке?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.