Как получить верный спектр сигнала
В общем задался я целью посмотреть как выглядят спектры для разных спектров. Делал так.
Задал функцию реализующую исследуемый сигнал и стал применять к ней функции разложения в ряд Фурье(fft, FFT, cfft, CFFT). Вот только почему то графики получились разные. Вернее для функций fft и cfft они были идентичны, а остальные сильно отличались (файл во вложении).
В связи с этим меня сильно интересует два вопроса:
1) Почему результат у функций разный?
2) Как-же получить ВЕРНЫЙ спектр некоторой функции?
Научился картинки в пост вставлять
На первой картинке показана функция сигнала и её график, спектр которой я хочу получить. А также результат применения к этой функции функций fft и FFT:
Вложения
| Сравнение алгоритмов Фурье.zip (62.7 Кб, 263 просмотров) |
Как получить график Частотно Импульсной Модуляции (ЧИМ) импульсного сигнала и его спектр
Как сделать не знаю. Какие формулы вводить, значения какие брать, вообще не понятно. В инете ничего.
Не удается получить спектр сигнала
Есть периодический сигнал, кое-как задала два периода, для быстроты хотела, чтобы он сам посчитал.
Провести спектральный анализ сигнала. Отобразить амплитудный и фазовый спектр сигнала
Так же разработать процедуру для вычисления дискретного преобразования Фурье заданного сигнала.
Вложения
| Спектр гармонического колебания через ряды Фурье.rar (37.7 Кб, 200 просмотров) |
Как построить спектр сигнала в MathCAD 15
Использую встроенную функцию cfft, но чем больше точек я учитываю, тем больше максимальное значение.
Как строить спектр чм сигнала в маткаде
Доброго времени суток. Подскажите, пожалуйста, как в маткаде можно построить спектр ЧМ сигнала вида
Спектр сигнала
Здравствуйте. Подскажите пожалуйста как построить спектр одиночного сигнала. С помощью БПФ.
Построить спектр ФМ сигнала
Удалось построить ФМС, но маткад не хочет строить спектр. Пробовал через интегрально.
Амплитудный спектр АМ-сигнала
Проблема такая: амплитудный спектр АМ сигнала, маткад строит только 1 гармонику,а две боковые.
Амплитудый спектр сигнала
Есть ли какой-то простой способ вывести амплитудный спектр сигнала в MathCAD? Исходные данные -.
Содержание
При выполнении данного курсового проекта будет произведен спектральный анализ и восстановление периодического сигнала при помощи программных сред MathCAD и MS Excel, разработан комплексный документ средствами интегрированного пакета Microsoft Office.
1 Адаптивные системы
Системы, автоматически изменяющие значение своих параметров или структуру при непредвиденных изменениях внешних условий на основании анализа состояния или поведения системы так, чтобы сохранялось заданное качество ее работы, называют адаптивными системами. Адаптивные системы с изменением значений параметров иногда называют самонастраивающимися, а системы с изменением структуры – самоорганизующимися.
Обычно адаптивная система содержит в качестве «ядра» схему, реализующую один из фундаментальных принципов управления, а контур адаптации пристраивают к ней как вторичный, осуществляющий коррекцию параметров. Контур адаптации, обычно состоящий из устройства измерения (ИУ), вычисления (ВУ) и управления (УУ), может быть разомкнут (рисунок 1), если на его вход подается только входное воздействие, или замкнут (связь показана пунктиром), если он реагирует также и на выходную координату системы. Основной контур составляет объект О и регулятор Р.
Рисунок 1 – Адаптивная САУ
Контур самонастройки воздействует на блок настройки параметров БНП, который может быть включен не только последовательно, как показано на рисунке, но и любым другим способом, например, в цепь обратной связи. Вычисление воздействий для коррекции параметров осуществляет ВУ в соответствии с программой.
Классификация САУ по другим признакам имеет более общий характер и слабо связана с фундаментальными принципами управления.
В зависимости от принадлежности источника энергии, при помощи которого создается управляющее воздействие, САУ могут быть прямого и непрямого действия. В системах прямого действия используется энергия управляемого объекта. В системах непрямого действия управляющее воздействие создается за счет энергии дополнительного источника.
По виду сигналов, действующих в системах, последние разделяют на непрерывные и дискретные. Дискретные системы, в свою очередь, разделяются на импульсные, релейные и цифровые.
САУ, у которых управляемая величина в установившемся режиме зависит от величины возмущающего воздействия, называются статическими, а САУ, у которых управляемая величина не зависит от возмущения, называются астатическими.
2 Решение задачи в среде MathCad
Временная диаграмма сигнала представлена на рисунке 2. Параметры импульсной последовательности: амплитуда импульса Um = 10 В; длительность импульса τu = 0,1 мс; период повторения импульсов Tn = 1 мс.
Рисунок 2 – Временная диаграмма сигнала
Во временной области математическая модель сигнала имеет вид:
Чтобы графически представить амплитудно-частотный спектр (АЧС) сигнала, необходимо вычислить амплитуды гармоник (колебаний синусоидальной формы), определяющих форму сигнала u(t). Амплитуды гармоник Uk (где k – номера гармоник, k = 1,2, …, n), находят по формуле
где коэффициенты ряда Фурье ak и bk определяют из выражений
Постоянную составляющую (среднее значение напряжения за период) находят из выражения
Поскольку заданный сигнал u(t) существует только на временном интервале t ϵ [0, τu], то в приведенных формулах (3), (4) и (5) нижний и верхний пределы интегрирования принимаем равными значениями переменной t в начале и в конце указанного интервала. Частота первой гармоники ω1 определяется из выражения
Для построения фазочастотного спектра начальные фазы k-x гармоник определяют по формуле
если коэффициенты bk > 0, в противном случае используют формулу
Числовые значения коэффициентов ak и bk в формулы (7) и (8) подставляют с учетом их знаков.
Формулы (7) и (8) используют для расчета начальных фаз гармоник, если при восстановлении исходного сигнала по известному спектру применяют синусную форму записи ряда Фурье для бесконечной во времени периодической функции, то есть выражение
Если же ряд Фурье записывают в косинусной форме
то начальные фазы гармоник находят по формулам
Для построения временной диаграммы сигнала в системе MathCAD используют программу вычислений в цикле. Фрагменты программ построения диаграммы исходного сигнала, его амплитудно-частотного и фазочастотного спектров в системе MathCAD показаны на рисунках 3, 4 и 5 соответственно.

Рисунок 3 – Построение временной диаграммы сигнала

Рисунок 4 – Построение амплитудно-частотного спектра

Рисунок 5 – Построение фазочастотного спектра
Фрагмент программы восстановления исходного сигнала в системе MathCAD показан на рисунке 6.

Рисунок 6 – Восстановление сигнала во временной области по заданному спектру
Как видно из рисунка 6, при использовании числа членов ряда Фурье (числа гармоник) N = 100 временная диаграмма восстановленного сигнала отличается от временной диаграммы исходного сигнала незначительно. Для полного воспроизведения формы сигнала число гармоник должно стремиться к бесконечности, что возможно только теоретически.
На рисунке 7 в виде таблицы представлены результаты вычисления постоянной составляющей и амплитуд первых десяти гармоник Uk спектра исследуемого сигнала. Данные приведены для проведения сравнительного анализа результатов решения задачи в среде MathCAD и Excel.
Лабораторная работа — Исследование в MathCAD спектров периодических и непериодических импульсов — файл n2.doc
Цель лабораторной работы: разобраться в преобразованиях Фурье и его видах (ПФ, ДПФ, БПФ), научиться понимать и строить спектральные графики, а также получить практику по математическому моделированию сигналов и их спектров в среде MathCAD, исследовать влияние формы импульса на спектр.
Задание на лабораторную работу: сравнить спектры периодических и непериодических сигналов в форме прямоугольного импульса длительностью ?, сдвинутого прямоугольного импульса – ?/2 до ?/2, треугольного импульса, гауссовского импульса, половины периода синуса.
2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
2.1 Ряд Фурье и преобразование Фурье
Условие периодичности – x(t)=x(t+mT), где T – период, m – натуральное число, m=1,2,…
Любой периодический сигнал x(t) может быть представлен тригонометрическим рядом Фурье
Где — угловая частота 1-й или основной гармоники; и — коэффициенты разложения, вычисляемые по формулам:
где — амплитуда k-й гармоники, — фаза k-й гармоники; — среднее значение сигнала (постоянная составляющая); — угловая частота k й гармоники; — момент времени, соответствующий началу периода.
Зависимости и от частоты — это спектры амплитуд и фаз соответственно.
В некоторых случаях более удобна комплексная форма ряда Фурье
Коэффициенты ряда (1.2) вычисляются по формуле
Формулы (2.1.2) и (2.1.3) – пара преобразований Фурье. Совокупность коэффициентов — комплексный спектр периодического сигнала x(t). Совокупность действительных величин в зависимости от частоты – спектр амплитуд. Совокупность величин в зависимости от частоты – спектр фаз.
Ряд (3.1.2) удобно представлять в форме
Спектральное представление сигналов можно обобщить на случай, когда функция x(t) – непериодическая, т.е. T. В этом случая применяется интегральное преобразование Фурье
Здесь и — обозначения прямого и обратного оператора Фурье.
Формулы (2.1.6) и (2.1.7) – пара интегральных преобразований Фурье. Функция называется спектральной функцией или комплексным спектром непериодического сигнала. Она определена при положительных и отрицательных частотах.
Спектральную функцию можно представить в виде
где — спектр амплитуд;
2.2 Дискретное преобразование Фурье
Дискретное преобразование Фурье (ДПФ) — это одно из преобразований Фурье, широко применяемых в алгоритмах цифровой обработки сигналов (его гомоморфизмы применяются в сжатии звука в MP3, сжатие изображений в jpg и др.), а также в других областях, связанных с анализом частот в дискретном (к примеру, оцифрованном аналоговом) сигнале. Также дискретные преобразования Фурье помогают решать частные дифференциальные уравнения и выполнять такие операции, как свёртки. Преобразования бывают одномерные, двумерные и даже трехмерные.
Последовательность N действительных чисел x0, . xN?1 преобразовывается в последовательность из N комплексных чисел X0, . XN?1 с помощью дискретного преобразования Фурье по формуле:

Обратное дискретное преобразование Фурье (ОДПФ) задается формулой

Поскольку напрямую вычисления дискретного преобразования требует O(N 2 ) операций, то на практике используют более быстрый алгоритм Быстрого преобразования Фурье, которое требует O(NlogN) операций.
2.3 Быстрое преобразование Фурье
Алгоритм быстрого преобразования Фурье (БПФ) базируется на том, что при вычислениях среди множителей (синусов и косинусов) есть много периодически повторяющихся значений (в силу периодичности функций). Алгоритм БПФ группирует слагаемые с одинаковыми множителями в пирамидальный алгоритм, значительно сокращая число умножений за счет исключения повторных вычислений. В результате быстродействие БПФ в зависимости от N может в сотни раз превосходить быстродействие стандартного алгоритма. При этом следует подчеркнуть, что алгоритм БПФ даже точнее стандартного, т.к. сокращая число операций, он приводит к меньшим ошибкам округления.
Наиболее популярным из алгоритмов БПФ является т.н. метод Cooley-Tukey, позволяющий вычислить ДПФ для числа отсчетов N = 2 k за время порядка Nlog2 N (отсюда и название — быстрое преобразование Фурье, БПФ). Этот способ чем-то неуловимо напоминает быструю сортировку. В ходе работы алгоритма также проводится рекурсивное разбиение массива чисел на два подмассива и сведение вычисления ДПФ от целого массива к вычислению ДПФ от подмассивов в отдельности.
Широко распространено ошибочное мнение о том, что метод Cooley-Tukey — единственный существующий метод выполнения БПФ, а само БПФ существует только для случая N = 2 k . На самом деле это не так — существуют алгоритмы БПФ для любого числа отсчетов.
Причина распространения метода Cooley-Tukey в том, что алгоритм, построенный по методу Cooley-Tukey, обладает рядом очень хороших технологических свойств. Структура алгоритма и его базовые операции не зависят от числа отсчетов (меняется только число прогонов базовой операции «бабочка»). Алгоритм легко распараллеливается с использованием базовой операции и конвееризуется, а также легко каскадируется (коэфициенты БПФ для 2N отсчетов могут быть легко получены преобразованием коэфициентов двух БПФ по N отсчетов, полученных «прореживанием» через один исходных 2N отсчетов). Алгоритм прост и компактен, не требует дополнительной оперативной памяти и допускает обработку данных «на месте». Существует целый ряд оптимизированных именно для этого алгоритма DSP-процессоров (это одновременно и причина, и следствие).
2.4 ДПФ и БПФ в MathCAD
В Mathcad входят два типа функций для дискретного преобразования Фурье: fft/ifft и cfft/icfft . Эти функции дискретны: они берут в качестве аргументов и возвращают векторы и матрицы. Они не могут быть использованы с другими функциями.
- аргументы вещественны, и
- вектор данных имеет 2 m элементов.
Пара функций cfft/icfft не использует симметрию в преобразовании. По этой причине необходимо использовать их для комплексных данных. Так как вещественные числа — подмножество комплексных чисел, можно также использовать пару cfft/icfft для вещественных чисел.
Второе условие требуется, потому что пара функций fft/ifft использует высоко эффективный алгоритм быстрого преобразования Фурье. Для этого вектор аргумента, используемого с fft, должен иметь 2 m элементов. В функциях сfft/icfft использован алгоритм, который допускает в качестве аргументов как матрицы, так и векторы произвольного размера. Когда эта пара функций используется с матрицей в качестве аргумента, вычисляется двумерное преобразование Фурье.
Обратите внимание, что, если использована функция fft для прямого преобразования, необходимо использовать функцию ifft для обратного. Аналогично, если для прямого преобразования использована cfft , то для обратного необходимо использовать icfft .
Различные формулировки определения преобразования Фурье используют различные нормировочные коэффициенты и соглашения о знаке перед мнимой единицей в показателе экспоненты прямого и обратного преобразований. Функции fft, ifft, cfft и icfft используют 1/
как нормировочный коэффициент и положительный показатель степени в прямом преобразовании. Функции FFT, IFFT, CFFT и ICFFT используют 1/N как нормировочный коэффициент и отрицательный показатель степени в прямом преобразовании. Необходимо использовать эти функции попарно. Например, если используется CFFT в прямом преобразовании, необходимо использовать ICFFT в обратном.
Преобразование Фурье в вещественной области. Для вещественнозначных векторов с 2 m элементами можно применять пару функций fft/ifft. В алгоритме вычисления этих функций используются преимущества симметрии, существующей только для вещественных данных. Это позволяет сохранить и время, и память, необходимые для вычислений.
| fft (v) | Возвращает дискретное преобразование Фурье 2 m -мерного вещественнозначного вектора. Аргумент можно интерпретировать как результат измерений через равные промежутки времени некоторого сигнала. |
Вектор v должен иметь 2 m элементов. Результат — комплекснозначный вектор размерности 1+2 m-1 . Если v имеет размерность отличную от 2 m , Mathcad выдает сообщение об ошибке “неверный размер вектора”.
Элементы вектора, возвращаемого fft, вычисляются по формуле

В этой формуле n — число элементов в v, i — мнимая единица.
Элементы в векторе, возвращенном функцией fft, соответствуют различным частотам. Чтобы восстанавливать фактическую частоту, необходимо знать частоту измерения исходного сигнала. Если v есть n-мерный вектор, переданный функции fft, и частота измерения исходного сигнала — f s , то частота, соответствующая , равна

Обратите внимание, что это делает невозможным обнаружить частоты выше частоты измерения исходного сигнала. Это — ограничение налагаемое не Mathcad, а самой сутью проблемы. Чтобы правильно восстанавливать сигнал по его преобразованию Фурье, необходимо произвести измерения исходного сигнала с частотой, по крайней мере вдвое большей, чем ширина полосы частот.
| ifft (v) | Возвращает обратное дискретное преобразование Фурье; результат — вещественнозначный. |
Вектор v должен иметь 1+ 2 m элементов, где m — целое. Результат есть комплекснозначный вектор размерности 2 m+1 . Если v имеет размерность, отличную от 1+ 2 m , Mathcad выдает сообщение об ошибке “неверный размер вектора”.
Аргумент v — вектор, подобный созданному функцией fft. Чтобы вычислить результат, Mathcad сначала создает новый вектор w, комплексно сопряженный v, и присоединяет его к вектору v. Затем Mathcad вычисляет вектор d, чьи элементы вычисляются по формуле:

Это та же самая формула, что и для fft, кроме знака минус в функции exp. Функции fft и ifft — точные обращения. Для всх вещественнозначных v справедливо ifft(fft(v))=v.
Преобразование Фурье в комплексной области. Имеются две причины, по которым не могут быть использованы пары преобразований fft/ifft, обсужденные в предыдущем разделе:
Данные могут быть комплекснозначны. Это означает, что Mathcad не может больше использовать симметрию, имеющую место в вещественном случае.
Вектор данных может иметь размерность, отличную от 2 m . Это означает, что Mathcad не может пользоваться преимуществом высокоэффективного алгоритма БПФ, используемого парой fft/ifft.
Пара преобразований cfft/icfft может работать с массивами любого размера. Однако они работают значительно быстрее, когда число строк и столбцов может быть представлено в виде произведения большого количества меньших сомножителей. Например, векторы с длиной 2 m относятся к этому классу, так же как и векторы, имеющие длины, подобные 100 или 120. С другой стороны, вектор, чья длина — большое простое число, замедлит вычисление преобразования Фурье.
Функции cfft и icfft — обратные друг к другу. То есть icfft(cfft(v))=v. Рисунок 3 показывает примеры использования преобразования Фурье в Mathcad.
Когда в качестве аргумента cfft используется матрица, результат есть двумерное преобразование Фурье исходной матрицы.
Альтернативные формы преобразования Фурье. Определения преобразования Фурье, обсужденные выше, не являются единственно возможными. Например, следующие определения для дискретного преобразования Фурье и его обращения можно найти в книге Ronald Bracewells, The Fourier Transform and Its Applications (McGraw-Hill, 1986):

Эти определения весьма распространены в технической литературе. Чтобы использовать эти определения вместо обсужденных в предыдущем разделе, используйте функции FFT, IFFT, CFFT и ICFFT. Они отличаются следующим:
Вместо коэффициента 1/
перед обеими формулами в прямом преобразовании стоит коэффициент 1/n, и коэффициент 1 в обратном преобразовании.
Знак минус появляется в показателе экспоненты прямого преобразования и исчезает в формуле обратного.
Функции FFT, IFFT, CFFT и ICFFT используются аналогично функциям, обсужденным в предыдущем разделе.
3 ПРАКТИЧЕСКАЯ ЧАСТЬ
Номер варианта
Длительность импульса
Период сигнала
Разложение сигнала на гармоники
Спектр такого сигнала s ( t ) с помощью ряда Фурье в тригонометрической форме имеет следующий вид:
s ( t ) =
(2)
где ω = 2π/ T – угловая частота;
n – номер гармоники;
A 0 , Bn , Bn – коэффициенты разложения ряда Фурье
Коэффициенты разложения ряда Фурье вычисляются по формулам:



где x ( t ) – периодический сигнал.
Полученное аналитическое выражение сигнала x ( t ) в среде MathCAD будет иметь вид:


Для построения графика сигнала x = f ( t ) необходимо выбрать в главном меню программы MathCAD «Вид – Панели инструментов – График», далее на появившейся панели «Graph» выбрать элемент «Декартов график», после чего на рабочей области программы MathCAD появится область построения графика. По оси ординат области построения графика необходимо ввести « x ( t )», а по оси абсцисс – « t ». Далее двойным щелчком левой кнопки мыши по области построения графика необходимо вызвать панель форматирования графика. На закладке «Оси X – Y » панели форматирования для удобства отображения нужно установить размер сетки, кратный по оси ординат амплитуде сигнала, а по оси абсцисс – периоду сигнала. На закладке «Трассировки» нужно установить толщину линий графика, для этого необходимо выделить мышью строку «trace1» в списке линий и в поле «Вес» выбрать «3». Кроме того, для удобства можно установить диапазон значений по оси абсцисс вводом соответствующих значений в области на оси абсцисс графика. Поскольку параметры сигнала по оси абсцисс изменяются от 0 до T = 50, эти значения и следует ввести. В результате получим график, изображённый на рисунке далее.

Рис. График сигнала прямоугольной формы в среде MathCAD : A = 1, T = 50, τ = 25
Для записи разложения сигнала в тригонометрический ряд Фурье потребуется вызвать панель « Calculus » или в главном меню выбрать «Вид – Панели инструментов – Калькуляция». На этой панели есть элементы «Определённый интеграл» и «Суммирование по дискретному элементу». Они необходимы для записи ряда Фурье и его коэффициентов разложения.
Полученное выражение для спектрального показания сигнала в общем виде для заданного числа гармоник N = 3 запишем следующим образом:
N := 3 n := 1 , 2, … N ω := 2
,
A 0 :=
,
A n :=
,
B n :=
,
s (t) :=
+
(A п cos( tnω) + Bnsin(tnω)).
Чтобы добавить на график x = f ( t ) спектральную форму сигнала s = f ( t ), нужно выделить указателем мыши на оси ординат поле, где записана функция исходного сигнала x ( t ) и справа от неё ввести запятую, после этого ниже появится поле для ввода ещё одной функции, куда следует ввести s ( t ). Графики сигнала прямоугольной формы и его спектральное показание по первым трём гармоникам показаны на рисунке ниже.

Рис. Графики исходного сигнала прямоугольной формы x ( t )
и его спектральное показание s ( t ) для числа гармоник N = 3
Аналогично строят графики для пяти и семи гармоник. Для этого в программе расчёта гармоник нужно лишь присвоить числу гармоник N новое значение, а программа автоматически пересчитает спектр сигнала. При этом автоматически обновится график зависимости s = f ( t ).

Рис. Графики исходного сигнала прямоугольной формы x ( t )
и его спектральное показание s ( t ) для числа гармоник N = 5

Рис. Графики исходного сигнала прямоугольной формы x ( t )
и его спектральное показание s ( t ) для числа гармоник N = 7