Метод вращающегося вектора амплитуды. Гармонические колебания величины s описываются уравнением типа

Векторная диаграмма. Сложение колебаний.

Решение ряда задач теории колебаний значительно облегчается и становится более наглядным, если изображать колебания графически, используя метод векторных диаграмм. Выберем некоторую ось х . Из точки 0 на оси отложим вектор длины , образующий вначале с осью угол (рис.2.14.1). Если привести этот вектор во вращение с угловой скоростью , то проекция конца вектора на ось х будет изменяться с течением времени по закону

.

Следовательно, проекция конца вектора на ось будет совершать гармоническое колебание с амплитудой, равной длине вектора, с круговой частотой, равной угловой скорости вращения вектора, и с начальной фазой, равной углу, который образует вектор с осью в начальный момент времени. Угол, образованный вектором с осью в данный момент времени определяет фазу колебания в этот момент - .

Из сказанного следует, что гармоническое колебание можно представить с помощью вектора, длина которого равна амплитуде колебания, а направление его образует с некоторой осью угол, равный фазе колебания. В этом и состоит суть метода векторных диаграмм.

Сложение колебаний одинакового направления.

Рассмотрим сложение двух гармонических колебаний, направления которых параллельны:

. (2.14.1)

Результирующее смещение х будет суммой и . Это будет колебание с амплитудой .

Воспользуемся методом векторных диаграмм (рис.2.14.2). На рисунке , и - фазы результирующего и складываемых колебаний соответственно. Легко видеть, что можно найти сложением векторов и . Однако, если частоты складываемых колебаний различны, то результирующая амплитуда меняется с течением времени по величине и вектор вращается с непостоянной скоростью, т.е. колебание не будет гармоническим, а будет представлять некоторый сложный колебательный процесс. Чтобы результирующее колебание было гармоническим, частоты складываемых колебаний должны быть одинаковы

и результирующее колебание происходит с той же частотой

.

Из построения видно, что

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

Сложение взаимно перпендикулярных колебаний.

Пусть частица совершает два гармонических колебания с одной и той же частотой: одно вдоль направления, которое обозначим х , другое – в перпендикулярном направлении y . В этом случае частица будет двигаться по некоторой, в общем случае, криволинейной траектории, форма которой зависит от разности фаз колебаний.

Выберем начало отсчета времени так, чтобы начальная фаза одного колебания была равна нулю:

. (2.14.3)

Чтобы получить уравнение траектории частицы, нужно из (2.14.3) исключить t . Из первого уравнения , а. значит, . Второе уравнение перепишем

или

.

Перенеся первое слагаемое из правой части уравнения в левую, возведя полученное уравнение в квадрат и проведя преобразования, получим

. (2.14.4)

Это уравнение представляет собой уравнение эллипса, оси которого повернуты относительно осей х и y на некоторый угол. Но в некоторых частных случаях получают более простые результаты.

1. Разность фаз равна нулю. Тогда из (2.14.4) получим

или . (2.14.5)

Это уравнение прямой (рис.2.14.3). Таким образом, частица совершает колебания вдоль этой прямой с частотой и амплитудой, равной .

Векторная диаграмма - это способ графического задания колебательного движения в виде вектора.

Вдоль горизонтальной оси откладывается колеблющаяся величина ξ (любой физической природы). Вектор, отложенный из точки 0 равен по модулю амплитуде колебания A и направлен под углом α , равным начальной фазе колебания, к оси ξ. Если привести этот вектор во вращение с угловой скоростью ω , равной циклической частоте колебаний, то проекция этого вектора на ось ξ дает значение колеблющейся величины в произвольный момент времени.

Сложение колебаний одинаковой частоты и одинакового направления

Пусть складывается два колебания: строим векторные диаграммы и складываем векторы:

По теореме косинусов

Так как то

Очевидно (см. диаграмму), что начальная фаза результирующего колебания определяется соотношением:

Сложение колебаний близких частот

Пусть складывается два колебания с почти одинаковыми частотами, т.е.

Из тригонометрии:

Применяя к нашему случаю, получим:

График результирующего колебания - график биений, т.е. почти гармонических колебаний частоты ω, амплитуда которых медленно меняется с частотой Δω .

Амплитуда из-за наличия знака модуля (амплитуда всегда > 0) частота с которой изменяется амплитуда, равна не Δω / 2 , а в два раза выше - Δω.

Сложение взаимно-перпендикулярных колебаний

Пусть маленькое тело колеблется на взаимно-перпендикулярных пружинках одинаковой жесткости. По какой траектории будет двигаться это тело?

Это уравнения траектории в параметрическом виде. Для получения явной зависимости между координатами x и y надо из уравнений исключить параметр t.

Из первого уравнения: ,

Из второго

После подстановки

Избавимся от корня:

- это уравнение эллипса

Ч
астные случаи:

27. Затухающие колебания. Вынужденные колебания. Резонанс.

Затухание свободных колебаний

Вследствие сопpотивления свободные колебания всегда pано или поздно затухают. Рассмотpим пpоцесс затухания колебаний. Допустим, что сила сопpотивления пpопоpциональна скоpости тела. (коэффициент пpопоpциональности обозначен чеpез 2mg из сообpажений удобства, котоpое выявится позднее). Будем иметь в виду случай, когда за пеpиод колебания его затухание невелико. Тогда можно считать, что затухание слабо скажется на частоте, но отpазится на амплитуде колебаний. Тогда уpавнение затухающих колебаний можно пpедставить в виде Здесь А(t) пpедставляет некотоpую убывающую функцию, котоpую тpебуется опpеделить. Будем исходить из закона сохpанения и пpевpащения энеpгии. Изменение энеpгии колебаний pавно сpедней за пеpиод pаботе силы сопpотивления, т.е. Разделим обе части уpавнения на dt. Спpава будем иметь dx/dt, т.е. скоpость v, а слева получится пpоизводная от энеpгии по вpемени. Следовательно, с учетом Но сpедняя кинетическая энеpгия pавна половине полной энеpгии. Поэтому можно записать, чтоpазделим обе его части на E и умножим на dt. Получим, чтоПpоинтегpиpуем обе части полученного уpавнения: После потенциpования получим Постоянная интегpиpования С находится из начальных условий. Пусть пpи t = 0 Е = Е0, тогда Е0 = С. Следовательно, Но Е ~А^2. Поэтому и амплитуда затухающих колебаний убывает по показательному закону:

Итак, вследствие сопpотивления амплитуда колебаний убывает и они в целом выглядят так, как пpедставлено на рис. 4.2. Коэффициент называтся коэффициентом затухания. Однако он не вполне хаpактеpизует затухание. Обычно затухание колебаний хаpактеpизуется декpементом затухания. Последний пока зывает, во сколько pаз уменьшается амплитуда колебаний за вpемя, pавное пеpиоду колебаний. То есть декpемент затухания определяется так:Логаpифм декpемента затухания называется логаpифмическим декpементом, он, очевидно, pавен

Вынужденные колебания

Если колебательная система подвеpгается воздействию внешней пеpиодической силы, то возникают так называемые вынужденные колебания, имеющие незатухающий хаpактеp. Вынужденные колебания следует отличать от автоколебаний. В случае автоколебаний в системе пpедполагается специальный механизм, котоpый в такт с собственными колебаниями "поставляет" в систему небольшие поpции энеpгии из некотоpого pезеpвуаpа энеpгии. Тем самым поддеpживаются собственные колебания котоpые не затухают. В случае автоколебаний система как бы сама себя подталкивает. Пpимеpом автоколебательной системы могут служить часы. Часы снабжены хpаповым механизмом, с помощью котоpого маятник получает небольшие толчки (от сжатой пpужины) в такт собственным колебаниям. В случае вынужденных колебаний система подталкивается постоpонней силой. Ниже мы остановимся на этом случае, пpедполагая, что сопpотивление в системе невелико и им можно пpенебpечь. В качестве модели вынужденных колебаний будем иметь в виду то же тело, подвешенное на пpужине, на котоpое действует внешняя пеpиодическая сила (напpимеp, сила, имеющая электpомагнитную пpиpоду). Без учета сопpотивления уpавнение движения такого тела в пpоекции на ось х имеет вид: где w* - циклическая частота, В - амплитуда внешней силы. Заведомо известно, что колебания существуют. Поэтому будем искать частное pешение уpавнения в виде синусоидальной функции Подставим функцию в уравнение, для чего дважды продифференцируем по времени . Подстановка приводит к соотношению

Уравнение обpащается в тождество пpи соблюдении тpех условий: . Тогдаи уpавнение вынужденных колебаний можно пpедставить в виде Они пpоисходят с частотой, совпадающей с частотой внешней силы, и их амплитуда задается не пpоизвольно, как в случае свободных колебаний, а сама собой устанавливается. Это устанавливающееся значение зависит от соотношения собственной частоты колебаний системы и частоты внешней силы согласно фоpмуле

На pис. 4.3 изобpажен гpафик зависимости амплитуды вынужденных колебаний от частоты внешней силы. Видно, что амплитуда колебаний существенно возpастает по меpе пpиближения частоты внешней силы к частоте собственных колебаний. Явление pезкого возpастания амплитуды вынужденных колебаний пpи совпадении собственной частоты и частоты внешней силы называетсяpезонансом .

Пpи pезонансе амплитуда колебаний должна быть бесконечно большой. В действительности же пpи pезонансе амплитуда вынужденных колебаний всегда конечна. Это объясняется тем, что в pезонансе и вблизи него наше допущение о пpенебpежимо малом сопpотивлении становится невеpным. Если даже сопpотивление в системе и мало, то в pезонансе оно существенно. Его наличие делает амплитуду колебаний в pезонансе конечной величиной. Таким обpазом, pеальный гpафик зависимости амплитуды колебаний от частоты имеет вид, пpедставленный на pис. 4.4. Чем больше сопpотивление в системе, тем ниже максимум амплитуды в точке pезонанса.

Как пpавило, pезонанс в механических системах - явление нежелательное, и его стаpаются избежать: механические сооpужения, подвеpженные колебаниям и вибрациям, стаpаются сконстpуиpовать таким обpазом, чтобы собственная частота колебаний была далека от возможных значений частот внешних воздействий. Но в pяде устpойств pезонанс используется как явление позитивное. Например, pезонанс электpомагнитных колебаний шиpоко используется в радиосвязи, pезонанс g-лучей - в пpецезионных пpибоpах.

    Состояние термодинамической системы. Процессы

Термодинамические состояния и термодинамические процессы

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

Параметры, описывающие такое движение (изменения) термодинамической системы, принято разделять на внешние и внутренние. Это разделение весьма условно и зависит от конкретной задачи. Так, например, газ в воздушном шаре с эластичной оболочкой в качестве внешнего параметра имеет давление окружающего воздуха, а для газа в сосуде с жёсткой оболочкой внешним параметром является объём, ограниченный этой оболочкой. В термодинамической системе объём и давление могут изменяться независимо друг от друга. Для теоретического описания их изменения необходимо введение как минимум еще одного параметра - температуры.

В большинстве термодинамических задач трёх параметров достаточно для описания состояния термодинамической системы. В этом случае изменения в системе описываются с помощью трёх термодинамических координат, связанных с соответствующими термодинамическими параметрами.

Равновесным состоянием - состоянием термодинамического равновесия - называется такое состояния термодинамической системы, в котором отсутствуют всякие потоки (энергии, вещества, импульса и т.д.), а макроскопические параметры системы являются установившимися и не изменяются во времени.

Классическая термодинамика утверждает, что изолированная термодинамическая система (предоставленная себе самой) стремится к состоянию термодинамического равновесия и после его достижения не может самопроизвольно из него выйти. Данное утверждение часто называю нулевым началом термодинамики .

Системы, находящиеся в состоянии термодинамического равновесия, обладают следующими свойства ми:

Если две термодинамические системы, имеющие тепловой контакт, находятся в состоянии термодинамического равновесия, то и совокупная термодинамическая система находится в состоянии термодинамического равновесия.

Если какая-либо термодинамическая система находится в термодинамическом равновесии с двумя другими системами, то и эти две системы находятся в термодинамическом равновесии друг с другом.

Рассмотрим термодинамические системы, находящиеся в состоянии термодинамического равновесия. Описание систем, находящихся в неравновесном состоянии, то есть в состоянии, когда имеют место макроскопические потоки, занимается неравновесная термодинамика. Переход из одного термодинамического состояния в другое называется термодинамическим процессом . Ниже будут рассматриваться только квазистатические процессы или, что то же самое, квазиравновесные процессы. Предельным случаем квазиравновесного процесса является происходящий бесконечно медленно равновесный процесс, состоящий из непрерывно следующих друг за другом состояний термодинамического равновесия. Реально такой процесс протекать не может, однако если макроскопические изменения в системе происходят достаточно медленно (за промежутки времени, значительно превышающие время установления термодинамического равновесия), появляется возможность аппроксимировать реальный процесс квазистатическим (квазиравновесным). Такая аппроксимация позволяет проводить вычисления с достаточно высокой точностью для большого класса практических задач. Равновесный процесс является обратимым, то есть таким, при котором возвращение к значениям параметров состояния, имевшим место в предыдущий момент времени, должно приводить термодинамическую систему в предыдущее состояние без каких-либо изменений в окружающих систему телах.

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

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

Метод комплексных амплитуд

Положение точки на плоскости можно однозначно задать комплексным числом:

Если точка ($А$) вращается, то координаты этой точки изменяются в соответствии с законом:

запишем $z$ в виде:

где $Re(z)=x$, то есть физическая величина x равна вещественной части комплексного выражения (4). При этом модуль комплексного выражения равен амплитуде колебаний -- $a$, его аргумент равен фазе (${\omega }_0t+\delta $). Иногда при взятии реальной части от $z$ знак операции Re опускают и получают символическое выражение:

Выражение (5) не следует принимать буквально. Часто формально упрощают (5):

где $A=ae^{i \delta}$ -- комплексная амплитуда колебания. Комплексный характер амплитуды $А$ обозначает, что колебание имеет начальную фазу неравную нулю.

Для того чтобы раскрыть физический смысл выражения типа (6), предположим, что частота колебаний (${\omega }_0$) имеет вещественную и мнимую части, и ее можно представить как:

Тогда выражение (6) можно записать как:

В том случае, если ${\omega }2>0,$ то выражение (8) описывает затухающие гармонические колебания с круговой частотой $\omega1$ и показателем затухания ${\omega }_2$. Если ${\omega }_2

Замечание

Над комплексными величинами можно проводить многие математические операции так, как будто величины являются вещественными. Операции возможны, если они сами линейны и вещественны (такими являются сложение, умножение, дифференцирование по вещественной переменной и другие, но не все). Надо помнить, что комплексные величины сами по себе не соответствуют никаким физическим величинам.

Метод векторных диаграмм

Пусть точка $A$ равномерно вращается по окружности радиуса $r$ (рис.1), скорость ее вращения ${\omega }_0$.

Рисунок 1.

Положение точки $А$ на окружности можно задать с помощью угла $\varphi $. Этот угол равен:

где $\delta =\varphi (t=0)$ величина угла поворота радиус-вектора $\overrightarrow{r}$ в начальный момент времени. Если точка $М$ вращается, то ее проекция на $ось X$ движется по диаметру окружности, совершая гармонические колебания между точками $М$ $N$. Абсциссу точки $А$ можно записать как:

Подобным способом можно представлять колебания любых величин.

Необходимо только принять изображение величины, которая совершает колебания абсциссой точки $А$, которая равномерно вращается по окружности. Можно, конечно использовать и ординату:

Замечание 1

Для того чтобы представлять затухающие колебания, надо брать не окружность, а логарифмическую спираль, которая приближается к фокусу. Если скорость приближения движущейся по спирали точки постоянна и очка движется к фокусу, то проекция этой точки на $ось X$ даст формулы затухающих колебаний.

Замечание 2

Вместо точки можно использовать радиус-вектор, который будет равномерно вращаться вокруг начала координат. Тогда величина, которая совершает гармонические колебания, будет изображаться как проекция этого вектора на $ось X$. При этом математические операции над величиной $x$ заменяют операциями над вектором.

Так операцию суммирования двух величин:

удобнее заменить суммированием двух векторов (используя правило параллелограмма). Векторы выбрать так, что их проекции на избранную $ось X$ являются выражениями $x_1\ и\ x_2$. Тогда результат операции суммирования векторов в проекции на ось абсцисс будет равен $x_1+\ x_2$.

Пример 1

Продемонстрируем применение метода векторных диаграмм.

Итак, представим комплексные числа векторами на комплексной плоскости. Величина, изменяющаяся по гармоническому закону, изображена вектором, который вращается с частотой ${\omega }0$ вокруг своего начала против часовой стрелки. Длина вектора равна амплитуде колебаний.

Графический метод решения, например, уравнения:

где $Z=R+i(\omega L-\frac{1}{\omega C})$ -- импеданс, представим с помощью рис.2. На этом рисунке изображена векторная диаграмма напряжений в цепи переменного тока.

Рисунок 2.

Учтем, что умножение комплексной величины на комплексную единицу означает ее поворот на угол $90^0$ против часовой стрелки, а умножение на ($-i$) на тот же угол по часовой стрелке. Из рис.2 ледует, что:

где $-\frac{\pi }{2}\le \varphi \le \frac{\pi }{2}.$ Изменение угла $\varphi $ зависит от соотношения между импедансами элементов цепи и частотами. Внешнее напряжение может изменяться по фазе, от совпадающего с напряжением на индуктивности, до совпадающего с напряжением на емкости. Выражается это обычно в виде отношения между фазами напряжений на элементах цепи и фазой внешнего напряжения:

    Фаза напряжения на индуктивности ${(U}L=i\omega LI)$ всегда опережает фазу внешнего напряжения на угол от $0$ до $\pi .$

    Фаза напряжения на емкости ${(U}C=-\frac{iI}{\omega C}$) всегда отстает от фазы внешнего напряжения на угол между $0$ и --$\ \pi .$

    При этом фаза на сопротивлении может как опережать, так и отставать от фазы внешнего напряжения на угол между- $\frac{\pi }{2}$ и $\frac{\pi }{2}$.

Векторная диаграмма (рис.2) позволяет сформулировать следующее:

    Фаза напряжения на индуктивности опережает фазу силы тока на $\frac{\pi }{2}$.

    Фаза напряжения на емкости отстает на $\frac{\eth }{2}\ $от фазы силы тока.

    Фаза напряжения на сопротивлении совпадает с фазой силы тока.

Пример 2

Задание: Продемонстрируйте то, что операцию возведения в квадрат нельзя применять к комплексным величинам как к вещественным числам.

Решение:

Допустим, что надо возвести в квадрат вещественное число $x$. Правильный ответ: $x^2$. Формально применим комплексный метод. Произведем замену:

$x\to x+iy$. Возведем полученное выражение в квадрат, получим:

\[{\left(x+iy\right)}^2=x^2-y^2+2xyi\ \left(2.1\right).\]

Вещественная часть выражения (2.1) равна:

\[{Re\left(x+iy\right)}^2=Re\left(x^2-y^2+2xyi\right)=x^2-y^2\ne x^2.\]

Причина ошибки в том, что операция возведения в квадрат не является линейной.


Гармонические колебания

Т.е. фактически график синуса получается из вращения вектора, который описывается формулой:

F(x) = A sin (ωt + φ),

Где A - длина вектора (амплитуда колебаний), φ - начальный угол (фаза) вектора в нулевой момент времени, ω - угловая скорость вращения, которая равна:

ω=2 πf, где f - частота в Герцах.

Как мы видим, что зная частоту сигнала, амплитуду и угол, мы можем построить гармонический сигнал.

Магия начинается тогда, когда оказывается, что представление абсолютно любого сигнала можно представить в виде суммы (зачастую бесконечной) различных синусоид. Иначе говоря, в виде ряда Фурье.
Я приведу пример из английской википедии . Для примера возьмём пилообразный сигнал.


Пилообразный сигнал

Его сумма будет представлена следующей формулой:

Если мы будем по очерёдно суммировать, брать сначала n=1, затем n=2 и т.д., то увидим, как у нас гармонический синусоидальный сигнал постепенно превращается в пилу:

Наверное красивее всего это иллюстрирует одна программа, найденная мной на просторах сети. Выше уже говорилось, что график синуса является проекцией вращающегося вектора, а как же быть в случае более сложных сигналов? Это, как ни странно, проекция множества вращающихся векторов, а точнее их суммы, и выглядит это всё так:


Вектора рисуют пилу.

Вообще рекомендую сходить самим по ссылке и попробовать самим поиграться с параметрами, и посмотреть как меняется сигнал. ИМХО более наглядной игрушки для понимания я ещё не встречал.

Ещё следует заметить, что есть обратная процедура, позволяющая получить из данного сигнала частоту, амплитуду и начальную фазу (угол), которое называется Преобразование Фурье.


Разложение в ряд Фурье некоторых известных периодических функций (отсюда)

Я детально на нём останавливаться не буду, но покажу, как это можно применить по жизни. В списке литературы порекомендую то, где можно почитать подробнее о матчасти.

Переходим к практическим упражнениям!

Мне кажется, что каждый студент задаётся вопросом, сидя на лекции, например по матану: зачем мне весь этот бред? И как правило, не найдя ответа в обозримом будущем, к сожалению, теряет интерес к предмету. Поэтому я сразу покажу практическое применение данных знаний, а вы эти знания уже будете осваивать сами:).

Всё дальнейшее я буду реализовывать на сях. Делал всё, конечно, под Linux, но никакой специфики не использовал, по идее программа будет компилироваться и работать под другими платформами.

Для начала напишем программу для формирования звукового файла. Был взят wav-файл, как самый простой. Прочитать про его структуру можно .
Если кратко, то структура wav-файла описывается так: заголовок, который описывает формат файла, и далее идёт (в нашем случае) массив 16-ти битных данных (остроконечник) длиной: частота_дискретизации*t секунд или 44100*t штук.

Для формирования звукового файла был взят пример . Я его немного модифицировал, исправил ошибки, и окончательная версия с моими правками теперь лежит на гитхабе тут

Сгенерируем двухсекундный звуковой файл с чистым синусом частотой 100 Гц. Для этого модифицируем программу таким образом:

#define S_RATE (44100) //частота дискретизации #define BUF_SIZE (S_RATE*10) /* 2 second buffer */ …. int main(int argc, char * argv) { ... float amplitude = 32000; //берём максимальную возможную амплитуду float freq_Hz = 100; //частота сигнала /* fill buffer with a sine wave */ for (i=0; i

Обращаю внимание, что формула чистого синуса соответствует той, о которой мы говорили выше. Амплитуда 32000 (можно было взять 32767) соответствует значению, которое может принимать 16-ти битное число (от минус 32767 до плюс 32767).

В результате получаем следующий файл (можно его даже послушать любой звуковоспроизводящей программой). Откроем данный файл audacity и увидим, что график сигнала в действительности соответствует чистому синусу:


Чистый ламповый синус

Поглядим спектр этого синуса (Анализ->Построить график спектра)


График спектра

Виден чистый пик на 100 Гц (логарифмический масштаб). Что такое спектр? Это амплитудно-частотная характеристика. Существует ещё фазочастотная характеристика. Если помните, выше я говорил, что для построения сигнала надо знать его частоту, амплитуду и фазу? Так вот, можно из сигнала получить эти параметры. В данном случае у нас график соответствий частот амплитуде, при чём амплитуда у нас не в реальных единицах, а в Децибелах.

Я понимаю, что чтобы объяснить, как работает программа, надо объяснить, что такое быстрое преобразование Фурье, а это как минимум ещё на одну некислую статью.

Для начала алокируем массивы:

C = calloc(size_array*2, sizeof(float)); // массив поворотных множителей in = calloc(size_array*2, sizeof(float)); //входный массив out = calloc(size_array*2, sizeof(float)); //выходной массив

Скажу лишь, что в программе мы читаем данные в массив длиной size_array (которое берём из заголовка wav-файла).

While(fread(&value,sizeof(value),1,wav)) { in[j]=(float)value; j+=2; if (j > 2*size_array) break; }

Массив для быстрого преобразования Фурье должен представлять собой последовательность {re, im, re, im,… re, im}, где fft_size=1<< p - число точек БПФ. Объясняю нормальным языком:
это массив комплексных чисел. Я даже боюсь представить, где используется комплексное преобразование Фурье, но в нашем случае мнимая часть у нас равна нулю, а действительная равна значению каждой точке масива.
Ещё одна особенность именно быстрого преобразования Фурье, что оно обсчитывает массивы, кратные только степени двойки. В результате мы должны вычислить минимальную степень двойки:

Int p2=(int)(log2(header.bytes_in_data/header.bytes_by_capture));

Логарифм от количество байт в данных, делённых на количество байт в одной точке.

После этого считаем поворотные множители:

Fft_make(p2,c);// функция расчёта поворотных множителей для БПФ (первый параметр степень двойки, второй алокированный массив поворотных множителей).

И скармливаем наш считанный массив в преобразователь Фурье:

Fft_calc(p2, c, in, out, 1); //(единица означает, что мы получаем нормализованный массив).

На выходе мы получаем комплексные числа вида {re, im, re, im,… re, im}. Для тех, кто не знает, что такое комплексное число, поясню. Я не зря начал эту статью с кучи вращающихся векторов и кучи гифок. Так вот, вектор на комплесной плоскости определяется действительной координатой a1 и мнимой координатой a2. Или длиной (это у нас амплитуда Am) и углом Пси (фаза).


Вектор на комплексной плоскости

Обратите внимание, что size_array=2^p2. Первая точка массива соответствует частоте 0 Гц (постоянная), последняя точка соответствует частоте дискретизации, а именно 44100 Гц. В результате мы должны рассчитать частоту, соответствующей каждой точке, которые будут отличаться на частоту дельта:

Double delta=((float)header.frequency)/(float)size_array; //частота дискретизации на размер массива.

Алокируем массив амплитуд:

Double * ampl; ampl = calloc(size_array*2, sizeof(double));

И смотрим на картинку: амплитуда - это длина вектора. А у нас есть его проекции на действительную и мнимую ось. В результате у нас будет прямоугольный треугольник, и тут мы вспоминаем теорему Пифагора, и считаем длину каждого вектора, и сразу пишем её в текстовый файл:

For(i=0;i<(size_array);i+=2) { fprintf(logfile,"%.6f %f\n",cur_freq, (sqrt(out[i]*out[i]+out*out))); cur_freq+=delta; }
В результате получаем файл примерно такого вида:

… 11.439514 10.943008 11.607742 56.649738 11.775970 15.652428 11.944199 21.872342 12.112427 30.635371 12.280655 30.329171 12.448883 11.932371 12.617111 20.777617 ...

Пробуем!

Теперь скармливаем получившейся программе тот звуковой файл синуса

./fft_an ../generate_wav/sin\ 100\ Hz.wav format: 16 bits, PCM uncompressed, channel 1, freq 44100, 88200 bytes per sec, 2 bytes by capture, 2 bits per sample, 882000 bytes in data chunk=441000 log2=18 size array=262144 wav format Max Freq = 99.928 , amp =7216.136

И получаем текстовый файл АЧХ. Строим его график с помощью гнуплота

Скрипт для построения:

#! /usr/bin/gnuplot -persist set terminal postscript eps enhanced color solid set output "result.ps" #set terminal png size 800, 600 #set output "result.png" set grid xtics ytics set log xy set xlabel "Freq, Hz" set ylabel "Amp, dB" set xrange #set yrange plot "test.txt" using 1:2 title "AFC" with lines linestyle 1

Обратите внимание на ограничение в скрипте на количество точек по X: set xrange . Частота дискретизации у нас 44100, а если вспомнить теорему Котельникова, то частота сигнала не может быть выше половины частоты дискретизации, следовательно сигнал выше 22050 Гц нас не интересует. Почему так, советую прочитать в специальной литературе.
Итак (барабанная дробь), запускаем скрипт и лицезреем:


Спектр нашего сигнала

Обратите внимание на резкий пик на частоте 100 Гц. Не забывайте, что по осям - логарифмический масштаб! Шерсть справа, как я думаю, ошибки преобразования Фурье (тут на память приходят окна).

А давайте побалуем?

А давайте! Давайте поглядим спектры других сигналов!

Вокруг шум…
Для начала построим спектр шума. Тема про шумы, случайные сигналы и т.п. достойна отдельного курса. Но мы её коснёмся слегка. Модифицируем нашу программу генерации wav-файла, добавим одну процедуру:

Double d_random(double min, double max) { return min + (max - min) / RAND_MAX * rand(); }

Она будет генерировать случайное число в заданном диапазоне. В результате main будет выглядеть так:

Int main(int argc, char * argv) { int i; float amplitude = 32000; srand((unsigned int)time(0)); //инициализируем генератор случайных чисел for (i=0; i

Сгенерируем файл , (рекомендую к прослушиванию). Поглядим его в audacity.


Сигнал в audacity

Поглядим спектр в программе audacity.


Спектр

И поглядим спектр с помощью нашей программы:


Наш спектр

Хочу обратить внимание на очень интересный факт и особенность шума - он содержит в себе спектры всех гармоник. Как видно из графика, спектр вполне себе ровный. Как правило, белый шум используется для частотного анализа пропускной способности, например, аудиоаппаратуры. Существуют и другие виды шумов: розовый, синий и другие . Домашнее задание - узнать, чем они отличаются.

А компот?

А теперь давайте посмотрим другой интереснейший сигнал - меандр. Я там выше приводил табличку разложений различных сигналов в ряды Фурье, вы поглядите как раскладывается меандр, выпишите на бумажку, и мы продолжим.

Для генерации меандра с частотой 25 Гц мы модифицируем в очередной раз наш генератор wav-файла:

Int main(int argc, char * argv) { int i; short int meandr_value=32767; /* fill buffer with a sine wave */ for (i=0; i

В результате получим звуковой файл (опять же, советую послушать), который сразу надо посмотреть в audacity


Его величество - меандр или меандр здорового человека

Не будем томиться и поглядим его спектр:


Спектр меандра

Пока не очень что-то понятно, что такое… А давайте поглядим несколько первых гармоник:


Первые гармоники

Совсем другое дело! Ну-ка поглядим табличку. Смотрите-ка, у нас есть только 1, 3, 5 и т.д., т.е. нечётные гармоники. Мы так и видим, что у нас первая гармоника 25 Гц, следующая (третья) 75 Гц, затем 125 Гц и т.д., при этом у нас амплитуда постепенно уменьшается. Теория сошлась с практикой!
А теперь внимание! В реальной жизни сигнал меандра у нас имеет бесконечную сумму гармоник всё более и более высокой частоты, но как правило, реальные электрические цепи не могут пропускать частоты выше какой-то частоты (в силу индуктивности и ёмкости дорожек). В результате на экране осциллографа можно часто увидеть вот такой сигнал:


Меандр курильщика

Эта картинка прям как картинка из википедии , где для примера меандра берутся не все частоты, а только первые несколько.


Сумма первых гармоник, и как меняется сигнал

Меандр так же активно используется в радиотехнике (надо сказать, что - это основа всей цифровой техники), и стоит понимать что при длинных цепях его может отфильтровать так, что, родная мама не узнает. Его так же используют для проверки АЧХ различных приборов. Ещё интересный факт, что глушилки телевизоров работали именно по принципу высших гармоник, когда сама микросхема генерировала меандр десятки МГц, а его высшие гармоники могли иметь частоты сотни МГц, как раз на частоте работы телевизора, и высшие гармоники успешно глушили сигнал вещания телевизора.

Вообще тема подобных экспериментов бесконечная, и вы можете теперь сами её продолжить.


Книга

Для тех, кто нифига не понял, что мы тут делаем, или наоборот, для тех, кто понял, но хочет разобраться ещё лучше, а так же для студентам, изучающим ЦОС, крайне рекомендую эту книгу. Это ЦОС для чайников, которым является автор данного поста. Там доступным даже для ребёнка языком рассказываются сложнейшие понятия.

Заключение

В заключении хочу сказать, что математика - царица наук, но без реального применения многие люди теряют к ней интерес. Надеюсь, данный пост подстегнёт вас к изучению такого замечательного предмета, как обработка сигналов, и вообще аналоговой схемотехнике (затыкайте уши, чтобы не вытекали мозги!). :)
Удачи!

Теги:

Добавить метки

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

Возьмем ось, которую обозначим буквой х (рис. 55.1). Из точки О, взятой на оси, отложим вектор длины а, образующий с осью угол а.

Если привести этот вектор во вращение с угловой скоростью , то проекция конца вектора будет перемещаться по оси х в пределах от -а до +а, причем координата этой проекции будет изменяться со временем по закону

Следовательно, проекция конца вектора на ось будет совершать гармоническое колебание с амплитудой, равной длине вектора, с круговой частотой, равной угловой скорости вращения вектора, и с начальной фазой, равной углу, образуемому вектором с осью в начальный момент времени.

Из сказанного следует, что гармоническое колебание может быть задано с помощью вектора, длина которого равна амплитуде колебания, а направление вектора образует с осью х угол, равный начальной фазе колебания.

Рассмотрим сложение двух гармонических колебаний одинакового направления и одинаковой частоты. Смещение х колеблющегося тела будет суммой смещений , которые запишутся следующим образом:

Представим оба колебания с помощью векторов (рис. 55.2). Построим по правилам сложения векторов результирующий вектор а.

Легко видеть, что проекция этого вектора на ось х равна сумме проекций слагаемых векторов:

Следовательно, вектор а представляет собой результирующее колебание. Этот вектор вращается с той же угловой скоростью как и векторы так что результирующее движение будет гармоническим колебанием с частотой амплитудой а и начальной фазой а. Из построения видно, что

Итак, представление гармонических колебаний посредством векторов дает возможность свести сложение нескольких колебаний к операции сложения векторов. Этот прием бывает особенно полезен, например, в оптике, где световые колебания в некоторой точке определяются как результат наложения многих колебаний, приходящих в данную точку от различных участков волнового фронта.

Формулы (55.2) и (55.3) можно, конечно, получить, сложив выражения (55.1) и произведя соответствующие тригонометрические преобразования. Но примененный нами способ получения этих формул отличается большей простотой и наглядностью.

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

Если частоты колебаний неодинаковы, векторы а и будут вращаться с различной скоростью. В этом случае результирующий вектор а пульсирует по величине и вращается с непостоянной скоростью. Следовательно, результирующим движением будет в этом случае не гармоническое колебание, а некоторый сложный колебательный процесс.