exponenta event banner

коммуникация. FMBroadcastDemodulator

Демодулировать широковещательный ЧМ-сигнал

Описание

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

Для демодуляции комплексного ЧМ-сигнала основной полосы частот:

  1. Определение и настройка comm.FMBroadcastDemodulator объект. См. раздел Строительство.

  2. Звонить step демодулировать комплексный ЧМ-сигнал основной полосы в соответствии со свойствами comm.FMBroadcastDemodulator.

Примечание

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

Строительство

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

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

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

Свойства

SampleRate

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

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

FrequencyDeviation

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

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

FilterTimeConstant

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

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

AudioSampleRate

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

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

PlaySound

Флажок для включения или отключения воспроизведения звука

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

BufferSize

Размер буфера аудиоустройства

Укажите размер буфера (в выборках), используемого объектом для связи с аудиоустройством, как положительное скалярное целое число. Значение по умолчанию: 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

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

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

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

Методы

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

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

reset

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

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

Примеры

свернуть все

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

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

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

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

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

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

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

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. Добавить добавочный белый гауссов шум. ЧМ демодулируют звуковые сигналы и сигналы 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

Алгоритмы

Демодулятор ЧМ-вещания включает в себя функциональные возможности демодулятора ЧМ основной полосы частот, фильтрацию снятия акцента и возможность приема стереофонических сигналов. Алгоритмы, которые управляют базовой ЧМ модуляцией и демодуляцией, описаны в comm.FMDemodulator.

Фильтрация

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

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

Hp (f) = 1 + j2.dfü s,

где λ s - постоянная времени фильтра. Постоянная времени составляет 50 мкс в Европе и 75 мкс в США. Аналогично, передаточная функция для фильтра снятия акцента нижних частот задается

Hd (f) = 11 + j2āfü s.

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

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

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

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

m (t) задается

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

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

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

Ниже приведена блок-схема демодулятора ЧМ-вещания.

Ограничения

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

Ссылки

[1] Чакрабарти, И. Х., и Хатай, И. «Новый высокопроизводительный цифровой ЧМ-модулятор и демодулятор для программно-определяемого радио и его реализации FPGA». Международный журнал реконфигурируемых вычислений. т. 2011, № 10.1155/2011, 2011, с. 10.

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

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

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

.
Представлен в R2015a