Визуализируйте эффекты выборочного частотой исчезновения

Модуляция FSK в исчезающем канале

Передайте сигнал FSK через Рейли многопутевой исчезающий канал. Измените пропускную способность сигнала, чтобы наблюдать удар исчезающего канала на спектре FSK.

Модуляция FSK в плоском исчезновении

Установите порядок модуляции к 4, модулируемый уровень символа к 45 бит/с и разделение частоты к 200 Гц.

M = 4;                 % Modulation order
symbolRate = 45;       % Symbol rate (bps)
freqSep = 200;         % Frequency separation (Hz)

Вычислите выборки на параметр символа, sampPerSym, как функция порядка модуляции, разделения частоты и уровня символа. Избегать искажения выходного сигнала, продукта sampPerSym и symbolRate должен быть больше продукта M и freqSep. Вычислите частоту дискретизации выходного сигнала FSK.

sampPerSym = ceil(M*freqSep/symbolRate);
fsamp = sampPerSym*symbolRate;

Создайте модулятор FSK.

fskMod = comm.FSKModulator(M, ...
    'FrequencySeparation',freqSep, ...
    'SamplesPerSymbol',sampPerSym, ...
    'SymbolRate',symbolRate);

Установите задержки пути и средние усиления пути для исчезающего канала.

pathDelays = [0 3 10]*1e-6;     % Discrete delays of three-path channel (s)
avgPathGains = [0 -3 -6];       % Average path gains (dB)

Условно, задержка первого пути обычно обнуляется. Для последующих путей задержка 1 микросекунды соответствует различию на 300 м в длине пути. Задержки пути и усиления пути задают профиль средней задержки канала.

Создайте Рэлеевский канал с помощью заданных параметров. Установите Visualization свойство отобразить импульсные и частотные характеристики.

channel = comm.RayleighChannel(...
    'SampleRate',fsamp, ...
    'PathDelays',pathDelays, ...
    'AveragePathGains',avgPathGains, ...
    'MaximumDopplerShift',0.01, ...
    'Visualization','Impulse and frequency responses', ...
    'SamplesToDisplay','10%');

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

data = randi([0 3],2000,1);
modSig = fskMod(data);

Постройте спектр FSK модулируемый сигнал.

spectrum = dsp.SpectrumAnalyzer('SampleRate',fsamp);
spectrum(modSig)

Модулируемый сигнал состоит из четырех тонов каждый разделяющий приблизительно 20 dBm пиковых мощностей на 200 Гц.

Передайте сигнал через Канал с релеевским замиранием и примените AWGN наличие отношения сигнал-шум на 25 дБ.

snrdB = 25;
rxSig = awgn(channel(modSig),snrdB);

Импульсные и частотные характеристики показывают, что канал ведет себя, как будто это было плоско. Это вызвано тем, что пропускная способность сигнала, 800 Гц, намного меньше, чем пропускная способность когерентности, 50 кГц.

Постройте полученный спектр сигнала.

spectrum(rxSig)

Четыре тона, включающие сигнал FSK, обеспечивают то же разделение частоты и уровни пиковой мощности друг относительно друга. Абсолютные уровни пиковой мощности уменьшились из-за исчезающего канала.

Модуляция FSK в выборочном частотой исчезновении

Увеличьте уровень символа до 45 Кбит/с и разделение частоты к 200 кГц. Вычислите новые выборки на параметры частоты дискретизации и символ.

symbolRate = 45e3;
freqSep = 200e3;
sampPerSym = ceil(M*freqSep/symbolRate);
fsamp = sampPerSym*symbolRate;

Обновите свойства модулятора FSK.

release(fskMod)
fskMod.SymbolRate = symbolRate;
fskMod.FrequencySeparation = freqSep;

Обновите спектр свойство частоты дискретизации анализатора, sa.SampleRate. Примените модуляцию FSK и постройте получившийся спектр.

release(spectrum)
spectrum.SampleRate = sampPerSym*symbolRate;

modSig = fskMod(data);
spectrum(modSig)

Спектр имеет ту же форму как в плоско исчезающем случае, но четыре тона теперь разделяются на 200 кГц.

Обновите свойство частоты дискретизации канала. Передайте сигнал через Канал с релеевским замиранием и примените AWGN.

release(channel)
channel.SampleRate = fsamp;

rxSig = awgn(channel(modSig),25);

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

Постройте полученный спектр сигнала.

spectrum(rxSig)

Существует все еще четыре идентифицируемых тона, но их относительные уровни пиковой мощности отличаются из-за выборочного частотой исчезновения. Пропускная способность сигнала, 800 кГц, больше, чем пропускная способность когерентности, 50 кГц.

Модуляция QPSK в исчезающем канале

Передайте сигнал QPSK через Рейли многопутевой исчезающий канал. Измените пропускную способность сигнала, чтобы наблюдать удар исчезающего канала на созвездии QPSK.

Модуляция QPSK в плоском исчезновении

Установите параметр уровня символа на 500 бит/с.

symbolRate = 500;

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

data = randi([0 3],10000,1);
modSig = pskmod(data,4,pi/4,'gray');

Установите задержки пути и средние усиления пути для исчезающего канала.

pathDelays = [0 3 10]*1e-6;     % Discrete delays of three-path channel (s)
avgPathGains = [0 -3 -6];       % Average path gains (dB)

Условно, задержка первого пути обычно обнуляется. Для последующих путей задержка 1 микросекунды соответствует 300-метровому различию в длине пути. Задержки пути и усиления пути задают профиль средней задержки канала.

Создайте Рэлеевский канал с помощью заданных параметров. Установите Visualization свойство отобразить импульсные и частотные характеристики.

fsamp = symbolRate;
channel = comm.RayleighChannel(...
    'SampleRate',fsamp, ...
    'PathDelays',pathDelays, ...
    'AveragePathGains',avgPathGains, ...
    'MaximumDopplerShift',0.01, ...
    'Visualization','Impulse and frequency responses');

Передайте сигнал через Рейли, образовывают канал и применяют AWGN.

rxSig = awgn(channel(modSig),25);

Импульсные и частотные характеристики показывают, что канал ведет себя, как будто это было плоско. Это вызвано тем, что пропускная способность сигнала, 500 Гц, намного меньше, чем пропускная способность когерентности, 50 кГц. В качестве альтернативы промежуток задержки канала (10 микросекунд) намного меньше, чем период символа QPSK (2 миллисекунды), таким образом, результант bandlimited импульсная характеристика является приблизительно плоским.

Постройте созвездие.

constDiagram = comm.ConstellationDiagram;
constDiagram(rxSig)

Созвездие QPSK показывает эффекты исчезающего канала; однако, сигнал все еще имеет четыре идентифицируемых состояния.

Модуляция QPSK в выборочном частотой исчезновении

Увеличьте уровень символа до 500 Кбит/с и обновите связанное свойство канала. Передайте сигнал через Рейли, образовывают канал и применяют AWGN.

symbolRate = 500e3;

release(channel)
channel.SampleRate = symbolRate;

rxSig = awgn(channel(modSig),25);

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

Постройте созвездие.

constDiagram(rxSig)

Когда пропускная способность сигнала увеличена с 500 Гц до 500 кГц, сигнал становится высоко искаженным. Это искажение происходит из-за интерференции межсимвола (ISI), который прибывает из дисперсии времени широкополосного сигнала. Промежуток задержки канала (10 микросекунд) теперь больше, чем период символа QPSK (2 микросекунды), таким образом, результант bandlimited импульсная характеристика является более не плоским. В качестве альтернативы пропускная способность сигнала намного больше, чем пропускная способность когерентности, 50 кГц.