comm.FMBroadcastDemodulator

Демодулируйте сигнал FM радиовещания

Описание

comm.FMBroadcastDemodulator Система object™ демодулирует комплексный основополосный сигнал FM и фильтрует сигнал с фильтром de-акцента, чтобы произвести звуковой сигнал. Если Stereo свойство установлено в true, объект выполняет декодирование стерео. Если RBDS свойство установлено в true, объект также демодулирует RDS/RBDS сигнал. Для получения дополнительной информации см. Алгоритмы.

Демодулировать комплексный основополосный сигнал FM:

  1. Задайте и настройте comm.FMBroadcastDemodulator объект. Смотрите Конструкцию.

  2. Вызовите step чтобы демодулировать комплексный основополосный FM сигнализируют согласно свойствам comm.FMBroadcastDemodulator.

Примечание

Запуск в R2016b, вместо того, чтобы использовать step метод, чтобы выполнить операцию, заданную Системным объектом, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполните эквивалентные операции.

Конструкция

fmbDemod = comm.FMBroadcastDemodulator создает Системный объект демодулятора, fmbDemod, та частота демодулирует входной сигнал.

fmbDemod = comm.FMBroadcastDemodulator(Name,Value) создает объект демодулятора FM, fmbDemod, с каждым заданным свойством Name установите на заданный Value. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

fmbDemod = comm.FMBroadcastDemodulator(MOD) создает объект демодулятора FM, fmbDemod, чьи свойства определяются соответствующим объектом модулятора FM, MOD.

Свойства

SampleRate

Частота дискретизации (Гц) входного сигнала

Задайте частоту дискретизации входного сигнала в Гц как положительный действительный скаляр. Значением по умолчанию является 240e3. Это свойство является ненастраиваемым.

FrequencyDeviation

Пиковое отклонение частоты выходного сигнала (Гц)

Задайте отклонение частоты демодулятора FM в Гц как положительный действительный скаляр. Значением по умолчанию является 75e3. Системная пропускная способность равна дважды сумме отклонения частоты и пропускной способности сообщения. Стандарты телерадиовещания FM задают значение 75 кГц в Соединенных Штатах и 50 кГц в Европе. Это свойство является ненастраиваемым.

FilterTimeConstant

Постоянная времени фильтра (фильтров) de-акцента

Задайте de-акцент постоянная времени фильтра lowpass как положительный действительный скаляр. Значением по умолчанию является 7.5e-05. Стандарты телерадиовещания FM задают значение 75 μs в Соединенных Штатах и 50 μs в Европе. Это свойство является ненастраиваемым.

AudioSampleRate

Частота дискретизации звука выходного сигнала (Гц)

Задайте выходную частоту дискретизации звука как положительный действительный скаляр. Значением по умолчанию является 48000. Это свойство является ненастраиваемым.

PlaySound

Отметьте, чтобы включить или отключить воспроизведение звука

Чтобы воспроизвести выходной сигнал на аудио устройстве по умолчанию, установите это свойство на true. Значением по умолчанию является false. Это свойство является ненастраиваемым.

BufferSize

Buffer size аудио устройства

Задайте размер буфера (в выборках) что объектное использование, чтобы связаться с аудио устройством как положительное скалярное целое число. Значением по умолчанию является 4096. Это свойство доступно только когда PlaySound true. Это свойство является ненастраиваемым.

Stereo

Отметьте, чтобы включить или отключить аудио стерео

Установите это свойство на true демодулировать стереофонический звуковой сигнал. Установите на false если входной сигнал является монофоническим. Значением по умолчанию является false. Это свойство является ненастраиваемым.

RBDS

Отметьте, чтобы демодулировать RDS/RBDS сигнал

Если RBDS установлен в true, второй выход step метод является основополосным RDS/RBDS сигналом. Значением по умолчанию является false. Это свойство является ненастраиваемым.

RBDSSamplesPerSymbol

Сверхдискретизация фактора RDS/RBDS выход

Задайте количество выборок RDS/RBDS выход как положительное целое число. Частота дискретизации RDS/RBDS дана RBDSSamplesPerSymbol × 1187.5 Гц. Согласно стандарту RDS/RBDS, частота дискретизации каждого бита составляет 1 187,5 Гц.

Это свойство применяется только, когда вы устанавливаете RBDS к true.

Значение по умолчанию равняется 10.

RBDSCostasLoop

Опция, чтобы восстановить фазу сигнала RDS/RBDS

Задайте, используется ли Схема Костаса, чтобы восстановить фазу сигнала RDS/RBDS. Установите эту опцию на true для радиостанций, которые не блокируют 57 kHz RDS/RBDS сигнализируют в фазе с третьей гармоникой 19 пилот kHz тон.

Это свойство применяется только, когда вы устанавливаете RBDS к true.

Значением по умолчанию является false.

Методы

информацияОтфильтруйте информацию о широковещательном демодуляторе FM
сбросСбросьте состояния широковещательного объекта демодулятора FM
шагПримените широковещательную демодуляцию FM
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

свернуть все

Модулируйте и демодулируйте сигнал передачи потокового аудио с широковещательным модулятором FM и объектами демодулятора. Проигрывайте звуковой сигнал с помощью аудио устройства по умолчанию.

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным step синтаксис. Например, myObject (x) становится шагом (myObject, x).

Создайте Систему читателя звукового файла object™ и считайте файл guitartune.wav.

audio = dsp.AudioFileReader('guitartune.wav','SamplesPerFrame',4410);

Создайте широковещательный модулятор FM и объекты демодулятора. Установите AudioSampleRate свойство совпадать с частотой дискретизации входного сигнала. Установите SampleRate свойство демодулятора совпадать с заданной частотой дискретизации модулятора. Установите PlaySound свойство демодулятора к true включить воспроизведение звука.

fmbMod = comm.FMBroadcastModulator('AudioSampleRate',audio.SampleRate, ...
    'SampleRate',240e3);
fmbDemod = comm.FMBroadcastDemodulator( ...
    'AudioSampleRate',audio.SampleRate, ...
    'SampleRate',240e3,'PlaySound',true);

Считайте аудиоданные в системах координат длины 4410, примените широковещательную модуляцию FM, демодулируйте FM, сигнализируют и воспроизводят аудиовход.

while ~isDone(audio)
    audioData = audio();
    modData = fmbMod(audioData);
    demodData = fmbDemod(modData);
end

Сгенерируйте основную форму волны RBDS, FM модулируют его со звуковым сигналом, и затем демодулируют его.

Примечание: Этот пример запускается только в R2017a или позже.

Создайте форму волны RBDS с 19 группами на систему координат и 10 выборками на символ. Частота дискретизации формы волны RBDS дана 1187.5 x 10. Установите частоту дискретизации звука на 1187.5 x 40.

groupLen = 104;
sps = 10;
groupsPerFrame = 19;
rbdsFrameLen = groupLen*sps*groupsPerFrame;
afrRate = 40*1187.5;
rbdsRate = 1187.5*sps;
outRate = 4*57000;

afr = dsp.AudioFileReader('rbds_capture_47500.wav','SamplesPerFrame',rbdsFrameLen*afrRate/rbdsRate);
rbds = comm.RBDSWaveformGenerator('GroupsPerFrame',groupsPerFrame,'SamplesPerSymbol',sps);

fmMod = comm.FMBroadcastModulator('AudioSampleRate',afr.SampleRate,'SampleRate',outRate,...
    'Stereo',true,'RBDS',true,'RBDSSamplesPerSymbol',sps);
fmDemod = comm.FMBroadcastDemodulator('SampleRate',outRate,...
    'Stereo',true,'RBDS',true,'PlaySound',true);
scope = timescope('SampleRate',outRate,'YLimits',10^-2*[-1 1]);

Получите текущий аудиовход. Сгенерируйте информацию RBDS на том же сконфигурированном уровне как аудио. FM модулирует аудио стерео с информацией RBDS. Добавьте аддитивный белый Гауссов шум. FM демодулирует аудио и формы волны RBDS. Просмотрите формы волны в осциллографе времени.

for idx = 1:7
    input = afr();
    rbdsWave = rbds();
    yFM = fmMod([input input], rbdsWave);
    rcv = awgn(yFM, 40);
    [audioRcv, rbdsRcv] = fmDemod(rcv);
    scope(rbdsRcv);
end

Алгоритмы

Широковещательный демодулятор FM включает функциональность основополосного демодулятора FM, фильтрации de-акцента и способности получить стереофонические сигналы. Алгоритмы, которые управляют основной модуляцией FM и демодуляцией, покрыты comm.FMDemodulator.

Фильтрация

FM усиливает высокочастотный шум и ухудшает полное отношение сигнал-шум. Чтобы компенсировать, вещательные компании FM вставляют фильтр перед акцентом до модуляции FM, чтобы усилить высокочастотное содержимое. Приемник FM имеет взаимный фильтр de-акцента после демодулятора FM, чтобы ослабить высокочастотный шум и восстановить плоский спектр сигнала.

Фильтр перед акцентом имеет highpass характеристическую передаточную функцию, данную

Hp(f)=1+j2πfτs,

где τs является постоянной времени фильтра. Постоянная времени является 50 μs в Европе и 75 μs в Соединенных Штатах. Точно так же передаточной функцией для фильтра de-акцента lowpass дают

Hd(f)=11+j2πfτs.

Для частоты дискретизации звука 44,1 кГц фильтр de-акцента имеет следующий ответ.

Стерео и FM RDS/RBDS — Мультиплексный Сигнал

FM широковещательно передал поддержки демодулятора стереофонические и монофонические операции. Поддерживать передачу стерео, левое (L) и право (R) информация о канале (L+R) присвоено моно фрагменту спектра (от 0 до 15 кГц). Информацией (L-R) является амплитуда, модулируемая на область на 23 - 53 кГц основополосного спектра с помощью сигнала поднесущей на 38 кГц. Экспериментальный тон на уровне 19 кГц в мультиплексированном сигнале позволяет приемнику FM когерентно демодулировать сигналы RDS/RBDS и стерео.

Вот спектр мультиплексного сгенерированного модулированного сигнала, m(t).

m(t) дают

m(t)=C0[L(t)+R(t)]+C1cos(2π×19kHz×t)+C0[L(t)R(t)]cos(2π×38kHz×t)+C2RBDS(t)cos(2π×57kHz×t),

где C0, C1 и C2 являются усилениями. Чтобы сгенерировать соответствующий уровень модуляции, эти усиления масштабируют амплитуды (L(t) ±R(t)) сигналы, экспериментальный тон на 19 кГц и поднесущая RDS/RBDS, соответственно.

Демодулятор применяет m(t) к трем полосовым фильтрам с центральными частотами в 19, 38, и 57 кГц, и к фильтру lowpass с частотой среза на 3 дБ 15 кГц. Полосовой фильтр на 19 кГц извлекает экспериментальный тон из модулируемого сигнала. Восстановленный экспериментальный тон удвоен и утроен в частоте, чтобы произвести сигналы на 57 кГц и на 38 кГц, которые демодулируют (LR) и сигналы RDS/RBDS, соответственно. Чтобы сгенерировать масштабированную версию левых и правых каналов, которые производят звук стерео, (L + R) и (LR), сигналы добавлены и вычтены. Сигнал RDS/RBDS восстанавливается путем смешивания с сигналом на 57 кГц.

Вот блок-схема широковещательного демодулятора FM.

Ограничения

Входная длина должна быть целочисленным кратным AudioDecimationFactor свойство. Если RBDS установлен в true, входная длина, кроме того, должна быть целочисленным кратным RBDSDecimationFactor. Для получения дополнительной информации об этих двух свойствах смотрите info метод.

Ссылки

[1] Chakrabarti, я. H. и Hatai, я. “Новый Высокоэффективный Цифровой Модулятор FM и Демодулятор для Программно определяемого Радио и Его Реализации FPGA”. Международный журнал Реконфигурируемого Вычисления. Издание 2011, № 10.1155/2011, 2011, p. 10.

[2] Taub, Герберт и Дональд Л. Шиллинг. Принципы Систем связи. Нью-Йорк: McGraw-Hill, 1971, стр 142–155.

[3] Der, Лоуренс. “Пример по Частотной модуляции (FM)”. Пример FM. Silicon Laboratories Inc., стр 4–8.

Расширенные возможности

Представленный в R2015a