104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
1 | |
Преобразование Фурье19.09.2024, 10:10. Показов 871. Ответов 22
Метки фазовый спектр (Все метки)
Вопрос.
На картинке три сигнала синусоиды отличающиеся количеством отсчетов: 1-й сигнал содержит на 1 отсчет меньше от целого числа периодов. 2-й сигнал содержит целое число периодов. 3-й сигнал содержит на 1 отсчет больше от целого числа периодов. Отличие вполне видно невооруженным глазом в конце синусоиды. Соответственно по цветам изображены спектры (ДПФ). Амплитудные спектры очень близки между собой. По фазе - есть вопросы. 1. Почему фазовый спектр 2 и 3 сигналов гладкий, а когда на 1 отсчет меньше, чем целое число периодов, то превращается в хрень какую-то. Причем ОДПФ дает исходный сигнал, поэтому вроде как думается, что в расчете ошибок нет. При дальнейшем уменьшении кол-ва отсчетов, т.е. укорочении синуса фазовый спектр снова гладкий. Итого фазовый спектр непонятной формы получается, когда количество отсчетов на 1 меньше, чем целое число ПОЛУпериодов. (на полупериодах тот же эффект повторяется) 2. Вопрос по ОДПФ. Формально ОДПФ дает комплексные отсчеты, но (см. первые три осциллограммы с сигналами, на них ОДПФ тоже есть) при этом RE часть = сигналу, а IM часть = нулю. Однако Если я пропускаю синус через к.л. фильтр, то ОДПФ дает НЕнулевую мнимую часть. Так разве должно быть? Почему так? И что это значит физически? И как правильно сделать, чтобы была нулевая мнимая часть?
0
|
19.09.2024, 10:10 | |
Ответы с готовыми решениями:
22
Преобразование Фурье Преобразование Фурье Дискретное преобразование Фурье Дискретное преобразование Фурье |
3311 / 2414 / 548
Регистрация: 11.09.2009
Сообщений: 8,781
|
|
19.09.2024, 16:55 | 2 |
Потому что рассчёт спектра при ДПФ производится исходя из предположения, что сигнал бесконечен, то есть оцифрованное "окно" периодически повторяется бесконечное количество раз. Получается, что скачки сигнала по фазе в точках пристыковки окон - фазовая модуляция, которую и видно на рассчитанном спектре.
Чтобы "очистить" спектр, применяют к окну функции преобразования огибающей в колоколоподобную, со спадом амплитуды на краях до нуля - оконные весовые функции, например функции Бартлетта, Хэмминга, Ханна, Блэкмана-Харриса и др. Есть ещё вариант - подбирается ширина окна уменьшением количества имеющихся отсчётов или добавлением нулевых отсчётов так, чтобы фаза в начале и в конце окна совпадали. Но это более сложный и менее распространённый алгоритм, и не ко всем видам сигнала может быть применён (в частности, к сигналам со сложным спектром - вообще неприменим).
1
|
104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
19.09.2024, 21:14 [ТС] | 3 |
Согласен. Дело ясное.
Тоже ясно. В данном конкретном случае, я так изначально и делал. Вопрос главный немного не в том. Наверно невнятно выразился. 1. Я взял сигнал с целым числом периодов. 2. Построил спектр. 3. Удалил одну точку в конце сигнала. 4. Построил спектр. 5. И т.д. по одной точке удаляя прошел один период. 6. Построил спектры всех сигналов. И из них все сигналы кроме двух имеют гладенький фазовый спектр. А два исключения, это 1. Целое число периодов минус одна точка в конце. 2. Целое число периодов минус полпериода, минус одна точка в конце.
0
|
3311 / 2414 / 548
Регистрация: 11.09.2009
Сообщений: 8,781
|
|
19.09.2024, 22:38 | 4 |
При таком количестве периодов в окне, чтобы изменение длины окна на один отсчёт приводило к кардинальному изменению вида спектра, - это надо посадить в алгоритм расчёта какую-то солидную ошибку. Ищите. Где - подсказать не могу. Из вашего рисунка не очень понятно даже, сколько отсчётов приходится на один период. Могу только предположить, что около 20. И периодов в окне укладывается 20. Итого, ширина окна 400 ±1 отсчёт. Если всё так, то точно ищите ошибку, потому что 1/400 - это 0,25%. На форму спектра принципиально резко влиять не должно.
Могу предположить, что это может быть связано с точностью представления числа, с округлением, с "набеганием" ошибки и т.п., и при каких-то числах возникает резкий выброс погрешности счёта. Проверьте, что с дискретизацией и представлением окна всё правильно, и попробуйте для начала использовать счёт в числах с двойной точностью. Посмотрите, что изменится.
1
|
104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
22.09.2024, 22:08 [ТС] | 5 |
12 отсчетов в периоде Даже не решаюсь спросить о чем это. Что делать-то? Первую часть предложения не совсем понял? Как дискретизацию проверить? Она 12 отсчетов на период. (вы совершенно точно предположили). Но как и что проверить я не понимаю совсем. Вторая часть предложения . . . А разве в матлабе по умолчанию не double?
0
|
104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
22.09.2024, 22:11 [ТС] | 6 |
Уменьшил (укоротил) сигнал. Вроде все о чем вы говорили должно быть видно теперь. Эффект тотже.
0
|
3311 / 2414 / 548
Регистрация: 11.09.2009
Сообщений: 8,781
|
|
23.09.2024, 02:11 | 7 |
ViktorArs, чего-то я сообразить не могу, как вы считаете...
В случае хорошо состыкованной синусоиды, в амплитудном спектре действительно должны быть две "палки". Но только одна - прямая, вторая - зеркальная в отрицательных частотах. У вас - две положительные, причём значения 39180 и 440800 ... Хотя частота исходного сигнала судя по верхнему графику равна 40000 (4/1*10-4). По-моему, где-то что-то сильно съехало. Нет?
1
|
104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
23.09.2024, 13:25 [ТС] | 8 |
Спасибо!!!
Есть отличие, когда спектр строится от 0 до pi или от -pi/2 до pi/2 ? Я всегда думал, что разницы нет? Если есть, не могли бы пояснить в чем суть? Да, 40 кГц. Пытаюсь понять.
0
|
3311 / 2414 / 548
Регистрация: 11.09.2009
Сообщений: 8,781
|
|
24.09.2024, 02:27 | 9 |
Опять вообще не понял. Спектр строится по отсчётам амплитуды в имеющемся исходном окне.
Ширина окна - в единицах времени. Обратная величина - ширина рассчитанного спектра в единицах частоты. Огибающая рассчитанного спектра - sin(x)/x. Первый ноль огибающей - на частоте, равной частоте дискретизации. Берётся только этот первый "лепесток" огибающей спектра. То, что можно посчитать в следующих лепестках - просто повторение этой периодической функции. Теорема Котельникова, однако... Есть конечно приёмы всякого "оверсэмплирования", но это частные случаи. Явно не ваш. Так что первое, с чем вам по-моему надо разобраться, откуда в выходном спектре частоты выше половины частоты дискретизации. Амплитудный спектр обычно рисуется только для положительных значений частоты, т.е. берётся только половина от рассчитанного массива. Вторая половина - зеркальная, частоты отрицательные, "мнимые". Смысл её рисовать? Но всё равно, даже если предположиь, что шкала "съехала" на какую-то константу, те две "палки" не объяснить. 39180 - это видимо исходные 40000. А как сюда попала частота в 10 раз выше?... На фазовый спектр пока вообще не смотрю. При таком представлении амплитудного - нет смысла, вообще непонятно, как он считается. Вы считаете в Маткаде? Стандартными функциями? Там же Хэлп встроенный неплохой есть. Да и статей про него куча.
1
|
104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
24.09.2024, 11:23 [ТС] | 10 |
Все верно.
Все верно. Вот я и строю (привычка, если можно так выразиться) два лепестка в положительном направлении. Т.е. не от 0 до , а от 0 до . На рисунке же явно видно, что пики расположены в точках 40 кГц и f_s - 40 кГц = 480 кГц - 40 кГц = 440 кГц. Ну вот я со 2 курса рисую до . Все в matlab. Ф-ции свои, но я ими пользуюсь больше 10 лет, и я их сравнивал со стандартными, и получалось одинаково. А что касается pi/2 и т.д. - это нормализованные единицы имелось ввиду.
0
|
3311 / 2414 / 548
Регистрация: 11.09.2009
Сообщений: 8,781
|
|
24.09.2024, 12:38 | 11 |
Зачем?
ДПФ - это ж не какой-то физический смеситель, а просто алгоритм с определёнными допущениями и ограничениями. В исходном спектре такой частоты нет. Всё, что выше fs/2 - это ж просто "дефект счёта". Или я что-то забыл?
1
|
5146 / 2736 / 555
Регистрация: 07.11.2019
Сообщений: 4,476
|
|
24.09.2024, 12:39 | 12 |
Если сигнал содержит целое число периодов, т.е. нет разрывов при периодическом продолжении сигнала, то его амплитудный спектр будет состоять из двух пиков и нулей (точнее очень близких к нулю значений).
Близкие к нулю (шумы дискретизации) комплексные значения будут иметь случайную фазу, что вы и наблюдаете. Фаза это направление вектора, если вектор нулевой, то о его направлении говорить нет смысла.
2
|
104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
24.09.2024, 13:23 [ТС] | 13 |
Спасибо!
Добавлено через 20 минут Нет. Вы все верно говорите. В учебнике так было, с тех пор пошло.
0
|
5146 / 2736 / 555
Регистрация: 07.11.2019
Сообщений: 4,476
|
|
24.09.2024, 14:05 | 14 |
Все что выше fs/2 - это "отрицательные" частоты. В matlab есть функция fftshift, для того чтобы нулевая частота была в центре графика.
Чтобы при ОДПФ не получались комплексные значения, нужно чтобы при фильтрации сохранялась симметрия. (Четная функция для действительной части и нечетная для мнимой).
2
|
3311 / 2414 / 548
Регистрация: 11.09.2009
Сообщений: 8,781
|
|
24.09.2024, 14:28 | 15 |
Ну, я не математик-теоретик, я практик. Привык, чтобы рассчитанные спектры как на экране анализатора спектра выглядели. Иначе какой в них практический смысл?
Разобрались, что ли? Так поделитесь, в чём дело было. Даже интересно.
0
|
104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
25.09.2024, 09:03 [ТС] | 16 |
О!
Именно так я и рассчитываю делать (это далнейший вопрос, тут подробно еще не писал). Точнее давно сделал, но на данный момент тут занятость повысилась. Через недельку займусь. И фильтр вроде симметричный, но вылезает все равно мнимая часть. На много меньше по амплитуде, чем действительная, но вылезает. Добавлено через 1 минуту Не на 100% еще. Просто полагаю, что это очень хорошая идея. Добавлено через 6 минут Где я приводил 2 картинки, там графки отличаются наличием/отсутствием одной точки. 1. Начинается синус в нуле, заканчивается за один отсчет до нуля. Если мы согласно теории Фурье бесконечно продлеваем сигнал, то это идеальный синус. Нет разрывов. Вероятно разрывов 1-го рода. 2. Начинается синус в нуле, заканчивается тоже в нуле. Если мы также продлеваем сигнал, то это не совсем идеальный синус. В месте "стыковки" будет как бы два отсчета подряд со значением ноль. Первый ноль - последняя точка предыдущего синуса, второй ноль - первая точка нового куска синуса. Это вроде как получается разрыв.
0
|
5146 / 2736 / 555
Регистрация: 07.11.2019
Сообщений: 4,476
|
|
25.09.2024, 09:10 | 17 |
ViktorArs, какую фазу будет иметь вектор 0+0j? Никакую, точнее неопределенную: arctg(0/0)
Вот, а у вас вместо нулей - почти нули, связаные с конечной разрядностью и т.п. И фаза получается случайная, что вы и наблюдаете на графике. Добавлено через 5 минут ViktorArs, Вот в первом случае на графике будет случайная фаза для значений где амплитуды близких к нулю.. А во втором случае появляются промежуточные частоты с маленькой,но не нулевой амплитудой из-за разрыва. Постройте графики АЧХ в логарифмической шкале, все будет понятно.
1
|
104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
03.10.2024, 20:26 [ТС] | 18 |
0
|
5146 / 2736 / 555
Регистрация: 07.11.2019
Сообщений: 4,476
|
|
Вчера, 06:21 | 19 |
Это требование к отфильтрованому сигналу (в частотной области, Фурье образу) перед ОДПФ. Иначе мы не получим действительный сигнал на выходе.
Смысл в том, чтобы действительная часть перед обратным преобразованием была четной функцией, мнимая - нечетной.
0
|
104 / 85 / 22
Регистрация: 09.01.2018
Сообщений: 463
|
|
Вчера, 09:30 [ТС] | 20 |
А как мне быть-то тогда не пойму? Как достичь выполнения требования? Для этого фильтр должен отвечать требованиям каким-то?
Есть входной сигнал. Он туда-суда (ДПФ-ОДПФ) преобразуется правильно. Мнимая = 0. Пропускаю через фильтр. И что мне потом мне сигнал видоизменять? Это же не правильно? А если брать не цифровые фильтры а аналоговые? Там тоже мнимая часть будет? Добавлено через 1 час 6 минут Что-то я поразмышлял, я даже не понимаю, как именно цифровой фильтр (линейная дискретная система) может "испортить" входной сигнал, что у него (у сигнала) это требование перестанет выпоняться?
0
|
Вчера, 09:30 | |
Вчера, 09:30 | |
Помогаю со студенческими работами здесь
20
Оконное преобразование Фурье Быстрое преобразование Фурье Дискретное преобразование Фурье Быстрое преобразование Фурье Преобразование Фурье необычного сигнала Обратное быстрое преобразование Фурье Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |