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

 
 
> DDC, matlab -> hdl
Maverick
сообщение Feb 5 2014, 10:50
Сообщение #1


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

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



Мне надо увеличить CIC фильтр до 512 и соответственно меняю в трех каскадах значения (CIC фильтр, Compensation FIR filter, FIR lowpass).

Вопрос по разрядности (fixed point) CIC фильтра:
Я задал:
R1 = 512; % Decimation factor
Nsecs1 = 6; % Number of sections
IWL1 = 16; % Input word length

Оставил по умолчанию:
D1 = 1; % Differential delay
IFL1 = 18; % Input fraction length
OWL1 = 20; % Output word length

Разрядность коеффициентов 16 бит.

Как посчитать другие разрядности для каждого каскада фильтра?

Без fixed point моделирование нормальное - просто хочу получить файлы для ПЛИС с оптимальной разрядностью из-за этого нужен fixed point.
[b]


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

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
Fat Robot
сообщение Feb 5 2014, 11:00
Сообщение #2


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Hogenauer, E. B., "An Economical Class of Digital Filters for Decimation and Interpolation," IEEE Transactions on Acoustics, Speech, and Signal Processing, ASSP-29(2): pp. 155-162, 1981

Здесь ее точно выкладывали

или в командной строке Matlab
>> doc mfilt.cicdecim

ну и не вполне понятно, как в ваших исходных данных может быть такое:

IWL1 = 16; % Input word length - я задал FR>> это полная разрядность входного слова
IFL1 = 18; % Input fraction length FR>> это разряднойсть дробной части. она не может быть больше разрядности слова
Go to the top of the page
 
+Quote Post
Maverick
сообщение Feb 5 2014, 11:25
Сообщение #3


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

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



Цитата(Fat Robot @ Feb 5 2014, 13:00) *
Hogenauer, E. B., "An Economical Class of Digital Filters for Decimation and Interpolation," IEEE Transactions on Acoustics, Speech, and Signal Processing, ASSP-29(2): pp. 155-162, 1981

Здесь ее точно выкладывали

или в командной строке Matlab
>> doc mfilt.cicdecim

ну и не вполне понятно, как в ваших исходных данных может быть такое:

IWL1 = 16; % Input word length - я задал FR>> это полная разрядность входного слова
IFL1 = 18; % Input fraction length FR>> это разряднойсть дробной части. она не может быть больше разрядности слова

за статью и пояснение спасибо - читаю...


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

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


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

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



помогите разобраться пожалуйста

как сделать хотя бы FullPrecision - без ограничений?


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

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


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



>>fdatool

слева вкладки Create a multirate filter и Quantization
вот в них играете до понимания

full precision:
mfilt.cicdecim(R,D,Nsecs,IWL);

Дальше вы уже самостоятельно. Информации по этим фильтрам более чем достаточно.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Feb 5 2014, 16:06
Сообщение #6


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

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



Спасибо...
Будем капать...


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

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


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 24-10-10
Из: Санкт-Петербург
Пользователь №: 60 386



Цитата(Fat Robot @ Feb 5 2014, 15:00) *
ну и не вполне понятно, как в ваших исходных данных может быть такое:

IWL1 = 16; % Input word length - я задал FR>> это полная разрядность входного слова
IFL1 = 18; % Input fraction length FR>> это разряднойсть дробной части. она не может быть больше разрядности слова

Вообще, Матлаб позволяет задавать длину дробной части больше общей длины слова, при этом изменяя входной диапазон числа.
То есть разрядность (16,15) соответствует диапазону (1, - 1];
(16,16) - диапазону (0.5, -0.5]
и т.д.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Feb 8 2014, 21:24
Сообщение #8


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

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



более менее все прояснилось.
Всем спасибо...


--------------------
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 Текстовая версия Сейчас: 23rd July 2025 - 21:11
Рейтинг@Mail.ru


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