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

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

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

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

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

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 775
Зарегистрирован: 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)

Ответить

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

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