Создание искусственных сигналов
Я попытался опубликовать это на StackExchange для обработки сигналов, но без особой пользы, так как он довольно малонаселен. Так как я использую MATLAB, я надеюсь, что кто-то здесь также может помочь.
Я пытаюсь создать образец сигнала, который имеет два "компонента". Я хочу, чтобы сигнал выглядел как верхний левый рисунок, а два компонента показаны справа. Частотно-временной спектр показан внизу слева.
По общему признанию, мои знания о сигналах не на должном уровне, но даже после нескольких часов попыток возиться с комбинациями звуковых сигналов, синхросигналов и синусоидальных функций мне не удалось воспроизвести именно то, что я имею в виду. Следующий код приходит к чему-то, что имеет небольшое сходство с тем, что я пытаюсь достичь:
fs = 5000;
x0 = 1;
t = -x0:1/fs:x0;
yi = cos(t).*sinc(t).*chirp(t,150,0.2,250,'quadratic');
yj = cos(t).*sinc(t).*chirp(t,50,0.4,150,'quadratic');
subplot(2,2,1)
plot(t,yi+yj)
subplot(2,2,2)
plot(t,yj)
subplot(2,2,3)
spectrogram(yi+yj,512,511,256,fs,'yaxis')
subplot(2,2,4)
plot(t,yi)
Это дает следующий сигнал:
Это хорошо, но все еще не удовлетворительно. Поэтому сегодня я попробовал более тщательный подход к пониманию того, как работают функции chirps и sinc / gauspuls, и я немного разбираюсь в этом, не слишком разбираясь в фонах.
Из моего понимания гаспульс имеет постоянную частоту с уменьшающейся амплитудой. Чирп имеет непрерывную частоту, которая может быть указана как частота в моменты времени t0 и t1, и интерполируется между ними. Теперь я не понимаю, почему это не очень хорошо видно на спектрограмме.
Скажем, я создаю щебет следующей формы:
fs = 1000;
scope = 10;
t = -scope:1/fs:scope;
yj = chirp(t,0.5,10,2,'quadratic');
plot(t,yj)
Я полагал, что спектрограмма показала бы гребень, который заполняет частотный спектр от 0,5 Гц до 2 Гц, но спектрограмма дает мне разрешение по оси Y до уровня выше 500 Гц:
Может кто-нибудь объяснить мне, как я могу получить более четкую спектрограмму для такого сигнала, как этот?
Кроме того, как я могу визуализировать этот эффект сужения верхнего рифа в спектрограмме, которую я разместил сверху?