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


головна сторінка Реферати Курсові роботи текст файли додати матеріалПродать работу

пошук рефератів

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

завантажити
Знайти інші подібні реферати. • Точне співпадання: 5 рефератов
подібні якісні роботи

Розмір: 148.16 кб.
Мова: російська
Розмістив (ла): Брэд Питт
25.06.2011

Видео "Медицинская информационная система AKSi-клиника: модуль "Регистратура""
1
  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

Добавить реферат в свой блог или сайт
Удобная ссылка:

Завантажити реферат безкоштовно
подобрать список литературы


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


Постійний url цієї сторінки:
Реферат Информационная система


Разместите кнопку на своём сайте:
Рефераты
вгору сторінки


© coolreferat.com | написать письмо | правообладателям | читателям
При копировании материалов укажите ссылку.