Амплитудный и фазовый спектры аудио сигнала

Форум, посвященный общим вопросам, связанным с MATLAB

Модератор: Admin

Ivan52
Пользователь
Сообщения: 33
Зарегистрирован: Ср дек 06, 2017 8:46 pm

Амплитудный и фазовый спектры аудио сигнала

Сообщение Ivan52 » Сб мар 10, 2018 10:55 pm

Здравствуйте. Необходимо построить графики амплитудного и фазового спектров wav - файла. Можно ли это сделать с помощью следующей команды:

Код: Выделить всё

T = 5;
tay=0.01;
t = 0 : tay : T;
f0=1/T;
x=wavread('C:\1.wav');
max=1/2*tay;
N=length(x);
fmax=-max:abs((2*max)/(N-1)):max;
A=fftshift(fft(x));
       
plot(fmax, abs(A)); %амплитудный спектр
plot(fmax, angle(A)); %фазовый спектр
grid on;
Последний раз редактировалось Ivan52 Вс мар 11, 2018 8:59 pm, всего редактировалось 2 раза.

sandy
Эксперт
Сообщения: 5432
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение sandy » Вт мар 13, 2018 4:13 pm

В чем вопрос-то? Результат отличается от ожидаемого?
С уважением

Александр Сергиенко

Ivan52
Пользователь
Сообщения: 33
Зарегистрирован: Ср дек 06, 2017 8:46 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение Ivan52 » Вт мар 13, 2018 9:03 pm

Вопрос в правильности или неправильности кода для решения обозначенной задачи.

sandy
Эксперт
Сообщения: 5432
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение sandy » Ср мар 14, 2018 9:24 pm

Все зависит от того, что именно вы подразумеваете под спектром.

P.S. Частотная ось в любом случае слегка неправильная - при расчете шага в знаменателе должно быть N, а не N-1, и до +max она слегка не доходит. И еще: давать переменной имя max - это плохая идея.
С уважением



Александр Сергиенко

Ivan52
Пользователь
Сообщения: 33
Зарегистрирован: Ср дек 06, 2017 8:46 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение Ivan52 » Ср мар 14, 2018 9:26 pm

Такой вариант будет верным?

Код: Выделить всё

[x,fs]=wavread('C:\1.wav');
FftS=abs(fft(x,fs));% Амплитуды преобразования Фурье сигнала
FftS=2*FftS./fs;% Нормировка спектра по амплитуде
F=0:1:fs/2-1/fs;% Массив частот вычисляемого спектра Фурье
figure;
plot(F,FftS(1:length(F)));% Построение спектра Фурье сигнала
grid on;

Амплитудный спектр - набор амплитуд всех гармоник, который обычно представляют диаграммой в виде набора вертикальных линий, длины которых пропорциональны амплитудным значениям гармонических составляющих, а место на горизонтальной оси определяется частотой (номером гармоники) данной составляющей.

Фазовый спектр – совокупность начальных фаз всех гармоник.

sandy
Эксперт
Сообщения: 5432
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение sandy » Пт мар 16, 2018 12:41 am

Амплитудный спектр - набор амплитуд всех гармоник

Слово "гармоника" имеет смысл только применительно к периодическому сигналу.
который обычно представляют диаграммой в виде набора вертикальных линий

Только если спектр имеет дискретный характер.
С уважением



Александр Сергиенко

Ivan52
Пользователь
Сообщения: 33
Зарегистрирован: Ср дек 06, 2017 8:46 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение Ivan52 » Пт мар 16, 2018 9:57 am

Поправьте тогда меня, пожалуйста, и дайте правильное определение амплитудного и фазового спектра аудио файла.

maria_kipke
Пользователь
Сообщения: 90
Зарегистрирован: Чт окт 05, 2017 4:37 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение maria_kipke » Пт мар 16, 2018 10:36 am

Слово "гармоника" имеет смысл только применительно к периодическому сигналу.

Не правильно! Смысл преобразования Фурье - разложение ЛЮБОГО сигнала на сумму простых гармонических составляющих, с той или иной точностью приближения. Амплитудный спектр Фурье, это не утверждение, что сигнал состоит из определенного набора гармонических составляющих, а предположение, что имея возможность генерировать гармонические сигналы на определенном наборе частот, можно получить похожий сигнал, если эти гармоники сложить с определенными весовыми коэфиициентами, и сообщив каждой из них определенную начальную фазу.
При дискретном преобразовании Фурье, вмесло интеграла имеем сумму, под знаком которой стоит перемножение отсчетов самого сигнала, на соответствующие отсчеты i-го гармонического сигнала. Перемножили, сложили все полученные значения для данной гармоники - получили число, и отложили его в качестве магнитуды в соответствующей точке на частотной оси. Если преобразование комплексное, то отдельно считаются результаты для косинусных гармоник, и отдельно - для синусных. Далее, в декартовых осях (cos(phi), sin(phi)) берем результат i-ой гармоники косинусной и откладываем его в качестве вектора по косинусной оси, синусный - по синусной. Достраиваем прямоугольник, и находим сумму этих векторов (диагональ). Длина этой суммы даст нам амплитудное значение гармонической составляющей (откладываем соответствующее значение на частотной оси), а угол, образованный вектором - суммой и косинусным направлением ( phi ) - есть начальная фаза i-ой гармоники в спектре анализируемого сигнала.

sandy
Эксперт
Сообщения: 5432
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение sandy » Пт мар 16, 2018 11:44 am

Не правильно! Смысл преобразования Фурье - разложение ЛЮБОГО сигнала на сумму простых гармонических составляющих

Вы смешиваете термины "гармоника" и "гармоническая составляющая", это разные вещи.
Последний раз редактировалось sandy Пт мар 16, 2018 11:56 am, всего редактировалось 1 раз.
С уважением



Александр Сергиенко

sandy
Эксперт
Сообщения: 5432
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение sandy » Пт мар 16, 2018 11:51 am

Поправьте тогда меня, пожалуйста, и дайте правильное определение амплитудного и фазового спектра аудио файла.

Я же не зря с самого начала спрашивал, что именно вы имеете в виду под словом "спектр". После чтения wav-файла вы получаете набор из конечного числа дискретных отсчетов. Для него можно вычислить как минимум следующее (да, подразумевается, что под словом "спектр" имеется в виду исключительно Фурье-спектр):
1. Преобразование Фурье в дискретном времени (DTFT), считая, что сигнал сделан бесконечным по длине путем дополнения нулями
2. Коэффициенты разложения сигнала в дискретный ряд Фурье, считая, что сигнал сделан бесконечным путем периодического продолжения
3. Оценку преобразования Фурье в непрерывном времени для того аналогового сигнала, из которого был получен хранящийся в файле дискретный сигнал
4. Оценку спектральной плотности мощности для случайного процесса, реализация которого хранится в аудиофайле
С уважением



Александр Сергиенко

maria_kipke
Пользователь
Сообщения: 90
Зарегистрирован: Чт окт 05, 2017 4:37 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение maria_kipke » Пт мар 16, 2018 12:02 pm

Я исхожу из определения: гармоника - простейшая периодическая функция вида sin(w*t+ф).

Ivan52
Пользователь
Сообщения: 33
Зарегистрирован: Ср дек 06, 2017 8:46 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение Ivan52 » Пт мар 16, 2018 8:12 pm

sandy можете дать чёткое и конкретное определение амплитудного спектра и фазового спектра, которые относятся к wav-файлу?

maria_kipke
Пользователь
Сообщения: 90
Зарегистрирован: Чт окт 05, 2017 4:37 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение maria_kipke » Пт мар 16, 2018 11:41 pm

Иван, wav файл по определению содержит дискретные отсчеты сигнала с заявленной частотой дискретизации. Она известна из заголовка файла, и это есть шаг частотной оси. Функции fft безразличны размерности, она оперирует амплитудными значениями вектора, и в любом случае вы будете иметь дело с ограниченным окном спектром, вопрос только в следующем: имеем время наблюдения сигнала T1, при этом интервал дискретизации по частоте df=1/T1. То есть, если хочется точнее, вопрос - как достигнуть. Варианта два: размножить сигнал повторяя подряд, либо считать, что он закончился, или накидать нулей в отсчеты вектора, когда по времени сигнал закончился. Если не изгаляться, то fft вернет комплексный спектр от входной последовательности (независимо от того, вещественные, или комплексные данные на входе) . abs(fft(s)) - амплитудный спектр (длина вектора описанного мною выше), angle(fft(s)) - фазовый спектр (начальные фазы гармонических составляющих). Спектр мощности, это квадрат амплитудного спектра. Вопрос один: аудио файл, как правило - это много! Может надо спектр в скользящем окне?

Ivan52
Пользователь
Сообщения: 33
Зарегистрирован: Ср дек 06, 2017 8:46 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение Ivan52 » Вс мар 18, 2018 10:37 am

Ivan52 писал(а):sandy можете дать чёткое и конкретное определение амплитудного спектра и фазового спектра, которые относятся к wav-файлу?


В настоящий момент хотелось бы узнать это.

sandy
Эксперт
Сообщения: 5432
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Амплитудный и фазовый спектры аудио сигнала

Сообщение sandy » Вс мар 18, 2018 12:13 pm

sandy можете дать чёткое и конкретное определение амплитудного спектра и фазового спектра, которые относятся к wav-файлу?

Нет, не могу. Я выше перечислил варианты, и только вы можете знать, что именно из перечисленного хотите получить. Форма амплитудного спектра в случаях 1-3, кстати, будет одинаковая, разница только в количественных значениях. Ну и в том, что в случаях 1 и 3 спектр непрерывный, а в случае 2 - дискретный. Фазовый спектр для вариантов 1-3 тоже одинаков (с поправкой на его дискретность в случае 2). Но, повторяю, что именно нужно получить, знаете только вы.
С уважением



Александр Сергиенко