• Регистрация
Lut
Lut 0.00
н/д

FMBroadcastModulator вопрос по стерео демодуляции

30.07.2021
Здравствуйте! Возник вопрос по реализации стерео модулятора/демодулятора. На базе примера из help https://www.mathworks.com/help/comm/ref/comm.fmbroadcastmodulator-system-object.html реализовал короте...

Здравствуйте! Возник вопрос по реализации стерео модулятора/демодулятора. На базе примера из help https://www.mathworks.com/help/comm/ref/comm.fmbroadcastmodulator-system-object.html реализовал коротенький скрипт:

    clear all;

    [y,Fs] = audioread('stereo_file.mp3');
%         soundsc(y, Fs)
    AirFs = 441000;
    fmbMod = comm.FMBroadcastModulator('AudioSampleRate',Fs, ...
        'SampleRate',AirFs, 'Stereo', true);
    fmbDemod = comm.FMBroadcastDemodulator( ...
        'AudioSampleRate',Fs, ...
        'SampleRate',AirFs,'PlaySound',true, 'Stereo', true);

    audioData = y(1:AirFs*2, 1:2);
    modData = fmbMod(audioData);
    demodData = fmbDemod(modData);

В результате выполнения проигрывается моно сигнал(взял запись теста стереоэффекта с поочередным появлением звука то в одном канале, то в другом). Если убрать комментарий и проиграть soundsc(y, Fs), то стереоэффект есть.

Еще информация - в исходном стереосигнале есть большая разница между сигналами R и L, после демодуляции разница между каналами на 4 порядка ниже.

Если использовать пример из хелпа, то он не репрезентативный(пример с RBDS) так как там хоть и стоит флаг stereo, но в исходном сигнале нет стереоэффекта(rbds_capture_47500.wav)

Так же пробовал повторить в симулинке - там такая же проблема.

Более того если построить спектр от моделированного сигнала, я ожидал увидеть нечто похожее на картинку из help - то есть L+R, L-R и пилот на 19кГц, я же такой картины не вижу, то есть явно есть какая-то проблема с модуляцией.

Помогите пожалуйста разобраться.

Теги

    30.07.2021

    Комментарии