Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Моделирование MBOC - сигнала GPS ; MATLAB
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
chapaew
Добрый день, уважаемые участники.
Буду признателен за любую помощь в вышеуказанной теме, благодарен за любые m-файлы, исходники, которые могли бы пригодиться.
Очень рассчитываю на Вашу помощь.
Fat Robot
А что Вы уже сделали самостоятельно? И что у Вас не получается?

Цитата(chapaew @ Jun 12 2013, 13:28) *
исходники, которые могли бы пригодиться.

chapaew


Цитата(Fat Robot @ Jun 12 2013, 13:47) *
А что Вы уже сделали самостоятельно? И что у Вас не получается?

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

Нашел в сети такой алгоритм:



CODE
clear
clc
close all

fs=200e6; %Частота дискретизации
ts=1/fs; %Время дискретизации

%--------------------------------------------------------
Esig=1; %Амплитуда сигнала
Td=1e-6; %Длительность дискрета
Faz0=0*pi/180; %Начальная фаза сигнала

tr=0; %Время задержки сигнала

%------------------------------Код Баркера---------------------------------
PSK=[0;0;0;0;0;1;1;0;0;1;0;1;0];
Npsk=length(PSK);
Faz=pi*PSK;
%--------------------------------------------------------------------------

% --------------------------М-последовательность----------------------------
GP1=[1 1 0 1 0 0 1 1]; %Порождающий полином
%
NumReg=length(GP1)-1; %Число регистров формирователя
InSt=zeros(1,NumReg); %Вектор инициализации начального состояния регистра
InSt(end)=1;
Npsk=2^NumReg-1; %Длина последовательности
%
% Создание PN sequence generator object
h=seqgen.pn('GenPoly',GP1,'InitialStates',InSt,'CurrentStates',InSt,'Shift',0,'NumBitsOut',Npsk);
%
PSK=generate(h); %Вектор закона фазовой модуляции
Faz=pi*PSK;
% --------------------------------------------------------------------------

T0=Td*Npsk; %Длительность сигнала
BWpsk=1/Td; %Ширина спектра КФМ
f0=2e6; %Несущая частота сигнала

%--------------------------------------------------------

TwoPiF0=2*pi*f0;

%---------Массивы для непрерывного КФМ сигнала-----------
Npl=5000; %Количество отсчетов непрерывного сигнала
dt=T0/Npl;
timePl=(0:Npl-1).'*dt;

%Импульс с фазовой модуляцией
SigPl=Esig*exp(1j*(TwoPiF0*timePl+Faz0+Faz(floor(timePl/Td)+1)));

tPl=timePl+tr;
%--------------------------------------------------------

Nsig=2^12; %Количество отсчетов сигнала
df=fs/Nsig; %Разрешение анализатора ДПФ по частоте

n=(0:Nsig-1).';
timeD=n*ts; %Время оцифровки сигнала
Sig0=zeros(Nsig,1); %Нулевой массив комплексного сигнала

timeD2=timeD-tr;
nSig=find(0<=timeD2&timeD2<T0); %Оцифровка внутри импульса
timeSig=timeD2(nSig); %Время относительно начала импульса

%Оцифрованный сигнал
Sig0(nSig)=Esig*exp(1j*(TwoPiF0*timeSig+Faz0+Faz(floor(timeSig/Td)+1)));


figure(1)
SetAxis=[0 timeD(Nsig) -1.2*Esig 1.2*Esig];
subplot(2,1,1)
plot(timeD,real(Sig0),'.',tPl,real(SigPl))
axis(SetAxis)
grid on
xlabel('Время, с', 'FontName', 'Arial Cyr')
ylabel('Амплитуда, В', 'FontName', 'Arial Cyr')
title('Реальная составляющая импульса', 'FontName', 'Arial Cyr')
hold on
SetAxis=[0 timeD(Nsig) -1.2*Esig 1.2*Esig];
subplot(2,1,2)
plot(timeD,imag(Sig0),'.',tPl,imag(SigPl))
axis(SetAxis)
grid on
xlabel('Время, с', 'FontName', 'Arial Cyr')
ylabel('Амплитуда, В', 'FontName', 'Arial Cyr')
title('Мнимая составляющая импульса', 'FontName', 'Arial Cyr')


Но не понимаю в коде нескольких моментов-
во-первых, для чего сигнал представлен в комплексном виде?

Если я правильно понимаю алгоритм формирования,то нам нужно генерировать м-последовательность, каждому символу информационной посылки поставить в соответствие период этой послед-сти, промодулировать получившейся последовательностью фазу синусоиды и сложить ее с меандровым колебанием.
я прав,или..?
Serg76
как вариант http://electronix.ru/forum/index.php?showtopic=48523#
Fat Robot
Cтатья про BOC
http://en.wikipedia.org/wiki/Binary_offset_carrier

Cтатья про MBOC
http://en.wikipedia.org/wiki/MBOC

ICD для сигнала GPS L1C и для Galileo есть в открытом доступе. В них нарисованы и описаны структурные схемы формирователей интересующих Вас сигналов.

Возможно где-то есть тестовые векторы или ref. design для формирователей.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.