[an error occurred while processing this directive]
В обратной связи обычно с большЕй точностью данные держат, нежели на выход фильтра пускают. Соответственно и вычисления организуют. А Вы в обратную связь данные толкаете в том же формате, что и на выход. Причина видимо в этом.
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено -=ВН=- 14 сентября 2006 г. 22:27
В ответ на: Ответ: отправлено <font color=gray>ip657</font> 14 сентября 2006 г. 19:08

На Вашем примере - Вы работаете с данными (и входными и из обратной связи) представленными в формате 18.0 Т.е. 18 разрядов на целую часть, 0 на дробную. Соответственно и вычисления организуете. Попробуйте работать с форматом данных ну хотя бы 18.8. Т.е. по прежнему целая часть у Вас 18 разрядов, но дробная - 8.
У вх. данных дробная часть =0 и с ними все останеися по прежнему.
Изменения коснутся только обратной связи.

Схемвтично это так:
Yp[n]=a*(X[n]-X[n-1)+b*Yp[n-1]
Y[n]=round(Yp[n])
Yp - промеж. результаты, формат 18.8
Y - выход фильтра, формат 18.0

Как все это сделать в симулинке - не имею понятия, это пусть кто-нибудь еще расскажет. Формат 18.8 может и избыточен. Вполне возможно хватит и с меньшей дробной частью.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание