Преобразования Фурье

Простейшие вопросы в области инженерной разработки
Ответить
danya
junior
junior
Сообщения: 52
Зарегистрирован: 23 мар 2015, 18:29
Версия LabVIEW: 2010
Контактная информация:

Преобразования Фурье

Сообщение danya »

Доброе время суток! Передо мной стоит задача следующего плана. Есть некий сигнал гармонический. Мне необходимо разложить сигнал на синусоидальные составляющие. В теории вроде бы понимаю, пробовала это сделать в экселе, например. Как это сделать средствами Labview. Какие приборы следует использовать? Может быть подскажете некий алгоритм? Благодарю за отклик.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3404
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 174 раза
Контактная информация:

Re: Преобразования Фурье

Сообщение Artem.spb »

fft.vi
danya
junior
junior
Сообщения: 52
Зарегистрирован: 23 мар 2015, 18:29
Версия LabVIEW: 2010
Контактная информация:

Re: Преобразования Фурье

Сообщение danya »

Используя fft.vi, мы получаем массив комплексных чисел. Мне нужно извлечь из сигнала действующее значение сигнала, как я понимаю 0 гармоника, низкочастотную пульсацию и высокочастотную пульсацию, как я поняла 1-ая гармоника - низкочастотная пульсация, а все кроме 0 и 1 гармоники - высокочастотная пульсация. Получили массив КЧ, как анализировать дальше, как выделить составляющие, начальная фаза и амплитуда вычисляются как модуль этого КЧ и аргумент или нужно выделить theta и r??? Каша в голове, запуталась в этих делах. Если не сложно, подскажите :help:
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Преобразования Фурье

Сообщение Borjomy_1 »

Гармоника действующего сигнала имеет номер, соответствующий количеству периодов сигнала в исходном массиве, это говоря русским языком.
0 гармоника - это постоянная составляющая. Комплексное число в результате - это вектор сигнала (амплитуда и фаза). Все гармоники, что ниже гармоники действующего сигнала - низкочастотные пульсации, а что выше - высокочастотные, хотя для высокочастотных именно пульсаций я бы рассмотрел кратные гармоники гармонике действующего сигнала. Т.е если гармоника действующего сигнала 10, то высокочастотные пульсации это 10, 20, 30 и т.д гармоники. Наверное, также и низкочастотные, то тут вопрос требует уточнения.
начальная фаза и амплитуда вычисляются как модуль этого КЧ и аргумент или нужно выделить theta и r?
Это суть одно и тоже. Только называются по-разному и считаются через разные функции. Но проще второй вариант, т.к вы получаете оба параметра вызовом одной функции (Z->R, theta)
danya
junior
junior
Сообщения: 52
Зарегистрирован: 23 мар 2015, 18:29
Версия LabVIEW: 2010
Контактная информация:

Re: Преобразования Фурье

Сообщение danya »

Гармоника действующего сигнала имеет номер, соответствующий количеству периодов сигнала в исходном массиве
Каким образом определить гармонику, на которой и есть действующий сигнал ( я так понимаю, это основной сигнал?! в данном контексте).
Возможно я не правильно объяснила, что от меня требуют. Общий постановка моего задания такова -снимаю сигнал (напряжение) с изделия, из этого сигнала должна получить как таковое среднее значение напряжения, в тз прописано -расчет дейсвтвующего значений вых. напряжений( 0-я гармоника) и получить низкочастотную и высокочастотную пульсацию.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Преобразования Фурье

Сообщение Borjomy_1 »

Нулевая гармоника - это постоянная составляющая.
Гармоника, на которой есть действующий сигнал - должна быть максимальная в спектре. Получаете массив амплитуд спектра, после чего ищете в нем максимум. Но есть нюанс. Для того, чтобы точно определить амплитуду сигнала необходимо, чтобы частота оцифровки была синхронна и кратна частоте выдачи сигнала. В идеале это должен быть один тактовый генератор, от которого работает и ЦАП сигнала и АЦП. Иначе сигнал расползется по соседним гармоникам, а просто так просуммировать их не получится (даже одинаковые частоты от одинаковых тактовых генераторов никогда не совпадают). Либо выбирать частоту дискретизации так, чтобы df был больше ширины спектра полезного сигнала, правда тогда могут возникнуть проблемы с точностью.
Что касается фазы сигнала, то фаза отсчитывается относительно чего-то. Например относительно исходного сигнала, до изделия. В таком случае необходимо снимать два сигнала - до и после изделия (условно). И потом вычитать фазы. Более сложный путь, но который гарантирует минимизацию шумов фазы до драматически низкого уровня - синхронное возбуждение с опросом. Т.е ЦАП, генерирующий сигнал и АЦП работают от одного тактового генератора (обычно ЦАПа).
danya
junior
junior
Сообщения: 52
Зарегистрирован: 23 мар 2015, 18:29
Версия LabVIEW: 2010
Контактная информация:

Re: Преобразования Фурье

Сообщение danya »

Я взяла некий сигнал x[], затем воспользовалась Amplitude and Phase Spectrum.vi, из получившегося массива амплитуд Amp Spectrum Mag , как я понимаю 0-ой элемент - есть постоянная составляющая, а индекс мах амплитуды - номер действующей гармоники. Дальше, как я понимаю, я должна чтоб получить высокочастотный сигнал, сделать из массива х[] FFT.vi, взять массив с 1 по 10 (10 в моем случае - это гармоника действующего сигнала) и сделать обратное преобразование Фурье, тем самым получив пульсацию. Или я все не так говорю?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Преобразования Фурье

Сообщение Borjomy_1 »

сделать обратное преобразование Фурье, тем самым получив пульсацию.
К сожалению, если быть точным, то этот фокус не прокатывает. При вычислении спектра мы получаем СРЕДНЕЕ значение амплитуды и фазы для всего массива данных. А это, как вы понимаете, как средняя температура по больнице.
Здесь можно разделить сигналы лишь с помощью ФНЧ и ФВЧ, настроенных на частоту среза, соответствующую действующему сигналу. Правда, абсолютно точное разделение получить не удастся из-за неравномерности амплитудных и фазовых искажений фильтров.
danya
junior
junior
Сообщения: 52
Зарегистрирован: 23 мар 2015, 18:29
Версия LabVIEW: 2010
Контактная информация:

Re: Преобразования Фурье

Сообщение danya »

А еще такой вопрос - у меня есть набор гармоник. Каким образом пользуясь средствами Labview я могу по одной гармоники построить сигнал.
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2211
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 27 раз

Re: Преобразования Фурье

Сообщение Borjomy_1 »

Каким образом пользуясь средствами Labview я могу по одной гармоники построить сигнал.
Надо сгенерировать синус соответствующей амплитуды и фазы и с количеством периодов, соответствующим номера гармоники.
Signal Processing->Signal Generation->Sine Pattern.vi
Ответить

Вернуться в «Для чайников»