Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shostak_kp1.docx
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
773.32 Кб
Скачать

Приложение а текст программы построения временных диаграмм сигналов с фм

%Временные диаграммы сигналов с двоичной ФМ и ОФМ

clc, clear all, close all

%Ввод исходных данных

prompt = {'Информационная последовательность (1,0):';...

'Число точек расчета на символ:';

'Множительнесущей частоты относительно длительности символа'};

dlg_title = 'Ввод исходных данных';

num_lines = 1;

def = {'1 0 1 1 0 0 0 1 1 1 0 0 ';'1001';'2'};

answer = inputdlg(prompt,dlg_title,num_lines,def);

%--------------------

if isempty(answer)~=1

%--------------------

b=str2num(answer{1});

nsamp=str2num(answer{2});

kf=str2num(answer{3});

%Задание параметров расчета

LW=1;

MS=1.5;

Ts=1;

dt=Ts/nsamp;

Fs = 1/dt;

nb=length(b);

t=0:dt:(nsamp*nb-1)*dt;

a_m=zeros(1,nb);a_s=zeros(1,nb);

a_ms0=-1;

%Несущая частота

omega0=kf*2*pi/Ts;

%Переход от униполярного к полярному коду

a=2*b-1;

%----------------------------------------------

%1-е окно

%ИКМ сигнал с полярным кодированием БВН (NRZ-L)

%Сигнал с абсолютной ФМ (Level)

%----------------------------------------------

%Расчет сигнала с ИКМ

d=[.5 : 1 : nb; a]';

g = pulstran(t,d,'rectpuls',Ts);

%Расчет сигнала с абсолютной ФМ (Level)

y = g.*cos(omega0*t);

%Построение графика ИКМ

ymi=-1.1; yma=-ymi;

subplot(2,1,1)

hp=plot(t,g);grid,box off

set(hp,'Color','black','LineWidth',LW)

hold on

stem(0:Ts:nb*Ts,zeros(1,nb+1),'filled','MarkerSize',MS,'Color','Red')

str1='Сигнал с ИКМ, полярный код БВН (NRZ-L)';

str2=['Информационная последовательность:',answer{1}];

title({str1;str2})

xlabel('Нормированное время {\itt }/{\itT}')

ylabel('ИКМ сигнал {\ita }({\itt})')

ylim([ymi yma])

%Построение графика ФМ

ymi=-1.1; yma=1.1;

subplot(2,1,2)

hp=plot(t,y);grid,box off

set(hp,'Color','black','LineWidth',LW)

hold on

stem(0:Ts:nb*Ts,zeros(1,nb+1),'filled','MarkerSize',MS,'Color','Red')

str1='Сигнал с ФМ, полярный код БВН (NRZ-L)';

str2=['Информационная последовательность:',answer{1}];

title({str1;str2})

xlabel('Нормированное время {\itt }/{\itT}')

ylabel('ФМ сигнал {\its }({\itt})')

ylim([ymi yma])

%---------------------------------------------

%2-е окно

%ИКМ сигнал с полярным кодированием БВН (NRZ-M)

%Сигнал с относительной ФМ (Mark)

%---------------------------------------------

%Дифференциальное кодирование (NRZ-M)

a_m(1)=-a(1)*a_ms0;

for k=2:length(a);a_m(k)=-a(k)*a_m(k-1);end

%Расчет сигнала с ИКМ

d=[.5 : 1 : nb; a_m]';

g = pulstran(t,d,'rectpuls',Ts);

%Расчет сигнала с относительной ФМ (Mark)

y = g.*cos(omega0*t);

%Построение графика ИКМ

figure

subplot(2,1,1)

hp=plot(t,g);grid,box off

set(hp,'Color','black','LineWidth',LW)

hold on

stem(0:Ts:nb*Ts,zeros(1,nb+1),'filled','MarkerSize',MS,'Color','Red')

str1='Сигнал с ИКМ, полярный код БВН (NRZ-M)';

str2=['Информационная последовательность:',answer{1}];

title({str1;str2})

xlabel('Нормированное время {\itt }/{\itT}')

ylabel('ИКМ сигнал {\ita }({\itt})')

ylim([ymi yma])

%Построение графика ФМ

subplot(2,1,2)

hp=plot(t,y);grid,box off

set(hp,'Color','black','LineWidth',LW)

hold on

stem(0:Ts:nb*Ts,zeros(1,nb+1),'filled','MarkerSize',MS,'Color','Red')

str1='Сигнал с ФМ, полярный код БВН (NRZ-M)';

str2=['Информационная последовательность:',answer{1}];

title({str1;str2})

xlabel('Нормированное время {\itt }/{\itT}')

ylabel('ФМ сигнал {\its }({\itt})')

ylim([ymi yma])

%---------------------------------------------

%3-е окно

%ИКМ сигнал с полярным кодированием БВН (NRZ-S)

%Сигнал с относительной ФМ (Space)

%---------------------------------------------

%Дифференциальное кодирование (NRZ-S)

a_s(1)=a(1)*a_ms0;

for k=2:length(a);a_s(k)=a(k)*a_s(k-1);end

%Расчет сигнала с ИКМ

d=[.5 : 1 : nb; a_s]';

g = pulstran(t,d,'rectpuls',Ts);

%Расчет сигнала с относительной ФМ (Space)

y = g.*cos(omega0*t);

figure

%Построение графика ИКМ

subplot(2,1,1)

hp=plot(t,g);grid,box off

set(hp,'Color','black','LineWidth',LW)

hold on

stem(0:Ts:nb*Ts,zeros(1,nb+1),'filled','MarkerSize',MS,'Color','Red')

str1='Сигнал с ИКМ, полярный код БВН (NRZ-M)';

str2=['Информационная последовательность:',answer{1}];

title({str1;str2})

xlabel('Нормированное время {\itt }/{\itT}')

ylabel('ИКМ сигнал {\ita }({\itt})')

ylim([ymi yma])

%Построение графика ФМ

subplot(2,1,2)

hp=plot(t,y);grid,box off

set(hp,'Color','black','LineWidth',LW)

hold on

stem(0:Ts:nb*Ts,zeros(1,nb+1),'filled','MarkerSize',MS,'Color','Red')

str1='Сигнал с ФМ, полярный код БВН (NRZ-S)';

str2=['Информационная последовательность:',answer{1}];

title({str1;str2})

xlabel('Нормированное время {\itt }/{\itT}')

ylabel('ФМ сигнал {\its }({\itt})')

ylim([ymi yma])

%--------------------

end

%--------------------