Аналого-цифровое преобразование

Автор: Пользователь скрыл имя, 03 Декабря 2012 в 14:02, лабораторная работа

Описание работы

Информация всегда передается в виде сообщений разной формы (примеры: музыка, устная речь, письмо). Сообщение передается от источника к получателю посредством некоторой среды, являющейся каналом связи
Для устной речи канал связи – воздух, в котором распространяются волны. Т.е. для передачи сообщения всегда требуется некоторая материальная субстанция - носитель информации.

Работа содержит 1 файл

РГР.doc

— 342.50 Кб (Скачать)

Министерство образования  и науки Российской Федерации

Федеральное агентство  по образованию

Марийский государственный  технический университет

 

 

 

 

Кафедра информатики 

и системного программирования

 

 

 

 

 

 

 

Расчетно-графическая  работа

 

по дисциплине «Информатика» на тему:

 

«Аналого-цифровое преобразование»

 

 

 

 

 

 

Выполнил:

студент ПС-12

Аннаев Аннагелди Бердимухаммедович

 

Проверил:

преподаватель кафедры  ИиСП

Лаптева Наталия Николаевна

 

 

 

 

 

 

 

Йошкар-Ола

2010

 

                              Краткое изложение теории

 

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

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

 

Сообщение, передаваемое с помощью носителя информации –  сигнал.

  • Сигнал – изменяющийся во времени физический процесс.
  • Сигнал имеет множество характеристик
  • Характеристики, при помощи изменения которых передается сообщение, называются параметрами сигнала.

 

Получение цифрового  сигнала: 
дискретизация

  • Дискретизация – преобразование непрерывной функции в дискретную в виде набора отсчетов

Получение цифрового сигнала: 
дискретизация

  • Дискретизация
    • Выбирается шаг дискретизации
    • Через промежутки времени, равные шагу дискретизации, фиксируется значение непрерывной функции (отсчет)

 

 

 

 

 

 

 

 

 

                                                  Блок схема

                  



 



 


 



 

  


 

 

 

 

 

 

 

 


 

 



 

 

                                             Пример работы программы

Входной файл:

 

                                   

 

 

Выходные  файлы:

 

 

                                                                                            

                                                 

Изображение с шагом квантования 18                            изображение с шагом квантования 6         

 

                                                                                

                                                    

 

Черно-белое                                                                           изображение с градациями серого

 

 

Вывод

Программа производит модификации  исходного файла, создавай результирующие файлы уже с измененными данными, программа производит работу с уровнем квантования 18, также создает 3 результирующие файла, с уровнем квантования 6, с оттенком серого, а так же черно белого.

Программа написанная на языке Cи работает верно.

 

                   Листинг кода в приложении

#include "stdafx.h"

#include <stdlib.h>

#include "math.h"

 

 

int main(int argc, char* argv[])

{

FILE *fp_raw, *fp_gray, *fp_black;

FILE *fp_shag_15, *fp_shag_51;

unsigned char R, G, B;

float R1, G1, B1, R2, G2, B2, R3, G3, B3, R4, G4, B4, x;

if((fp_raw  = fopen("test.raw", "rb")) == NULL)

{

printf("Error open file.\n");

exit(1);

}

 

fp_gray = fopen("gray.raw", "wb");

fp_black = fopen("black.raw", "wb");

fp_shag_15 = fopen("shag 15.raw", "wb");

fp_shag_51 = fopen("shag 51.raw", "wb");

 

while(!feof(fp_raw))

{

 

R = getc(fp_raw);

G = getc(fp_raw);

B = getc(fp_raw);

 

R1 = G1 = B1 = 0.11*B+0.3*R+0.59*G;

 

putc(R1, fp_gray);

putc(G1, fp_gray);

putc(B1, fp_gray);

 

x = 0.11*B+0.3*R+0.59*G;

if (x > 127)

{

R2 = G2 = B2 = 255;

 

putc(R2, fp_black);

putc(G2, fp_black);

putc(B2, fp_black);

 

}

else

{

R2 = G2 = B2 = 0;

 

putc(R2, fp_black);

putc(G2, fp_black);

putc(B2, fp_black);

 

}

 

R3 = (R + 7.5) - fmod(R + 7.5, 15);

G3 = (G + 7.5) - fmod(G + 7.5, 15);

B3 = (B + 7.5) - fmod(B + 7.5, 15);

 

putc(R3, fp_shag_15);

putc(G3, fp_shag_15);

putc(B3, fp_shag_15);

 

R4 = (R + 25.5) - fmod(R + 25.5, 51);

G4 = (G + 25.5) - fmod(G + 25.5, 51);

B4 = (B + 25.5) - fmod(B + 25.5, 51);

 

putc(R4, fp_shag_51);

putc(G4, fp_shag_51);

putc(B4, fp_shag_51);

 

}

 

fclose(fp_raw);

fclose(fp_gray);

fclose(fp_black);

fclose(fp_shag_15);

fclose(fp_shag_51);

 

return 0;

}

 

 

 

 

 


Информация о работе Аналого-цифровое преобразование