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

 
 
 
Reply to this topicStart new topic
Марк_Я
сообщение Feb 11 2015, 06:03
Сообщение #1


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Имеем следующую ситуацию.
Эллиптический IIR LPF 2-го порядка рассчитанный в MatLab:
[attachment=90167:IIR_MatLab.PNG]
Реализация фильтра:
первые два сумматора (по сравнению с расчетными в MatLab) инвертированы по нижним входам вместе с коэффициентами А2 и А3 [деноминаторы]
усиление S1, нумератор В2 и выходные сумматоры - без изменений
[attachment=90168:IIR.PNG]

Проблема состоит в том, что в отличии от теоретической АЧХ, в реальном устройстве при поданном на вход фильтра СИНТЕТИЧЕСКОМ синусоидальном сигнале не получается собственно полосы пропускания. АЧХ падает прямо от начала. В зоне заграждения фильтра АЧХ соответствует расчетной.

Синус синтезирован таблично по 1200 точкам на период.
Частота на входе фильтра изменялась путем прореживания таблицы синуса.
То есть при частоте дискретизации 300 Гц одному герцу соответствует синусоида каждого 4-го отсчета таблицы.
Изменяя прореживание от 1:1 до 1:400, получаем разную частоту на входе фильтра от 0,25 до 100 Гц.
Длительность накопления в фильтре до сечения измерения амплитуды выходного сигнала - 4000 отсчетов (примерно 13 секунд).
Детектирование амплитуды квадратурное.
Возможно проблема носит известную (не мне) причину и коллеги сразу ткнут носом в ошибку.
Спасибо.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Feb 11 2015, 07:50
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Извиняюсь, может глупость пишу, но Вы разрядность в реальном устройстве ограничивали?
Go to the top of the page
 
+Quote Post
Марк_Я
сообщение Feb 11 2015, 08:03
Сообщение #3


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Разрядность signed 15.16
Во флоатах фильтр считается 3 мс на 1 семпл, а в фиксированной точке только за 45 мкс.
Алгоритм линейный. Вроде проверил для разных диапазонов входных чисел...
Странно, что в полосе заграждения АЧХ получается...
По Х - частота*4 (0,25 Гц на точку), по Y - децибелы от 32768 (аплитуда входного сигнала):
[attachment=90173:FR_IIR.PNG]
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Feb 11 2015, 08:53
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Марк_Я @ Feb 11 2015, 11:03) *
Разрядность signed 15.16

Это я к тому, что у Вас там коэффициенты на первом рисунке в матлабе с очень высокой точностью заданы, а по идее после ограничения АЧХ другая будет, какая - можно посмотреть на той же диаграмме, задав ограничения - вкладка set quantization parameters что ли.
Go to the top of the page
 
+Quote Post
Hose
сообщение Feb 11 2015, 10:19
Сообщение #5


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

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



Кто вас научил синусами ачх мерить?
Снимите импульсную.
Go to the top of the page
 
+Quote Post
Марк_Я
сообщение Feb 11 2015, 10:21
Сообщение #6


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



А что неверного в таком измерении?
АЧХ реальных приемников снимают именно синусами.
Цитата(bogaev_roman @ Feb 11 2015, 11:53) *
Это я к тому, что у Вас там коэффициенты на первом рисунке в матлабе с очень высокой точностью заданы, а по идее после ограничения АЧХ другая

Так проблема не в изрезанности АЧХ в области малых сигналов, а как раз в той области, где сигналы максимальны.
Кроме того, порядок фильтра низкий, а соотношение частоты семплирования и частоты среза невелико.
То есть проблема округления неактуальна.
Кстати, 15.16 - это 32 разряда. То есть точность чуть меньше, чем у обычного флоата.
А в МатЛабе по умолчанию генерируется формат дабл. То есть 64-разрядный флоат...
Это избыточно.
Go to the top of the page
 
+Quote Post
Hose
сообщение Feb 11 2015, 10:36
Сообщение #7


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

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



Вот я и спрашиваю, кто научил вас этой глупости.
Проверьте ваш измеритель ачх в матлабе - там он тоже работать не будет.
Go to the top of the page
 
+Quote Post
Марк_Я
сообщение Feb 11 2015, 13:00
Сообщение #8


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Цитата(Hose @ Feb 11 2015, 13:36) *
Вот я и спрашиваю, кто научил вас этой глупости.

Если честно, я не очень понял в чем состоит глупость?
И причем тут МатЛаб?
Собственно анализ сигнала прошедшего через фильтр выполняется точно так же как и при измерении АЧХ.
АЧХ и есть ПРЯМАЯ характеристика фильтра (а вместе с ФЧХ и ГВЗ - полная).
Импульсная характеристика - это КОСВЕННАЯ методика измерения АЧХ.
Я готов принять критику своих глупостей, но желательно ее (критику) ОБОСНОВАТЬ.
Спасибо.
ЗЫ. Кстати. Калибровка АЧХ при прямой подаче входного сигнала (без фильтра) на измеритель АЧХ дает идеальную прямую на уровне 0 дБ.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Feb 11 2015, 13:52
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



это у товарища личное не обращайте внимания, но идея про матлаб здравая.

Надо все что вы делаете в желез повторить в матлабе в точности, и поглядеть глазьями на графики как входной частоты, так и выходной. Если в матлабе не будет сразу видно что не так и все будет ок, то проверять детекцию амплитуды и генерацию синуса в железе. Я бы так поступил. А пока у вас много неизвестных ИМХО...
Go to the top of the page
 
+Quote Post
Марк_Я
сообщение Feb 13 2015, 05:51
Сообщение #10


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Ну что, господа...
Всем спасибо.
Ошибку я нашел.
[attachment=90247:FR_IIR.PNG]
Она состояла в том, что приведение коэффициентов фильтра к форме signed 15.16 производится путем умножения рассчитанного коэффициента на 65536. А я протупил и умножил на 32768, просто взяв МОДУЛЬ максимального числа формы представления входного сигнала (signed int).
В результате получились вдвое меньшие коэффициенты с вытекающими последствиями.
Что касается снятия АЧХ синусоидальным квадратурным сигналом, то метод абсолютно корректный и с математической и со схемотехнической точки зрения.
[attachment=90246:___.PNG]
Так что иронию коллеги Hose стоит признать необоснованной...
wink.gif
Go to the top of the page
 
+Quote Post
Hose
сообщение Feb 13 2015, 11:51
Сообщение #11


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

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



Моя ирония, Марк, значительно глубже.
Я не поленился и повторил ваш фильтр

собиранм фильтр, подаем дельтафункцию на вход (0,0,1,0,0,0....)
Фильтр откликается импульсной, которую можно посмотреть в тойже тулзе, в которй вы считали фильтр.
// при отладке в железе делается тоже самое. Если не соответствует, то можно отключить рекурсивную часть и фильтр откликнется коэффициентами трансверсальной - значит беда в рекурсивной. Отклик одной толко рекурсивной части легко считается в уме.
Далее я поискал что необходимо сделать с фильтром дабы получить отклик как у вас: оказалось такой результат дает ошибка в коэфициентах рекурсивной части (второй знак после запятой)
Кстати, при ошибке в 2 раза в коэффициентах фильтр меняется не так.
На весь процесс ушло несколько минут.
У вас 2 дня...
Вы попробуйте импульсную - вам понравится)
Go to the top of the page
 
+Quote Post
Марк_Я
сообщение Feb 13 2015, 16:54
Сообщение #12


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Цитата(Hose @ Feb 11 2015, 13:36) *
Вот я и спрашиваю, кто научил вас этой глупости.
Проверьте ваш измеритель ачх в матлабе - там он тоже работать не будет.

1. Вы, любезный Hose, утверждали, что измеритель АЧХ НЕ БУДЕТ РАБОТАТЬ. Однако он работает.
2. После драки потратить 2 минуты вместо ОДНИХ суток (ответ сюда написан не сразу, ибо на работе я занят работой, а сюда пишу по мере возможности) не слишком корректное доказательство эффективности. Да и ошибка глупейшая, а искать такие хуже всего.
Кроме того, я очень редко прибегаю к IIR, поэтому быстро проинтуичить по форме АЧХ о характере ошибки затруднительно. С FIR у меня все получается проще и быстрее. По АЧХ.
Но совет Ваш, тем не менее, приму. Спасибо.
Go to the top of the page
 
+Quote Post
Hose
сообщение Feb 13 2015, 19:53
Сообщение #13


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

Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450



Я свою цель достиг. Оппонировать про мои утверждения в ходе достижения цели не вижу смысла.

Сообщение отредактировал Hose - Feb 13 2015, 20:02
Go to the top of the page
 
+Quote Post
Марк_Я
сообщение Feb 14 2015, 04:33
Сообщение #14


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Цитата(Hose @ Feb 13 2015, 22:53) *
Я свою цель достиг.

rolleyes.gif
Забавно...
Вы всегда достигаете цели столь вычурным способом?
Не проще ли СРАЗУ изложить существо дела?
Или своим же советам Вы сами не следуете?
biggrin.gif

Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 15:23
Рейтинг@Mail.ru


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