Есть файл формата .wav, в нем записан спектр 2мГц с различными модуляциями. Как из этого спектра достать интересующую полосу для дальнейшей демодуляции? Для решения этой задачи я выбрал среду MATLAB , но она отказывается нормально выводить данные. Сам файл делался через программу SDR#
Спасибо, что откликнулись. Уже неделю не могу решить эту задачу. Суть в том, что я открываю wav файл , в котором помимо интересующего меня сигнала, присутствует еще и побочные. Сперва мне необходимо отфильтровать, пользуюсь обычным полосовым фильтром, а дальше начинаются проблемы. Для BPSK демодулятора необходим комплексный сигнал и откуда его взять, я не совсем понимаю.
во временной области, то просто вместо мнимой части добавьте нули. Если же должна быть частотная область, то к сигналу из wav файла примените БПФ - получите комплексный сигнал в частотной области.
res2001, еще раз спасибо, но теперь он ругается на двумерный массив. Я так понимаю, что первый столбец - это синфазная составляющая, а второй - квадратурная, как теперь матлабу сказать об этом?
pionerizm, Видимо в wav файле несколько каналов, в этом случае audioread возвращает двумерный массив.
В массиве элементы должны быть разложены по фреймам, а не по каналам.
Т.е. размерности такие: y[sample count][channel count]. Чтоб делать БПФ этот массив надо транспонировать, чтоб размерности были y[channel count][sample count]. В этом случае отсчеты по каждому каналу будут сгруппированы в одной размерности. Такой массив уже можно отдавать в БПФ.
Собственно, количество каналов в файле можно узнать по второй размерности возвращаемого массива. Если канал один, то скорее всего будет одномерный массив. Так же полно и других средств, с помощью которых можно посмотреть свойства аудио файлов.