Целочисленное проектирование фильтров

Все что касается фильтрации
Аватара пользователя
хуссейн макассис
Сообщения: 17
Зарегистрирован: 28 ноя 2017, 15:59

Re: Целочисленное проектирование фильтров

Сообщение хуссейн макассис » 03 дек 2018, 20:59

Здравствуйте, Как в OCTAVE Минимальная фаза ких-фильтр делать?

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 852
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Бахурин Сергей » 03 дек 2018, 23:14

Возможный способ это сделать линейно-фазовый FIR и после отразить его нули, выходящие за единичную окружность внутрь окружности. Получится минимально-фазовый фильтр:

Код: Выделить всё

clear all; close all; clc;
pkg load signal;

ORD = 32; % lowpass filter order

%linear phase FIR
h = fir1(ORD, 0.3);

% calculate  linear phase FIR roots 
z = roots(h);

% all roots outside unit circle will be reflected inside unit circle
y = 1;
for k = 1:length(z)
  if(abs(z(k))>1)
   z(k) = 1/z(k);
  end  
  y = conv([1, -z(k)], y);
end

% minimum phase FIR
y = y/sum(y)

%plot
figure; plot(0:ORD,  h,  0:ORD,  y)

Аватара пользователя
хуссейн макассис
Сообщения: 17
Зарегистрирован: 28 ноя 2017, 15:59

Re: Целочисленное проектирование фильтров

Сообщение хуссейн макассис » 14 фев 2019, 20:18

Good day
The coefficients of the FIR filter of the 24th order in the cascade form of construction
have the following below
Звено .. B0 ...... В1 ...... В2
1) -0.461879 -0.639376 -0.528379
2) 0.037240 -0.818323 -0.089716
3) 0.692334 0.238436 0.693423
4) 0.364908 -0.270356 -0.510364
5) -0.385463 0.858949 -0.731630
6) 0.735379 0.426089 0.742754
7) 0.945038 0.141224 -0.146544
8) -0.016565 0.645663 0.771894
9) 0.698864 0.225619 -0.260442
10) 0.525961 0.935365 0.580976
11) 0.644696 0.582789 0.595606
12) -0.233478 -0.014993 0.890144
can you help me to calculate the frequency response, phase response and z-plane of this filter in MATLAB and make it minimally phase .

Аватара пользователя
хуссейн макассис
Сообщения: 17
Зарегистрирован: 28 ноя 2017, 15:59

Re: Целочисленное проектирование фильтров

Сообщение хуссейн макассис » 23 фев 2019, 13:00

anyone can help me ??
хуссейн макассис писал(а):
14 фев 2019, 20:18
Good day
The coefficients of the FIR filter of the 24th order in the cascade form of construction
have the following below
Звено .. B0 ...... В1 ...... В2
1) -0.461879 -0.639376 -0.528379
2) 0.037240 -0.818323 -0.089716
3) 0.692334 0.238436 0.693423
4) 0.364908 -0.270356 -0.510364
5) -0.385463 0.858949 -0.731630
6) 0.735379 0.426089 0.742754
7) 0.945038 0.141224 -0.146544
8) -0.016565 0.645663 0.771894
9) 0.698864 0.225619 -0.260442
10) 0.525961 0.935365 0.580976
11) 0.644696 0.582789 0.595606
12) -0.233478 -0.014993 0.890144
can you help me to calculate the frequency response, phase response and z-plane of this filter in MATLAB and make it minimally phase .

Nick100
Сообщения: 7
Зарегистрирован: 15 мар 2019, 10:32

Re: Целочисленное проектирование фильтров

Сообщение Nick100 » 28 май 2019, 12:33

Здравствуйте! Подскажите, пожалуйста, от каких характеристик цифровой платформы зависит скорость обработки или быстродействие цифрового фильтра?

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 852
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Бахурин Сергей » 28 май 2019, 12:52

Не понятно что подразумевается под цифровой платформой и быстродействием

Vlad27
Сообщения: 79
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Целочисленное проектирование фильтров

Сообщение Vlad27 » 07 июн 2019, 12:50

Nick100 писал(а):
28 май 2019, 12:33
Здравствуйте! Подскажите, пожалуйста, от каких характеристик цифровой платформы зависит скорость обработки или быстродействие цифрового фильтра?
Несколько слов по важным вопросам «инерционности» цифрового фильтра, поднятым на форуме. Вопросы инерционности, быстродействия, скорости цифровой обработки (фильтрации сигнала) имеют смысл, естественно, только при физической реализации, при работе ЦФ в реальном времени и определяются общим временем расчёта отклика to при реализации фильтра на конкретной цифровой, как вы говорите, платформе - это MCU, DSP, FPGA, БMK, заказные или полузаказные СБИСы. А оно, естественно, является суммой tгз - времени группового запаздывания (ГВЗ) и времени tфр - времени «физической реализации» фильтра на конкретном «железе» - рис.1.

ГВЗ – это "теоретическое" время задержки спектральных составляющих широкополосного сигнала конкретным селективным фильтром, аналоговым или цифровым, и прямо отражает условие физической реализуемости, «каузальности» фильтра, т.е. того факта, что выходной сигнал не может опережать входное воздействие. ГВЗ своим значением и определяет то минимальное время, после которого отфильтрованный сигнал можно использовать в том или ином приложении. Формально ГВЗ в частотной области является частотной производной ФЧХ фильтра, а во временной - значением прямой задержки импульсного отклика системы, отклика фильтра на единичное воздействие, как на это справедливо указывает Гарри Лем - рис. 2

Для аналоговых фильтров оно является и конечным, полностью определяющим быстродействие или инерционность аналогового фильтра, пассивного или активного. Но для цифровых фильтров необходим ещё этап реализации «теоретического» решения в «железе». ГВЗ цифрового фильтра зависит только от типа цифрового фильтра (БИХ или КИХ), формы, структуры построения (прямая, каскадная, волновая и т.д.) и от порядка N фильтра. Существенно уменьшить ГВЗ не удаётся при сложных селективных требованиях, когда необходим высокий порядок фильтра. Здесь может быть предложен только минимально-фазовый вариант фильтра, когда значение ГВЗ можно существенно уменьшить, правда, обычно ценой дополнительных фазовых искажений. Интересные возможности дают и полиномиальные структуры БИХ-фильтров.

Время «физической реализации» фильтра tфр - это вычислительные затраты конкретного «железа» на расчёт отклика фильтра до прихода следующего входного отсчёта. Именно это время и является основной причиной «инерционности» фильтра, т.к. число необходимых операций, вычислительных затрат может быть очень велико и tфр >> tгз, особенно для КИХ-фильтров с симметричной ИХ. Вычислительная сложность ЦФ, естественно, зависит от тех же факторов, что и ГВЗ – но этими факторами (типом фильтра, формой построения и порядком) управлять уже нельзя, т.к. они уже определены заданными селективными требованиями к фильтру, обеспечивают их выполнение. Поэтому основными факторами снижения tфр, вычислительных затрат, являются уже только факторы, определяющие скорость вычислений на конкретном "железе", а именно:
- разрядность представления данных (длина слова коэффициентов) фильтра
- арифметика вычислений; целочисленные операции намного «короче» float
- программная на DSP, MCU либо аппаратная реализация на FPGA, БМК
- аппаратная реализация фильтров без умножителей
- синтез КИХ-фильтров с несимметричной ИХ, что позволяет в 2-3 раза уменьшить длину КИХ-фильтра, его непотребную «инерционность»
- распределённые вычисления, конвейерная обработка и т.п.
Можно отметить также, что вышеперечисленные факторы НИКАК не влияют на ГВЗ фильтра, т.е. и не должны, по мнению С.Бахурина , уменьшать время расчёта отклика, снижать "инерционность" цифровой системы реального времени - с чем, конечно, никак нельзя согласиться.
Вложения
То=ГВЗ+Тфр.gif
То=ГВЗ+Тфр.gif (3.86 КБ) 113 просмотров
ИХ-ГВЗ_фильтра.gif
ИХ-ГВЗ_фильтра.gif (6.04 КБ) 113 просмотров
Последний раз редактировалось Vlad27 10 июн 2019, 12:30, всего редактировалось 3 раза.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 852
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Целочисленное проектирование фильтров

Сообщение Бахурин Сергей » 08 июн 2019, 13:21

Vlad27 писал(а):
07 июн 2019, 12:50
Можно отметить также, что вышеперечисленные факторы НИКАК не влияют на ГВЗ фильтра, т.е. и не должны, по мнению С.Бахурина , уменьшать время расчёта отклика, снижать "инерционность" цифровой системы - с чем, конечно, никак нельзя согласиться.
На вашей картинке вы никогда не уменьшите время задержки до величины меньшей tгз.

С другой стороны, tфр никак не связано собственно с самим фильтром. Если один и тоже фильтр реализуется при помощи супер компьютера и считается практически мгновенно, а с другой стороны выход его же рассчитывается на бумажке путем умножения в столбик, то очевидно что во втором случае задержка выхода будет несколько десятков минут. Означает ли это что фильтр стал более инерционным? Пусть каждый решает сам.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость