comm.FMBroadcastDemodulator

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

Описание

The comm.FMBroadcastDemodulator Система object™ демодулирует комплексный сигнал FM основной полосы частот и фильтрует сигнал с помощью фильтра деления акцента, чтобы получить аудиосигнал. Если на 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

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

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

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, частота дискретизации каждого бита составляет 1187,5 Гц.

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

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

RBDSCostasLoop

Опция восстановления фазы сигнала RDS/RBDS

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

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

Значение по умолчанию false.

Методы

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

Разрешить изменение значения свойства системного объекта

reset

Сброс внутренних состояний Системного объекта

При использовании resetэтот метод сбрасывает оконный суффикс из последнего символа в ранее обработанном системе координат.

Примеры

свернуть все

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

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

Создайте средство чтения аудиофайлов System 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 Broadcast включает в себя функциональность демодулятора FM основной полосы частот, фильтрацию без акцента и способность принимать стереофонические сигналы. Алгоритмы, которые управляют основной FM-модуляцией и демодуляцией, описаны в comm.FMDemodulator.

Фильтрация

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

Фильтр предварительного акцента имеет передаточную функцию с высокой характеристикой, заданную как

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

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

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

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

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

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-dB частотой отключения 15 кГц. Полосовой фильтр 19 кГц извлекает тональный сигнал пилот-сигнала из модулированного сигнала. Восстановленный тон пилот-сигнала удваивается и утрояется по частоте, чтобы получить сигналы 38 кГц и 57 кГц, которые демодулируют сигналы (L - R) и RDS/RBDS, соответственно. Чтобы сгенерировать масштабированную версию левого и правого каналов, которые производят стерео-звук, сигналы (L + R) и (L - R) складываются и вычитаются. Сигнал RDS/RBDS восстанавливается путем смешивания с сигналом 57 кГц.

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

Ограничения

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

Ссылки

[1] Chakrabarti, I. H. and Hatai, I. «A New High-Performance Digital FM Modulator and Demodulator for Программно Определяемое Радио and Its FPGA Implementation». International Journal of Reconfigurable Computing. Том 2011, № 10.1155/2011, 2011, стр. 10.

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

[3] Дер, Лоуренс. «Учебное руководство по частотной модуляции (FM)». FM Tutorial. Silicon Laboratories Inc., стр. 4-8.

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

.
Введенный в R2015a