Неточности и опечатки в статье

Ответить
SoftCat
Сообщения: 29
Зарегистрирован: 08 фев 2018, 19:27

Неточности и опечатки в статье

Сообщение SoftCat » 16 фев 2018, 15:01

В этой статье есть неточности и опечатки:
http://ru.dsplib.org/content/dft_freq/dft_freq.html

1) В формуле (4) индексом последовательности f(k) является номер спектрального отсчёта, а потом после формулы (6), написано: f(m) = f0 + m*Fs. То есть индексом той же последовательности (используется та же буква f) уже является номер спектрального "двойника" для частоты f0.

2) В формуле (6) вообще написано не то.

3) Если формула (7) верна, то формулы (8) и (9) неверны. В частности для (8) получается:
w_sh(k) = w(k + N/2) = 2*пи*(Fs/2 + Fs*k/N), если k = 0 .. N/2 - 1;
w_sh(k) = w(k - N/2) = 2*пи*(-Fs/2 + Fs*k/N), если k = N/2 .. N - 1.
Если считать верными формулы (8) и (9), то в (7) надо написать:
S_sh(k) = S(k - N/2).

4) Для спектра используются обозначения: S(w), S(f) и S(k) с одной и той же буквой S.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 898
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Неточности и опечатки в статье

Сообщение Бахурин Сергей » 16 фев 2018, 15:38

Спасибо огромное, что так внимательно вычитали материал !! Это действительно важно!

1) буква f используется в обоих случаях по той причине, что и в (4) f(k) и после (6) f(m) характеризуют одну и туже величину, а именно частоту, измеряемую в Гц. В первом случае f(k) определяет частоту отсчётов ДПФ , а во втором - частоты их копий, но и там и там это частота.

2) да какая-то свёртка примешалась :oops:

3) проверил и перепроверил. Все нормально. Берём k=0, тогда согласно текущим формулам получим Ssh(0) = S(N/2)
и это соответствует частоте fsh(0)=-Fs/2. Не нашел ошибки.

4) Да одинаковые буквы по той же причине. Это один и тот же спектральный отсчёт с индексом k, который соответствует частоте f в Гц или w в рад/с.

SoftCat
Сообщения: 29
Зарегистрирован: 08 фев 2018, 19:27

Re: Неточности и опечатки в статье

Сообщение SoftCat » 16 фев 2018, 16:27

1) Получается, что f(k) = Fs*k/N и f(m) = f0 + m*Fs. Если, например, написать f(5), то как это понимать: k=5 и надо использовать первую формулу, или m=5 и надо использовать вторую формулу? Чтобы не было такой путаницы, при замене буквы индекса не должна меняться формула для последовательности. Лучше написать fm = f0 + m*Fs, то есть m в нижнем индексе. А для f(k) = Fs*k/N пусть запись останется прежней.

3) Спектральному отсчёту S(N/2) должна соответствовать частота f(N/2) = Fs/2 (по формуле(4)).
У Вас в пункте "Перестановка спектральных отсчетов ДПФ для четного N" написано: "В случае четного N спектральный отсчет S(N/2), согласно (4), соответствует частоте Fs/2 Гц. Как мы отметили выше, этот же отсчет соответствует частоте -Fs/2 Гц". Но про частоту -Fs/2 Гц утверждение неверное. Частоте -Fs/2 Гц соответствует отсчет S(-N/2). Да, будет верно равенство S(-N/2) = S(N/2), но это разные отсчеты. Согласно той же формуле (4), получаем: f(-N/2) = -Fs/2.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 898
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Неточности и опечатки в статье

Сообщение Бахурин Сергей » 17 фев 2018, 10:46

1) согласен, чтобы не было путаницы можно написать просто f = f0 +m*Fs.

Частоте -Fs/2 Гц соответствует отсчет S(-N/2). Да, будет верно равенство S(-N/2) = S(N/2), но это разные отсчеты. Согласно той же формуле (4), получаем: f(-N/2) = -Fs/2.
Чтобы окончательно не запутаться можно рассмотреть периодический спектр как нарисовано для N=8
спектр.jpg
Тогда можно увидеть, что S(4) если считать по направлению часовой стрелки и S(-4) если считать против часовой стрелки попадает в одну и туже точку. И если проставить частоты, то можно увидеть, что Fs/2 и -Fs/2 соответсвует S(4).

Представьте МКАД вы начинаете двигаться с нулевого километра МКАД по внешней стороне, и проехав 45 км доезжаете до выставочного центра крокус сити например. Ваш одометр насчитает 45 км. Теперь вы снова возвращаетесь на 0-ой км МКАД и начинаете двигаться теперь по внутренней стороне (в противоположную сторону). И снова через 45 км будет крокус сити холл. Теперь вопрос это один и тот же крокус или это разные крокусы? :)

SoftCat
Сообщения: 29
Зарегистрирован: 08 фев 2018, 19:27

Re: Неточности и опечатки в статье

Сообщение SoftCat » 17 фев 2018, 16:06

3) Это всё понятно. Но почему формула (7) такая сложная? Ведь можно написать просто:
S_sh(k) = S(k - N/2).
Благодаря периодичности функции S(k) всё получится как надо.
И ещё, Вы явно не пишете о том, что вместе с перестановкой спектральных отсчётов, Вы передвигаете диапазон частот [Fs/2; Fs - Fs/N] на диапазон [-Fs/2; -Fs/N].
Да, я неправильно написал в предыдущем сообщении, что это разные отсчёты. Просто хотел сказать, что функция f(k), в отличии от S(k), не периодическая.

4) С обозначениями S(w), S(f) и S(k) то же самое: как понимать запись S(5)? Тут w=5, f=5 или k=5?

5) Вот на этих графиках изображёны амплитудные спектры, поэтому надо писать |S(k)| и |S_sh(k)|:
http://ru.dsplib.org/content/dft_freq/i ... q_fig3.png
http://ru.dsplib.org/content/dft_freq/i ... q_fig4.png
Также амплитудные спектры должны быть симметричны относительно частоты Fs/2, а после перестановки -- относительно частоты 0.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 898
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Неточности и опечатки в статье

Сообщение Бахурин Сергей » 18 фев 2018, 22:32

3) Формула (7) оперирует только с положительными индексами массивов S(k) и Ssh(k). Можно записать S_sh(k) = S(k - N/2), но при k<N/2 вам потребуется получить S(k-N/2) с отрицательным индексом. Многие пакеты моделирования неадекватно реагируют на отрицательные индексы массивов. Именно поэтому формула построена так, чтобы избежать проблем при моделировании.

4) Обозначения S(k) S(f) S(w) должны пониматься из контекста.

5) Рисунки наглядно отражают перестановку спектральных отсчетов. Перестановка справедлива для комплексного спектра. Кстати на них явно показаны две шкалы частот до и после перестановки. При этом симметрия спектра, о которой вы говорили, справедлива только для вещественного сигнала. Если входной сигнал комплексный (например комплексная огибающая сигнала после квадратурного смесителя) то спектр не является симметричным.

SoftCat
Сообщения: 29
Зарегистрирован: 08 фев 2018, 19:27

Re: Неточности и опечатки в статье

Сообщение SoftCat » 18 фев 2018, 22:59

3) Если это индексы массивов, то понятно. Кстати, можно также записать S_sh(k) = S(k + N/2). Но это тоже не очень хорошо для массивов.

5) Шкалы частот на графиках я увидел. Да, я подразумевал вещественный сигнал.

SoftCat
Сообщения: 29
Зарегистрирован: 08 фев 2018, 19:27

Re: Неточности и опечатки в статье

Сообщение SoftCat » 16 мар 2018, 22:41

В этой статье тоже есть опечатка:
http://ru.dsplib.org/content/dft/dft.html

В формуле (8) n должно быть в знаменателе: 2*пи*Fs/n.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость