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




ФайлPr8_CodGPS.m моделирует ситуацию, когда в зоне видимости находятся спутники,

изображенные на рис. 6. 9. Спутники, данные которых обрабатывает приемник, имеют

номера2, 4, 5, 9,14, 17, 24, 30. Спутник26 «не видим» приемником. Результаты выполнения m- файла изображены на рис. 1.10.

 

 

Файл Pr8_cod_GPS.m

clear

%Имя файла:Pr8_CodGPS.m

% программа позволяет исследовать корреляционные свойства суммы сигналов

% спутников GPS

n=1023;

for Sv_id=1:37

[cod(Sv_id,:),cod_bin(Sv_id,:),column_7,n]=cod_GPS(Sv_id,n);

col_7(Sv_id,:)= column_7;

end

Cod9 = cod(9,:);

col_7(37,:);

Cod26 =cod(26,:);

M_P=cod_bin(37,:);

% Сумма кодов видимых спутников 2, 4, 5, 9,14, 17, 24, 30

Cod_Sym= cod(2,:)+cod(4,:)+cod(5,:)+cod(9,:)+cod(14,:)+...

cod(17,:)+cod(24,:)+cod(30,:);

%Дискретизация

Fd=1.023*10^6;%символьная скорость

FsFd=2;% отношение частоты дискретизации к символьной скорости

Fs=Fd*FsFd;% частота дискретизации

t=(0:length(Cod9)*FsFd-1)/Fs;% дискретное время

F_mod26 = (1/sqrt(FsFd))*Cod26(floor(Fd*t)+1);%код спутника 26, находящегося вне зоны видимости

F_mod9 = (1/sqrt(FsFd))*Cod9(floor(Fd*t)+1);%код

% сумма кодов 8 спутников 2, 4, 5, 9,14, 17, 24, 30

Sym_Cod = (1/sqrt(FsFd))*Cod_Sym(floor(Fd*t)+1);

%k=0;%сдвиг кода

m=n*FsFd;

nn=1023*FsFd;;

A_26=F_mod26(1:m);%код GPS

A_9=F_mod9(1:m);%код GPS

Cor_Sym = xcorr(Sym_Cod,nn);%автокорреляция сумма кодов 8 спутников

Cor_26_Sym = xcorr(Sym_Cod,A_26,nn);%взаимная корреляция

Cor_9_Sym = xcorr(Sym_Cod,A_9,nn);%взаимная корреляция

%Графика сигналов

subplot(4,1,1), plot(Sym_Cod),axis([ 0 2100 -10 10])

xlabel('а','FontSize',12,'FontName','TimesNewRoman')

grid on

subplot(4,1,2), plot(Cor_Sym),axis([ 0 2*nn -1000 10000])

xlabel('б','FontSize',12, 'FontName','TimesNewRoman')

grid on

subplot(4,1,3), plot(Cor_26_Sym),axis([ 0 2*nn -400 400])

xlabel('в','FontSize',12, 'FontName','TimesNewRoman')

grid on

subplot(4,1,4), plot(Cor_9_Sym),axis([ 0 2*nn -100 1100])

xlabel('г','FontSize',12, 'FontName','TimesNewRoman')

grid on

 


Пример m- файла для исследования корреляционных свойств сигнала с шумом и копии сигнала
. В файле в качестве источника шума использована функция MatLab «randn». Программа иллюстрирует качественную картину влияния шума на взаимную корреляцию сигнала с шумом и копии сигнала. Для получения количественных значений в m- файл следует подставить конкретные значения соотношения сигнал/шум.

Файл Pr9_cod_GPS.m

clear

%Имя файла:Pr09_CodGPS.m

% программа взаимной корреляции сигнала с шумом и копии сигнала

% спутников GPS

n=1023;

for Sv_id=1:37

[cod(Sv_id,:),cod_bin(Sv_id,:),column_7,n]=cod_GPS(Sv_id,n);

col_7(Sv_id,:)= column_7;

end

Cod37 = cod(37,:);

col_7(37,:);

Noise=0;%коэффициент усиления генератора шума

Noise1= Noise*(randn(n,1))';%генерация шума

Noise2= 4*(randn(n,1))';%генерация шума

Noise5= 8*(randn(n,1))';%генерация шума

Noise10=12*(randn(n,1))';%генерация шума

%Дискретизация

Fd=1.023*10^6;%символьная скорость

FsFd=2;% отношение частоты дискретизации к символьной скорости

Fs=Fd*FsFd;% частота дискретизации

t=(0:length(Cod37)*FsFd-1)/Fs;% дискретное время

Cod37 = (1/sqrt(FsFd))*Cod37(floor(Fd*t)+1);%код

Noise_mod=(1/sqrt(FsFd))*Noise1(floor(Fd*t)+1);%шум

Noise_mod2=(1/sqrt(FsFd))*Noise2(floor(Fd*t)+1);%шум

Noise_mod5=(1/sqrt(FsFd))*Noise5(floor(Fd*t)+1);%шум

Noise_mod10=(1/sqrt(FsFd))*Noise10(floor(Fd*t)+1);%шум

%Noise_mod=(1/sqrt(FsFd))*Noise1(floor(Fd*t)+1);%шум

%Noise_mod=(1/sqrt(FsFd))*Noise1(floor(Fd*t)+1);%шум

Cod37Noise = Cod37 +Noise_mod;% код плюс шум

Cod37Noise2 = Cod37 +Noise_mod2;% код плюс шум

Cod37Noise5 = Cod37 +Noise_mod5;% код плюс шум

Cod37Noise10 = Cod37 +Noise_mod10;% код плюс шум

m=n*FsFd;

nn=1023*FsFd;;

Cod37Noise = Cod37Noise(1:m);%код GPS+ шум

Cod37Noise2= Cod37Noise2(1:m);%код GPS+ шум

Cod37Noise5= Cod37Noise5(1:m);%код GPS+ шум

Cod37Noise10= Cod37Noise10(1:m);%код GPS+ шум

Cod37=Cod37(1:m);%код GPS

Cor_Cod37_Noise = xcorr(Cod37,Cod37Noise,nn);%взаимная корреляция копии кода GPS и сигнала с шумом

Cor_Cod37_Noise2 = xcorr(Cod37,Cod37Noise2,nn);%взаимная корреляция копии кода GPS и сигнала с шумом

Cor_Cod37_Noise5 = xcorr(Cod37,Cod37Noise5,nn);%взаимная корреляция копии кода GPS и сигнала с шумом

Cor_Cod37_Noise10 = xcorr(Cod37,Cod37Noise10,nn);%взаимная корреляция кода GPS и шума

 

%Графика

subplot(4,1,1),stem(Cor_Cod37_Noise), axis([1500 2500 -100 1200])

xlabel('а','FontSize',12,'FontName', 'TimesNewRoman')

grid on

subplot(4,1,2),stem(Cor_Cod37_Noise2),axis([ 1500 2500 -100 1300])

xlabel('б','FontSize',12,'FontName','TimesNewRoman')

grid on

subplot(4,1,3),stem(Cor_Cod37_Noise5),axis([ 1500 2500 -100 1300])

xlabel('в','FontSize',12,'FontName','TimesNewRoman')

grid on

subplot(4,1,4),stem(Cor_Cod37_Noise10),axis([ 1500 2500 -100 1300])

xlabel('г','FontSize',12,'FontName','TimesNewRoman')

grid on

 

Комплексная программа обработки псевдослучайных кодов спутников GPS.

Приведенный ниже m-файл позволяет одновременно выполнить все процедуры обработки

псевдослучайных кодов спутников GPS, рассмотренные в предыдущих примерах.

Файл PrCodGPS.m

clear

%Имя файла:PrCodGPS.m

% Комплексная программа обработки псевдослучайных кодов спутников GPS.

n=1023;

for Sv_id=1:37

[cod(Sv_id,:),cod_bin(Sv_id,:),column_7,n]=cod_GPS(Sv_id,n);

col_7(Sv_id,:)= column_7;

end

Cod37 = cod(37,:);

col_7(37,:);

Cod37;

Cod13 =cod(13,:);

M_P=cod_bin(37,:);

Cod_Sym= cod(1,:)+cod(4,:)+cod(7,:)+cod(11,:)+cod(13,:)+cod(14,:)+...

cod(20,:)+cod(21,:)+cod(23,:)+cod(25,:)+cod(31,:);

Noise=1;%коэффициент усиления генератора шума

Noise1= Noise*(randn(2*n,1))';%генерация шума

%для просмотра результатов выполнения программы убрать символ ";"

%Дискретизация

Fd=1.023*10^6;%символьная скорость

FsFd=2;% отношение частоты дискретизации к символьной скорости

Fs=Fd*FsFd;% частота дискретизации

t=(0:length(Cod37)*FsFd-1)/Fs;% дискретное время

Noise_mod=(1/sqrt(FsFd))*Noise1(floor(Fd*t)+1);

F_mod = (1/sqrt(FsFd))*Cod37(floor(Fd*t)+1)+Noise_mod;% код плюс шум

F_mod1 = (1/sqrt(FsFd))*Cod37(floor(Fd*t)+1);%код

F_mod2 = (1/sqrt(FsFd))*Cod37(floor(Fd*t)+1);%код

F_mod3 = (1/sqrt(FsFd))*Cod13(floor(Fd*t)+1);%код

% сумма кодов 11 спутников 1,4,7,11,13,14,20,21,23,25,31

Sym_Cod = (1/sqrt(FsFd))*Cod_Sym(floor(Fd*t)+1);

k=0;%сдвиг кода

m=n*FsFd;

nn=1023*FsFd;;

A_0 = F_mod(1:m);%код GPS+ шум

A_1 = F_mod1(1+k:m+k);% сдвинутый код

A_2=F_mod1(1:m);%код GPS

A_3=F_mod3(1:m);%код GPS

Cor = xcorr(A_2,Noise_mod,nn);%взаимная корреляция кода GPS и шума

CorA0 = xcorr(A_0,nn);%автокорреляция кода GPS и шума

[CorA1,lags] = xcorr(A_1,nn);%автокорреляция сдвинутого код

Cor_R = xcorr(Noise_mod,nn);%автокорреляция шума

[CorA2,lags]=xcorr(A_2,nn);%автокорреляция кода GPS

Cor_GRG = xcorr(A_0,A_1,nn);%взаимная корреляция кода GPS+ шум и

%сдвинутого кода

Cor_13_37 = xcorr(A_2,A_3,nn);%взаимная корреляция кода 13 и 37

Cor_Sym = xcorr(Sym_Cod,nn);%автокорреляция сумма кодов 11 спутников

Cor_13_Sym = xcorr(Sym_Cod,A_3,nn);%взаимная корреляция суммы кодов 11 спутников и кода

спутника 13

%Графика сигналов

%%%%%%%%%%%%%%%%%%%%%%%%%

fig1=figure;

subplot(4,1,1),plot(M_P), axis([ 0 1100 -0.1 1.1])

xlabel ('Код GPS в двоичных символах','FontSize',12,...

'FontName','TimesNewRoman')

grid on

subplot(4,1,2), plot(Cod37),axis([ 0 1100 -1.1 1.1])

xlabel('Код GPS в символах "1","-1"','FontSize',12,...

'FontName','TimesNewRoman')

grid on

 

subplot(4,1,3),plot(Noise_mod),axis([ 0 2*n -3 3])

xlabel('Псевдослучайный шум','FontSize',12,'FontName','TimesNewRoman')

grid on

subplot(4,1,4),plot(A_0),axis([ 0 2*n -5 5])

xlabel('Код GPS плюс шум','FontSize',12,'FontName','TimesNewRoman')

grid on

%Графика обработки сигналов

figure(fig1);

fig2=figure;

subplot(4,1,1),plot(CorA2), axis([ 0 2*nn -100 1100])

xlabel('Автокорреляционная функция кода GPS','FontSize',12,...

'FontName','TimesNewRoman')

grid on

subplot(4,1,2), plot(lags,CorA2), axis([ 0 nn -150 150])

xlabel ('Боковые лепестки автокорреляционной функции кода GPS',...

'FontSize',12,'FontName','TimesNewRoman')

grid on

 

subplot(4,1,3),plot(Cor_R), axis([ 0 2*nn -100 1100])

xlabel('Автокорреляционная функция шума','FontSize',12,'FontName',...

'TimesNewRoman')

grid on

subplot(4,1,4),plot(Cor_R),axis([ 0 nn -150 150])

xlabel ('Боковые лепестки автокорреляционной функции шумa','FontSize',...

12,'FontName','TimesNewRoman')

grid on

fig3=figure;

subplot(4,1,1),plot(Cor),axis([ 0 2*nn -150 150])

xlabel('Взаимная корреляция кода GPS и шума','FontSize',...

12,'FontName','TimesNewRoman')

grid on

subplot(4,1,2),plot(CorA0),axis([ 0 2*nn -100 2500])

xlabel('Автокорреляционная функция кода GPS плюс шум','FontSize',...

12,'FontName','TimesNewRoman')

grid on

subplot(4,1,3),plot(Cor_GRG),axis([ 0 2*nn -100 1100])

xlabel ('Взаимная корреляция кода GPS плюс шум и копии кода GPS ',...

'FontSize',12,'FontName','TimesNewRoman')

grid on

subplot(4,1,4),plot(Cor_GRG),axis([ 0 2*n -200 200])

xlabel ('Взаимная корреляция кода GPS плюс шум и копии кода GPS ',...

'FontSize',12,'FontName','TimesNewRoman')

grid on

fig4=figure;

subplot(4,1,1), plot(Sym_Cod),axis([ 0 2*n -10 10])

xlabel('Сумма кодов 11 спутников','FontSize',12,'FontName','TimesNewRoman')

grid on

subplot(4,1,2), plot(Cor_Sym),axis([ 0 2*nn -1000 2500])

xlabel ('Автокорреляция суммы кодов 11 спутников','FontSize',12,...

'FontName','TimesNewRoman')

grid on

subplot(4,1,3), plot(Cor_13_Sym),axis([ 0 2*nn -100 1500])

xlabel ('Взаимная корреляция суммы кодов 11 спутников и кода 13',...

'FontSize',12,'FontName','TimesNewRoman')

grid on

subplot(4,1,4), plot(Cor_13_Sym),axis([ 0 2*n -500 600])

xlabel ('Боковые лепестки взаимной корреляции суммы кодов 11 спутников и кода 13',...

'FontSize',12,'FontName','TimesNewRoman')

grid on

 

fig5=figure;

plot(Cor_13_37),axis([ 0 2*nn -100 100])

xlabel('Взаимная корреляция кода GPS (коды 13и 37) ',...

'FontSize',12,'FontName','TimesNewRoman')

grid on

 

Графические результаты выполнения m- файла PrCodGPS.m изображены на

рис. 1.13 - 1.17.

 

 

 


 

 

 

Контрольные вопросы:

1. Как формируется псевдослучайный код спутников GPS?

2. Опишите радиочастотные характеристики спутников GPS?

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-10-25 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: