Реферат

Реферат Информационная система

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.11.2024


  1. Последовательность нулей и единиц – 32 штуки кодируем методами:

2.1   AMI

2.2   Манчестерский

2.3   2B1Q

Написание файл-функции позволяющей построить данную последовательность.
s = [1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1];

n = 0:32;

subplot(411)

stairs(n, [s 0]);

axis([0 32 -0.2 1.2]);

x1 = AmiCod(s);

subplot(412);

stairs(n, [x1 0]);

axis([0 32 -1.4 1.4]);

x2 = ManchesterCod(s);

subplot(413);

n = 0:0.5:33;

stairs(n, [x2 0]);

axis([0 33 -1.4 1.4]);

x3 = B2Q1Cod(s);

subplot(414);

n = 0:16;

stairs(n, [x3 0]);

axis([0 16 -2.5 2.5]);
Вспомогательные функции:




function x = ManchesterCod(v)

len = length(v);

x = zeros(1, 2*len+2);

k = 3;

if (v(1) == 0)

    x(1) = 0;

    x(2) = 1;

else

    x(1) = 0;

    x(2) = -1;

end

for i=2:len

    if (v(i-1) == 1)

        x(k) = 1;

        if (v(i) ~= 1)

            x(k+1) = 1;

        else

            x(k+1) = -1;

        end

    else

        x(k) = -1;

        if (v(i) ~= 0)

            x(k+1) = -1;

        else

            x(k+1) = 1;

        end

    end

    k = k + 2;

end

if (v(len) == 0)

    x(2*len+1) = -1;

    x(2*len+2) = 0;

else

    x(2*len+1) = 1;

    x(2*len+2) = 0;

end
function x = AmiCod(v)

len = length(v);

x = zeros(1, len);

odd = 0;

for i = 1:len

    if (v(i) == 1)

        if (odd == 0)

            x(i) = 1;

            odd = 1;

        else

            x(i) = -1;

            odd = 0;

        end

    else

        x(i) = 0;

    end

end
function x = B2Q1Cod(v)

len = length(v);

x = zeros(1, len/2);

i = 3;

k = 1;

while i <= len + 2

    if (v(i-2) == 0)

        if (v(i-1) == 0)

            x(k) = 2;

        else

            x(k) = 1;

        end

    else

        if (v(i-1) == 0)

            x(k) = -1;

        else

            x(k) = -2;

        end

    end

    i = i + 2;

    k = k + 1;

end



3.     
Нахождение спектров каждой последовательности и восстановление с помощью
20,
40,
80 гармоник, погрешность восстановления:

2.1. Нахождение спектра.

Написание файл-функции позволяющей найти коэффициенты Фурье для данного сигнала. При написании алгоритма использовали то, что знаем коэффициенты Фурье для прямоугольного импульса, а также свойство временного сдвига.
function F = FourTrans(v)

T0 = length(v);

F = zeros(1, 100);

k = 0:99;

for i = 1:length(v)

    F = F + v(i)/T0*sinc(k/T0).*exp(-j*k*2*pi/T0*(i-0.5));

end
Нахождение коэффициентов Фурье для данного сигнала:

 

figure(2);

n = -99:99;

T0 = 32;

F1 = FourTrans(s);

subplot(411);

Fs1 = FourShift(F1);

stem(n/T0, abs(Fs1));

axis([-2 2 0 0.6])

F2 = FourTrans(x1);

subplot(412);

Fs2 = FourShift(F2);

stem(n/T0, abs(Fs2));

axis([-2 2 0 0.6])

F3 = FourTrans(x2);

subplot(413);

Fs3 = FourShift(F3);

stem(n/T0, abs(Fs3));

axis([-2 2 0 0.6])

F4 = FourTrans(x3);

subplot(414);

Fs4 = FourShift(F4);

n = -198:2:198;

T0 = 32;

stem(n/T0, abs(Fs4));

axis([-4 4 0 0.8])
Построение амплитудного спектра:


2.2  Исходный сигнал.

Вызов функции для восстановления сигнала 20, 40, 80 гармониками:
n = 0:32;

subplot(411);

stairs(n, [s 0]);

axis([0 32 -0.2 1.2]);

n = 0:0.01:32;

y0 = CreateSignal(s, 100);

E0 = trapz(y0.^2);

y1 = vosst(F1, 20, n, 32);

dE1 = trapz((y0 - y1).^2)/E0*100

E1 = trapz(y1.^2);

subplot(412);

plot(n, y1);

axis([0 32 -0.2 1.2]);

y2 = vosst(F1, 40, n, 32);

dE2 = trapz((y0 - y2).^2)/E0*100

subplot(413);

plot(n, y2);

axis([0 32 -0.2 1.2]);

y3 = vosst(F1, 80, n, 32);

dE3 = trapz((y0 - y3).^2)/E0*100

subplot(414);

plot(n, y3);

axis([0 32 -0.2 1.2]);

Нахождение погрешности при восстановлении из спектра:

 Энергия исходного сигнала:

      

Погрешность


dE1 =  6.3847                     - погрешность от восстановления 20 гармониками, %.      

dE2 =  3.1355                     - погрешность от восстановления 40 гармониками, %.     

dE3 =  1.5393                     - погрешность от восстановления 80 гармониками, %.     
2.3 AMI.

Вызов функции для восстановления сигнала 20, 40, 80 гармониками:
n = 0:32;

subplot(411);

stairs(n, [x1 0]);

axis([0 32 -1.4 1.4]);

n = 0:0.01:32;

y0 = CreateSignal(x1, 100);

E0 = trapz(y0.^2);

y1 = vosst(F2, 20, n, 32);

dE1 = trapz((y0 - y1).^2)/E0*100

subplot(412);

plot(n, y1);

axis([0 32 -1.4 1.4]);

y2 = vosst(F2, 40, n, 32);

dE2 = trapz((y0 - y2).^2)/E0*100

subplot(413);

plot(n, y2);

axis([0 32 -1.4 1.4]);

y3 = vosst(F2, 80, n, 32);

dE3 = trapz((y0 - y3).^2)/E0*100

subplot(414);

plot(n, y3);

axis([0 32 -1.4 1.4]);

dE1 =  19.8299                   - погрешность от восстановления 20 гармониками, %.      

dE2 =  15.3788                   - погрешность от восстановления 40 гармониками, %.     

dE3 =  6.7840                     - погрешность от восстановления 80 гармониками, %.     
2.4. Манчестерский.

Вызов функции для восстановления сигнала 20, 40, 80 гармониками:
subplot(411);

n = 0:0.5:33;

stairs(n, [x2 0]);

axis([0 33 -1.4 1.4]);

n = 0:0.01:33;

y0 = CreateSignal(x2, 50);

E0 = trapz(y0.^2);

y1 = vosst(F3, 20, n, 33);

dE1 = trapz((y0 - y1).^2)/E0*100

subplot(412);

plot(n, y1);

axis([0 33 -1.4 1.4]);

y2 = vosst(F3, 40, n, 33);

dE2 = trapz((y0 - y2).^2)/E0*100

subplot(413);

plot(n, y2);

axis([0 33 -1.4 1.4]);

y3 = vosst(F3, 80, n, 33);

dE3 = trapz((y0 - y3).^2)/E0*100

subplot(414);

plot(n, y3);

axis([0 33 -1.4 1.4]);

dE1 =  84.6814                   - погрешность от восстановления 20 гармониками, %.      

dE2 =  24.1085                   - погрешность от восстановления 40 гармониками, %.     

dE3 =  15.3489                   - погрешность от восстановления 80 гармониками, %.     
2.5. 2B1Q.

Вызов функции для восстановления сигнала 20, 40, 80 гармониками:
subplot(411);

n = 0:16;

stairs(n, [x3 0]);

axis([0 16 -2.5 2.5]);

n = 0:0.005:16;

y0 = CreateSignal(x3, 200);

E0 = trapz(y0.^2);

y1 = vosst(F4, 20, n, 16);

dE1 = trapz((y0 - y1).^2)/E0*100

subplot(412);

plot(n, y1);

axis([0 16 -2.5 2.5]);

y2 = vosst(F4, 40, n, 16);

dE2 = trapz((y0 - y2).^2)/E0*100

subplot(413);

plot(n, y2);

axis([0 16 -2.5 2.5]);

y3 = vosst(F4, 80, n, 16);

dE3 = trapz((y0 - y3).^2)/E0*100

subplot(414);

plot(n, y3);

axis([0 16 -2.5 2.5]);

dE1 =  13.3203                   - погрешность от восстановления 20 гармониками, %.      

dE2 =  5.8931                     - погрешность от восстановления 40 гармониками, %.     

dE3 =  2.8416                     - погрешность от восстановления 80 гармониками, %.     
3. Скремблирование сигнала.
%  Bi = Ai * Bi-n * Bi-m

x = [0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 0 1 0 1];

n=10;

m=31;

 

subplot(311)

stairs(x), grid

axis([1 64 -0.5 1.5]);

 

subplot(312)

% скрэмблирование

scr=zeros(1,64);

for i=1:64

    if i<=n

        scr(i)=x(i);

    elseif (i>n)&(i<=m)

        scr(i)=xor(x(i),scr(i-n));

    elseif i>m

        scr(i)=xor(xor(x(i),scr(i-n)),scr(i-m));

    end

end

stairs(scr), grid

axis([1 64 -0.5 1.5]);

 

subplot(313)

% дескрэмблирование

x2=zeros(1,64);

for i=1:64

    if i<=n

        x2(i)=scr(i);

    elseif (i>n)&(i<=m)

        x2(i)=xor(scr(i),scr(i-n));

    elseif i>m

        x2(i)=xor(xor(scr(i),scr(i-n)),scr(i-m));

    end

end

stairs(x2), grid

axis([1 64 -0.5 1.5]);

Скремблирование наряду с избыточным кодированием является способом логического кодирования информации. Скремблирование заключается в побитном вычислении результирующего кода на основании битов исходного кода и полученных в предыдущих тактах битов результирующего кода.

Используется для «борьбы» с большими последовательностями нулей и единиц (большие последовательности нулей и единиц пагубно влияют на синхронизацию), а так же для шифрования.

Различные алгоритмы скремблирования отличаются количеством слагаемых, дающих цифру результирующего кода, и сдвигом между слагаемыми. Так, в сетях ISDN при передаче данных от сети к абоненту используется преобразование со сдвигами в 5 и 23 позиции, а при передаче данных от абонента в сеть - со сдвигами 18 и 23 позиции.
НОВОСИБИРСКИЙ  ГОСУДАРСТВЕННЫЙ  ТЕХНИЧЕСКИЙ 
УНИВЕРСИТЕТ


ФАКУЛЬТЕТ  АВТОМАТИКИ  И  ВЫЧИСЛИТЕЛЬНОЙ  ТЕХНИКИ
Кафедра  Систем Сбора и Обработки Данных
ЛАБОРАТОРНАЯ  РАБОТА  № 1
Выполнил:  Педонова З. Н.

Группа: АО-51
Проверил:  Моторин  С. В.
Новосибирск 2008

1. Диплом на тему Бухгалтерская отчетность на примере ООО Торговая группа Русский характер
2. Реферат Маткові засоби та їх застосування
3. Реферат на тему Криминально психологические аспекты правовой культуры на уровнях индивида группы общества
4. Реферат на тему Huck Finn Christianity
5. Курсовая Казахстан в годы Великой Отечественной войны
6. Реферат на тему Romulus And Remus Essay Research Paper Numitor
7. Реферат Жирондистский проект конституции
8. Реферат Химизм токсичности металлов
9. Реферат на тему Coleridge Essay Research Paper How does Coleridge
10. Реферат на тему Рудольф Отто и его вклад в становление феноменологии религии