Реферат

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

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

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

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

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

от 25%

Подписываем

договор

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

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


  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. Реферат на тему Ядерные отходы ядовитое наследство для 12 тысяч будущих поколений
2. Реферат на тему Beowulf Vs Gilgamesh Essay Research Paper Beowulf
3. Статья Целеполагание и рефлексия в профессиональной подготовке музыканта-исполнителя
4. Курсовая Экологический аудит как вид природоохранной деятельности
5. Реферат на тему Cubism In 20th Century Essay Research Paper
6. Реферат на тему Women In 5Th Century Bce Athens Essay
7. Лекция Теоретические основы страхования
8. Реферат на тему Франция в системе общеевропейской интеграции
9. Реферат Психология в проблеме безопасности
10. Контрольная работа на тему Сравнительный анализ культур Мессопотамии и Киевской Руси