comm.FMModulator

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

Описание

The 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. Name должен находиться внутри одинарных кавычек. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

FrequencyDeviation

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

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

SampleRate

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

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

Методы

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

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

reset

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

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

Примеры

свернуть все

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

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

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);

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

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

FM модулирует входной сигнал и строит график его действительной части. Можно увидеть, что частота модулируемого сигнала изменяется с амплитудой входного сигнала.

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

Figure contains an axes. The axes contains 2 objects of type line.

Примените 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)])

Figure contains an axes. The axes contains 2 objects of type line.

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

z = fmdemod(y);

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

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

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Input Signal, Demod Signal.

Избранная библиография

[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.

Алгоритмы

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

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

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

Сигнал FM основной полосы может быть выведен из представления полосы пропускания путем преобразования его вниз путем 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τ].

Удаление компонента в -2 fc из 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.

Сигнал <reservedrangesplaceholder3> - приблизительная производная ϕn, такого что <reservedrangesplaceholder1> ≈ <reservedrangesplaceholder0>.

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

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