
- •Содержание
- •Анализ спектральных характеристик сигналов в matlab
- •1. Цель работы
- •2. Краткие теоретические сведения
- •2.1. Основы анализа цепей при негармонических воздействиях
- •2.2. Детерминированные и случайные сигналы, виды спектров
- •2.3. Представление периодических колебаний рядами Фурье
- •2.4. Спектры периодических последовательностей прямоугольных импульсов
- •2.5. Спектры хаотических (шумовых) колебаний
- •3. Задание
- •4. Ход работы
- •5. Контрольные вопросы
- •Дискретизация и квантование сигналов
- •2.2. Квантование сигналов
- •Амплитудная модуляция
- •1. Выполнение пп.1-3 задания в командном окне matlab.
- •2. Выполнение п.4 задания в командном окне matlab.
- •4. Выполнение п.6 задания.
- •5. Выполнение п.7 задания.
- •Угловая модуляция
- •5. Контрольные вопросы
- •1. Анализ временного и спектрального представления гармонического сигнала.
- •2. Анализ временного и спектрального представления треугольного сигнала.
- •3. Анализ временного и спектрального представления прямоугольного импульса.
- •4. Анализ временного и спектрального представления шумового сигнала.
5. Контрольные вопросы
В чем заключается процесс угловой модуляции?
Какие виды угловой модуляции различают? Опишите каждый из видов.
Что такое девиация частоты?
Охарактеризуйте спектры сигналов с угловой модуляцией.
В чем заключается квадратурная модуляция?
Как осуществляется демодуляция квадратурного сигнала?
ПРИЛОЖЕНИЕ 1
1. Анализ временного и спектрального представления гармонического сигнала.
clc - очистка экрана.
t = 0:0.001:0.6; % задание временного интервала [0 до 0.6 с шагом 0.001]
A1=10; % амплитуда первой гармоники
A2=10; % амплитуда второй гармоники
f1=15; % частота первой гармоники
f2=50; % частота второй гармоники
phase=0; %фаза
figure (1) % - графическое окно 1
y= A1*sin(2 * pi * f1 * t+phase) + A2*sin(2 * pi * f2 * t); % описание сигнала
subplot(2,1,1) % выбор подокна
plot(t,y) % построение графика
grid % вывод сетки
xlabel('t');% название осей
ylabel('y');% название осей
title('garmonich koleb')% название графика
Y = fft(y, 512);% быстрое преобразование Фурье
Pyy = Y.*conj(Y)/512; % квадрат амплитуды
f = 1000 * (0:255)/512; масштабирование частоты
subplot(2,1,2) % выбор подокна
plot(f, Pyy(1:256)), % построение спектра
grid % вывод сетки
xlabel('f');% название осей
ylabel('a');% название осей
title('spectr')% название графика
Запуск - F5
2. Анализ временного и спектрального представления треугольного сигнала.
figure(2) % графическое окно 2
A=10; % амплитуда
t = 0:1/1e3:1 ;% задание временного интервала [0 до 1 с шагом 0.001= частота дискретизации 1 кГц]
d = 0:1/3:1; % вектор задержек - частота импульсов 3 Гц
T=0.05; % длительность импульса
y = A*pulstran(t-0.3,d,'tripuls',T,-1);
subplot(2,1,1) % выбор подокна
plot(t,y), grid построение графика с сеткой
xlabel('t');% название осей
ylabel('y');% название осей
title('treug koleb')% название графика
Y = fft(y, 512);% быстрое преобразование Фурье
Pyy = Y.*conj(Y)/512; % квадрат амплитуды
f = 1000 * (0:255)/512; масштабирование частоты
subplot(2,1,2) % выбор подокна
stem(f, Pyy(1:256),'o'), grid % построение спектра
xlabel('f');% название осей
ylabel('a');% название осей
title('spectr')%название графика
3. Анализ временного и спектрального представления прямоугольного импульса.
Fs = 8e3; % частота
t = -40e-3:1/Fs:40e-3; временной интервал
T = 10e-3; % длительность импульса
figure(3) % графическое окно 3
subplot(2,1,1) % выбор подокна
s = rectpuls(t,T); задание функции прямоугольного импульса
plot(t,s) построение графика
ylim([-2 2]) предел амплитуды импульса на графике
Fs = fft(s); быстрое преобразование Фурье
Pfs = Fs.*conj(Fs);
f = 1000/256*(1:max(size(Fs))); % нормирование частоты
F = fftshift(Pfs);
subplot(2,1,2) выбор 2-го подокна
stem(f,F),grid % СПМ построение спектра с сеткой
xlim([1150 1350]); диапазон оси абсцисс
4. Анализ временного и спектрального представления шумового сигнала.
clc
t = 0:0.01:0.6; % задание временного интервала
figure(1) % графическое окно 1
n=0.6*100+1;% кол-во отсчетов времени
A3=10; амплитуда
y=A3*rand(1,n); % описание сигнала
subplot(2,1,1) %выбор подокна
plot(t,y) %построение графика
grid %вывод сетки
xlabel('t');%название осей
ylabel('y');%название осей
title('noise')%название графика
Y = fft(y, 512);%быстрое преобразование Фурье
Pyy = Y.*conj(Y)/512; %квадрат амплитуды
f = 100 * (0:255)/512;% Масштабирование частоты
subplot(2,1,2) %выбор подкона
plot(f, Pyy(1:256),'.'), grid %построение спектра
xlabel('f');%название осей
ylabel('a');%название осей
title('spectr')%название графика
ПРИЛОЖЕНИЕ 2
Дискретизация сигнала
close all
clc
dt=0.001 ;%шаг для моделирования непрерывного сигнала
Tmax=1 время моделирования
t=0:dt:Tmax;
f1=20; % частота 1 ой гармоники , Гц
A1=4; амплитуда 1-ой гармоники
y1=A1*sin(f1*2*pi*t);%первая гармоника
f2=10; частота 2 ой гармоники , Гц
A2=1; амплитуда 2-ой гармоники
y=A2*sin(f2*2*pi*t)+y1;%общий гармонический сигнал
subplot(2,2,1)
plot(t,y)%непрерывный
title('continious');
Y=fft(y,512);% БПФ непрерывного сигнала
Pyy=Y.*conj(Y)/512;
f=1024*(0:255/1)/512; нормирование частоты спектра
subplot(2,2,3)
plot(f,Pyy(1:256/8)) построение спектра непрерывного сигнала
title('spectr of continious');
fmin=max([ f1 f2])*2;%определение частоты дискретизации
fmin=fmin*1 %калибровка частоты дискретизации
T=1/fmin; %период дискретизации
t1=0:T:Tmax; временной интервал дискретизации
yy1=A1*sin(f1*2*pi*t1);%дискретный сигнал по первой гармонике
yy=A2*sin(f2*2*pi*t1)+yy1; общий дискретный сигнал
subplot(2,2,2)
plot(t,y,'.') %непрерывный
plot(t1,yy,'.r'), hold on % построение дискретного сигнала совмещенного с непрерывным
title('descret');
Y=fft(yy,512); % БПФ дискретного сигнала
Pyy=Y.*conj(Y)/512;
f=1000*(0:255/8)/512; %нормирование частоты спектра
subplot(2,2,4)
plot(f,Pyy(1:256/8)); построение спектра дискретного сигнала
title('spectr of descret');
Квантование сигнала
close all
clear
clc
dt=0.001;
Tmax=1;
t=0:dt:Tmax;
f1=10;
A1=4;
y1=A1*sin(f1*2*pi*t);
f2=5;
A2=1;
y=A2*sin(f2*2*pi*t)+y1;
subplot(2,2,1);
plot(t,y);
title('continious');
fmin=max([f1 f2])*2;
fmin=fmin*25;
T=1/fmin;
t1=0:T:Tmax;
yy1=A1*sin(f1*2*pi*t1);
yy=A2*sin(f2*2*pi*t1)+yy1;
subplot(2,2,2);
plot(t1,yy,'.r');
title('descret');
subplot(2,2,3)
N=4; число интервалов квантования
ymax=max(y);
ymin=min(y);
q=(ymax-ymin)/N;%длина интервала квантования
j=0:N-1;
d=ymin+(j+0.5)*q; % уровень квантования-середина интервала
n=length(y);%кол-во точек на графике
dn=ymin+j*q; %левые концы интервалов квантования
dk=ymin+(j+1)*q;%правые концы интервалов квантования
for i=1:n задание цикла
yk(i)=d(min(find(y(i)>=dn & y(i)<=dk))); %процесс квантования
end% конец цикла
plot(t,yk)
title('qwant')
subplot(2,2,4)
ymax=max(yy);%
ymin=min(yy);
q=(ymax-ymin)/N;
j=0:N-1;
d=ymin+(j+0.5)*q; % уровень квантования-середина интервала
dn=ymin+j*q; %левые концы интервалов квантования
dk=ymin+(j+1)*q;%правые концы интервалов квантования
n=length(yy); %колво точек на графике
for i=1:n %цикл
ydk(i)=d(min(find(yy(i)>=dn & yy(i)<=dk))); %процесс квантования дискретного сигнала
end% конец цикла
plot(t1,ydk,'.')% график квантованного дискретного сигнала
title('qwant descret')
for i=1:4 %задаем масштаб по осям на всех графиках
subplot(2,2,i)
axis([0 , Tmax,ymin, ymax]);
end
e=(mean((ydk-yy).^2))^0.5 %%погрешность экспериментальная
e1=(q*q/12)^0.5 %погрешность теоретическая
abs(e-e1) %разность
Синтезировать сигнал с неравномерным шагом квантования, используя данные предыдущих заданий. Проанализировать графики.
close all
clear
clc
dt=0.001;
Tmax=1;
t=0:dt:Tmax;
f1=10;
A1=4;
y1=A1*sin(f1*2*pi*t);
f2=5;
A2=1;
y=A2*sin(f2*2*pi*t)+y1;
subplot(2,2,1);
plot(t,y);
title('continious');
fmin=max([f1 f2])*2;
fmin=fmin*25;
T=1/fmin;
t1=0:T:Tmax;
yy1=A1*sin(f1*2*pi*t1);
yy=A2*sin(f2*2*pi*t1)+yy1;
subplot(2,2,2);
plot(t1,yy,'.r');
title('descret');
%неравномерное квантование
subplot(2,2,3)
ymax=max(y);
ymin=min(y);
n=length(y);%колво точек на графике
dn=[ymin ,-3,-2.5,-1.5,0,2]; %левые концы интервалов квантования
dk=[-3,-2.5,-1.5, 0,2,ymax]; %правые концы интервалов квантования
d=(dk+dn)/2; %нашли уровни квантования
for i=1:n
yk(i)=d(min(find(y(i)>=dn & y(i)<=dk))); %процесс квантования
end% конец цикла
plot(t,yk)
title('qwant')
subplot(2,2,4)
ymax=max(yy);%
ymin=min(yy);
dn=[ymin ,-3,-2.5,-1.5,0,2]; %левые концы интервалов квантования
dk=[-3,-2.5,-1.5, 0,2,ymax]; %правые концы интервалов квантования
d=(dk+dn)/2; %нашли уровни квантования
n=length(yy); %колво точек на графике
for i=1:n
ydk(i)=d(min(find(yy(i)>=dn & yy(i)<=dk))); %процесс квантования
end
plot(t1,ydk,'.')%строим
title('qwant descret')
for i=1:4 %задаем масштаб по осям на всех графиках
subplot(2,2,i)
axis([0 , Tmax,ymin, ymax]);
end
e=(mean((ydk-yy).^2))^0.5 %%погрешность экспериментальная
ПРИЛОЖЕНИЕ 3
Амплитудная модуляция
clc
close all;
t=0:0.001:1;
f=2; формирование модулирующего сигнала
a=1;
y=a*cos(2*pi*f*t);
subplot(3,2,1)
plot(t,y,'r')
F=20; формирование несущего сигнала
b=1;
Z=b*cos(2*pi*F*t);
subplot(3,2,2)
plot(t,Z)
m=0.5; формирование модулированнног сигнала
u=b*cos(2*pi*F*t).*(1+m*cos(2*pi*f*t)); %u=Z.*(1+m*y);
subplot(3,2,3)
hold on
plot(t,u);
plot(t,y*m+a,'r'); верхняя огибающая
plot(t,-y*m-a,'r'); нижняя огибающая
subplot(3,2,4)
Y=fft(u,512*4);
Pyy=Y.*conj(Y)/512/4;
ff=1024*(0:255/4)/512/4;
plot(ff,Pyy(1:256/4))
title('spectr of modul');
subplot(3,2,5 );
yd=u*a.*cos(2*pi*F*t); синхронное детектирование
plot(t,yv);
subplot(3,2,6 );
Y=fft(yd,512*4);%спектр детектированного сигнала
Pyy=Y.*conj(Y)/512/4;
ff=1024*(0:255/2)/512/4;
plot(ff,Pyy(1:256/2))
title('spectr of detect');
Балансная модуляция
figure(2)
m=1 коэффициент модуляции
subplot(2,2,1)
plot(t,y,'r') построение модулирующего сигнала
subplot(2,2,2)
plot(t,Z) построение несущего сигнала
u=b*cos(2*pi*F*t).*(m*cos(2*pi*f*t));%u=Z.*(m*y); модуляция сигнала с подавлением несущей частоты
subplot(2,2,3)
hold on
plot(t,u);
plot(t,y*m,'r');
plot(t,-y*m,'r');
subplot(2,2,4)
Y=fft(u,512*4);%спектр модулированного сигнала
Pyy=Y.*conj(Y)/512/4;
ff=1024*(0:255/4)/512/4;
plot(ff,Pyy(1:256/4))
title('spectr of modul');
Полярная модуляция
clc
close all;
t=0:0.001:0.5;
f1=10; формирование первого НЧ сигнала
a1=0.8;
s1=a1*cos(2*pi*f1*t);
subplot(3,2,1)
plot(t,s1)
f2=15; формирование второго НЧ сигнала
a2=1;
s2=a2*cos(2*pi*f2*t);
subplot(3,2,2)
plot(t,s2)
smono=s1+s2; формирование моно сигнала
subplot(3,2,3)
plot(t,smono)
sdiff=s1-s2; формирование разностного сигнала
subplot(3,2,4)
plot(t,sdiff)
F=70; задание поднесущей частоты
A0=3; % коэффициент смещения
s=smono + (A0 + sdiff).*cos(F*2*pi*t); композитный сигнал
subplot(3,2,5)
plot(t,s)
subplot(3,2,6)
Y=fft(s,512*4);
Pyy=Y.*conj(Y)/512/4;
ff=1024*(0:255)/512/4;
plot(ff,Pyy(1:256))
title('spectr of composit');
ПРИЛОЖЕНИЕ 4
Угловая модуляция
clc
close all;
n=2; задание количества окон на графике
m=2;
T=1; время моделирования
dt=0.001; временной шаг
t=0:dt:T;
Fs=1/dt;
figure(1)
f=2;
a=1;
y=a*cos(2*pi*f*t); моделирования НЧ сигнала
subplot(n,m,1)
plot(t,y,'r')
F=20;
b=1;
Z=b*cos(2*pi*F*t); моделирование несущего сигнала
subplot(n,m,2)
plot(t,Z)
beta=0.5;
u=b*cos(2*pi*t*F+beta*y); моделирование ФМ сигнала
subplot(n,m,3)
hold on
plot(t,u,t,Z); совмещение модулированного сигнала и
subplot(n,m,4)
Y=fft(u,512*4); БПФ
Pyy=Y.*conj(Y)/512/4; спектр
ff=1024*(0:255/2)/512/4;
plot(ff,Pyy(1:256/2))
title('spectr of FM signal');
Квадратурная модуляция
figure(2)
n=4;
m=2;
clc
f1=2;
a1=1;
y1=a1*sin(2*pi*f1*t); формирование первого исходного сигнала
subplot(n,m,1)
plot(t,y1,'r')
f2=3;
a2=1;
y2=a2*sin(2*pi*f2*t); формирование второго исходного сигнала
subplot(n,m,2)
plot(t,y2,'r')
F=50;
Z=cos(2*pi*F*t); формирование несущего колебания
subplot(n,m,3)
plot(t,Z)
beta=10;
u=y1.*cos(2*pi*F*t+ beta*y2); амплитудно-фазовый модулированный сигнал
subplot(n,m,5)
hold on
plot(t,u);
subplot(n,m,7)
Y=fft(u,512*4);
Pyy=Y.*conj(Y)/512/4; его спектр
ff=1024*(0:255)/512/4;
plot(ff,Pyy(1:256))
title('spectr of AFMsignal');
an=y1.*cos(fi); первый модулирующий сигнал
subplot(n,m,4)
bn=-y1.*sin(fi); второй модулирующий сигнал
plot(t,an,t,bn)
ylabel('a{_n},b{_n}')
s=an.*cos(2*pi*F*t)+bn.*sin(2*pi*F*t); сигнал квадратурной модуляции
f2=3;
a2=1;
subplot(n,m,6)
plot(t,s)
subplot(n,m,8)
Y=fft(s,512*4);
Pyy=Y.*conj(Y)/512/4;
ff=1024*(0:255)/512/4;
plot(ff,Pyy(1:256))
title('spectr of qvadro');
figure(3)
n=2;
m=2;
subplot(n,m,[1 2]);
u1=s.*cos(2*pi*F*t); демодуляция квадратурного сигнала
u2=s.*sin(2*pi*F*t);
plot(t,an,t,u1,t,bn-2,t,u2-2)
axis([0,T,-3,1.5])
subplot(n,m,3)
Y=fft(u1, 512*4);
Pyy=Y.*conj(Y)/512/4;
ff=1024*(0:255)/512/4;
plot(ff,Pyy(1:256))
subplot(n,m,4)
Y=fft(u2,512*4);
Pyy=Y.*conj(Y)/512/4;
ff=1024*(0:255)/512/4;
plot(ff,Pyy(1:256))
title('spectr of deqvadro');