Спутниковые системы навигации. Учебное пособие. Учебное пособие ( Лабораторный практикум на компьютере ) Київ 2008 1
Скачать 4.49 Mb.
|
метод относительной фазовой манипуляции, применяемый в системе ГЛОНАСС. Метод осуществляется посредством перекодировки исходной после- довательности информационных символов по следующему алгоритму: 1 − ⊕ = i вых i вх i вых a a , a (1 .7) где а вх ί , а вых ί – входная и выходная последовательности символов при передаче со- ответственно. При приеме перекодировка выполняется по правилу i вых i вых i a a b 1 ⊕ = − , (1. 8) где b ί последовательность символов после перекодировки на выходе приемника. Изучаются методы формирования псевдослучайных кодов спутников GPS и ГЛО- НАСС, алгоритмы формирования которых основаны на получении псевдослучайных сиг- налов посредством последовательных регистров сдвига. Исследуются приемы и методы корреляции псевдослучайных сигналов для нахож- дения сигнала спутника. Детальные теоретические сведения о спутниковых навигационных сигналах можно найти в работах [1 -4, 9]. 1.2 Относительная фазовая манипуляция 1.2.1 Лабораторная работа 1. 1 «Относительная фазовая манипуляция» Цель лабораторной работы: реализация относительной фазовой манипуляции в средахсистем Simulink и MatLab. Рекомендуется следующий порядок выполнения лабораторной работы. 1. Откройте MatLab и запустите Simulink [5, 6]. 2. Откройте в Simulink окно для создания нового документа и выполните задание 1, 2, 3. 3. Задание 1. Из блоков библиотеки Simulink соберите схему, изображенную на рис. 1.1. В этой схеме применяются следующие блоки. Блок g_F содержит данные (символы), которые требуется перекодировать. Блоки delay выполняют задержку на один символ, блоки mo_d сумматоры по модулю 2. Блок Oscillograph трехканальный осциллограф, регистрирующий результаты работы схемы. 4. Задание 2. Установите параметры блоков g_F, delay, mo_d в соответствии с рис. 1.2. 5. Задание 3. Выполните моделирование в среде Simulink. Для приведенных входных данных результат моделирования изображен на рис. 1.3. 9 Рис. 1.1. Схема перекодировки символьной информации б-блоков dela; в - блоков mod; г-командное окно а б г в Рис. 1.2. Окна для установки параметров: а - блока g_F; MatLab. 10 Рис. 1.3. Результат моделирования схемы рис. 1.1 отв Средний график рис. 1.3 есть ле 2 ста ветствует данным, сформированным в канале 3 (рис. 1.1). 6. В алгоритмам (1 .7, 1. 8) в MatLab. 7. Отк 8. Задание 4. Создайте следующий m- файл. Пр ра перекодировки b(1) = aout(1); for i = 2 : 5 Символы [11101] в сигнальной форме представлены на верхнем графике рис.3 и со- етствуют данным, передаваемым по каналу 1 (рис. 1.1). результат выполнения алгоритма (1 .7) и соответствует данным, сформированным в кана- (рис. 1.1). Нижний график (рис. 1.3) есть результат применения алгоритма (1. 8)- вос- новление данных и соот ыполните моделирование преобразований по ройте MatLab и выполните задания 4, 5, 6. оцедура перекодировки по алгоритмам (1 .7) и (1. 8) в виде m- файла % m - файл процеду %Алгоритм ( 1 .7 ) % входная последовательность a=[1 1 1 0 1]; % выходная последовательность aout(1)=a(1); i = 1; for i = 2 : 5 aout(i)=xor(a(i),aout(i-1)); end aout %вывод выходной последовательности в командное окно % Алгоритм ( 1. 8 ) 11 b(i) = xor(aout(i-1), aout(i)); end b %вывод обратного преобразования в командное окно Задание 5. Выполните m- файл и убедитесь, что результат выполнения данным, изображенным в командном окне (рис. 1.2, г). 9. соответствует код Рекомендуется следующий порядок выполнения лабораторной работы. 2. ные процедуры и комментарии, выполните задания 1- 10. 3. За сгенерируйте код спутника, определите, чт . Задание 2. Откройте файл PR2_cod_GPS.m, сгенерируйте коды спутников, определи- те получили в командном окне и занесите ответы в отчет. 5. За ройте файл Pr3_cod_GPS.m, сгенерируйте код спутника. Дайте описа- ни внесите в отчет. 6. За , сгенерируйте код спутника. Дайте описа- ние изображения. Описание внесите в отчет. 7. Задание спутника. Дайте описа- ни исание внесите в отчет. 8. За PS.m, сгенерируйте код спутника. Дайте описа- ни ия. Описание внесите в отчет. 9. Задание 7. Откройте файл Pr7_cod_GPS.m, сгенерируйте код спутника. Дайте описа- ние полученного графического изображения. Описание внесите в отчет. 10. За йте код спутника. Дайте описа- ни ние внесите в отчет. 11. За cod_GPS.m, сгенерируйте код спутника. Дайте описа- ние изображения. Описание внесите в отчет. 10. Задание 6. Задайте данные для преобразования в виде последовательности из 10 сим- волов. Для заданной последовательности выполните задания 1- 4. Результаты выпол- нения занесите в отчет 1.3 Псевдослучайный код спутников GPS 1.3.1 Лабораторная работа 1. 2 «Код спутников GPS» Цель лабораторной работы - формирование и исследование псевдослучайного а спутников GPS. 1. Создайте папку cod_GPS_My и скопируйтев ее все программы из папки cod_GPS. Запустите MatLab, откройте функцию cod_GPS, изучите программ дание 1. Откройте файл PR1_cod_GPS.m, о получили в командном окне и занесите ответы в отчет. 4 , что дание 3. Отк е полученного графического изображения. Описание дание 4. Откройте файл Pr4_cod_GPS.m полученного графического 5. Откройте файл Pr5_cod_GPS.m, сгенерируйте код е полученного графического изображения. Оп дание 6. Откройте файл Pr6_cod_G е полученного графического изображен дание 8. Откройте файл Pr8_cod_GPS.m, сгенериру е полученного графического изображения. Описа дание 9. Откройте файл Pr09_ полученного графического 12 12. За , сгенерируйте код спутника. Дайте описание по ого графического изображения. Описание внесите в отчет. йлы из папки cod_GPS учайного кода спутников GPS) для генерации псевдослучайного кода 37 С/А кодов выходную последовательность вектор, содержащий соответствующее значения сдвига кода g2 для чения кода С/А требуемого спутника (например, виг =513) ости да в соответствии с ICD-GPS-200C для 37 значений 4;509;512;513;514;515;516;859;... 1 согласно чальное состояние регистра сдвига _reg=-ones(1,10); м) по модулю 2 третьего и 10 разрядов (10); азрядов 1:9 ие modulo2 первому разряду регистра дание 10. Откройте файл PrCodGPS.m лученн 1.4 Функции и фа Функция cod_GPS (формирование псевдосл function [cod, cod_bin,column_7,n]=cod_GPS(Sv_id,n); %{ Имя: cod_GPS Функция предназначена любого спутника GPS генерация Sv_id - номер спутника cod - вектор, содержащий g2s - полу для Sv_id=25 - используется сд n- количество символов в последовательн %} %сдвиг ко g2s=[5;6;7;8;17;18;139;140;141;251;252;254;255;256;257;258;... 469;470;471;472;473;47 860;861;862;863;950;947;948;950]; g2shift=g2s(Sv_id); %{ генерация последовательности G n = 20; %} %на shift for i=1:n g1(i)=shift_reg(10); %последовательность G1 % сложение (заменено умножение % регистра modulo2=shift_reg(3)*shift_reg % сдвиг р shift_reg(2:10)=shift_reg(1:9); % присвоен shift_reg(1)=modulo2; end g1; 13 % генерация кода G2 согласно % начальное состояние регистра сдвига hift_reg=-ones(1,10); ость G2 ножением) по модулю 2 второго,3,6,8,9,10 стра _reg(3)*shift_reg(6)*shift_reg(8)... _reg(1:9); му разряду регистра 2; 1_G2] = [g1; g2]'; % сдвиг G2 на соответствующее номеру спутника число бит g2tmp(1:g2shift)=g2(n-g2shift+1:n); g2tmp(g2shift+1:n)=g2(1:n-g2shift); %Сохранение сдвинутого кода g2=g2tmp; % формирование С/А кода поразрядным умножением G1 и G2 cod=g1.*g2; %формирование кода спутника GPS в двоичных символах cod_bin=-(cod-1)/2; % формирование контрольного числа согласно в соответствии с ICD-GPS-200C str=sprintf('%d',cod_bin(1:10)); column_7=dec2base(bin2dec(str),8,4); Примеры применения функции cod_GPS. Файл PR1_cod_GPS.m %Пример PR1_cod_GPS.m Входные данные ов od_bin,column_7,n]=cod_GPS(Sv_id,n); cod_bin(1:11) % 11 символов в бинарном виде (0 и 1) ьмеричное число первых 10 символов спутника № 2 s for i=1:n g2(i)=shift_reg(10); %последовательн % сложение (заменено ум % разрядов реги modulo2=shift_reg(2)*shift *shift_reg(9)*shift_reg(10); % сдвиг разрядов 1:9 shift_reg(2:10)=shift % присвоение modulo2 перво shift_reg(1)=modulo2; end g [G % Sv_id=2;% номер спутника n=1023;% количество символ [cod, c % Выходные данные cod= cod(1:11) % 11 символов cod_bin= column_7% вос 14 Рис. 1.4. Результат выполнения m- файла PR1_cod_GPS.m Файл PR2_cod_GPS.m clear %Пример PR2_cod_GPS.m %Расчет кодов любого или всех спутников n=1023; d=1:37 1 -1 1 -1 1 1 -1 1 1 -1 1 1 1 -1 -1 -1 -1 1 1 1 -1 1 -1 1 -1 1 1 1 -1 1 1 -1 -1 -1 1 1 1 1 -1 -1 1 -1 1 -1 1 1 1 1 -1 -1 1 -1 1 -1 1 1 1 -1 -1 -1 1 1 1 1 -1 -1 1 -1 1 -1 -1 -1 1 1 1 -1 1 1 -1 1 1 1 1 for Sv_i [cod(Sv_id,:),cod_bin(Sv_id,:),col_7(Sv_id,:),n]=cod_GPS(Sv_id,n); end cod1=cod(1:23,10:30) %вывод в командное окно кодов 23 спутников в символах +1 и -1 cod2=cod_bin(1:23,10:30)' %вывод в командное окно кодов 23 спутников в символах 1 и 0 col_7(1:5,:) % вывод в командное окно восьмеричных значений кодов 1...5 спутников %{ Результаты выполнения примера, скопированные из командного окна cod1 = 1 -1 -1 -1 1 1 -1 1 -1 1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 -1 1 1 1 -1 1 1 1 1 -1 1 -1 1 1 -1 1 1 -1 1 -1 -1 -1 1 1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 1 1 1 -1 -1 1 -1 -1 1 1 1 -1 1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 1 -1 1 -1 -1 1 1 1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 1 -1 -1 1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 -1 -1 1 1 -1 -1 1 -1 1 -1 -1 -1 1 - 15 1 -1 1 -1 1 1 -1 -1 -1 -1 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1 1 -1 -1 1 1 -1 1 -1 1 -1 -1 1 1 1 1 1 1 1 -1 1 1 1 -1 1 1 -1 -1 -1 -1 -1 -1 1 1 1 -1 1 1 -1 1 -1 -1 -1 1 1 1 1 1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 1 -1 1 -1 -1 1 1 1 1 1 -1 -1 1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 1 1 -1 1 -1 1 1 -1 1 -1 1 1 -1 1 1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 1 1 -1 -1 -1 -1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1620 1710 1744 1133 %{ Файл Pr3_cod_GPS.m clear %Пример Pr3_cod_GPS %Визуализация кода GPS n=1023; for Sv_id=1:37 [cod(Sv_id,:),cod_bin(Sv_id,:),column_7,n]=cod_GPS(Sv_id,n); 1 -1 - 1 1 -1 - -1 -1 1 -1 cod2 = 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 ans = 1440 16 col_7(Sv_id,:)= column_7; end cod_bin(2,1:30); д GPS в двоичных символах','FontName','Times New Roman ','FontSize',12) 1.1]) l('Код GPS в символах "1","-1"','FontName','Times New Roman ','FontSize',12') ображение 30 первых символов кода спутника GPS приведено на рис. 1.5. Файл Pr4_cod_GPS.m clear %Пример Pr4_cod_GPS.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 Cod3 = cod(3,:); %Дискретизация Fd=1.023*10^6;%символьная скорость FsFd=2;% отношение частоты дискретизации к символьной скорости Fs=Fd*FsFd;% частота дискретизации t=(0:length(Cod3)*FsFd-1)/Fs;% дискретное время F_mod1 = Cod3(floor(Fd*t)+1);%код M_P= M_P1=cod(2,1:30); stem(M_P), axis([ 0 30 -0.1 1.1]) xlabel('Ко grid figure stem(M_P1),axis([ 0 30 -1.1 xlabe grid Графическое из 0 5 10 15 20 25 30 -1 -0.8 -0.6 -0.4 Рис. 1.5. Код спутника GPS 0 5 10 15 20 25 30 0 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0. 0 -0.2 8 1 Код GPS в символах "1","-1" Код GPS в двоичных символах 17 A_2=F_mod1(1:n);%код GPS subplot(1,2,1), stem( cod(3,1:30)),axis([ 0 30 -1.1 1.1]) xlabel('a', 'FontSize',12, 'FontName','TimesNewRoman') grid subplot(1,2,2), stem( A_2(1:60)),axis([ 0 60 -1.1 1.1]) xlabel('b','FontSize',12,'FontName','TimesNewRoman') grid Результат выполнения файла изображен на рис. 1.6. 0 5 10 15 20 25 30 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 10 20 30 40 50 60 -1 -0.8 -0.6 -0.4 -0.2 a 0 0.2 0.4 0.6 0.8 1 b Рис да спутника GPS № 3: а - без дискретизации, б - частота дискретизации 2 л Pr5_cod_GPS.m (Sv_id,n); :)= column_7; вольная скорость . 1.6.Тридцать символов ко Фай clear %Имя файла:Pr5_cod_GPS.m %Автокорреляционная функция кода GPS n=1023; for Sv_id=1:37 [cod(Sv_id,:),cod_bin(Sv_id,:),column_7,n]=cod_GPS col_7(Sv_id, end Cod4 = cod(4,:); %Дискретизация Fd=1.023*10^6;%сим 18 FsFd=2;% отношение частоты дискретизации к символьной скорости th(Cod4)*FsFd-1)/Fs;% дискретное время *FsFd; [CorA2,lags]=xcorr(A_2,nn);%автокорреляция кода GPS %Графика сигналов subplot(1,2,1) ,plot(CorA2), axis([ 0 2*nn -100 1100]) xlabel('a','FontSize',12, 'FontName','TimesNewRoman') grid on subplot(1,2,2) , plot(CorA2), axis([ 0 nn -150 150]) xlabel('б', 'FontSize',12,'FontName','TimesNewRoman') grid on Результат выполнения файла изображен на рис. 1.7. Fs=Fd*FsFd;% частота дискретизации t=(0:leng F_mod1 = (1/sqrt(FsFd))*Cod4(floor(Fd*t)+1);%код m=n*FsFd; nn=1023 A_2=F_mod1(1:m);%код GPS 0 1000 2000 3000 4000 0 200 400 600 800 1023 a 0 500 1000 1500 2000 -150 -100 -50 0 50 100 150 б Рис функция кода GPS: а - автокорреляция кода сигнала спутника № 4; овые лепестки функции автокорреляции . 1.7. Автокорреляционная б - бок 19 Файл Pr6_cod_GPS.m v_id,n); (24,:); ); орость -1)/Fs;% дискретное время mod1(1:m);%код GPS A Cor_13_24 = xcorr(A_2,A_3,nn);%взаимная корреляция кода 13 и 24 Cor_13_24_1 = xcorr(A_2(1:1023),A_3(1:1023),nn/2); %Графика сигналов subplot(1, 2, 1), plot(Cor_13_24),axis([ 0 2*nn -100 100]) xlabel('a ','FontSize',12,'FontName','TimesNewRoman') grid on subplot(1, 2, 2), plot(Cor_13_24_1),axis([0 nn -100 100]) xlabel('б ','FontSize',12,'FontName','TimesNewRoman') grid on Результат выполнения файла изображен на рис. 1.8. clear %Имя файла:Pr6_cod_GPS.m %Взаимная корреляция кодов спутников GPS n=1023; for Sv_id=1:37 [cod(Sv_id,:),cod_bin(Sv_id,:),column_7,n]=cod_GPS(S col_7(Sv_id,:)= column_7; end Cod24 = cod Cod13 =cod(13,: %Дискретизация Fd=1.023*10^6;%символьная ск FsFd=2;% отношение частоты дискретизации к символьной скорости Fs=Fd*FsFd;% частота дискретизации t=(0:length(Cod24)*FsFd F_mod1 = (1/sqrt(FsFd))*Cod24(floor(Fd*t)+1);%код F_mod3 = (1/sqrt(FsFd))*Cod13(floor(Fd*t)+1);%код m=n; m=n*FsFd; nn=1023*FsFd; A_2=F_ _3=F_mod3(1:m);%код GPS 20 0 1000 2000 3000 4000 -100 -80 -60 -40 -20 0 20 40 60 80 100 a 0 500 1000 1500 2000 -100 -80 -60 -40 -20 0 20 40 60 80 100 б Рис. 1.8.. Взаимная корреляция сигналов спутников № 13 и 24: а - на всем интервале одного периода кода; б-на половине интервала одного периода кода Файл Pr7_cod_GPS.m clear %Имя файла:Pr7_cod_GPS.m %Взаимная корреляция кода и копии кода спутников GPS n=1024*2; 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 Cod24 = cod(24,:); %Дискретизация Fd=1.023*10^6;%символьная скорость FsFd=2;% отношение частоты дискретизации к символьной скорости Fs=Fd*FsFd;% частота дискретизации t=(0:length(Cod24)*FsFd-1)/Fs;% дискретное время F_mod1 = (1/sqrt(FsFd))*Cod24(floor(Fd*t)+1);%код m=n*FsFd; nn=1023*FsFd; A_2=F_mod1(1:m);%код GPS Cor_24 = xcorr(A_2(500:2546),nn);%автокорреляция кода спутника 21 Cor_24_24_2 = xcorr(A_2(500:2546),A_2(500:2546),nn);%автокорреляция кода спутника с точной ко- пией Cor_24_24 = xcorr(A_2(498:2540),A_2(500:2546),nn);%взаимная корреляция кода с задержанной на 2 отсчета копией кода Cor_24_24_1 = xcorr(A_2(502:2548),A_2(500:2536),nn);%взаимная корреляция кода с опережающей на 2 отсчета копией кода %Графика сигналов subplot(4, 1, 1), stem(Cor_24_24),axis([ 2040 2055 -100 1100]) xlabel('a ','FontSize',12,'FontName','TimesNewRoman') grid on subplot(4, 1, 2), stem(Cor_24),axis([ 2040 2055 -100 1100]) xlabel('б ','FontSize',12,'FontName','TimesNewRoman') grid on subplot(4,1,3), stem(Cor_24_24_2),axis([ 2040 2055 -100 1100]) xlabel('в ','FontSize',12,'FontName','TimesNewRoman') grid on subplot(4, 1, 4), stem(Cor_24_24_1),axis([2040 2055 -100 1100]) xlabel('г ','FontSize',12,'FontName','TimesNewRoman') grid on Результат выполнения файла изображен на рис. 1.9. 2040 2045 2050 2055 0 500 1000 a 2040 2045 2050 2055 0 500 1000 б 2040 2045 2050 2055 0 500 1000 в 2040 2045 2050 2055 0 500 1000 г Рис. 1.9. Взаимная корреляция кода и копии кода сигнала спутников № 24: а - копия опережает код на 2 отсчета; б - автокорреляция кода сигнала; в - взаимная корреляция кода и ко- пии; в-копия отстает от кода сигнала на 2 отсчета 22 Пример m- файла для исследования корреляционных свойств суммы сигналов. Файл Pr8_CodGPS.m моделирует ситуацию, когда в зоне видимости находятся спутники, изображенные на рис. 6. 9. Спутники, данные которых обрабатывает приемник, имеют номера 2, 4, 5, 9,14, 17, 24, 30. Спутник 26 «не видим» приемником. Результаты выполне- ния m- файла изображены на рис. 1.10. Рис. 1.10. Видимые спутники GPS №№ 2, 4, 5, 9,14, 17, 24, 30 Файл 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;% частота дискретизации 23 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 24 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -10 0 10 а 0 500 1000 1500 2000 2500 3000 3500 4000 0 5000 10000 б 0 500 1000 1500 2000 2500 3000 3500 4000 -400 -200 0 200 400 в 0 500 1000 1500 2000 2500 3000 3500 4000 0 500 1000 г Рис. 1.11. Корреляционные характеристики сумм сигналов: а-сумма кодов 8 спутников; б-автокорреляция суммы кодов 8 спутников; в-корреляция суммы кодов 8 спутников и спутника 26; 'г-корреляция суммы кодов 8 спутников и спутника 9. Пример m- файла для исследования корреляционных свойств сигнала с шумом и копии сигнала. В файле в качестве источника шума использована функция MatLab «randn». Программа иллюстрирует качественную картину влияния шума на взаимную корреляцию сигнала с шумом и копии сигнала. Для получения количественных значений в m- файл следует подставить конкретные значения соотношения сигнал/шум. Файл Pr09_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))';%генерация шума 25 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]) 26 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 Результаты выполнения m- файла изображены на рис. 1.12. 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 0 500 1000 а 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 0 500 1000 б 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 0 500 1000 в 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 0 500 1000 г Рис. 1.12. Корреляция сигнала с шумом и копии сигнала: а-шум отсутствует; б-шум в 4 раза больше сигнала; в - шум в 8 раз больше сигнала; г- шум в 12 раз больше сигнала. Комплексная программа обработки псевдослучайных кодов спутников GPS. При- веденный ниже m- файл позволяет одновременно выполнить все процедуры обработки псевдослучайных кодов спутников GPS, рассмотренные в предыдущих примерах. Файл PrCodGPS S.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 27 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 %Графика сигналов %%%%%%%%%%%%%%%%%%%%%%%%% 28 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]) 29 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. 30 0 100 200 300 400 500 600 700 800 900 1000 1100 0 0.5 1 Код GPS в двоичных символах 0 100 200 300 400 500 600 700 800 900 1000 1100 -1 0 1 Код GPS в символах "1","-1" 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -2 0 2 Псевдослучайный шум 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -5 0 5 Код GPS плюс шум Рис. 1.13. Графика файла PrCodGPS.m- Figure 1 0 500 1000 1500 2000 2500 3000 3500 4000 0 500 1000 Автокорреляционная функция кода GPS 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -100 0 100 Боковые лепестки автокрреляционной функции кода GPS 0 500 1000 1500 2000 2500 3000 3500 4000 0 500 1000 Автокорреляционная функция шума 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -100 0 100 Боковые лепестки автокрреляционной функции шумa Рис. 1.14.. Графика файла PrCodGPS.m- Figure 2 0 500 1000 1500 2000 2500 3000 3500 4000 -100 0 100 Взаимная корреляция кода GPS и шума 0 500 1000 1500 2000 2500 3000 3500 4000 0 1000 2000 Автокорреляционная функция кода GPS плюс шум 0 500 1000 1500 2000 2500 3000 3500 4000 0 500 1000 Взаимная корреляция кода GPS плюс шум и копии кода GPS 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -200 0 200 Взаимная корреляция кода GPS плюс шум и копии кода GPS Рис. 1.15.. Графика файла PrCodGPS.m- Figure 3 31 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -10 0 10 Сумма кодов 11 спутников 0 500 1000 1500 2000 2500 3000 3500 4000 -1000 0 1000 2000 Автокорреляция суммы кодов 11 спутников 0 500 1000 1500 2000 2500 3000 3500 4000 0 500 1000 1500 Взаимная корреляция суммы кодов 11 спутников и кода 13 0 200 400 600 800 1000 1200 1400 1600 1800 2000 -500 0 500 Боковые лепестки взаимной корреляции суммы кодов 11 спутников и кода 13 Рис. 1.16. Графика файла PrCodGPS.m- Figure 4 0 500 1000 1500 2000 2500 3000 3500 4000 -100 -80 -60 -40 -20 0 20 40 60 80 100 Взаимная корреляция кода GPS (коды 13и 37) Рис. 1.17. Графика файла PrCodGPS.m- Figure 5 1.5 Псевдослучайный код спутников ГЛОНАСС 1.5.1 Лабораторная работа 1. 3 «Код спутников ГЛОНАСС» Цель лабораторной работы- формирование и исследование псевдослучайного ко- да спутников ГЛОНАСС. Рекомендуется следующий порядок выполнения лабораторной работы. 1. Создайте папку CodGLONASS_My и скопируйтев ее все программы из папки CodGLONASS. 2. Запустите MatLab, откройте функцию cod_GLONASS , изучите программные процеду- ры и комментарии, выполните задание. 3. Задание. Откройте файл BPS_K.m. Выполните файл. Опишите полученные графики и занесите описание графиков в отчет. 32 1.6 Функции и файлы из папки CodGLONASS Функция cod_GLONASS (формирование М- последовательности спутников ГЛО- НАСС) function [codGL, codGL_bin,Out,n]=cod_GLONASS(n); %Имя функции: cod_GLONASS %Функция cod_GLONASS вычисляет псевдослучайный код ГЛОНАСС %(М-последовательность). Входные данные: n- количество символов в М-последовательности. %Выходные данные: codGL- М- последовательность в символах "1", "-1" , %codGL_bin- М-последователности в символах "0", "1", %Out- столбцы кодов для сравнения, n- длина кода shift_reg=ones(1,9) ;%Начальное состояние регистра сдвига for i=1:n codGL_bin(i)=shift_reg(7); % Выход М-последователности в символах "0", "1" modulo2 = xor(shift_reg(9),shift_reg(5));%Сложение по модулю 2 символов с 9 и 5 выходов регистра сдвига shift_reg(2:9)=shift_reg(1:8); %Смещение данных в регистре сдвига shift_reg(1)=modulo2; % Сложение по модулю 2 на входе 1 регистра сдвига end codGL=2*codGL_bin-1;%М- последовательность в символах "1", "-1" Out=[codGL_bin' codGL' ]; % Столбцы кодов для сравнения Файла:BPS_K.m %Имя m--файла:BPS_K.m %программа расчета характеристик сигнала спутника ГЛОНАСС clear; n=511;%количество символов в М-последовательности [codGL, codGL_bin,Out,n]=cod_GLONASS(n);%функция, формирующая М-последовательность Dat= codGL_bin; fDat=0.511*10^6;% скорость передачи данных fc=4*fDat ; %carrier frequency-несущая частота fd=32*fDat; %частота дискретизации fd_fDat=fd/fDat; %отношение частоты дискретизации к символьной скорости t=(0:length(Dat)*fd_fDat-1)/fd; % дискретное время t1=(0:length(codGL)*fd_fDat-1)/fd;% дискретное время BPSK=cos(2*pi*fc*t + pi*Dat(floor(fDat*t)+1));%модулированный сигнал %y= pmmod(Dat(floor(fDat*t)+1),fc,fd,pi) ;%модулированный сигнал (вариант) y=BPSK; %преобразование частоты x1=y.*cos(2*pi*fc*t); 33 x=y.*cos(2*pi*fc*t); [b1,a1]=butter(3,fc*2/fd);%фильтр нижних частот с максимально-плоской характеристикой [b,a]=ellip(10,2,60,fc*2/(32*fDat));%фильтр нижних частот с эллиптической характеристикой %фильтрация высокочастотных составляющих x1=filtfilt(b1,a1,x1); x=filtfilt(b,a,x); m=3.20; %Графика fig1=figure; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Сигналы спутников ГЛОНАСС %Несущая subplot(3,1,1),plot(t,cos(2*pi*fc*t)) xlabel('а','FontSize',12,'FontName', 'TimesNewRoman') grid on xlim([3.07*10^(-4) m*10^(-4)]) ylim([-1.5 1.5]) %Несущая, модулированная М-последовательностью subplot(3,1,2),plot(t,BPSK) xlabel('б','FontSize',12,'FontName', 'TimesNewRoman') grid on xlim([3.07*10^(-4) m*10^(-4)]) ylim([-1.5 1.5]) %М-последовательность subplot(3,1,3),stem(t,Dat(floor(fDat*t)+1)) xlabel('в','FontSize',12,'FontName', 'TimesNewRoman') grid on xlim([3.07*10^(-4) m*10^(-4)]) ylim([-1.5 1.5]) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Фильтрация демодулированного сигнала ГЛОНАСС фильтром нижних частот с %максимально плоской и эллиптической характеристиками m=5; %figure(fig1); fig2=figure; subplot(3,1,1), plot(t,Dat(floor(fDat*t)+1)) xlabel('а','FontSize',12,'FontName', 'TimesNewRoman') grid on xlim([3.07*10^(-4) m*10^(-4)]) ylim([-1.5 1.5]) 34 subplot(3,1,2), plot(t,x1) xlabel('б','FontSize',12,'FontName', 'TimesNewRoman') grid on xlim([3.07*10^(-4) m*10^(-4)]) ylim([-1.5 1.5]) subplot(3,1,3), plot(t,x) xlabel('в','FontSize',12,'FontName', 'TimesNewRoman') grid on xlim([3.07*10^(-4) m*10^(-4)]) ylim([-1.5 1.5]) %Фильтры fig3=figure; freqz(b1,a1,512,32*fDat), xlabel('а','FontSize',12,'FontName', 'TimesNewRoman') fig4=figure; freqz(b,a,512,32*fDat), xlabel('а','FontSize',12,'FontName', 'TimesNewRoman') Результаты выполнения файла -:BPS_K.m приведены на рис. 1.18…рис. 1.21. 3.08 3.1 3.12 3.14 3.16 3.18 3.2 x 10 -4 -1 0 1 а 3.08 3.1 3.12 3.14 3.16 3.18 3.2 x 10 -4 -1 0 1 б 3.08 3.1 3.12 3.14 3.16 3.18 3.2 x 10 -4 -1 0 1 в Рис. 1.18. Сигнал ГЛОНАСС- Figure 1: а- несущая; б- модулированная несущая; в- выборка дискретизированной М-последовательности 35 3.2 3.4 3.6 3.8 4 4.2 4.4 4.6 4.8 5 x 10 -4 -1 0 1 а 3.2 3.4 3.6 3.8 4 4.2 4.4 4.6 4.8 5 x 10 -4 -1 0 1 б 3.2 3.4 3.6 3.8 4 4.2 4.4 4.6 4.8 5 x 10 -4 -1 0 1 в Рис. 1.19. Сигнал ГЛОНАСС- Figure 2: а- М-последовательность до модуляции; б- М-последовательность после модуляции и фильтрации фильтром с максимально плоской характе- ристикой; в- М-последовательность после модуляции и фильтрации фильтром с эллиптической характеристикой 0 1 2 3 4 5 6 7 8 x 10 6 -300 -250 -200 -150 -100 -50 0 Frequency (Hz) P ha se ( degr ee s) 0 1 2 3 4 5 6 7 8 x 10 6 -200 -150 -100 -50 0 а M agni tu de ( dB ) Рис. 1.20. Фильтр с максимально плоской характеристикой- Figure 3:верхний график- АЧХ; нижний график-ФЧХ 36 0 1 2 3 4 5 6 7 8 x 10 6 -1000 -800 -600 -400 -200 0 200 Frequency (Hz) P has e ( degr ees ) 0 1 2 3 4 5 6 7 8 x 10 6 -150 -100 -50 0 а M agni tude ( dB ) Рис. 1.21. Фильтр с эллиптической характеристикой- Figure 4:верхний график- АЧХ; нижний график-ФЧХ 1.7 Вопросы и задания для самостоятельной подготовки 1. Запишите математическую процедуру «сложение по модулю 2». 2. При каких условиях «сложение по модулю 2» можно заменить умножением? 3. Что такое псевдослучайный сигнал? 4. Есть ли разница между псевдослучайным сигналом и M- последовательностью? 5. Для чего кодируются сигналы навигационных спутников? 6. Запишите образующий полином для сигналов спутников ГЛОНАСС. 7. Запишите образующие полиномы для сигналов спутников GPS. 8. Какая связь между регистрами сдвига, формирующими коды сигналов спутников и образующими полиномами? 9. Опишите механизм формирования псевдослучайного кода спутников GPS. 10. Опишите механизм формирования M- последовательности спутников ГЛОНАСС. 11. Что обозначает понятие кодовое разделение сигналов? 12. Как идентифицируются спутники GPS? 13. Как идентифицируются спутники ГЛОНАСС? 14. Как понимать термин «отношение сигнал/шум»? 15. Опишите параметры функции корреляции. 37 |