Генератор аудиосигналов в Matlab
Всем здравствуйте, стоит задача сделать генератор сигналов в 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) на любое другое, амплитуда реального аудиосигнала никак не изменяется, она зависит только от громкости, которая стоит на ноутбуке. И вот вопрос, как можно узнать, в чем измеряется амплитуда сигнала в матлабе, и как можно изменяя параметр амплитуды в коде, изменять амплитуду реального аудиосигнала? Заранее спасибо)
Ответы
Амплитулда в матлабе точно ни в чем не измеряется, это просто число. Число начинает иметь единицу измерения, только непосредственно в применении к какому-либо физическому (хим., эконом., . . . ) процессу.
Первая же строчка из хелпа отвечает на ваш вопрос!
Описание пример soundsc(y) масштабирует значения звукового сигнала y помещаться в диапазон от –1.0 до 1,0, и затем отправляет данные динамику на уровне частоты дискретизации по умолчанию 8 192 герц. Первым масштабированием данных, soundsc проигрывает аудио максимально громко без усечения. Среднее значение динамического диапазона данных обнуляется.
Понял, буду разбираться, спасибо