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

 
 
> Режекторный фильтр в Matlab, появляется усиление
Atlantis-
сообщение Sep 6 2016, 09:21
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102



Добрый день!
Столкнулся с такой проблемой: рассчитал в матлаб режекторный фильтр с одинарной точностью, реализую его на STM32F429 и как то получается, что выходной результат зашкаливает. На вход фильтра подаю случайное число с наложенной на него маской 0xFFFFFF (RND&0xFFFFFF), на выходе надеюсь получить тоже 24 бита, так как ЦАП у меня 24-битный. В реальности на выходе получается белый шум. Если на вход накладывать маску 0x3FFFFF, то получается нормальная характеристика. Или с тем же успехом можно сдвигать результат на 2 бита. Объясните пожалуйста, почему так происходит?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Atlantis-
сообщение Sep 7 2016, 08:54
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102



Переполнения возникают, когда входной сигнал больше, чем 0x3FFFFF
Например если х[k]=0xE87132, то y[k]=011334E0
Возможно в этом ошибка? Я имею ввиду, что поданный мною на фильтр белый шум - это изначально int с наложенной маской 0xFFFFFF
После преобразования во float - это всегда положительное число

А ЦАП итоговый результат воспринимает как 24-битное знаковое число.
Хотя, наверно, если я на вход подаю 24-битное положительное число, то на выходе тоже должно получится 24-битное число?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 22:36
Рейтинг@Mail.ru


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