Может кто-то объяснить эти вложенные петли DFT в MATLAB:Вложенные циклы ДПФА в MATLAB
N=length(x);
for k=1:N
X(k)=0;
for n=1:N
X(k)=X(k)+x(n).*exp(-1j.*2.*pi.*(n-1).*(k-1)./N);
end
end
Может кто-то объяснить эти вложенные петли DFT в MATLAB:Вложенные циклы ДПФА в MATLAB
N=length(x);
for k=1:N
X(k)=0;
for n=1:N
X(k)=X(k)+x(n).*exp(-1j.*2.*pi.*(n-1).*(k-1)./N);
end
end
Внутренний цикл по n
является простой реализацией Discrete Fourier Transform equation для конкретного частотного бин k
:
скорректирован для индексирования на основе 1 (в отличие от формулы индексации на основе 0 из Википедии).
Внешняя петля над k
просто вычислить уравнение для всех N
частотных блоков.
Как правило, я не отвечаю на ответы на поставленные вопросы, но мне всегда нравились ваши ответы на обработку сигналов. Это особенно. Кратко и кратко, и поднимает факт об индексировании. +1. – rayryeng
спасибо за помощь ... но уравнение в цикле не такое же, как уравнение преобразования Фурье., Он вводит (n-1) * k (-1) вместо n * k.why? –
Как я уже говорил, «скорректировано на индексирование на основе 1». Уравнение Википедии использует от 0 до N-1. При изменении изменения переменных n = n'-1 и k = k'-1 вы можете перебрать n 'и k' с 1 на N и получить тот же результат. Попробуйте записать несколько терминов, если это поможет. – SleuthEye
Что нужно объяснить? – mikkola
Вы, вероятно, должны просмотреть более простые примеры вложенных циклов, если вы не понимаете эту концепцию. –