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

 
 
 
Reply to this topicStart new topic
> Выбрасываемые биты в CIC, кто может посчитать?
diwil
сообщение Aug 21 2009, 11:01
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Фильтр такой -
диф. задержка = 2
звеньев - 8
прореживание - 1450 (тысяча четыреста пятьдесят)
вход.выход = 32 бита.

У меня получается следующая последовательность количества бит:
125 113 102 91 81 71 61 51 | 46 45 44 43 42 41 40 40
Ну и в конце сброс с 40 бит до 32х

Или я что-то не правильно делаю, или...
В общем сигнал на выходе примерно 1/2 от входного.

Фильтр с другими параметрами работает правильно.

Если кто может посчитать эту последовательность, то быду безумно признателен в пределах разумного.
Go to the top of the page
 
+Quote Post
Самурай
сообщение Aug 25 2009, 11:00
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(diwil @ Aug 21 2009, 15:01) *
Фильтр такой -
диф. задержка = 2
звеньев - 8
прореживание - 1450 (тысяча четыреста пятьдесят)
вход.выход = 32 бита.

У меня получается следующая последовательность количества бит:
125 113 102 91 81 71 61 51 | 46 45 44 43 42 41 40 40
Ну и в конце сброс с 40 бит до 32х

Или я что-то не правильно делаю, или...
В общем сигнал на выходе примерно 1/2 от входного.

Фильтр с другими параметрами работает правильно.

Если кто может посчитать эту последовательность, то быду безумно признателен в пределах разумного.


Для CIC фильтра отношение выход/вход на нулевой частоте равно (R*M)^N, где R-прореживание, M-диф.задержка, N-число звеньев. Очевидно, что нормирование АЧХ к единице, выполняемое путем простейшего отбрасыванием младших разрядов прокатывает далеко не всегда, а только в случае, когда R*M равно степени двойки. В остальных случаях выход фильтра масштабируется умножением на некоторый коэффициент.

Вот и у Вас, (1450*2)^8 это примерно 1.0102*2^92, следовательно, для представления выходного сигнала после фильтра с абсолютной точностью нужно 93+32 = 125 разрядов. И нормирование выхода путем простого отбрасывания 93 младших разрядов и дает те самые "примерно 1/2 от входного", а точнее 0.5051. Это, разумеется, без учета погрешностей от округления на промежуточных стадиях, но это Вы уж сами считайте как они влияют на результатsmile.gif
Go to the top of the page
 
+Quote Post
Maverick
сообщение Feb 26 2014, 10:16
Сообщение #3


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Самурай @ Aug 25 2009, 13:00) *
Для CIC фильтра отношение выход/вход на нулевой частоте равно (R*M)^N, где R-прореживание, M-диф.задержка, N-число звеньев. Очевидно, что нормирование АЧХ к единице, выполняемое путем простейшего отбрасыванием младших разрядов прокатывает далеко не всегда, а только в случае, когда R*M равно степени двойки. В остальных случаях выход фильтра масштабируется умножением на некоторый коэффициент.

Вот и у Вас, (1450*2)^8 это примерно 1.0102*2^92, следовательно, для представления выходного сигнала после фильтра с абсолютной точностью нужно 93+32 = 125 разрядов. И нормирование выхода путем простого отбрасывания 93 младших разрядов и дает те самые "примерно 1/2 от входного", а точнее 0.5051. Это, разумеется, без учета погрешностей от округления на промежуточных стадиях, но это Вы уж сами считайте как они влияют на результатsm.gif

пожалуйста помогите понять откуда

Цитата
точнее 0.5051

как получилось?


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 26 2014, 10:21
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Maverick @ Feb 26 2014, 17:16) *
как получилось?

вот так (1.0102*2^92 >> 93)


--------------------
Go to the top of the page
 
+Quote Post
Maverick
сообщение Feb 26 2014, 10:35
Сообщение #5


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(des00 @ Feb 26 2014, 12:21) *
вот так (1.0102*2^92 >> 93)

огромное спасибо!!!


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th June 2025 - 19:53
Рейтинг@Mail.ru


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