#matlab #audio #signal-processing
#matlab #Аудио #обработка сигнала
Вопрос:
Я создаю сигнал ‘chirp’ в MATLAB, используя следующую команду.
Fs = 22050;
dt = 1/Fs;
tmax = 10;
t= 0:dt:tmax; % 10 second @ 22.5kHz sample rate
f0=50;f1=1000; % Start at 50Hz, go up to 1kHz
audio = chirp(t,f0,tmax,f1);
При воспроизведении аудиосигнала с помощью аудиоплеера в MATLAB я слышу периодические «щелчки».
p = audioplayer(audio, Fs);
play(p)
Это проблема с генерацией сигнала chirp или воспроизведением?
На самом деле мне не нужно, чтобы воспроизведение было идеальным, просто хочу убедиться, что chirp в порядке и в данных нет «щелчков».
Комментарии:
1. Попробуйте отобразить форму сигнала, чтобы увидеть, есть ли какие-либо разрывы?
2. Я только что запустил ваш код и получил хороший чистый сигнал. Щелчков нет. Я бы проверил, запущено ли у вас множество других процессов, которые могут создавать помехи для вывода звука, или что-то не так с вашим оборудованием.
3. Трудно увидеть разрывы, поскольку это такой длинный сигнал… Я также подозреваю HW или OS .. Я работаю на OSX 10.6 на iMac .. Я попробую с другой машиной.
4. Работает под управлением Mac OS X (10.6), Macbook Pro. Щелчков нет. Звук чистый.
Ответ №1:
Как бы то ни было, я тоже получил щелчки (около 5-6 из них, расположенные равномерно). Я использую OS X 10.6 MBP (2008) и MATLAB R1010b. Однако я думаю, что проблема связана с оборудованием (и раздражает. Я не знал, что у моей звуковой карты были проблемы), поскольку несколько других заставили ее работать чисто.
Что касается качества вашего сигнала chirp, в нем нет ничего плохого. Частотный спектр и спектрограмма получаются чистыми, и если бы щелчки были вызваны сигналом, вы бы увидели резкие пики и значительные вклады за пределами 1000 Гц.
Частотный спектр
Спектрограмма
(динамический диапазон составляет 140 дБ)
Комментарии:
1. Спасибо!! Я тоже пытался построить спектрограмму.. Но я получал некоторые странные артефакты. Я предполагаю, что это из-за того, как я построил спектрограмму.. Я построю его снова и загружу..
Ответ №2:
Я вижу потенциальные проблемы:
-
сигнал не нормализуется должным образом при воспроизведении на вашем компьютере, он обрезается с максимумом 16, который когда-либо использовался для сохранения сигнала для воспроизведения.
-
сигнал имеет некоторый резкий разрыв, который при зацикливании вызывал раздражающий щелчок. Обычно между конечным значением и первым значением сигнала.