МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФИЛИАЛ НАЦИОНАЛЬНОГО ИССЛЕДОВАТЕЛЬСКОГО ТЕХНОЛОГИЧЕСКОГО УНИВЕРСИТЕТА "МИСиС" В г. ДУШАНБЕ
Кафедра информационных технологий и автоматизации
Курсовая работа
по дисциплине: «Теория информации»
на тему: «Закон больших чисел. Языки с вероятностными ограничениями»
Выполнил: студент 2 курса направления 090301 кафедры «ИТА»
Шарифзода Азамат
Принял: ст. преподаватель кафедры «ИТА» Мухаммадиев С.
Душанбе
2020
Оглавление
Введение
Теория информации является одним из курсов при подготовке инженеров, специализирующихся в области автоматизированных систем управления и обработки информации. Функционирование таких систем существенным образом связано с получением, подготовкой, передачей, хранением и обработкой информации, поскольку без осуществления этих этапов невозможно принять правильное решение и осуществить требуемое управляющее воздействие, которое является конечной целью функционирования любой системы. Возникновение теории информации связывают обычно с появлением фундаментальной работы американского ученого К. Шеннона «Математическая теория связи» (1948). Однако в теорию информации органически вошли и результаты, полученные другими учеными. Например, Р. Хартли, впервые предложил количественную меру информации (1928), акад. В. А. Котельников, сформулировал важнейшую теорему о возможности представления непрерывной функции совокупностью ее значений в отдельных точках отсчета (1933) и разработал оптимальные методы приема сигналов на фоне помех (1946). Акад. А. Н. Колмогоров, внес огромный вклад в статистическую теорию колебаний, являющуюся математической основой теории информации (1941). В последующие годы теория информации получила дальнейшее развитие в трудах советских ученых (А. Н. Колмогорова, А. Я. Хинчина, В. И. Сифорова, Р. Л. Добрушина, М. С. Пинскера, А. Н. Железнова, Л. М. Финка и др.), а также ряда зарубежных ученых (В. Макмиллана, А. Файнстейна, Д. Габора, Р. М. Фано, Ф. М. Вудворта, С. Гольдмана, Л. Бриллюэна и др.).
К теории информации, в ее узкой классической постановке, относят результаты решения ряда фундаментальных теоретических вопросов. Это в первую очередь: анализ вопросов оценки «количества информации»; анализ информационных характеристик источников сообщений и каналов связи и обоснование принципиальной возможности кодирования и декодирования сообщений, обеспечивающих предельно допустимую скорость передачи сообщений по каналу связи, как при отсутствии, так и при наличии помех.
Задание №1
Рассчитать вероятности появления последовательностей из 5,25 и 100 символов при условии, что алфавит состоит из символов A,B и C. Вероятности появления символов равны следующим значениям: pa, pb, pc. Отобразить на одном графике полученные зависимости в нормированных координатах:
Где N=5,25 и 100. График должен иметь заголовок, подписи к осям, легенду. Кривые должны иметь цветовую индикацию в соответствии с символами A, B и C, различные маркеры для каждого из значений N. В качестве выводов к заданию требуется привести обоснование, почему при изменении длины последовательности меняется вид кривых; как измениться вид кривых при .
function [NA,PA,NB,PB,NC,PC]=Laboratornaya_1(N,pa,pb,pc)
k=1;
for na=0:N
for nb=0:(N-na)
nc=N-(na+nb)
nn=factorial(N)/(factorial(na)*factorial(nb)*factorial(nc));
p=pa^na*pb^nb*pc^nc;
p=p*nn;
m(k,1)=na;
m(k,2)=nb;
m(k,3)=nc;
m(k,4)=p;
k=k+1;
end
end
for z = 0: N
NA (z+1) = z;
PA (z+1) = 0;
NB (z+1) = z;
PB (z+1) = 0;
NC (z+1) = z;
PC (z+1) = 0;
for k=1: size (m,1)
if m (k,1) == z
PA (z+1) = PA(z+1) + m(k,4);
elseif m (k,2) ==z
PB (z+1) = PB (z+1) + m (k,4);
elseif m (k,3) ==z
PC (z+1) = PC (z+1) + m (k,4);
end
end
end
Задание №2
Требуется провести обработку 2 текстовых фрагментов, представленных в файлах text_1.txt, text_2.txt, являющихся отрывками одного и того же произведения. Определить частоту повторения символов в текстах. Программный код обработки должен быть записан и сохранен в виде M-функции, входным аргументом которой является переменная, содержащая путь к обрабатываемому файлу. Выходными аргументами являются общее число символов в обрабатываемом тексте и словарь символов, содержащий в качестве числовой характеристики при ключе количество появлений символа. Графически в виде столбиковой диаграммы отобразить для каждого из текстов частоту появления следующих символов языка:а,в,и,л,н,о,р,с,т,пробел. График должен иметь подписи к осям, легенду. По оси абсцисс в качестве подписи должны быть отображены символы, для которых отложена частота их появления. В качестве выводов необходимо пояснить, почему различаются частоты появления русского языка в обработанных текстах.
Рисунок 1. Пример результирующего графика к заданию 1
function [dict,nsym]= Laboratornaya_2(FName)
dic=containers.Map
fid=fopen(FName);
nsym=0;
while ~feof(fid)
tline=fgetl(fid);
tlsize=size(tline);
nsym=nsym+tlsize(2);
for i=1:tlsize(2)
if isKey(dic,lower(tline(i)))==0
dic(lower(tline(i)))=0;
end
dic(lower(tline(i)))=dic(lower(tline(i)))+1;
end
end
close(fid);
end
Дискретизация и восстановление непрерывного сигнала. Теорема Котельникова
Задание №3
Непрерывный сигнал на интервале от -0.4 до 0.4 дискретизируется с шагом , в результате чего получается последовательность . Определить шаг дискретизации, согласуемый с условиями задания. Провести дискретизацию и восстановление сигнала с рассчитанным шагом, с шагом, уменьшенным/увеличенным в два раза. Построить графики и спектры исходного и дискретизированного сигналов. Отобразить все три случая графически (в одном графическом окне поместить график сигнала и график его спектра-всего потребуется построить три графических окна). Добавить заголовок к графикам, подписи к осям, легенду. Сделать выводы, что происходит с восстановленным сигналом и его спектром при изменении требуемого в соответствии с теоремой Котельникова шага дискретизации.
dt=1/250;
td=-0.4:dt:0.4;
yr=sin(20*pi*td)+cos(40*pi*td);
t=-0.4:dt/10:0.4;
logic=ismember(t,td);
for i=1:size(t,2)
if logic(i)==0
yv(i)=0;
for j=1:size(td,2)
yv(i)=yv(i)+yr(j)*sin(250*pi*(t(1,i)-td(1,j)))/(250*pi*(t(1,i)-t(1,j)));
end
else
for j=1:size(td,2)
if t(i)==td(j)
yv(i)=yr(j);
end
end
end
subplot(2,1,1)
plot(t,sin(20*pi*t)+cos(40*pi*t),'r')
hold on
plot(t,yv)
w=fft(sin(20*pi*t)+cos(40*pi*t));
f=(0:length(sin(20*pi*t)+cos(40*pi*t))-1)*99/length(sin(20*pi*t)+cos(40*pi*t));
subplot(2,1,2)
plot(f,abs(w))
hold on
wv=fft(yv);
plot(f,abs(wv))
end
Рисунок 2. Пример исходного и восстановленного сигнала и их спектров при условии что шаг дискретизации выбран в соответствии с теоремой Котельникова
Рисунок 3. Пример исходного и восстановленного сигнала и их спектров при условии что шаг дискретизации выбран в два раза больше, чем требуется в соответствии с теоремой Котельникова
Задание №4
Сгенерировать одиночные импульсы на интервале от -0.3 до 0.3 при условии, что амплитуда импульсов равна А=1, длительность импульсов равна . Определить шаг равномерной дискретизации в соответствии с теоремой Котельникова при условии что спектр импульса ограничен частотой . Сформировать значение сигнала в точках отсчёта и провести по ним восстановление сигнала. Отобразить графически исходный и восстановленный сигналы (сформировать два графика в одном окне, добавить заголовок к графикам, подписи к осям, легенду). Сделать выводы, что происходит с восстановленным сигналом и его спектром при изменении требуемого в соответствии с теоремой Котельникова шага дискретизации.
dt=1/250;
td=-0.3:dt:0.3;
yr=sin(20*pi*td)+cos(40*pi*td);
t=-0.3:dt/10:0.3;
logic=ismember(t,td);
for i=1:size(t,2)
if logic(i)==0
yv(i)=0;
for j=1:size(td,2)
yv(i)=yv(i)+yr(j)*sin(250*pi*(t(1,i)-td(1,j)))/(250*pi*(t(1,i)-t(1,j)));
end
else
for j=1:size(td,2)
if t(i)==td(j)
yv(i)=yr(j);
end
end
end
subplot(2,1,1)
plot(t,sin(20*pi*t)+cos(40*pi*t),'r')
hold on
plot(t,yv)
w=fft(sin(20*pi*t)+cos(40*pi*t));
f=(0:length(sin(20*pi*t)+cos(40*pi*t))-1)*99/length(sin(20*pi*t)+cos(40*pi*t));
subplot(2,1,2)
plot(f,abs(w))
hold on
wv=fft(yv);
plot(f,abs(wv))
end
Рисунок 4. Пример работы 2
Дискретизация сигнала по критерию наибольшего отклонения. Адаптивная дискретизация. Квантование сигнала по уровню
Задание №5
Для сигнала вида провести дискретизацию на отрезке по критерию наибольшего отклонения () с использованием интерполяционного многочлена Лагранжа нулевого и первого порядков. При восстановлении сигнала использовать шаг по времени в 5 раз меньший шага дискретизации сигнала. Отобразить в одном графическом окне четыре графика: а, б- исходный и восстановленный сигналы при использовании многочлена нулевого порядка на всем исследуемом интервале и на ссуженном интервале ; в, г- исходный и восстановленный сигналы при использовании многочлена первого порядка на всем исследуемом интервале и на ссуженном интервале.
Рисунок 5. Пример дискретизации и восстановления сигналов с использованием полиномов Лагранжа
function [tv0,gv0,tv1,gv1,gsg,l]=Laboratornaya_4(A1,f1,fi1,A2,f2,fi2,eps)
syms ts
gs=A1*sin(pi*f1*ts+fi1)+A2*cos(pi*f2*ts+fi2);
dif1gs=diff(gs,ts,1);
dif2gs=diff(gs,ts,2);
l=0:0.0001:1;
gsg=subs(gs,ts,1);
m1=max(subs(dif1gs,ts,1));
m2=max(subs(dif2gs,ts,1));
dt0=eps/m1;
dt1=sqrt(8*eps/m2);
tdis0=0:dt0:1;
dg0=subs(gs,ts,tdis0);
tdis1=0:dt1:1;
dg1=subs(gs,ts,tdis1);
k=1;
for i=1:(length(tdis0)-1)
tv0(k)=tdis0(i);
gv0(k)=dg0(i+1);
for j=l:4
k=k+1;
tdis0p=tdis0(i)+j*dt0/5;
tv0(k)=tdis0p;
gv0(k)=dg0(i+1);
end
k=k+1;
end
k=1;
for i=1:(length(tdis1)-1)
tv1(k)=tdis1(i);
gv1(k)=dg1(i);
for j=l:4
k=k+1;
tdis1p=tdis1(i)+j*dt1/5;
tv1(k)=tdis1p;
gv1(k)=(tdis1p-tdis1(i+1))/(tdis1(i)-tdis1(i+1))*dg1(i)+(tdis1p-tdis1(i))/(tdis1(i+1)-tdis1(i))*dg1(i+1);
end
k=k+1;
end
Задание №6
Для того же сигнала на том же отрезке по времени провести дискретизацию по критерию наибольшего отклонения () с использованием экстраполирующего многочлена Тейлора нулевого и первого порядков. Условия для восстановления сигнала и требования к отображению графической информации взять из задания 1.
function [tv0,gv0,tv1,gv1,gsg,l]=Laboratornaya_4(A1,f1,fi1,A2,f2,fi2,eps)
syms ts
gs=A1*sin(pi*f1*ts+fi1)+A2*cos(pi*f2*ts+fi2);
dif1gs=diff(gs,ts,1);
dif2gs=diff(gs,ts,2);
l=0:0.0001:1;
gsg=subs(gs,ts,1);
m1=max(subs(dif1gs,ts,1));
m2=max(subs(dif2gs,ts,1));
dt0=sqrt(eps/m1);
dt1=sqrt(2*eps/m2);
tdis0=0:dt0:1;
dg0=subs(gs,ts,tdis0);
tdis1=0:dt1:1;
dg1=subs(gs,ts,tdis1);
k=1;
for i=1:(length(tdis0)-1)
tv0(k)=tdis0(i);
gv0(k)=dg0(i+1);
for j=l:4
k=k+1;
tdis0p=tdis0(i)+j*dt0/5;
tv0(k)=tdis0p;
gv0(k)=dg0(i+1);
end
k=k+1;
end
k=1;
for i=1:(length(tdis1)-1)
tv1(k)=tdis1(i);
gv1(k)=dg1(i);
for j=l:4
k=k+1;
tdis1p=tdis1(i)+j*dt1/5;
tv1(k)=tdis1p;
gv1(k)=(tdis1p-tdis1(i+1))/(tdis1(i)-tdis1(i+1))*dg1(i)+(tdis1p-tdis1(i))/(tdis1(i+1)-tdis1(i))*dg1(i+1);
end
k=k+1;
end
Рисунок 6. Пример дискретизации и восстановления сигналов с помощью полиномов Тейлора
Задание №7
Для сигнала из задания 1 на том же отрезке по времени провести адаптивную дискретизацию с использованием степенного полинома нулевого и первой степеней. При выполнении задания использовать шаг, по времени равный 0.001 с. Провести восстановление сигнала. Требования к отображению графической информации взять из задания 1.
function [td0,gd0,td1,gd1,tv0,gv0,tv1,gv1]=Laboratornaya_5(A1,f1,fi1,A2,f2,fi2,eps)
syms ts
gs=A1*sin(2*pi*f1*ts+fi1)+A2*cos(2*pi*f2*ts+fi2);
dif1gs=diff(gs,ts);
t=0:0.01:1
k=1;
td1(k)=t(k);
gd1(k)=subs(gs,ts,td1(k));
for i=2:length(t)
g=subs(gs,ts,t(i));
if eps<=abs(g-gd1(k)-subs(dif1gs,ts,td1(k))*(t(i)-td1(k)))
td1(k+1)=t(i);
gd1(k+1)=g;
k=k+1;
end
end
k=1;
for i=1:length(td1)-1
tv1(k)=td1(i);
gv1(k)=gd1(i);
while tv1(k)<td1(i+1)
gv1(k)=gd1(i)+subs(dif1gs,gs,ts,td1(i))*(tv1(k)-td1(i));
tv1(k+1)=tv1(k)+0.001;
k=k+1;
end
end
gv1(k)=gd1(length(td1)-1)+subs(dif1gs,ts,td1(length(td1)-1))*(tv1(k)-td1(length(td1)-1));
end
Рисунок 7. Пример адаптивной дискретизации с использованием степенного полинома первой степени
Задание №8
Провести квантование сигнала по уровню, используя верхнее значение для уровня, при условии, что всего 5 уровней. Отобразить исходный и квантовый сигналы графически.
function [t,g,dq,gq,deltaq]=Laboratornaya_6(A1,f1,fi1,A2,f2,fi2,n)
syms ts
gs=A1*sin(pi*f1*ts+fi1)+A2*cos(pi*f2*ts+fi2);
t=0:0.01:2
g=subs(gs,ts,t);
deltaq=(max(g)-min(g))/n;
for i=1:n
dq(i)=min(g)+i*deltaq;
end
dq(n)=max(g);
for i=1:length(t)
j=2;
while j<=n
if g(i)<=dq(1)
gq(i)=dq(1);
elseif and (g(i)<=dq(j),g(i)>dq(j-1))
gq(i)=dq(j);
end
j=j+1;
end
end
end
Рисунок 8. Исходный и квантованный сигналы
Фильтрация сигнала
Задание №9
закон число вероятность дискретизация
Смоделировать с помощью программы MatLab сложный сигнал следующего вида: , где -сигнал вида , где ; - пилообразный импульс амплитуду , симметричность которого задается аргументом width = 0.5; g(t)- белый Гауссовский шум с коэффициентом понижения/усиления и мощностью p = 0. С помощью фильтров Чебышева порядка с интенсивностью пульсации и частотой среза и инверсионного фильтра Чебышева порядка с интенсивностью пульсации и частотой среза выделить из сложного сигнала пилообразный, отфильтровав синусоидальную составляющую и белый Гауссовский шум.
t=0:0.1:25;