Генератор сигналов: схема, принцип действия, устройство, виды
При разработке электронных модулей, компонентов схемы и прочих операциях генератор сигналов работает в качестве источника воздействующего сигнала.
Генератор формирует сигнал с изменяемой по времени амплитудой, который подается на тестируемый элемент или высокочастотный модуль, фильтр. Форма сигнала может быть произвольной, а может быть в виде любой периодической функции, например, синусоиды. Может представлять собой цифровой импульс или двоичную последовательность. Наиболее распространенные формы сигналов — синусоидальные сигналы, меандры и прямоугольные сигналы, пилообразные и треугольные сигналы.
Silence или Создать тишину
Не сказать что это можно назвать генерацией сигнала, т.к. это генерация отсутствия сигнала. Создается пустая аудио дорожка выбранной длительности. Если выделить часть дорожки то длительность кусочка будет автоматически вписана.
Это удобно при обработке реальных записей, когда нужно заглушить какой-то кусочек. В панели инструментов есть даже специальная кнопочка для быстрого доступа к этой функции. При ее нажатии окошко не вылезет, а выделенный кусочек будет сразу заглушен.
Кнопочка левее позволяет произвести обратное, т.е. оставить только выделенный кусочек и удалить то, что вокруг.
Веб-приложения для генерации тонов
В качестве альтернативы программному обеспечению тональной генерации мы также можем сделать это онлайн с помощью веб-приложений. Их преимущество состоит в том, что они могут выполнять работу без загрузки или установки какой-либо программы, поскольку для доступа к ним нам потребуется только подключение к Интернету и веб-браузер.
Онлайн-генератор тона, генерирует тоны четырьмя различными способами
Это веб-сайт, на котором есть различные варианты генераторов тона, такие как Pitch Shifter, Binarial Beats и DTMF-сигналы. Нам просто нужно ввести желаемую частоту и нажать кнопку воспроизведения, чтобы прослушать чистый тональный сигнал, отображаемый с частотой 44.1 кГц, который будет излучаться, пока мы не нажмем кнопку остановки. Он способен воспроизводить тона, генерируемые четырьмя различными способами: синусоидальный, квадратный, пилообразный и треугольный.
Вам просто нужно убедиться, что в наушниках и динамиках установлена низкая громкость, чтобы не повредить уши или оборудование. Приложение совместимо с последними версиями браузеров, такими как Chrome, Firefox, Safari и Microsoft Edge. Как только наш тон сгенерирован, мы можем загрузить и сохранить 10-секундный файл WAV.
Если мы хотим использовать онлайн-генератор тонов для генерации тонов, мы можем использовать его бесплатно, просто доступ к своему веб-сайту .
Генераторы тестовых аудиофайлов с калибровкой тона для большей точности
На этом веб-сайте есть другой генератор сигналов. Мы можем выбрать один генератор синусоидального тона, двойной генератор синусоидального тона или генератор тона с качающейся частотой. Все они точно откалиброваны и имеют регулируемую частоту и амплитуду. Следовательно, необходимо будет только выбрать тип тона, который мы хотим генерировать.
Как только предпочтительный вариант будет выбран, мы перейдем на другую страницу, где найдем тон-генератор, на котором мы сможем настроить свойства звука, который мы хотим сгенерировать. После завершения мы можем сохранить тон в высококачественном WAV-файле. Таким образом, мы обеспечиваем наивысшее качество звука, которое мы можем получить на нашем ПК.
Аудио Генераторы тестовых файлов — это полностью бесплатный онлайн-инструмент, к которому мы можем получить доступ, нажав на эту ссылку .
wavTones, с генератором звуковой частоты
В этом онлайн-приложении есть генератор сигналов звуковой частоты, который позволяет нам изменять свойства каждого из предлагаемых им тонов. На странице есть бесплатная версия, которая предлагает ограниченное количество сигналов, максимальная продолжительность которых ограничена 5 секундами. По желанию, у него есть платежные пакеты, с помощью которых мы будем иметь доступ ко всем предлагаемым ими тональным сигналам, что позволяет загружать до 300 секунд.
Бесплатная версия, если это правда, несколько ограничена, так как мы не сможем прослушать какие-либо звуки перед их загрузкой. Кроме того, битовая глубина тонов позволяет генерировать только 16-битные тона в этой бесплатной версии. Сгенерированные тоны можно скачать в формате WAV.
Если мы хотим попробовать wavTones для генерации тонов, мы можем сделать это, нажав здесь .
Gieson TonGen, простой и практичный тон-генератор
Из всех замеченных веб-приложений это, безусловно, приложение Gieson TonGen, один из простейших генераторов тонов, которые можно использовать при генерации наших тонов. Он имеет четыре типа волн, с помощью которых можно генерировать разные тона и изменять их тональность. Мы можем изменить частоту тона, просто используя ползунок Hz вместе с ползунком Fine tune Hz, что позволяет нам найти идеальную частоту для нашего тона.
Главный недостаток, который мы обнаружим при использовании этого онлайн-приложения, заключается в том, что невозможно будет сохранить сгенерированные тоны. Мы даже не сможем отправить их по ссылке.
Мы можем использовать Gieson TonGen для бесплатной генерации тонов, просто зайдя на его веб-сайт, нажав на эту ссылку .
Soundcard Oscilloscope
Soundcard Oscilloscope – это многофункциональное программное обеспечение для осциллографов, которое бесплатно только для личного использования. Это приложение обладает генератором сигналов и различными другими инструментами. Входной сигнал отображается в интерфейсе программы на графику. Вы можете изменить параметры графика спектров для тщательного просмотра и анализа спектров сигналов в реальном времени. Установите разные амплитуды каналов или синхронизируйте каналы для общей амплитуды. Установите шкалу времени от 1 минуты до 10 секунд. Вы также можете установить разные режимы канала: одиночный, CH1 – CH2, CH1 + CH2 или CH1 x CH2.
Инструменты измерения сигналов для определения частоты и напряжения также доступны в программе. Значения в реальном времени отображаются прямо на экране.
Другие инструменты доступны на соответствующих вкладках. Посмотреть график XY или просмотреть график частоты. Вкладка Генератор сигналов позволяет генерировать сигнал вручную. Вы можете генерировать пользовательский сигнал для каналов. Генерация синуса, треугольника, квадрата, пилообразного, розового или белого шума . Установите амплитуду сигнала, частоту и т. д. Выходной сигнал генератора сигналов можно услышать через динамики, подключенные к вашему ПК. Сгенерированный сигнал также может быть записан на вашем компьютере в формате WAV.
Chirp…
Так же есть возможность создания сигналов частота и/или амплитуда которых непрерывно меняется на протяжении всей их длительности.
Окошек для ввода тут немного больше, но они все нам уже итак знакомы, за исключением Интерполяции
. Доступны два варианты интерполяции — линейная и логарифмическая. Интерполяция определяет то, как будет меняться частота со временем. Для параметров, заданных на картинке, в зависимости от выбранного типа интерполяции, будут сгенерированы следующие сигналы:
Попробуйте бесплатно использовать FilmoraPro для генерации тона на Windows / Mac
Если вы хотите сгенерировать тон, а затем добавить его в свое видео на YouTube, мы рекомендуем вам попробовать профессиональный видеоредактор FilmoraPro .
Генерировать тон с помощью FilmoraPro очень просто, просто выберите его на вкладке звуковые эффекты, а затем перетащите на звуковую дорожку. Вы можете выбрать из синусоидального или квадратного типа тона и настроить частоту в соответствии с вашими потребностями. Кроме того, вы также можете использовать предустановку, встроенную в FilmoraPro, или выбрать из A4-G#4. Нажмите кнопку Скачать бесплатно, чтобы загрузить бесплатную пробную версию FilmoraPro уже сегодня.
Базовая система
Единственное, что вам нужно из дополнительного аппаратного обеспечения, – это аудиокабель с разъемами на обоих концах. Один конец подключается к разъему наушников на компьютере, а второй конец подает сигнал на соответствующую схему (или на осциллограф). На следующей фотографии показано, как я подключил пробник осциллографа Tektronix к аудиоразъему.
Подключение аудиокабеля с выхода компьютера к осциллографу для тестирования генерируемых сигналов
Команда, которую мы будем использовать для генерирования аналоговых сигналов, называется sound() . Её единственный обязательный входной аргумент – это массив чисел, который вы хотите отправить на звуковой цифро-аналоговый преобразователь. Значения в этом массиве должны быть больше или равны –1 и меньше или равны +1. Это удобно, если вы работаете с синусоидальными сигналами, потому что функции sin() и cos() генерирую сигналы в этом диапазоне. Однако, в целом, вам необходимо знать амплитуды вашего сигнала и масштабировать их в диапазон [–1,1] по мере необходимости.
Функция sound() также принимает аргумент для необходимой частоты дискретизации. Если вы не указываете частоту дискретизации, то она использует значение по умолчанию, которое составляет 22,05 кГц.
Пока мы говорим о частоте дискретизации, я должен упомянуть о серьезном ограничении, которое затрагивает любые попытки использовать звуковое оборудование компьютера в качестве генератора сигналов. Это аппаратное обеспечение предназначено для аудиосигналов, и, следовательно, его максимальная частота дискретизации была выбрана в соответствии с качеством звука, которое должно обеспечиваться аппаратным обеспечением. У меня сложилось впечатление, что в настоящее время многие компьютеры поддерживают частоты дискретизации до 192 кГц, но четкую информацию по этому вопросу найти трудно.
Генераторы, выборки и частоты
В основе механизма генерации звука любого музыкального синтезатора лежит множество генераторов, называемых так потому, что они генерируют более-менее периодические волновые колебания с конкретной частотой и громкостью. В синтезе звуков для музыки генераторы, создающие неизменяемые периодические волновые колебания, обычно весьма утомительны для слуха. Интереснее генераторы с поддержкой вибрато, тремоло или меняющихся тембров, а также с отклонениями в периодичности волновых колебаний.
В программе, где нужно создавать генераторы с помощью XAudio2, вы начинаете с вызова функции XAudio2Create. Тем самым вы получаете объект, реализующий интерфейс IXAudio2. Из этого объекта можно лишь раз вызвать CreateMasteringVoice, чтобы получить экземпляр IXAudio2MasteringVoice, который функционирует как главный аудиомикшер. Единовременно существует только один IXAudio2MasteringVoice. В противоположность этому вы обычно многократно вызываете CreateSourceVoice для создания множества экземпляров интерфейса IXAudio2SourceVoice. Каждый из этих экземпляров IXAudio2SourceVoice может работать как независимый генератор. Комбинируя различные генераторы, вы можете получить звучание мультифонического инструмента, ансамбля или целого оркестра.
Объект IXAudio2SourceVoice генерирует звук, создавая и передавая буферы, которые содержат последовательность числовых значений, описывающих волновой сигнал. Эти значения часто называют выборками. Обычно они являются 16-битными (стандарт для CD-аудио), и поступают с постоянной частотой — обычно 44 100 Гц (тоже стандарт для CD-аудио) или около того. Эта методика имеет замысловатое название: импульсно-кодовая модуляция (Pulse Code Modulation, PCM).
Хотя такая последовательность выборок может описывать очень сложное волновое колебание, синтезатор зачастую генерирует весьма простой поток выборок; наиболее распространенными являются прямоугольные, треугольные или пилообразные сигналы с периодичностью, соответствующей частоте волнового сигнала (воспринимаемой как высота звука) и средней амплитудой, воспринимаемой как громкость.
Например, если частота дискретизации равна 44 100 Гц и каждый цикл из 100 выборок имеет значения, которые постепенно нарастают, потом уменьшаются, принимают отрицательные величины и возвращаются к нулю, то частота получаемого звука будет равна 44 100, деленной на 100, или 441 Гц — эта частота близка к центру восприятия диапазона слышимости для человека. (Частота 440 Гц соответствует ноте ля над нотой до средней октавы и используется как настроечный стандарт.)
TИнтерфейс IXAudio2SourceVoice наследует метод SetVolume от IXAudio2Voice и определяет собственный метод SetFrequencyRatio. Последний метод меня особенно заинтриговал, так как он вроде бы предоставляет довольно простой способ создания генератора, выдающего конкретный периодический волновой сигнал с варьируемой частотой.
На рис. 1 показана основная часть класса SawtoothOscillator1, реализующего этот способ. Хотя я использовал привычные 16-битные целочисленные выборки для определения волнового сигнала, XAudio2 на внутреннем уровне оперирует 32-битными выборками и значениями с плавающей точкой. Для приложений, которым крайне важно быстродействие, вы, вероятно, захотите исследовать разницу в производительности при работе с целочисленными выборками и выборками, состоящими из значений с плавающей точкой.
Рис. 1. Большая часть класса SawtoothOscillator1
В заголовочном файле базовая частота задается такой, чтобы частоту дискретизации 44 100 Гц можно было делить без остатка. На основе этого можно вычислить размер буфера, который должен вмещать данные для одного цикла волнового сигнала этой частоты:
Кроме того, в заголовочной файле буфер определяется как поле:
После создания объекта IXAudio2SourceVoice конструктор SawtoothOscillator1 заполняет буфер данными одного цикла пилообразного волнового сигнала — простой волны, амплитуда которой изменяется от –32 768 до 32 767. Этот буфер передается в IXAudio2SourceVoice с инструкциями о том, что он должен повторяться вечно.
Без дальнейшего кода вы получите генератор, постоянно воспроизводящий пилообразный волновой сигнал, имеющий частоту 441 Гц. Это прекрасно, но не особо гибко. Чтобы придать SawtoothOscillator1 чуть больше гибкости, я также включил метод SetFrequency. Он принимает аргумент — частоту, которую класс использует при вызове SetFrequencyRatio. Значение, передаваемое SetFrequencyRatio, может варьироваться от величин с плавающей точкой XAUDIO2_MIN_FREQ_RATIO (или 1/1024.0) до максимума, ранее указанного в аргументе для CreateSourceVoice. Я задал XAUDIO2_MAX_FREQ_RATIO (или 1024.0) в этом аргументе. Диапазон слышимости для человека (примерно от 20 до 20 000 Гц) полностью укладывается в границы, определенные этими двумя константами, применяемыми к базовой частоте 441 Гц.
Высокочастотные конструкции
Внутреннее сопротивление высокочастотного генератора сигналов около 50 Ом. При этом устройство способно отдавать большую мощность. У высокочастотных конструкций полоса пропускания составляет около 2 ГГц. В схеме применяются постоянные конденсаторы емкостью свыше 7 пФ. Это позволяет поддерживать максимальный ток в цепи до 3 А. Искажения на уровне 1 %.
В высокочастотных генераторах применяются только операционные усилители. В начале и конце цепи монтируются ограничители сигналов. Для работы используются микроконтроллеры из серии РРК211 и шестиканальный селектор. При помощи регуляторов можно установить частоту выходного сигнала – минимальное значение 90 Гц.