Система управления движением локомотива с использованием ГЛОНАСС/GPS
Разработка системы управления для обеспечения передачи данных с бортовой аппаратуры локомотива на диспетчерскую станцию для ее обработки. Удобное отображение полученной информации на цифровой карте или схеме путеводного развития объекта внедрения.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.06.2016 |
Размер файла | 1,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
.
При асинхронном режиме передаче вначале и в конце сообщения посылается соответственно старт и 2 стоп-бита. Следовательно, длина сообщения составляет 11 бит. Тогда длительность сообщения определяется по формуле:
Длительность импульса определяется по формуле
, (4.5)
где Q - скважность, примем .
Подставив значения, получим
Практическая полоса частот при передаче радиоимпульсами определяется по формуле:
. (4.5)
Скремблирование не расширяет полосу практическую полосу частот, фактически получаем:
7. Системные расчёты
7.1 Расчет и построение спектра сигналов в линии связи
Зная мощность передатчика, вычисляем амплитуду носителя:
В
Как известно, спектр ЧМП сигнала состоит из бесконечного множества гармонических составляющих вида . Согласно используемому виду модуляции (GMSK) реализуется модуляция вида MSK, которая является видом ЧМ с индексом манипуляции=0,5.
.
Тогда выражение для указанного ЧМП сигнала будет иметь вид:
Расчет амплитуд гармонических составляющих сведем в таблицу 8.2.
Таблица 8.2 - Значения амплитуд гармонических составляющих спектра ЧМП сигнала
Вид составляющей |
Выражение для расчета амплитуд |
Амплитуда, В |
|
0,135 |
|||
-3,288 |
|||
-0,009 |
|||
0,05 |
|||
-0.00215 |
|||
Спектр ЧМП сигнала, построенный в соответствии с таблицей 4.3, показан на рисунке 4.26.
Определим среднюю мощность сигнала в полосе.
Вт.
Рисунок 8.2 - Практический спектр сигнала
7.2 Расчёт помехоустойчивости
Вероятность искажения одиночного сигнала P1 = 5*10-3, исходя их этого возможно сразу вычислить помехоустойчивость.
В проектируемом устройстве используется циклический код с d=4, что позволяет обнаруживать ошибки до тройных, включительно, исправление ошибок не производится, длина посылки - 1600 бит. Вероятность правильного приема при таких условиях составляет:
(8.5)
Подставив численное значение, получаем:
Вероятность обнаружения ошибки вычисляется по формуле:
(8.6)
Вероятность необнаруженной ошибки вычисляется по формуле:
(8.7)
Вероятности правильного приема , возникновения обнаруженной ошибки и возникновения необнаруженной ошибки образуют полную группу событий.
(8.8)
Т.о. произведем проверку . Помехоустойчивость устройства в пределах нормы.
7.3 Расчет надежности
Надежность - свойство изделия выполнять заданные функции, сохраняя эксплуатационные показатели в заданных пределах в течение требуемого промежутка времени. Надежность является комплексным свойством, которое обуславливается качественными характеристиками (безотказностью, долговечностью, ремонтопригодностью и сохраняемостью) и количественными:
вероятностью безотказной работы
, (8.5)
где е - основание натурального логарифма;
t - заданное время работы изделия;
средней наработкой до отказа
To = 1/ лсх; (8.6)
интенсивностью отказа схемы
лсх = лR · k1 + лC · k2 + лпайки · k3 + …, (8.7)
где лi - интенсивность отказов элементов данной группы;
ki - количество элементов данной группы;
Q= 1 - P - вероятностью отказа
Порядок расчета:
выбираем значения лi для элементов, которые входят в состав нашего изделия;
по выражению (8.7) рассчитываем интенсивность отказа схемы;
из выражения (8.6) находим наработку до отказа;
по выражению (8.5) определяем вероятность безотказной работы.
Произведем расчет количественных показателей надежности изделия, заданного в условии задачи. Для удобства расчета лсх составим таблицу 7.
Таблица 7 - Таблица расчета интенсивности отказа схемы
Тип элемента |
л, 1/час |
Кол-во, шт |
лi, 1/час |
|
Цифровые интегральные микросхемы |
2,5 · 10-7 |
14 |
35 10-7 |
|
Конденсаторы керамические |
10-7 |
11 |
11 · 10-7 |
|
Резисторы пленочные |
2 · 10-8 |
8 |
1,6 10-7 |
|
Кварцевые резонаторы |
10-7 |
1 |
10-7 |
|
Аналоговые интегральные микросхемы |
10-8 |
21 |
2,1 10-7 |
|
лсх = 50,7 · 10-7 |
Тогда наработка до отказа составит
ч.
Вероятность безотказной работы при времени работы изделия, равным 1000000 ч., будет
.
Следовательно, вероятность отказа составит
.
8. Разработка программного обеспечения
8.1 Программа работы микроконтроллера на передатчике
Программа работы формирователя блока:
ORG 00H
JMP M0
ORG03H; формирование вектора
JMPINT; внешнего прерывания
ORG06H; основная программа
M0: SETBEA; разрешение всех прерываний
SETBEX0; разрешение внешнего прерывания
MOVP1, #FFH;
MOV R0, #00H; запись начального адреса
MOV R7, #00H; запись адреса приемника
M1: JMPM1; ожидание прерывания
INT: MOVP1, A; подпрограмма обработки прерывания
MOVA, P1; ввод данных
MOVX @R0, A; из А в ячейку BПД
CJNE R0, #96H, M2;
CLR EA; запрет внешних прерываний
M2: INC R0
RETI; возврат из подпрограммы
SETBP3.0; запрос разрешения выдачи информации
M3: JNB P3.1, M3; ожидание подтверждения
MOVR0, #00H
MOVX A, @R0; выдача блока данных в порт P2
MOVP0, A
INCR0
CJNER0, #AFH, M3
END
Программа работы УОД передающей стороны:
ORG06H; начало основной программы
SETBEA; разрешение всех прерываний
SETBEX0; разрешение внешнего прерывания
MOVDPTR, #0000H; обнуление регистра DPTR
MOVR2, #96H; длина блока данных в байтах
MOVP0, #FFH; открытие фиксаторов на портах
SETBP1.0; ввода-вывода
SETBP1.1
POLL: JBP1.0, DATA1; опрос линий 0,1 порта P1
JBP1.1, DATA2; о готовности выдачи
JMPPOLL
Подпрограмма записи информации от источника:
DATA1: MOV@R1, #01H; номер источника информации
MOV@R0, #01H; номер приемника информации
MOVR3, R2; длина блока информации
MOVDPTR, #0000H;
; сохранение информации
SAVE1: SETBP3.0; строб формирователя блока
MOVA, P1; данных на выдачу информации
CLRP3.0; снятие строба
MOVX@DPTR, A; запись в ВПД
INCDPTR;
DJNZR3, SAVE1; проверка длины блока данных
JMPSHIFR
Подпрограмма для шифрования данных методом шифрования с открытым ключом:
SHIFR: MOV R1, #ABH; адрес ВПД куда записываются
; зашифрованные данные
MOV R0, #00H; начало ВПД (Ai)
MOV R7, 10H; размер ключа
MOV R3, #00;
LKLUCH: MOV A, @R0;
MOV R6, A;
MOVX A, @R0;
SUBB A, R6;
MOVX @ R1, A;
INC R0;
INC R1;
DJNZ R7, LKLUCH;
REPEAT: MOV R4, R0;
MOV R0, R3;
MOVX A, @R0;
MOV R7, A;
MOV R0, R4;
MOVX A, @R0;
SUBB A, R7;
MOVX @R1, A;
INC R3;
INC R1;
INC R0;
CJNE R0, # 06, REPEAT
JMPRLE;
Подпрограмма сжатия методом RLE:
; подпрограмма сжатия данных
RLE: CLRES; запрещение прерываний
CLRET1; последовательного порта и
CLRET0; таймеров
MOVSCON, #0C8H; настройка последовательного
; порта на третий режим работы
; установка программируемого
; девятого бита в единицу, как
; второго стоп-бита
MOVTMOD, #20H; настройка и подготовка к работе
;
MOVTH1, #0E6H;
MOVTL1, #0E6H;
;
MOVR6, #00H; в регистр R6 заносится
очередной байт
MOVDPTR, #1B00H;
MOVR0, #18H; очередной блок данных
; сравнивается с о следующим
MOVA, @R0;
ANLA, #0FH;
MOVDPL, R3;
MOVX@DPTR, A; если есть совпадения инкремен INCR3; тируется счетчик числа
; совпадений и инкрементирует
SETBTR1; ся счетчик длины сжатого
; блока
MOVSBUF, R3;
MOVDPL, #00H; сравнение с сгенерированным
MOVXA, @DPTR; служебным символом и
MOVR5, A; занесение в устройство
MOVR1, #00H; записи
; начало цикла кодирования
CYCL: CLRC; сброс флага перенос
MOVA, R5; RRC A;
MOVR5, A;
MOVA, R6;
RRA;
ANLA, #7FH;
ORLA, #40H;
JMPCYCLIC
Подпрограмма кодирования циклическим кодом P (x) = x16 + x12 + x5 + 1:
CYCLIC: MOVR0, #0AH; состояния триггерных ячеек
CYCL_1: MOV@R0, #00H; 0 - 15 записываются в трёх
INCR0; байтах РПД: #0AH - #0CH и
CJNER0, #10H, CYCL_1; первоначально равны нулю
; предыдущие состояния:
; #0DH - #0FH
MOVDPTR, #1B00H; начало зашифрованного
; блока информации
MOVXA, @DPTR; первый байт блока
MOVR6, A; записывается в регистр R6
MOVDPL, R3; добавление к блоку
DECDPL; информации трёх нулевых
MOVX@DPTR, #00H; байт, исходя из того, что
INCDPL; старшая степень
MOVX@DPTR, #00H; образующего полинома
INCDPL; равна 16
MOVX@DPTR, #00H;
MOVDPL, #00H;
MOVA, R3; новая длина блока
ADDA, #03H; информации равна длине
MOVR1, A; блока исходных данных
; плюс три дополнительных байта
; начало основного цикла
CYCL_B: MOVR4, #08H; количество бит
; начало внутреннего цикла
CYCL_M: CLRC; сброс флага переноса
MOVR0, #0EH; организация циклического
MOVA, @R0; сдвига вправо всех ячеек
RRCA; сдвигового регистра деления
INCR0; длиной в три байта и
MOVA, @R0; перезапись нового состояния
RRCA; ячеек с адресов для их
MOVR0, #0CH; предыдущего состояния на
MOV@R0, A; адреса для их текущего
INCR0; состояния
MOVA, @R0;
RRCA;
MOVR0, #0AH;
MOV@R0, A;
MOVR0, #0EH;
MOVA, @R0;
RRCA;
MOVR0, #0BH;
MOV@R0, A;
DECR0; установка указателя адреса
; на старший байт ячеек
; сдвигового регистра деления
MOVA, R6; анализ байта входных
; данных
RLCA; проверка старшего бита и
CLRA.0; переход к следующему биту
MOVR6, A; сохранение сдвинутого байта
JNCBYTE_1; переход к анализу старшего
; байта ячеек сдвигового
; регистра деления, если
; старший бит входных
; данных нулевой
; подпрограмма суммирования
; по модулю 2 старшего бита входных данных и старшего
; бита старшего байта ячеек
; регистра деления
CLRC; сброс флага переноса
MOVA, @R0; старший байт регистра
RLCA; проверка старшего бита
RRA;
JNCC_0; переход, если старший бит
; нуль
CLRC; если старший бит единица,
CLRA.7; то после сложения по
JMPBYTE_1; модулю два, он равен нулю
C_0: SETBA.7; если старший бит нуль, то
JMPBYTE_1; после сложения по модулю
; два, он равен единице
; подпрограмма обработки
; старшего байта ячеек
; регистра в соответствии с
; образующим полиномом
BYTE_1: MOV@R0, A; определение последнего бита
MOVR0, #0FH; ячеек регистра деления из
MOVA, @R0; его предыдущего состояния
RRCA;
JNCSAVE; переход, если бит равен
; нулю
CLRC; если бит равен единице, то
MOVR0, #0AH; старший байт регистра
MOVA, @R0; деления изменяется в
ANLA, #2AH; соответствии с полиномом
XRLA, #2AH;
MOVB, @R0;
ANLB, #0D5H;
ORLA, B;
MOV@R0, A;
MOVR0, #0CH; аналогично производится
MOVA, @R0; обработка младшего байта
ANLA, #01H;
XRLA, #01H;
MOVB, @R0;
ANLB, #0FEH;
ORLA, B;
MOV@R0, A
SAVE: MOVR0, #0AH; перезапись текущего
MOVA, @R0; состояния ячеек регистра
MOVR0, #0DH; деления на адреса для их
MOV@R0, A; предыдущего состояния
MOVR0, #0BH;
MOVA, @R0;
MOVR0, #0EH;
MOV@R0, A;
MOVR0, #0CH;
MOVA, @R0;
MOVR0, #0FH;
MOV@R0, A;
DJNZR4, CYCL_M; проверка прохождения цикла
; по всем восьми битам
; входного байта
; если предыдущий цикл
INCDPL; завершён, то производится
MOVXA, @DPTR; обработка следующего байта
MOVR6, A; входных данных
DJNZR1, CYCL_B; проверка завершения
; основного цикла
MOVDPL, R3; добавление полученных
DECDPL; контрольных символов в
MOVR0, #0DH; ячейках регистра деления к
CYCL_2: MOVA, @R0; исходной кодовой
MOVX@DPTR, A; комбинации
INCR0;
INCDPL;
CJNER0, #10H, CYCL_2;
MOVR3, DPL;
MOVP1, 11111111; формирование синхросигнала
JMPCDP
9.2 Программа работы микроконтроллера на приемнике
Подпрограмма декодирования циклическим кодом:
CYCLIC: MOVR5, #0AH; состояния триггерных ячеек 0 - 15
CYCL_1: MOV@R5, #00H; записываются в двух байтах РПД
INCR5; 0A - 0C и первоначально равны
CJNER5, #10H, CYCL_1; нулю предыдущие состояния: 0D - 0F
MOVDPTR, #2000H; начало зашифрованного блока
MOVXA, @DPTR; первый байт блока записывается в
MOVR7, A; регистр R7
MOVDPL, R4; добавление к блоку информации
DECDPL; двух нулевых байт, исходя из того,
MOVX@DPTR, #00H; что старшая степень образующего
INCDPL; полинома равна 24
MOVX@DPTR, #00H;
INCDPL;
MOVX@DPTR, #00H;
MOVDPL, #00H;
MOVA, R4; новая длина блока информации
ADDA, #03H; равна длине блока исходных
MOVR3, A; данных плюс два дополнительных байта
Начало основного цикла:
CYCL_B: MOVR6, #08H; количество бит
; начало внутреннего цикла
CYCL_M: CLRC; сброс флага переноса
MOVR5, #0EH; организация циклического сдвига
MOVA, @R5; вправо всех ячеек сдвигового
RRCA; регистра деления длиной в три
INCR5; байта и перезапись нового
MOVA, @R5; состояния ячеек с адресов для их
RRCA; предыдущего состояния на адреса
MOVR5, #0CH; для их текущего состояния
MOV@R5, A;
INCR5;
MOVA, @R5;
RRCA;
MOVR5, #0AH;
MOV@R5, A;
MOVR5, #0EH;
MOVA, @R5;
RRCA;
MOVR5, #0BH;
MOV@R5, A;
DECR5; установка указателя адреса на
; старший байт ячеек сдвигового
; регистра деления
MOVA, R7; анализ байта входных данных
RLCA; проверка старшего бита и переход
CLRA.0; к следующему биту
MOVR7, A; сохранение сдвинутого байта
JNCBYTE_1; переход к анализу старшего байта
; ячеек сдвигового регистра
; деления, если старший бит
; входных данных нулевой
Подпрограмма суммирования по модулю два старшего бита входных данных и старшего бита старшего байта ячеек регистра деления:
CLRC;
MOVA, @R5; старший байт регистра
RLCA; проверка старшего бита
RRA;
JNCC_0; переход, если старший бит нуль
CLRC; если старший бит единица, то
CLRA.7; после сложения по модулю два, он
JMPBYTE_1; равен нулю
C_0: SETBA.7; если старший бит нуль, то после
JMPBYTE_1; сложения по модулю два, он равен
; единице
Подпрограмма обработки старшего байта ячеек регистра в соответствии с образующим полиномом:
BYTE_1: MOV@R5, A; определение последнего бита
MOVR5, #0FH; ячеек регистра деления из
MOVA, @R0; предыдущего его состояния
RRCA;
JNCSAVE; переход, если бит равен нулю
CLRC; если бит равен единице, то
MOVR5, #0AH; старший байт регистра деления
MOVA, @R5; изменяется в соответствии с
ANLA, #2AH; полиномом
XRLA, #2AH;
MOVB, @R5;
ANLB, #D5H;
ORLA, B;
MOV@R5, A;
MOVR5, #0CH; аналогично производится
MOVA, @R5; обработка младшего байта
ANLA, #01H;
XRLA, #01H;
MOVB, @R5;
ANLB, #FEH;
ORLA, B;
MOV@R5, A;
SAVE: MOVR5, #0AH; перезапись текущего состояния
MOVA, @R5; ячеек регистра деления на адреса
MOVR5, #0DH; для их предыдущего состояния
MOV@R5, A;
MOVR5, #0BH;
MOVA, @R5;
MOVR5, #0EH;
MOV@R5, A;
MOVR5, #0CH;
MOVA, @R5;
MOVR5, #0FH;
MOV@R5, A;
DJNZR6, CYCL_M; проверка прохождения цикла по
; всем восьми битам входного байта
; если предыдущий цикл завершён,
INCDPL; то производится обработка
MOVXA, @DPTR; следующего байта входных
MOVR7, A; данных
DJNZR3, CYCL_B; проверка завершения основного
; цикла
MOVDPL, R4; добавление полученных
DECDPL; контрольных символов в ячейках
MOVR5, #0DH; регистра деления к исходной
CYCL_2: MOVA, @R5; кодовой комбинации
MOVX@DPTR, A;
INCR5;
INCDPL;
CJNER5, #10H, CYCL_2;
MOV R3, FC; восстановление длины блока
MOV A, R4; данных
ADD A, R3;
MOV R3, A;
JMP DESHIFR;
Подпрограмма декодирования шифра с открытым ключом:
На вход подаются данные с адреса 00h ВПД
DESHIFR: MOV R1, #ABH; адрес ВПД куда записываются
; расшифрованные данные;
MOV R0, #00H; начало ВПД (Ai)
MOV R7, 10H; размер ключа
MOV R3, #00;
LKLUCH: MOV A, @R0;
MOV R6, A;
MOVX A, @R0;
ADD A, R6;
MOVX @ R1, A;
INC R0;
INC R1;
DJNZ R7, LKLUCH;
REPEAT: MOV R4, R0;
MOV R0, R3;
MOVX A, @R0;
MOV R7, A;
MOV R0, R4;
MOVX A, @R0;
ADD A, R7;
MOVX @R1, A;
INC R3;
INC R1;
INC R0;
CJNE R0, # 06, REPEAT;
JMP RLE;
Подпрограмма декомпрессии данных методом RLE:
RLE:.; программа сохраняет
.; разархивированные данные в
.; ВПД на адресах #0200H -
.; #0296A длина
.; разархивированного блока
.; данных - 150 байт регистр
.; R2 - длина блока данных
JMPMOVE; переход к подпрограмме
; выдачи данных к приёмнику
MOVE: MOVX A, @R0; выдача блока данных в порт P1.0
MOVP0.1, A
INCR0
CJNER0, #AFH, M3
Подпрограмма выдачи информации к приёмному устройству:
MOVE: MOVDPTR, #0200H; адрес начала блока данных
STROB: MOVXA, @DPTR;
SETBP1.0; выдача стробирующего
; импульса на линию 0 порта
; P1
MOVP0, A; выдача данных в порт P0
CLRP1.0; снятие строба
INCDPL; переход к следующему байту
; данных
CJNEDPL, R2, STROB; проверка завершения цикла
; выдачи информации
JMPDATA; переход к подпрограмме
; приёма информации
END
Подпрограмма модуляции и демодуляции ФМ-8 радиосигнала:
function varargout = psk8 (varargin)
% PSK8 M-file for psk8. fig
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct ('gui_Name', mfilename,.
'gui_Singleton', gui_Singleton,.
'gui_OpeningFcn', @psk8_OpeningFcn,.
'gui_OutputFcn', @psk8_OutputFcn,.
'gui_LayoutFcn', [],.
'gui_Callback', []);
if nargin & isstr (varargin{1})
gui_State. gui_Callback = str2func (varargin{1});
end
if nargout
[varargout{1: nargout}] = gui_mainfcn (gui_State, varargin{: });
Else
gui_mainfcn (gui_State, varargin{: });
end
% End initialization code - DO NOT EDIT
function psk8_OpeningFcn (hObject, eventdata, handles, varargin)
handles. output = hObject;
%< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %<
handles. menu_data = {{.
'Передаваемое сообщение [In] '.
'Сигнал [C1] '.
'Сигнал [C2] '.
'Сигнал [C3] '.
'Сигнал I [U1] '.
'Сигнал Q [U2] '.
'Носитель [G1] '.
'Носитель [G2] '.
'Модулирующий сигнал [U3] '.
'Модулирующий сигнал [U4] '.
'ФM-8 радиосигнал [M] '} {.
'ФM-8 радиосигнал [M] '.
'Носитель [G1] '.
'Носитель [G2] '.
'Сигнал [U5] '.
'Сигнал [U6] '.
'Сигнал [U7] '.
'Сигнал [U8] '.
'Сигнал генератора [G3] '.
'Сигнал [D1] '.
'Сигнал [D2] '.
'Сигнал [D3] '.
'Принятое сообщение [Out] '}};
handles. map = {.
[1,1; 1,2; 1,3; 1,4; 1,5; 1,6; 1,7; 1,8; 1,9; 1,10; 1,11].
[1,11; 1,7; 1,8; 2,1; 2,2; 2,3; 2,4; 2,5; 2,6; 2,7; 2,8; 2,9] };
guidata (hObject, handles);
set (handles. menu2,'String',handles. menu_data{1});
set (handles. figure1,'Name', `GMSK);
% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >%
function varargout = psk8_OutputFcn (hObject, eventdata, handles)
varargout{1} = handles. output;
function figure_CloseRequestFcn (hObject, eventdata, handles)
%< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %<
close_system ('psk8m',0);
% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >%
delete (hObject);
function button1_Callback (hObject, eventdata, handles)
set (handles. save,'Enable','on')
Msg = get (handles. edit1,'String');
N = length (Msg);
Fd = eval (get (handles. edit2,'String')); % скорость передачи
Fc = eval (get (handles. edit3,'String')); % частота носителЯ
w0 = eval (get (handles. edit4,'String')); % начальнаЯ фаза носителЯ
Td = 1/Fd; % длительность импульса
for i = 1: N,
Message (i,1) = (i-1) /Fd;
if Msg (i) == '1' Message (i,2) = 1;
else Message (i,2) = 0;
end;
end;
Message (N+1,1) = N/Fd;
Messahe (N+1,2) = 0;
assignin ('base','Message',Message);
%< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %< %<
Tc = (N+2) /Fd+1/Fc; % длительность сообщениЯ
dT = strcat ('1/',num2str (Fd));
MaxF = 5000;
if (rem (Fc,1) ~= 0) | (rem (Fd,1) ~= 0), dF = Fd*Fc;
else dF = lcm (Fd,Fc);
end;
if dF > MaxF, dF = Fc; end;
if fix (MaxF/dF) ~= 0, dF = dF*fix (MaxF/dF); end;
% Запуск модели у установка параметров
open_system ('psk8m');
set_param ('psk8m','StopTime',num2str (Tc));
set_param ('psk8m','MaxStep',num2str (Tc/dF));
set_param ('psk8m/Control/Message','SampleTime',dT);
set_param ('psk8m/Control/Zero-Order Hold','SampleTime',dT);
set_param ('psk8m/Control/Scope1','TimeRange',num2str (Tc));
set_param ('psk8m/Control/Scope2','TimeRange',num2str (Tc));
set_param ('psk8m/Demux/G0','SampleTime',dT);
set_param ('psk8m/Demux/In1','SampleTime',dT);
set_param ('psk8m/G1','Frequency',strcat ('2*pi*',num2str (Fc)));
set_param ('psk8m/G1','Phase',strcat ('pi/2+',num2str (w0)));
set_param ('psk8m/G2','Frequency',strcat ('2*pi*',num2str (Fc)));
set_param ('psk8m/G2','Phase',num2str (w0));
set_param ('psk8m/Filter1/LPF','Wlo',strcat ('2*pi*',num2str (Fc)));
set_param ('psk8m/Filter2/LPF','Wlo',strcat ('2*pi*',num2str (Fc)));
set_param ('psk8m/G3/G3a','Period',strcat ('3/',num2str (Fd)));
set_param ('psk8m/G3/G3a','PhaseDelay',strcat ('2/',num2str (Fd),'+1/',num2str (Fc)));
set_param ('psk8m/G3/G3b','Period',strcat ('3/',num2str (Fd)));
set_param ('psk8m/G3/G3b','PhaseDelay',strcat ('2/',num2str (Fd),'+1/',num2str (Fc)));
sim ('psk8m');
% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >% >%
% Построение осциллограммы и спектра сигнала
ScopeData = {Scope1 Scope2};
assignin ('base','ScopeDat',ScopeData);
ScopeNo = handles. map{get (handles. menu1,'Value') } (get (handles. menu2,'Value'),1);
ScopeIn = handles. map{get (handles. menu1,'Value') } (get (handles. menu2,'Value'),2);
t = ScopeData{ScopeNo}. time;
V = ScopeData{ScopeNo}. signals (1,ScopeIn). values (:,1);
plotter (t,V,Tc,handles. scope,handles. spectrum);
function menu1_CreateFcn (hObject, eventdata, handles)
if ispc set (hObject,'BackgroundColor','white');
else set (hObject,'BackgroundColor',get (0,'defaultUicontrolBackgroundColor'));
end
function menu1_Callback (hObject, eventdata, handles)
set (handles. menu2,'Value',1);
set (handles. menu2,'String',handles. menu_data{get (hObject,'Value') });
function menu2_CreateFcn (hObject, eventdata, handles)
if ispc set (hObject,'BackgroundColor','white');
else set (hObject,'BackgroundColor',get (0,'defaultUicontrolBackgroundColor'));
end
function menu2_Callback (hObject, eventdata, handles)
function edit1_CreateFcn (hObject, eventdata, handles)
if ispc set (hObject,'BackgroundColor','white');
else set (hObject,'BackgroundColor',get (0,'defaultUicontrolBackgroundColor'));
end
function edit1_Callback (hObject, eventdata, handles)
function edit2_CreateFcn (hObject, eventdata, handles)
if ispc set (hObject,'BackgroundColor','white');
else set (hObject,'BackgroundColor',get (0,'defaultUicontrolBackgroundColor'));
end
function edit2_Callback (hObject, eventdata, handles)
function edit3_CreateFcn (hObject, eventdata, handles)
if ispc set (hObject,'BackgroundColor','white');
else set (hObject,'BackgroundColor',get (0,'defaultUicontrolBackgroundColor'));
end
function edit3_Callback (hObject, eventdata, handles)
function edit4_CreateFcn (hObject, eventdata, handles)
if ispc set (hObject,'BackgroundColor','white');
else set (hObject,'BackgroundColor',get (0,'defaultUicontrolBackgroundColor'));
end
function edit4_Callback (hObject, eventdata, handles)
function save_Callback (hObject, eventdata, handles)
set (hObject,'Enable','off')
dir = evalin ('base','ReportDir');
n = evalin ('base','ExpCount') +1;
assignin ('base','ExpCount',n);
if ~isempty (dir),
txtFile = strcat (dir,'data-',num2str (n),'. txt');
pngFile = strcat (dir,'data-',num2str (n),'. png');
scrshot = getframe (GCF, [5,25,515,390]);
imwrite (scrshot. cdata,pngFile,'png','Transparency',get (gcf,'color'));
txtrep (txtFile,get (handles. menu1,'Value'),get (handles. figure1,'Name'),.
handles. menu_data{get (handles. menu1,'Value') }{get (handles. menu2,'Value') },.
get (handles. edit1,'String'),get (handles. edit2,'String'),.
get (handles. edit3,'String'),get (handles. edit4,'String'));
end;
Заключение
В результате выполнения курсового проекта разработана система передачи данных. Использование данной системы на практике требует корректировки некоторых принципов, используемых в проекте
Система реализована на современной элементной базе. Так в качестве основных элементов передающей и приемной стороны выбраны микроконтроллеры семейства MCS-51, в качестве источника информации - приёмник ГЛОНАСС-МНП-М7, а в качестве модема используется ADL Vantage PRO.
В ходе выполнения курсового проекта был получен опыт построения систем передачи данных, освоены методики расчета необходимых параметров и оценочных критериев.
Произведённые системные расчёты: скорости передачи, пропускной способности, спектров сигнала, надёжностных характеристик позволяют сделать вывод, что курсовой проект полностью соответствует техническому заданию на проектирование.
Список литературы
1. Сорока Н.И., Кривинченко Г.А. Теория передачи информации: Конспект лекций для студентов специальности Т.11.01.00 "Автоматическое управление в технических системах”. - Мн.: БГУИР, 1998. - 88 с.
2. Сорока Н.И., Кривинченко Г.А. Телемеханика: Конспект лекций для студентов специальности Т.11.01.00 "Автоматическое управление в технических системах”. Ч.1: Сообщения и сигналы. - Мн.: БГУИР, 2000. - 128 с.
3. Сорока Н.И., Кривинченко Г.А. Телемеханика: Конспект лекций для студентов специальности "Автоматическое управление в технических системах”. Ч.2: Коды и кодирование. - Мн.: БГУИР, 2001. - 168 с.
4. Сорока Н.И., Кривинченко Г.А. Телемеханика: конспект лекций для студентов специальностей 53 01 03 "Автоматическое управление в технических системах” и 53 01 07 "Информационные технологии и управление в технических системах”. Ч.3: Линии связи и помехоустойчивость информации. Мн.: БГУИР, 2004. - 130 с.
5. Сорока Н.И., Кривинченко Г.А. Телемеханика: Конспект лекций для студентов специальностей 53 01 03 "Автоматическое управление в технических системах” и 53 01 07 "Информационные технологии и управление в технических системах”. Ч.4: Системы телемеханики. - Мн.: БГУИР, 2005. - с.
6. Сорока Н.И., Кривинченко Г.А. Телемеханика: конспект лекций для студентов специальностей: 53 01 03 "Автоматическое управление в технических системах” и 53 01 07 "Информационные технологии и управление в технических системах”. Ч.5: Технологии передачи дискретной информации. - Мн.: БГУИР, 2005. - 184 c.: ил.
Размещено на Allbest.ru
Подобные документы
Диспетчеризация, мониторинг автобусов, троллейбусов, трамваев. Разработка диспетчеризации пассажирских перевозок с проектированием системы ГЛОНАСС. Разработка решений для совершенствования управления перевозками. Недостатки применения системы ГЛОНАСС.
курсовая работа [102,9 K], добавлен 15.04.2019Разработка функциональной схемы блока приемника цифровой системы передачи информации высокочастотным каналом связи по высоковольтным линиям электропередачи. Сохранение преемственности параметров перехода от аналоговой к цифровой форме обработки сигнала.
дипломная работа [830,0 K], добавлен 14.10.2010Разработка микропроцессорной системы управления объектом, который задан видом и количеством данных поступающих с объекта, потребным ресурсом для обработки данных, видом и количеством управляющих сигналов. Алгоритм передачи через последовательный порт.
курсовая работа [978,9 K], добавлен 31.05.2019Расчет параметров цифровой системы передачи, спектра АИМ-сигнала. Квантование отсчетов по уровню и их кодирование. Расчет погрешностей квантования. Формирование линейного сигнала. Разработка структурной схемы многоканальной системы передачи с ИКМ.
курсовая работа [4,9 M], добавлен 08.10.2012Импульсные, частотные коды, многоступенчатая модуляция. Корректирующее кодирование - метод повышения помехозащищенности. Разработка системы передачи цифровой информации повышенной помехозащищенности с использованием одночастотных псевдослучайных сигналов.
дипломная работа [3,2 M], добавлен 11.06.2012Технологии построения сетей передачи данных. Обоснование программных и аппаратных средств системы передачи информации. Эргономическая экспертиза программного обеспечения Traffic Inspector. Разработка кабельной системы волоконно-оптических линий связи.
дипломная работа [2,2 M], добавлен 24.02.2013Общая информация и история развития системы "Глонасс", хронология совершенствования. Спутниковые навигаторы. Точность и доступность навигации. Разработка и серийное производство бытовых Глонасс-приемников для потребителей. Двухсистемный GPS навигатор.
курсовая работа [613,3 K], добавлен 16.11.2014Понятие автоматизации управления объектами с помощью микроЭВМ. Цифровой, импульсный, аналоговый, программно-управляемый виды ввода данных. Ввод-вывод по прерыванию. Взаимодействие с периферийными внешними устройствами. Вывод и отображение информации.
курсовая работа [6,1 M], добавлен 01.06.2012Общие и тактико-технические требования к конструкции бортовой аппаратуры. Блок ввода данных для энергонезависимого хранения и выдачи в бортовую ЭВМ данных полетного задания, а также приема данных регистрации. Структурная схема и разработка конструкции.
дипломная работа [207,2 K], добавлен 16.04.2012Постановка задачи синтеза цифровой системы управления с описанием особенностей объекта регулирования. Определение требуемого периода дискретизации работы системы управления. Синтез дискретного модального закона управления по методу Л.М. Бойчука.
курсовая работа [617,2 K], добавлен 08.07.2014