2015-12-11 6 views
-5

Может кто-то объяснить эти вложенные петли 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 
+0

Что нужно объяснить? – mikkola

+0

Вы, вероятно, должны просмотреть более простые примеры вложенных циклов, если вы не понимаете эту концепцию. –

ответ

4

Внутренний цикл по n является простой реализацией Discrete Fourier Transform equation для конкретного частотного бин k:

enter image description here

скорректирован для индексирования на основе 1 (в отличие от формулы индексации на основе 0 из Википедии).

Внешняя петля над k просто вычислить уравнение для всех N частотных блоков.

+0

Как правило, я не отвечаю на ответы на поставленные вопросы, но мне всегда нравились ваши ответы на обработку сигналов. Это особенно. Кратко и кратко, и поднимает факт об индексировании. +1. – rayryeng

+0

спасибо за помощь ... но уравнение в цикле не такое же, как уравнение преобразования Фурье., Он вводит (n-1) * k (-1) вместо n * k.why? –

+0

Как я уже говорил, «скорректировано на индексирование на основе 1». Уравнение Википедии использует от 0 до N-1. При изменении изменения переменных n = n'-1 и k = k'-1 вы можете перебрать n 'и k' с 1 на N и получить тот же результат. Попробуйте записать несколько терминов, если это поможет. – SleuthEye

 Смежные вопросы

  • Нет связанных вопросов^_^