Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Цифровая обработка сигналов. Методическая разработка к лабораторным занятиям для студентов-бакалавров дневного и заочного обучения
.pdf
Приложение А
ДД
Д
ДД
z((n 1)T ) A при z((n 1)T ) A P,
z(nT )
z((n 1)T ) A 2P при z((n 1)T ) A P.
n 1 n 1
n
n 1 n 1
zA при z A P,
z
z A 2P при z A P.
T
- P
z(nTД)
P
A
T
д
nT
Д
2P A
ДД
2P A
T T , F F .
A 2P
AP
1 n 0
n
2 n 0
I при z C ,
I
I при z C .
к лабораторной работе №5
Цифровые генераторы
1. Генераторы пилообразных, прямоугольных, треугольных и трапецеидальных колебаний
На рисунке П.1 точками показаны отсчеты пилообразного колебания, которое при A>0
формируется следующим образом:
Записанное соотношение справедливо в дискретные моменты времени. Если рассматривать не дискретные моменты времени, а порядковые номера отсчетов, то это соотношение
можно записать так
лов дискретизации, следовательно, период T и частота F пилообразного колебания равны
ность прямоугольных импульсов I с периодом, равным периоду пилы, длительностью ,
максимальным уровнем I1, минимальным уровнем I2
Рисунок П.1 – Пилообразное колебание
Из рисунка видно, что в периоде пилообразного колебания содержится
Частота пилы прямо пропорциональна частоте дискретизации и отношению констант
.
Рисунок П.2 показывает, как из пилообразного колебания z получается последователь-
интерва-
101

I
I
I
1
I
2
t
z
P
C
0
-P
t
T
0
PC
.
T 2 P
0
C
T
1.
2P
.
P
C
1
2T
Q
0
.
Q
2
1PC
0
Y z P 2.
Рисунок П.2 – Формирование последовательности
прямоугольных импульсов из пилообразного колебания
Из подобия заштрихованного треугольника и треугольника - положительного полупериода пилы следует что
Откуда длительность импульса равна
ностью импульсной последовательности
скважность импульсов
щим соотношением
Таким образом, изменяя константу С
Отношение периода следования импульсов к длительности импульса назывется скваж-
Из последнего соотношения определяется константа C
Из пилы формируется треугольное колебание (рисунок П.3) в соответствии со следую-
, можно регулировать длительность импульса.
0
, обеспечивающая требуемую
0
102

Y
P/2
0
-P/2
t
z -P/2
P
t
z
P
0
-P
t
z
nn
pn n
n
BY при P BY P,
TPпри BY P,
P при BY P,
Рисунок П.3 – Формирование треугольных колебаний
Это двухполярное треугольное колебание может быть использовано в качестве грубой
аппроксимации синусоиды. Степень соответствия его синусоиде можно оценить по уровню
высших гармоник. Оно содержит только нечетные гармоники, причем коэффициент третьей
гармоники равен к
Из треугольного колебания формируется трапецеидальное колебание (рисунок П.4) со-
гласно соотношению
где B > 2.
При B = 3 трапеция является хорошей аппроксимацией синусоиды: коэффициент треть-
ей гармоники равен нулю, коэффициент пятой гармоники к
= 10%, а коэффициент пятой гармоники к
Г3
= 4%.
Г5
= 4%.
Г5
103

Tp
P
0
- P
BY
Y
P/2
0
-P/2
t
t
cn cn
sn
cn cn
z 0.5 при z 0.5 1,
z
z 1.5 при z 0.5 1.
Рисунок П.4 – Формирование трапецеидального колебания
2. Косинусно-синусные генераторы
2.1 Косинусно-синусный генератор с полиномиальной
аппроксимацией отсчетов выходных колебаний
Для формирования двух квадратурных компоненет на выходе генератора используются
два пилообразных колебания, сдвинутых друг относительно друга на четверть периода (рисунок П.5). Исходным является одно из пилообразных колебаний (в рассматриваемом случае
zc). Второе получается из него следующим образом
104

0. -
Ys= z
s
-0.5
0
-0.5
-1
0
1
0.5
C
0
0
Yc = 0.5- z
c
t
-0.5
-1
1
0.5
t
z
c
1
-1
t
z
s
1
S
cn cn sn sn
Y 0.5 z , Y z 0.5.
2
F(Y) 4Y(D Y ),
22
1 3 5
F(Y) 4Y(D 4Y (D D Y )),
Рисунок П.5 – Формирование косинусной и синусной компонент
из двух пилообразных колебаний
Из двух пилообразных колебаний формируются два треугольных описанным выше спо-
собом
Для формирования из треугольных колебаний синусоидальных используется функцио-
нальное преобразование F(Y), представляющее собой полином третьей или пятой степени:
где D = 0.70738,
где D1= 0.745966, D3 = - 0.305500, D5 = 0.138149.
Генерируемые колебания определяются по приведенным соотношениям
105

n c n n s n
C F(Y ), S F(Y ).
При использовании полинома третьей степени коэффициент третьей гармоники равен
к
= 0.5%, коэффициент пятой гармоники к
Г3
При использовании полинома пятой степени к
= 0.1%.
Г5
=0.005%, кГ5 = 0.005%.
Г3
Для дальнейшего уменьшения коэффициентов гармоник используются полиномы более
высокого порядка [3].
106

Приложение Б
к лабораторной работе №5
Моделирование и исследование генераторов пилообразных,
прямоугольных и треугольных колебаний
001 // Программа "Generator1"-Моделирование генераторов
002 // пилообразных, прямоугольных и треугольных колебаний
003 A=2/30; // Константа, определяющая частоту пилы
004 P=1; // Константа, определяющая размах пилообразного
005 // колебания
006 C0=0; // Константа, определяющая скважность
007 // прямоугольных импульсов
008 I1=1; // Максимальное значение отсчёта прямоугольного
009 // колебания
010 I2=0; // Минимальное значение отсчёта прямоугольного
011 // колебания
012 nmax=250; // Максимальный номер отсчёта
013 //
014 // Расчёт констант
015 fN= Aскатов/(2*P); // Нормированная частота колебаний
016 Q=2/(1-C0/P); // Cкважность последовательности
017 // прямоугольных импульсов
018 // Задание функции прямого дпф
001 function sp=dpf(x0, kmax, Nmax)
002 sp=zeros(1:kmax);
003 for k=1:kmax
004 alfa=0;
005 for n=1:Nmax
006 alfa=alfa+x0(n)*exp(-2*%pi*%i*(n-1)*(k-1)/Nmax);
007 end
008 sp(k)=alfa/Nmax;
009 end
010 endfunction;
029 //
030 //Формирование пилообразного колебания
031 z=zeros(1:nmax);
032 zN=0;
033 z(1)=zN;
034 for n=2:nmax,
035 if z(n-1)+A>=P
036 z(n)=z(n-1)+A-2*P;
037 else
038 z(n)=z(n-1)+A;
039 end
040 end;
041 clf()
042 subplot(3,2,1)
043 n=[1:nmax];
044 plot2d3(n,z,style=[color("green")])
045 xgrid
046 xtitle('Пилообразное колебание')
047 //
107

048 // Определение спектра пилообразного колебания
049 i0=ceil(2*P/abs(A));
050 zs=zeros(1:i0);
051 Spz=zeros(1:6);
052 Spzo=zeros(1:6);
053 for i=1:i0
054 zs(i)=z(i+i0);
055 end
056 Spz=dpf(zs,6,i0);
057 Spzo=abs(Spz)/max(abs(Spz));
058 subplot(3,2,2)
059 i=[1:6];
060 k=i-1;
061 plot2d3(k,Spzo,style=[color("green")])
062 xgrid
063 xtitle('Спектр пилообразного колебания')
064 AmpZ=zeros(1:6);
065 for m=1:6
066 if Spzo(m)<0.00001 then
067 AmpZ(m)=0;
068 else
069 AmpZ(m)=Spzo(m)*100;
070 end
071 end
072 //
073 //Формирование последовательности прямоугольных
074 //импульсов
075 I=zeros(1:nmax);
076 for n=1:nmax
077 if z(n)<C0 then I(n)=I2;
078 else I(n)=I1;
079 end
080 end;
081 n=[1:nmax];
082 subplot(3,2,3)
083 plot2d3(n,I,style=[color("blue")])
084 xgrid
085 xtitle('Последовательность прямоугольных импульсов')
086 // Определение спектра последовательности
087 //прямоугольных импульсов
088 Is=zeros(1:i0);
089 for i=1:i0
090 Is(i)=I(i+i0);
091 end
092 SI=dpf(Is,6,i0);
093 SIo=abs(SI)/max(abs(SI));
094 subplot(3,2,4)
095 plot2d3(k,SIo,style=[color("blue")])
096 xgrid
097 xtitle('Спектр прямоугольных импульсов')
098 AmpI=zeros(1:6);
099 for m=1:6
108

100 if SIo(m)<0.00001 then
101 AmpI(m)=0;
102 else
103 AmpI(m)=SIo(m)*100;
104 end
105 end
106 //
107 // Формирование треугольных колебаний
108 T=abs(z)-P/2;
109 subplot(3,2,5)
110 plot2d3(n,T,style=[color("red")])
111 xgrid
112 xtitle('Треугольное колебание')
113 //Определение спектра треугольного колебания
114 Ts=zeros(1:i0);
115 for i=1:i0
116 Ts(i)=T(i+i0);
117 end
118 ST=dpf(Ts,6,i0);
119 STo=abs(ST)/max(abs(ST));
120 subplot(3,2,6)
121 plot2d3(k,STo,style=[color("red")])
122 xgrid
122 xtitle('Спектр треугольного колебания')
124 AmpT=zeros(1:6);
125 for m=1:6
126 if STo(m)<0.00001 then
127 AmpT(m)=0;
128 else
129 AmpT(m)=STo(m)*100;
130 end
131 end
109

к лабораторной работе №5
Моделирование и исследование генераторов трапецеидальных
и синусоидальных колебаний
001 // Программа "Generator2"-Моделирование генераторов
002 / /трапецеидальных и синусоидальных колебаний
003 A=1/30; // Константа, определяющая частоту пилы
004 P=3; // Константа, определяющая размах пилообразного
005 // колебания
006 B=3; //Константа, определяющая крутизну скатов
трапеции
007 nmax=550; //Максимальный номер отсчёта
008 //
009 //Задание функции прямого дпф
001 function sp=dpf(x0, kmax, Nmax)
002 sp=zeros(1:kmax);
003 for k=1:kmax
004 alfa=0;
005 for n=1:Nmax
006 alfa=alfa+x0(n)*exp(-2*%pi*%i*(n-1)*(k-1)/Nmax);
007 end
008 sp(k)=alfa/Nmax;
009 end
010 endfunction;
020 //
021 //Функции формирования пилообразных колебаний
001 function z=pila(A, P, zN, nmax)
002 z(1)=zN;
003 for n=2:nmax,
004 if z(n-1)+A>=P
005 z(n)=z(n-1)+A-2*P;
006 else
007 z(n)=z(n-1)+A;
008 end
009 end;
010 endfunction;
001 function z0=pilaS(A, P, zN, nmax)
002 z=pila(A,P,zN,nmax)
003 for n=1:nmax
004 if z(n)+P/2>=P
005 z0(n)=z(n)+P/2-2*P;
006 else
007 z0(n)=z(n)+(P/2);
008 end
009 end
010 endfunction;
042 //Функции полиномиальных преобразований
001 function Y3=polinom3(T)
002 D=0.707380;
003 Y3=zeros(1:nmax)
004 for n=1:nmax
Приложение В
110
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
