Я использую MATLAB для работы с некоторыми спектрограммами.Я новичок в такого рода вещах и прихожу больше из фона CS, чем из фона сигналов, поэтому я не уверен, что мне здесь не хватает, хотя это может оказаться довольно простым.
Я пытаюсь вычислить спектральную разницу, которую я концептуально почти уверен, что понимаю.У меня есть сигнал, я могу сделать SFT на нем с помощью функции спектрограммы MATLAB ().Затем я пытаюсь выполнить циклограмму спектрограммы для всего сигнала и в каждой точке выборки вычислить разницу с предыдущей точкой, выполнив циклическое переключение мощностей на каждой частоте и вычитая.Я думал, что у меня нет концепции, но когда я пытаюсь запустить ее, я понимаю, что точки, возвращаемые, когда я пишу «MySpectrogram (n, k)»), являются комплексными числами или, по крайней мере, выглядят так.Они сформированы так, что первая часть числа является отрицательной, а затем после нее, например, есть коэффициент + I (-.07 + 0,0061i).Я пытался согласовать эти результаты.После возведения в квадрат их, они все еще появляются как сложные числа.Теперь я полностью потерян.Может кто-нибудь объяснить, что происходит?
Я звоню s = спектрограмма (x, окно, noverlap, nfft).