2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Функция freqz.
Сообщение08.12.2017, 00:03 
Добрый вечер.

Мной строится ФНЧ Чебышева 1-го рода. При реализации на заключительной стадии необходимо применить команду:
Код:
[h, w] = freqz(a, b);

Подскажите, пожалуйста, как реализовать эту функцию? То есть не использовать готовую freqz, а реализовать свою собственную.
Мной был получен порядок ФНЧ:
Код:
[N, W_p] = cheb2ord(W_p, W_s, R_p, R_s);

Затем был рассчитан ФНЧ:
Код:
[a, b] = cheby1(N, R_p, W_p);

Теперь необходимо найти АЧХ рассчитанного фильтра. Это можно было бы сделать с помощью встроенной функции freqz, но по заданию требуется ее реализовать. То есть не использовать готовую функцию freqz, а написать собственную. Помогите, пожалуйста, это реализовать.
Спасибо.

 
 
 
 Re: Функция freqz.
Сообщение08.12.2017, 02:09 
Обнаружил в сети реализацию функции freqz, но, либо я наверно что-то не так делаю, так как она выдает иной результат, нежели функция freqz. Подскажите, как оптимизировать этот код, чтобы он работал корректно?
Код функции freqz:
Код:
N = 1024; % Number of points to evaluate at
upp = pi; % Evaluate only up to fs/2
% Create the vector of angular frequencies at one more point.
% After that remove the last element (Nyquist frequency)
w = linspace(0, pi, N+1);
w(end) = [];
ze = exp(-1j*w); % Pre-compute exponent
H = polyval(b, ze)./polyval(a, ze); % Evaluate transfer function and take the amplitude
Ha = abs(H);
Hdb  = 20*log10(Ha); % Convert to dB scale
wn   = w/pi;
% Plot and set axis limits
xlim = ([0 1]);
plot(wn, Hdb)
grid on

 
 
 
 Re: Функция freqz.
Сообщение08.12.2017, 15:17 
Тема более не актуальна.

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group