comm.FMModulator

Модулируйте сигнал с помощью метода FM

Описание

comm.FMModulator Система object™ применяет основополосную частотную модуляцию к сигналу. Для получения дополнительной информации смотрите раздел Algorithms.

Модулировать сигнал с помощью метода FM:

  1. Создайте comm.FMModulator объект и набор его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

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

пример

fmmodulator = comm.FMModulator(Name,Value) свойства наборов с помощью одних или нескольких аргументов name-value. Например, 'SampleRate,400e3' задает частоту дискретизации 400 кГц.

пример

fmmodulator = comm.FMModulator(fmdemodulator) свойства наборов на основе настройки входа comm.FMDemodulator Системный объект, fmdemodulator.

Свойства

развернуть все

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release функция разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.

Частота дискретизации входного сигнала в Гц в виде положительной скалярной величины. Это свойство задает частоту дискретизации при выходе модулятора или во входе демодулятора. Частота дискретизации должна быть больше дважды отклонения частоты (то есть, SampleRate > 2×FrequencyDeviation).

Типы данных: double

Пиковое отклонение частоты выходного сигнала в Гц, заданном положительная скалярная величина. Отклонение частоты должно быть меньше половины частоты дискретизации (то есть, FrequencyDeviation <SampleRate/2).

Системной полосой пропускания является B T = 2× (FrequencyDeviation + B M), где B M является полосой пропускания сообщения в Гц. Для получения дополнительной информации смотрите раздел Algorithms.

Типы данных: double

Использование

Синтаксис

Описание

пример

outsig = fmmodulator(insig) модулирует сигнал входного сигнала и выводит основополосный сигнал FM.

Входные параметры

развернуть все

Входной сигнал в виде скаляра или вектор-столбца.

Типы данных: double | single | fi
Поддержка комплексного числа: Да

Выходные аргументы

развернуть все

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

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

развернуть все

stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
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);

Создайте Систему модулятора FM object™, установив отклонение частоты и частота дискретизации.

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

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

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

Figure contains an axes object. The axes object 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, установив отклонение частоты и частота дискретизации. Установите отклонение частоты второго объекта модулятора FM в пять раз выше, чем первый модулятор FM.

fmmod1 = comm.FMModulator( ...
    'SampleRate',fs, ...
    'FrequencyDeviation',fd);
fmmod2 = comm.FMModulator( ...
    'SampleRate',fs, ...
    'FrequencyDeviation',5*fd);

Используйте модуляторы FM, чтобы применить модуляцию FM к x сигнала.

y1 = fmmod1(x);
y2 = fmmod2(x);

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

specanalyzer = dsp.SpectrumAnalyzer('SampleRate',fs,'ShowLegend',true);
specanalyzer([y1 y2])

Figure Spectrum Analyzer contains an axes object and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes object contains 2 objects of type line. These objects represent Channel 1, Channel 2.

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

Инициализируйте параметры для примера.

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, установив отклонение частоты и частота дискретизации. Затем создайте Системный объект демодулятора FM, с помощью настройки модулятора FM, чтобы установить свойства демодулятора.

fmmodulator = comm.FMModulator( ...
    'SampleRate',fs, ...
    'FrequencyDeviation',fd);
fmdemodulator = comm.FMDemodulator(fmmodulator);

FM - модулируйте сигнал и постройте действительный компонент комплексного сигнала. Частота модулируемого сигнала изменяется с амплитудой входного сигнала.

y = fmmodulator(x);
plot(t,[x real(y)])
title('Input Sinusoid and FM-Modulated Signals')
xlabel('Time (seconds)'); ylabel('Amplitude')
legend('Input signal','Modulated signal (real component)')

Figure contains an axes object. The axes object with title Input Sinusoid and FM-Modulated Signals contains 2 objects of type line. These objects represent Input signal, Modulated signal (real component).

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

z = fmdemodulator(y);

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

plot(t,x,'r',t,z,'ks')
legend('Original signal','Demodulated signal')
xlabel('Time (s)')
ylabel('Amplitude')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent Original signal, Demodulated signal.

Алгоритмы

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

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

где:

  • A является амплитудой несущей.

  • f c является несущей частотой.

  • x (τ) является входным сигналом основной полосы.

  • f Δ является отклонением частоты в Гц.

Отклонение частоты является максимальным сдвигом от f c в одном направлении, принимая |x (τ) | ≤ 1.

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

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 от y S (t) оставляет представление сгенерированного модулированного сигнала, y (t), который дан как

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

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

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

Baseband FM demodulator

Вычитание задержанной и спрягаемой копии полученного сигнала от самого сигнала приводит к этому уравнению.

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

где T является периодом расчета. В дискретных терминах,

wn=w(nT),wn=A24ej[ϕnϕn1], иvn=ϕnϕn1.

v сигнала n является аппроксимативной производной ϕ n таким образом что v nx n.

Ссылки

[1] Hatai, я., и я. Chakrabarti. “Новый Высокоэффективный Цифровой Модулятор FM и Демодулятор для Программно определяемого Радио и Его Реализации FPGA”. Международный журнал Реконфигурируемого Вычисления (25 декабря 2011): 1-10. https://doi.org/10.1155/2011/342532.

[2] Taub, H. и D. Шиллинг. Принципы Систем связи. Ряд McGraw-Hill в Электротехнике. Нью-Йорк: McGraw-Hill, 1971, стр 142–155.

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

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