Построение системной реакции мнимой части как функции от омега (w) в Matlab - PullRequest
0 голосов

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Поскольку

Im{X (e^jω)} = -a * sin(w) / (1 - 2*a*cos(w) + a^2) , where -1 < a < 0.  

является мнимой частью уравнения, x_imag = - a.* sin(w)./(1 - 2 * a*cos(w) + a^2); не имеет никакой мнимой части, то есть в уравнении нет i или j.Например, рассмотрим комплексное число:

c = 2 + 2i
% the imaginary part is 2 <- no i

Таким образом, когда вы попытаетесь построить imag из x_imag, вы получите все нули, так как нет мнимой части.Другими словами, просто построите x_imag как есть:

stem(w, x_imag, 'filled')

Чтобы получить фазу числа, вам нужно tan ^ -1, который в matlab равен atan ( inv - обратная матрица)).Таким образом:

x_phase = atan(-a.*sin(w)./(1- a.*cos(w)))
stem(w, x_phase, 'filled')
0 голосов
/ 06 февраля 2019

Вам не нужен оператор imag на графике.x_imag является мнимой частью и не является сложной.Так что imag(x_imag) возвращает 0. Измените

stem(w, imag(x_imag), 'filled')

на

stem(w, x_imag, 'filled')

Для фазы, которую вы хотите использовать atan для арктангенса.inv выполняет матрицу, обратную.Так что измените

x_phase = inv(tan(-a.*sin(w)./(1- a.*cos(w))))

на

x_phase = atan(-a.*sin(w)./(1- a.*cos(w))))
...