|
Числа с фиксированной точкой. |
|
|
|
 |
Ответов
|
Feb 9 2015, 06:15
|
Частый гость
 
Группа: Участник
Сообщений: 82
Регистрация: 7-01-15
Пользователь №: 84 450

|
Синтез фильтра в матлабе и оптимизация под фпга - вещи несовместимые. Если вы хотите получить действительно минимальный ресурс и максимальное быстродействие, то читайте дальше) Тему правильно было бы назвать "разрядности внутри цифровых фильтров" На примере fir: 1) вам необходимо получить импульсную характеристику фильтра. Как получить оптимальную импульсную под ваши задачи - отдельная тема, допустим что вы поверили матлабу (что, кстати, очень зря). 2) вам придется реализовать два фильтра (в математике это не сложно): с плавучкой и без. Оптимизировать будете отдельно каждый. И в конце сделаете выбор. ... пеиемножение чисел в плавучке это перемножение мантисс и сложение экспонент, на первый взгляд кажется, что эта операция возможна в лучшей частотке, чем цлочисленное перемножение, но если вы используете эмбедед умножитель фпга, то возникают нюансы; опятьже блоки до и после фильтра могут не использовать плавучку и возникают накладные потери ресурса и задержки на переходы... 3) дискретизируете по уровню отсчеты импульсной (коэффициенты): это нелинейная операция и в ней не все так однозначно как кажется. Определяете максимальный коэффициент, нормируете относительно него , умножаете на степень двойки. В математике смотрите результат, ужасаетесь, меняете "степень двойки" ( тоесть подбираете разрядность пока она не устроит вас ) (оно конечно же считается, но мы занимаемся тем что не описано в книжках и статьях разных умников) ... смотрите фчх, неравномерность ачх в полосе в масштабе 0.01дб, ачх в полосе подавления и в интересующих вас местах, также не плохо построить гвз, если оно не очевидно для вас по фчх или критично для вас. Важно понимать, что разрядность фильтра и длинна импульсной связаны, увеличивать их нужно вместе. 4) оптимизируете коэффициенты. часто разрядности нехватает и получить нужно лучшее подавление или другие характеристики в установленной разрядности, например если это формирование сигнала для цап. Для этого в верхнюю формулу добавляете еще один коэффициент как множитель, пишете програмку перебора, устанавливаете критерии поиска этого коэффициента. Выигрыш от этой процедуры основан на том, что дискретизация по уровню - операция не линейная. Оценить выигрыш от этой процедуры оч сложно. Выигрыш ощутимый. Коэффициент в больших пределах гонять не надо, так чтобы коэффициенты шевелились в пределах разряда. Далее начинаете такимже образом шевелить коэффициенты по отдельности, но парами (симметрично относительно центрального коэффициента). Есть смысл оптимицировать только несколько крайних. Можно также поиграться с длиной импульсной. Далее, если вам не удалось получить требуемых характеристик, то можете начать двигать фазу дискретизации импульсной. На простом приаере: коэффициенты 2,5,10,5,2 могут быть преобразованны в 1,3,7,7,3,1 количество коэффициентов стало четным, но и макс коэффициент стал в 1.5 раза меньше. Иногда помогает. Симметричность коэффициентов это свойство линейной фчх и оно прилично экономит ресурс при реализации, но опять же вы бог-создатель системы и вам виднее чем жертвовать ради хотелок заказчика, тоесть можете использовать плавный сдвиг фазы дискретизации. Не забывайте про разрядности сумматоров внутри фильтра: после умножения разрядность увеличивается сами знаете как, всю ее тащить нет смысла, но и обрезать до выходной разрядности фильтра нельзя. Разрядность этих сумматоров также поле для оптимизации. Она завязана на распределение амплитуд коэффициентов фильтра. Стоит заметить, что разрядность коэффициентов это оптимизация умножителей, а внутренних регистров - сумматоров, очевидно, что от оптимизации сумматоров выиграш в разы меньше по ресурсам и частотке.
При использовании умножителей на логике можно пооптимизировать коэффициенты фильтра по критерию минимального ресурса: ставьте критерием минимальное количество 1 в коэффициенте - получите минимальный рисур в заданной разрядности с проигрышем в характеристихах фильтра меньшем, чем от уменьшения количества коэффициентов или разрядности.
Все
Или можно попросить больше денег у заказчика, поставить чипак пожирнее, забабахать разрядность с запасом и не заморачиваться на все эти процедуры, тратя целый час своей жизни...
Сообщение отредактировал Hose - Feb 9 2015, 06:20
|
|
|
|
Сообщений в этой теме
qwa Числа с фиксированной точкой. Feb 8 2015, 18:45 ViKo Сначала хорошо бы проверить в Матлабе работу с цел... Feb 8 2015, 19:45 qwa Цитата(ViKo @ Feb 8 2015, 22:45) Сначала ... Feb 8 2015, 19:56 ViKo Ну да, как-то так. Я сам не делал. Понятно, что вы... Feb 8 2015, 20:09 Grizzzly Теория по fixed-point. В MATLAB очень хорошая спра... Feb 8 2015, 20:37 V_G Цитата(qwa @ Feb 9 2015, 04:45) Коэффицие... Feb 8 2015, 23:50 qwa Цитата(V_G @ Feb 9 2015, 02:50) Вот это -... Feb 9 2015, 00:23 V_G В целочисленных процессорах (ADSP2181 к примеру) е... Feb 9 2015, 02:05 qwa Моя задача далее будет переносится на ПЛИС. Feb 9 2015, 02:06 des00 Цитата(qwa @ Feb 9 2015, 10:06) Моя задач... Feb 9 2015, 05:20 Hose Не надо забывать, что и матлаб и тулы под него сто... Feb 9 2015, 07:43 des00 Цитата(Hose @ Feb 9 2015, 15:43) Не надо ... Feb 9 2015, 08:12 ViKo Это не ворованное, а трофейное... Feb 9 2015, 07:50 qwa Hose
Благодарю, что вы так все подробно расписали,... Feb 10 2015, 22:11 des00 Цитата(qwa @ Feb 11 2015, 05:11) Кстати,с... Feb 11 2015, 05:03 Hose Когда я был преподавателем, основная масса студент... Feb 11 2015, 05:10 qwa Цитата(Hose @ Feb 11 2015, 08:10) Берете ... Feb 11 2015, 21:23 Hose 1) как это сделать? - я верно понял вопрос? Если в... Feb 12 2015, 04:44 qwa Цитата(Hose @ Feb 12 2015, 07:44) 1) как ... Feb 12 2015, 21:03 Hose Если максимальный кое равен 1, то вы поделите все ... Feb 13 2015, 03:40 qwa Решил промоделировать в Матлабе - получилось что-т... Feb 23 2015, 01:42 qwa Решил промоделировать в Матлабе - получилось что-т... Feb 23 2015, 01:42 V_G Начнимте с простого: ваша ПЛИС просто синус без фи... Feb 23 2015, 02:46 Hose Отладочная схема:
Нужно к импульсной фильтра допис... Feb 23 2015, 17:43 qwa Цитата(V_G @ Feb 23 2015, 05:46) Начнимте... Feb 24 2015, 00:53 thermit Цитата(qwa @ Feb 24 2015, 03:53) Фильтрац... Feb 24 2015, 05:25  Grizzzly Цитата(thermit @ Feb 24 2015, 08:25) у ва... Feb 24 2015, 07:47   andyp Цитата(Grizzzly @ Feb 24 2015, 10:47) Есл... Feb 24 2015, 09:48 Hose Например коэффициенты в 8 разрядах:
-19, 0, 78, 12... Feb 24 2015, 05:10 Hose Матлаб сушит ваши мозги, от того и тестируете пото... Feb 24 2015, 06:49 thermit Цитата(Hose @ Feb 24 2015, 09:49) Матлаб ... Feb 24 2015, 08:35  Grizzzly Цитата(thermit @ Feb 24 2015, 11:35) А во... Feb 24 2015, 09:33   thermit Цитата(Grizzzly @ Feb 24 2015, 12:33) АЧХ... Feb 24 2015, 09:45    andyp Цитата(thermit @ Feb 24 2015, 12:45) АЧХ ... Feb 24 2015, 11:57 qwa Короче,я взял и ручками написал обычный КИХ фильтр... Feb 24 2015, 12:21 Grizzzly thermit, andyp, спасибо, доказали. Внимательнее по... Feb 24 2015, 21:30
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|