Реферат

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 11.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. Реферат на тему Rape Essay Research Paper RapeThis paper will
3. Реферат на тему Saint Clement The First Essay Research Paper
4. Контрольная работа на тему Процессуально правовые последствия несоблюдения порядка предъявле
5. Книга Перевод английского каламбура
6. Реферат Эффективность рекламной деятельности компании
7. Реферат Лидерство 11
8. Реферат на тему SameSex Marraige Equal Right Essay Research Paper
9. Статья Місце України в світових рейтингах
10. Реферат на тему Turn Of The Screw