• Регистрация
donteska
donteska 0.00
н/д

Генератор аудиосигналов в Matlab

16.01.2023
Всем здравствуйте, стоит задача сделать генератор сигналов в Matlab, который формирует сигнал и выводит его через звуковую карту. Есть вот такой код Tm = 5;% Длина сигнала (с)Fd = 22050;% Частота диск...

Всем здравствуйте, стоит задача сделать генератор сигналов в Matlab, который формирует сигнал и выводит его через звуковую карту. Есть вот такой код

Tm = 5;% Длина сигнала (с)
Fd = 22050;% Частота дискретизации (Гц)
F = 50; % Частота сети (Гц)
T = 0:1/Fd:Tm; % Массив отсчетов времени
SIN1=5*sin(F*2*pi.*T+90); % Сигнал
plot(T, SIN1)
xlim([0 0.04]) ;
soundsc(SIN1,Fd);

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

Теги

    16.01.2023

    Комментарии

    • aBoomest
      aBoomest+942.89
      16.01.2023 11:47

      Амплитулда в матлабе точно ни в чем не измеряется, это просто число. Число начинает иметь единицу измерения, только непосредственно в применении к какому-либо физическому (хим., эконом., . . . ) процессу.

      Первая же строчка из хелпа отвечает на ваш вопрос!

      Описание пример soundsc(y) масштабирует значения звукового сигнала y помещаться в диапазон от –1.0 до 1,0, и затем отправляет данные динамику на уровне частоты дискретизации по умолчанию 8 192 герц. Первым масштабированием данных, soundsc проигрывает аудио максимально громко без усечения. Среднее значение динамического диапазона данных обнуляется.

      • donteska
        donteska0.00
        16.01.2023 12:43

        Понял, буду разбираться, спасибо

        • Н/Д
          Н/Д0.00
          17.01.2023 07:28

          Здесь тоже получается расхождение в термино-ЛОГИИ, то есть именно в ФОРМУЛировке "задачи"! Аудиосигнал - это проще говоря какой-то ЗВУК, издаваемый (генерируемый?) конкретным инструментом, наример струной! В чём отличие одного звука от друго звука и чем эта РАЗНИЦА измеряется в музыке?! Композиторы и музыканты легко различают такую "частоту аудио сигналов" без всяких осцилографов и синусоид (на слух)!

          А как они эти сигналы ЗАПИСЫВАЮТ "на бумажном носителе"?! НОТАМИ на 5 горизонтальных линиях! Каждая определённая нота (звук определённой частоты) имеет СВОЁ точное МЕСТО и обозначается ГРАФИЧЕСКИ отдельным "кружочком с хвостиком"... При этом КОЛИЧЕСТВО основных нот в каждой гамме (группе звуков) всего СЕМЬ: -до-ре-ми-фа-соль-ля-си, а следующая нота попадает уже в следующую ОКТАВУ, то есть ВОСЬМАЯ нота звучит "в унисон" (совпадает по модулю?) с ПЕРВОЙ нотой в следующем "числовом ряду". Поэтому такой интервал и называется ОКТАВОЙ - как бы расстоянием напрямую (1D) между "одинаковыми"  нотами ДО и до.

          Между основными нотами (как между белыми клавишами на пианине) есть ещё дополнительные ноты (диезы и бемоли), но они расположены НЕравномерно, а в определённом ПОРЯДКЕ, который  соответствует какому-то ЧИСЛОВОМУ соотношению, которое можно перевести "в цифровую последовательность"!  И вот оказывается, что такая последовательность ТОЧНО СООТВЕТСТВУЕТ "числу ПИ" и формуле Коллатца 3х+1. Это было определено и неоднократно ДОКАЗАНО графически (топо-ЛОГИЧЕСКИ) на математическом форуме MATH10соm - группой "самозанятых" любителей математики, графики и музыки!  

          Суть этих доказательст в том, что надо было РАЗВЕРНУТЬ "замкнутую синусоиду" из 22 полутонов (3х7 +1)  и выпрямить её вдоль числовой  оси для сравнения "по модулю = 7" с коэффициентом "ПИ" = 22/7... Но при переводе этого СО-отношения в десятичную дробь у нас получается ЦИКЛИЧЕСКОЕ число = 0,142857 142857 142857 142857 142857 142857 142857 142857 142857 142857 142857 ... ... ..., а в деци-метрической системе счисления это число получается "трансцендентным"...

          ДЕСЯТКИ на 7 без остатка ДЕЛЯТСЯ, только если составлены из семёрок: 10 х 7 = 7 х10, но при этом десятки не делятся на тройки, а последовательность 13/4 ...15/5...19/6... 22/7... 25/8... 28/9... 31/10...34/11... 37/12 ... ... ... является ЦИКЛИЧНОЙ и бесконечной - как по формуле Коллатца, так и по аккустическим параметрам от УЛЬТРА-звуков до ИНФРА-частиц (полутонов в музыкальной гамме)! Громкость звука, регулируемая МОЩНОСТЬЮ генератора при этом тоже НЕ ИМЕЕТ ЗНАЧЕНИЯ, а некоторые "продвинутые" музыканты предлагают назвать такие модули (полутоны) Pi-musonami - по аналогии с "пионами" в Физике... 

          Более подробно эти соотношения длины Окружности (октавы) к сумме радиусов (полутонов) ГРАФИЧЕСКИ представлены на этом форуме в отдельной публикации "про число ПИ"... 

           

        • Н/Д
          Н/Д0.00
          17.01.2023 08:41

          Для того чтобы "цифровизировать" музыку НАДО ЗНАТЬ основы музыкальной грамоты и СО-отношение частоты соседних звуков (интервалов) с целой ОКТАВОЙ, то есть "гармонию звукоряда" из ДВУХ октав (22 полутонов) и 7 основных нот (3х2+1).

          Соотношение (по формуле Коллатца) совпадает с "числом Архимеда" = 22/7 = (3х7 + 1) : (3х2 + 1).  Но НЕ ВСЕГДА совпадает с дециметрической шкалой на числовой оси "Х"... Графически это тоже отображается в ЦЕЛЫХ единицах (модулях) - в виде единичного радиуса малых окружностей d = 2r, при D = 7 d ... 

          "И да поможет нам Википедия!"  

          https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D1%82%D1%83%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%B7%D0%B2%D1%83%D0%BA%D0%BE%D1%80%D1%8F%D0%B4 

          • jacobjones
            jacobjones0.00
            10.02.2023 04:48

            The amplitude of the signal in Matlab is given in the same units as the amplitude parameter (in this case, 5). The actual amplitude of the signal that is output through the sound card will depend on the specific sound card and the output volume that is set on the device. To change the amplitude of the real audio signal, you will need to adjust the output volume on your device or use an amplifier or some other device that can control the output level of the sound card. To determine the actual amplitude of the signal being output, you would need to measure it using an oscilloscope or other type of test equipment.

             

            Henry | drywall installation

            • caliweb
              caliweb0.00
              20.02.2023 18:42

              You make so many great points here that I read your article a couple of times. Your views are in accordance with my own for the most part. landscaperssaskatoon.com/