То, что вы видите, является результатом использования нецелых значений k
.
DTFT:
DTFT принимает бесконечный входной сигнал.У вас этого нет, у вас есть только один период косинуса.Делая предположение, что остальная часть сигнала - все нули, вы вводите много высоких частот при переходе от 1 до 0 при t = 0 и t = 2π.Вы также вводите некоторые более низкие частоты.Эти частоты - те, которые вы видите на своем графике.
Если вы хотите вычислить DTFT cos(t)
с t
, не ограниченным одним периодом, то вам нужна бесконечная сумма в ваших вычислениях, выКонечно, это невозможно.
Если вы хотите предположить, что ваш сигнал является периодическим, то вы вычисляете ДПФ.
ДПФ:
У вас есть серия выборок, которую вы определяете как n = 0:l-1
в своем преобразовании, при этом l
принимает функцию N
в уравнении , как показано в Википедии :
В этом уравнении и n
, и k
являются целыми числами.k
обычно также определяется в диапазоне 0:l-1
, но, поскольку оно является периодическим, его можно определить, например, в диапазоне -ceil(l/2):ceil(l/2)-1
.
Установка d
на наборЦелочисленные значения в вашем коде, я вижу ожидаемый результат:
d = -10:10;
stem(d,abs(Xk(d)))