коммуникация. 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 = dsp.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 в Соединенных Штатах. Точно так же передаточной функцией для lowpass фильтра de-акцента дают

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)]+C1потому что(2π×19kHz×t)+C0[L(t)R(t)]потому что(2π×38kHz×t)+C2RBDS(t)потому что(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

Для просмотра документации необходимо авторизоваться на сайте