Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

OPISIS_LAB3

.pdf
Скачиваний:
30
Добавлен:
24.12.2021
Размер:
717.64 Кб
Скачать

После когерентного обнаружения демодулированные символы подвергаются операции XOR с расширяющей последовательностью, которая синхронизируется с последовательностью передатчика. На этом этапе приемник должен знать последовательность расширения, используемую в передатчике, и должен быть с ней синхронизирован. В противном случае сигнал с расширенным спектром будет казаться приемнику зашумленным, и это демонстрирует важное свойство расширенного спектра – низкую вероятность перехвата или вообще обнаружения выхода в эфир.

Рисунок 13 –Модель приемника DSSS

Программа 11: dsss_receiver.m: функция, реализующая приемник DSSS

function d_cap = dsss_receiver(r_t,carrier_ref,prbs_ref,Rb,Rc,L) %Direct Sequence Spread Spectrum (DSSS) Receiver (Rx)

%r_t - received DS-SS signal from the transmitter (Tx) %carrier_ref - reference carrier (synchronized with transmitter) %prbs_ref - reference PRBS signal(synchronized with transmitter) %Rb - data rate (bps) for the data d

%Rc - chip-rate ((Rc >> Rb AND Rc is integral multiple of Rb) %L - versampling factor used for waveform generation at the Tx %The function first demodulates the receiver signal using the %reference carrier and then XORs the result with the reference %PRBS. Finally returns the recovered data.

%------------BPSK Demodulation----------

v_t = r_t.*carrier_ref;

x_t=conv(v_t,ones(1,L)); %integrate for Tc duration

y= x_t(L:L:end);%sample at every Lth sample (i.e, every Tc instant)

z= ( y > 0 ).'; %Hard decision (gives demodulated bits)

%

-----------De-Spreading----------------

 

y

= xor(z,prbs_ref.');%reverse the spreading

process using PRBS ref.

d_cap = y(Rc/Rb:Rc/Rb:end); %sample at every

Rc/Rb th symbol

8. Моделирование в канале с АБГШ Чтобы протестировать модели передатчика и приемника, представленные в

предыдущем разделе, следует промоделировать их характеристики в канале с АБГШ.

Следующий код Matlab демонстрирует характеристики передатчика и приемника DSSS в

диапазоне отношений сигнал/шум канала АБГШ. Смоделированные характеристики будут соответствовать характеристикам обычного BPSK.

Программа 12: dsss_test_awgn.m: Характеристики системы DSSS в канале с АБГШ

close all; clear all;

%----PRBS definition----

prbsType='MSEQUENCE'; %PRBS type G1=[1 0 0 1 0 1];%LFSR polynomial X1=[0 0 0 0 1];%initial seed for LFSR

G2=0;X2=0;%G2,X2 are zero for m-sequence (only one LFSR used)

%--- Input data, data rate, chip rate------

N=10e5; %number of data bits to transmit d= rand(1,N) >=0.5; %random data

Rb=2e3; %data rate (bps) for the data d

Rc=6e3; %chip-rate(Rc >> Rb AND Rc is integral multiple of Rb) L=8; %oversampling factor for waveform generation

SNR_dB = -4:3:20; %signal to noise ratios (dB)

BER = zeros(1,length(SNR_dB)); %place holder for BER values

for i=1:length(SNR_dB) [s_t,carrier_ref,prbs_ref]=dsss_transmitter(d,prbsType,G1,G2,X1,X2,Rb,Rc,L);% Tx

%-----Compute and add AWGN noise to the transmitted signal---

Esym=L*sum(abs(s_t).^2)/(length(s_t));%Calculate symbol energy N0=Esym/(10^(SNR_dB(i)/10)); %Find the noise spectral density n_t = sqrt(N0/2)*randn(length(s_t),1);%computed noise

r_t = s_t + n_t; %received signal

dCap = dsss_receiver(r_t,carrier_ref,prbs_ref,Rb,Rc,L);%Receiver BER(i) = sum(dCap~=d)/length(d); %Bit Error Rate

end

%%

theoreticalBER = 0.5*erfc(sqrt(10.^(SNR_dB/10))); figure; semilogy(SNR_dB, BER,'k*'); hold on; semilogy(SNR_dB, theoreticalBER,'r');

9. Моделирование в канале с помехами

Системы с DSSS изначально предназначались для обеспечения перехвата с низкой вероятностью и для противодействия помехам. Многие коммерческие приложения измеряют характеристики таких систем в присутствии источника помех. Системы DSSS

расширяют сигнал данных на видеочастоте по большей полосе пропускания, что обеспечивает устойчивость к источникам помех и, следовательно, низкую вероятность перехвата. Величина расширения полосы пропускания определяется коэффициентом,

называемым выигрышем при обработке (processing gain), который обозначается как Gp .

Он определяется как отношение ширины полосы РЧ переданного сигнала к нерасширенной полосе частот основной полосы частот информационного сигнала. Для системы DSSS с расширением, которое не зависит от данных, выигрыш при обработке — это отношение скорости передачи элементарных сигналов расширяющей последовательности к скорости передачи данных информационной последовательности.

Gp

chip rate

 

Rc

(6)

data rate

Rb

 

 

 

Эффективность DSSS при наличии помех может быть продемонстрирована с использованием различных типов помех. Блок-схема моделирования для этой цели представлена на рисунке 14. В этой модели все вычисления происходят на видеочастоте.

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

Следовательно, рекомендуется поддерживать выигрыш обработки ( Gp ) на разумном уровне.

Мы могли видеть, что имитационная модель, представленная в этом разделе, очень похожа на модель с АБГШ. Единственное отличие – добавление источника помех

(jammer). Источника помех может быть смоделирован для генерации сигналов помех различных типов. Сигнал считается помехой только в том случае, если одновременно выполняются все следующие условия.

Помехи возникают в пределах полосы частот демодуляции и в то же время, что и при демодуляции.

Мешающий сигнал достаточно силен, чтобы превышать влияние шума. В случае источника помех это количественно выражается в терминах отношения помехи к сигналу

(JSR), которое представляет собой отношение мощности помехи к мощности сигнала.

Различные типы подавления в системе DSSS включают подавление широкополосным шумом, парциальное частотное подавление, импульсное подавление и подавление тональным сигналом. Тональные помехи далее подразделяются на однотоновые и многотоновые.

Однотоновый источник помехи может быть образован синусоидальной помехой.

Из всех типов помех проще всего создать однотоновую помеху. Уравнение дискретного времени для генерации однотоновой помехи задается следующим образом:

J n

 

sin 2 f j n j

 

2Pj

(7)

где Pj – мощность генератора помех для требуемого JSR, f j

– сдвиг частоты генератора

помех от центральной частоты, а j – сдвиг фазы генератора помех, который может быть

равномерной случайной величиной между 0 и 2π. Далее приводится реализация однотонального глушителя в Matlab.

Рисунок 14 – Имитационная модель системы BPSK DSSS с тональными помехами

Программа 13: tone_jammer.m: имитация однотоновой помехи

function [J,JSRmeas] = tone_jammer(JSR_dB,Fj,Thetaj,Esig,L) %Generates a single tone jammer (J) for the following inputs %JSR_dB - required Jammer to Signal Ratio for generating the jammer

%FjJammer frequency offset from center frequency (-0.5 < Fj < 0.5) %Thetaj - phase of the jammer tone (0 to 2*pi)

%Esig -transmitted signal power to which jammer needs to be added %L - length of the transmitter signal vector

%The output JSRmeas is the measured JSR from the generated samples

JSR = 10.^(JSR_dB/10); %Jammer-to-Signal ratio in linear scale Pj= JSR*Esig; %required Jammer power for the given signal power n=(0:1:L-1).';%indices for generating jammer samples

J = sqrt(2*Pj)*sin(2*pi*Fj*n+Thetaj); %Single Tone Jammer

Ej=sum(abs(J).^2)/L; %computed jammer energy from generated samples JSRmeas = 10*log10(Ej/Esig);%measured JSR

disp(['Measured JSR from jammer & signal: ',num2str(JSRmeas),'dB']);

Многотоновая помеха вставляет K тонов одинаковой мощности, равномерно распределенных по ширине полосы расширенного спектра. Для подавления множественных тонов уравнение (7) может быть расширено следующим образом.

 

 

 

(8)

J n

2Pj sin 2 f ji n ji

K

 

 

 

 

i1

K

 

Первичным показателем эффективности расширенного спектра является вероятность ошибок по битам при данном отношении сигнал/шум (SNR) и отношение помеха/сигнал (JSR). Следующий код реализует имитационную модель, показанную на рисунке 14 для случая однотоновых помех, а соответствующие кривые показаны на рисунке 15.

Примечание: код Matlab вызывает две общие функции, а именно generatePRBS и repeatSequence, которые определены ранее.

Программа 14: dsss_test_jamm.m: Моделирование системы с DSSS при наличии однотоновой помехи и АБГШ

%Perf. of BPSK DSSS over AWGN channel in presence of a jammer clearvars; clc;

%--- Input parameters------

Gp = 31; %processing gain

N=10e5; %number of data bits to transmit EbN0dB = 0:2:14; %Eb/N0 ratios (dB)

JSR_dB = [-100, -10,-5, 0, 2]; %Jammer to Signal ratios (dB)

Fj = 0.0001; %Jamming tone - normalized frequency (-0.5 < F < 0.5) Thetaj = rand(1,1)*2*pi;%random jammer phase(0 to 2*pi radians)

%----PRBS definition (refer previous sections of this chapter)---

prbsType='MSEQUENCE';%PRBS type,period of the PRBS should match Gp G1=[1 0 0 1 1 1];%LFSR polynomial

X1=[0 0 0 0 1];%initial seed for LFSR

G2=0;%G2,X2 set to zero for m-sequence (only one LFSR used) X2=0;

%---------------Transmitter------------------

d= rand(1,N) >=0.5; %Random binary information source dp =2*d-1; %converted to polar format (+/- 1)

dr = kron(dp(:),ones(Gp,1)); %repeat d[n] - Gp times L = N*Gp; %length of the data after the repetition

prbs = generatePRBS(prbsType,G1,G2,X1,X2);%1 period of PRBS prbs = 2*prbs-1; %convert PRBS to +/- 1 values prbs=prbs(:);% serialize

c=repeatSequence(prbs,L);%repeat PRBS sequence to match data length

s = dr.*c; %multiply information source and PRBS sequence

%Calculate signal power (used to generate jamming signal) Eb=Gp*sum(abs(s).^2)/L;

plotColors =['r','b','k','g','m'];

for k=1:length(JSR_dB),%loop for each given JSR

%Generate single tone jammer for each given JSR

J = tone_jammer(JSR_dB(k),Fj,Thetaj,Eb,L);%generate a tone jammer

BER = zeros(1,length(EbN0dB)); %place holder for BER values for i=1:length(EbN0dB),%loop for each given SNR

%-----------AWGN noise addition---------

N0=Eb/(10^(EbN0dB(i)/10)); %Find the noise spectral density w = sqrt(N0/2)*randn(length(s),1);%computed whitenoise

r = s + J + w; %received signal

%------------Receiver--------------

yr = r.*c; %multiply received signal with PRBS reference y=conv(yr,ones(1,Gp)) ; %correlation type receiver

dCap = y(Gp:Gp:end) > 0; %threshold detection

BER(i) = sum(dCap.'~=d)/N; %Bit Error Rate

semilogy(EbN0dB, BER, [plotColors(k) '-*']); hold on; %plot end

end

%theoretical BER (when no Jammer)

theoreticalBER = 0.5*erfc(sqrt(10.^(EbN0dB/10)));

%reference performance for BPSK modulation semilogy(EbN0dB, theoreticalBER,'k-O'); xlabel('Eb/N0 (dB)');

ylabel('Bit Error Rate (Pb)');

 

10-1

 

 

 

 

 

 

(Pb)

-2

 

 

 

 

 

 

10

 

 

 

 

 

 

ошибки

 

 

 

 

 

 

 

 

 

 

 

 

 

битовой

10-3

 

 

 

 

 

 

 

 

 

 

 

 

 

Вероятность

10-4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10-5

 

 

 

 

 

 

 

0

2

4

6

8

10

12

Eb/N0 (dB)

Рисунок 15 – Вероятность битовой ошибки при Gp 31, при наличии однотоновой

помехи и шума AWGN

Задание на лабораторную работу №3

С использованием приведенных программных кодов и значений по варианту

1.Получить график АКФ кода Баркера по варианту.

2.Получить графики АКФ и ВКФ m-последовательностей с длиной по

варианту.

3.Получить графики АКФ и ВКФ кода Голда с длиной по варианту.

4.Получить графики BER для кода по варианту в условиях АБГШ, одной и трех тоновых (гармонических) помех. Пересчитать Gp в децибелы.

Если параметр по варианту не задан – оставить без изменений.

Отчет без кода программ загрузить в ОРИОКС.

Вариант

Длина кода Баркера

Тип кода

Длина последовательности

Отношение

помеха/сигнал

 

 

 

 

 

 

 

 

 

1

4

Голда

127

-5

 

 

 

 

 

2

5

m-послед.

255

-3

 

 

 

 

 

3

7

Голда

511

0

 

 

 

 

 

4

11

m-послед.

1023

1

 

 

 

 

 

5

13

Голда

127

5

 

 

 

 

 

6

4

m-послед.

255

-10

 

 

 

 

 

7

5

Голда

511

-8

 

 

 

 

 

8

7

m-послед.

1023

-5

 

 

 

 

 

9

11

Голда

127

-3

 

 

 

 

 

10

13

m-послед.

255

0

 

 

 

 

 

11

4

Голда

511

1

 

 

 

 

 

12

5

m-послед.

1023

5

 

 

 

 

 

13

7

Голда

127

-10

 

 

 

 

 

14

11

m-послед.

255

-10

 

 

 

 

 

15

13

Голда

511

-8

 

 

 

 

 

16

4

m-послед.

1023

-5

 

 

 

 

 

17

5

Голда

127

-3

 

 

 

 

 

18

7

m-послед.

255

0

 

 

 

 

 

19

11

Голда

511

1

 

 

 

 

 

20

13

m-послед.

1023

5

 

 

 

 

 

21

4

Голда

127

-10

 

 

 

 

 

22

5

m-послед.

255

-10

 

 

 

 

 

23

7

Голда

511

-8

 

 

 

 

 

24

11

m-послед.

1023

-5

 

 

 

 

 

25

13

Голда

127

-3

 

 

 

 

 

26

4

m-послед.

255

0

 

 

 

 

 

27

5

Голда

511

1

 

 

 

 

 

28

7

m-послед.

1023

5

 

 

 

 

 

29

11

Голда

511

-10

 

 

 

 

 

30

13

m-послед.

1023

0

 

 

 

 

 

Соседние файлы в предмете Основы построения инфокоммуникационных систем и сетей