comm.FMModulator

Модулируйте с использованием FM метода

Описание

FMModulator Система object™ применяет модуляцию FM к входному сигналу.

К FM модулируют сигнал:

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

  2. Вызовите step применять модуляцию FM к сигналу согласно свойствам comm.FMModulator. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

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

Конструкция

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

H = comm.FMModulator(demod) создает объект модулятора FM, свойства которого определяются соответствующим объектом демодулятора FM, demod.

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

Свойства

FrequencyDeviation

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

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

SampleRate

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

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

Методы

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

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

Примеры

свернуть все

Примените полосовую модуляцию к входному сигналу синусоиды и постройте его ответ.

Установите параметры в качестве примера.

fs = 1e3;              % Sample rate (Hz)
ts = 1/fs;             % Sample period (s)
fd = 50;               % Frequency deviation (Hz)

Создайте синусоидальный входной сигнал с длительностью 0,5 с и частота 4 Гц.

t = (0:ts:0.5-ts)';
x = sin(2*pi*4*t);

Создайте Систему модулятора FM object™.

MOD = comm.FMModulator('SampleRate',fs,'FrequencyDeviation',fd);

FM модулирует входной сигнал и строит его действительную часть. Вы видите, что частота модулируемого сигнала изменяется с амплитудой входного сигнала.

y = step(MOD,x);
plot(t,[x real(y)])

Примените полосовую модуляцию FM к источнику белого Гауссова шума и постройте его спектр.

Установите параметры в качестве примера.

fs = 1e3;              % Sample rate (Hz)
ts = 1/fs;             % Sample period (s)
fd = 10;               % Frequency deviation (Hz)

Создайте источник белого Гауссова шума, имеющий длительность 5 с.

t = (0:ts:5-ts)';
x = wgn(length(t),1,0);

Создать Системный объект модулятора FM? и модулируйте входной сигнал.

MOD1 = comm.FMModulator('SampleRate',fs,'FrequencyDeviation',fd);
y = step(MOD1,x);

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

MOD2 = comm.FMModulator('SampleRate',fs,'FrequencyDeviation',5*fd);
z = step(MOD2,x);

Постройте спектры двух модулируемых сигналов. Большее отклонение частоты сопоставило с каналом 2 результата на уровне шума, который на 10 дБ выше.

SA = dsp.SpectrumAnalyzer('SampleRate',fs,'ShowLegend',true);
step(SA,[y z])

Модулируйте и демодулируйте синусоидальный сигнал. Постройте демодулируемый сигнал и сравните его с исходным сигналом.

Установите параметры в качестве примера.

fs = 100; % Sample rate (Hz)
ts = 1/fs; % Sample period (s)
fd = 25; % Frequency deviation (Hz)

Создайте синусоидальный входной сигнал с длительностью 0,5 с и частота 4 Гц.

t = (0:ts:0.5-ts)';
x = sin(2*pi*4*t);

Создайте модулятор FM и Системные объекты демодулятора.

fmmod = comm.FMModulator('SampleRate',fs,'FrequencyDeviation',fd);
fmdemod = comm.FMDemodulator('SampleRate',fs,'FrequencyDeviation',fd);

FM модулирует входной сигнал и строит его действительную часть. Вы видите, что частота модулируемого сигнала изменяется с амплитудой входного сигнала.

y = fmmod(x);
plot(t,[x real(y)])

Демодулируйте FM модулируемый сигнал.

z = fmdemod(y);

Постройте вход и демодулируемые сигналы. Выходной сигнал демодулятора точно выравнивается с входным сигналом.

plot(t,x,'r',t,z,'ks')
legend('Input Signal','Demod Signal')
xlabel('Time (s)')
ylabel('Amplitude')

Выбранная библиография

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

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

Алгоритмы

Представляйте модулируемый сигнал полосы пропускания частоты, Y(t), как

Y(t)=Acos(2πfct+2πfΔ0tx(τ)dτ),

где A является амплитудой поставщика услуг, fc является несущей частотой, x(τ) является входным сигналом основной полосы, и является отклонением частоты в Гц. Отклонение частоты является максимальным сдвигом от fc в одном направлении, принимая |x(t) | ≤ 1.

Основополосный сигнал FM может быть выведен из представления полосы пропускания downconverting это fc, таким образом что

ys(t)=Y(t)ej2πfct=A2[ej(2πfct+2πfΔ0tx(τ)dτ)+ej(2πfct+2πfΔ0tx(τ)dτ)]ej2πfct=A2[ej2πfΔ0tx(τ)dτ+ej4πfctj2πfΔ0tx(τ)dτ].

Удаление компонента в-2fc от ys(t) оставляет представление сгенерированного модулированного сигнала, y(t), который описывается как

y(t)=A2ej2πfΔ0tx(τ)dτ.

Выражение для y(t) переписано как

y(t)=A2ejϕ(t),

где ϕ(t)=2πfΔ0tx(τ)dτ, который подразумевает, что входной сигнал является масштабированной версией производной фазы, ϕ(t).

Основополосный демодулятор задержки используется, чтобы восстановить входной сигнал с y(t).

Задержанная и спрягаемая копия полученного сигнала вычтена из самого сигнала,

w(t)=A24ejϕ(t)ejϕ(tT)=A24ej[ϕ(t)ϕ(tT)],

где T является периодом расчета. В дискретных терминах, wn =w(nT), и

wn=A24ej[ϕnϕn1],vn=ϕnϕn1.

vn сигнала является аппроксимативной производной ϕn, такого что vnxn.

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

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