Отвечаю по порядку:
1. файл step1_fm.m может работать с обоими форматами cfile (IQ в виде int16) и bin (запись с RTL-SDR IQ в виде 'unsigned char'). Все определяется выбором настройки settings, но есть ошибка при работе с RTL-SDR - надо использовать такой вариант чтения bin-файла:
....
% Чтение данных для из файла записи
St = double(fread(fid, count, 'unsigned char')')-127;
fclose (fid);
% Если записанный сигнал - комплексный, то формируется
% представление комплексного сигнала в алгебраической форме
if (settings.fileType == 2)
data1 = St(1:2:end); % отсчеты реальной составляющей
data2 = St(2:2:end); % отсчеты мнимой составляющей
St = data1 + i .* data2; % комплексный сигнал
end;
2. В программе step1_fm.m в правильном месте уже стоит фильтр, только с несколько большей полосой - у него в свое время иные были задачи.
3. Насчет функции воспроизведения подсказать не могу - здесь возможны разные варианты. Один из них - Ваша реализация. По всей видимости, проблема с воспроизведением связана с ошибкой, указанной в п.1.
Рабочими/нерабочими программами обмениваемся через тематическую группу или посредством вложения на форуме.