Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Цифровая обработка сигналов. Методическая разработка к лабораторным занятиям для студентов-бакалавров дневного и заочного обучения
.pdf
098 f(k)=(k-1)*Fd/N1;
099 s10(k)=s1(k);
100 s20(k)=s2(k);
101 end
102 subplot(3,2,3)
103 xgrid
104 xtitle('Сигнал на входе фильтра')
105 plot2d(n0,xc0,style=[color("red")])
106 subplot(3,2,5)
107 xgrid
108 xtitle('Сигнал с помехой на входе фильтра')
109 plot2d(n0,x0)
110 subplot(3,2,4)
111 xgrid
112 xtitle('Спектр сигнала и помехи на входе фильтра')
113 plot2d3(f,abs(s10))
114 subplot(3,2,2)
115 xgrid
116 xtitle('Сигнал на выходе фильтра')
117 plot2d(n0,y0,style=[color("red")])
118 subplot(3,2,6)
119 plot2d3(f,abs(s20),style=[color("red4")])
120 xgrid
121 xtitle('Спектр сигнала на выходе фильтра')
91

Приложение Г
к лабораторной работе №4
Программа синтеза и моделирования режекторного фильтра при действии на его входе
последовательности прямоугольных импульсов и синусоидальной помехи
001 // Программа "Режекторный фильтр3" Моделирование
002 // цифрового /режекторного фильтра при действии на его
003 // входе сигнала в виде последовательности прямоугольных
004 // импульсов и синусоидальной помехи
005 Fd=30; //Частота дискретизации
006 fc=1.0;//Частота сигнала
007 fp=5;//Частота помехи
008 f0=5; //Частота режекции
009 Xc=1;//Максимальный уровень импульса сигнала
010 Xp=10;//Амплитуда помехи
011 Pr=0.18//Полоса режекции
012 kp=5//Коэффициент прямоугольности
013 nmax=200;
014 //
015 Se=sqrt(kp^2-1);//Селективность фильтра
016 d=Pr*kp/Fd;
017 a=%pi*d;
018 A2=(1-a*sqrt(1+a^2/4)+a^2/2)^2;
019 M=(1+A2)/2;//Масштабный коэффициент
020 B1=-2*cos(2*%pi*f0/Fd);//Коэффициент системной функции
021 A1=-(1+A2)*cos(2*%pi*f0/Fd); //Коэффициент системной
функции
022 //Расчет АЧХ режекторного фильтра
023 j=sqrt(-1);
024 delta_f=0.01;
025 N=round(0.5*Fd/delta_f);
026 f=zeros(1:N);
027 H=zeros(1:N);
028 K=zeros(1:N);
029 xdel;
030 for m=1:N
031 f(m)=delta_f*(m-1);
032 z(m)=exp(j*2*%pi*f(m)/Fd);
033 H(m)=M*(1+B1*z(m)^(-1)+z(m)^(-2))/(1+A1*z(m)^(-
1)+A2*z(m)^(-2));
034 end
035 K=abs(H);
036 subplot(3,2,1)
037 xgrid
038 xtitle('АЧХ режекторного фильтра')
039 plot2d(f,K,style=[color("blue")])
040 //Формирование сигнала с помехой на входе резонатора
041 n=zeros(1:nmax+1);
042 y=zeros(1:nmax+1);
043 xc=zeros(1:nmax+1);
044 xc0=zeros(1:nmax+1);
045 xp=zeros(1:nmax+1);
92

046 x=zeros(1:nmax+1);
047 s1=zeros(1:nmax+1);
048 s2=zeros(1:nmax+1);
049 for i=1:nmax+1
050 n(i)=i-1;
051 xc0(i)=cos(2*%pi*fc*i/Fd);
052 if xc0(i)<0 then
053 xc(i)=-Xc;
054 else
055 xc(i)=Xc;
056 end
057 xp(i)=Xp*cos(2*%pi*fp*i/Fd); //Помеха
058 x(i)=xc(i)+xp(i); //Сигнал с помехой
059 end
060 //Определение выходного сигнала фильтра
061 u(1)=M*x(1);
062 y(1)=u(1);
063 u(2)=M*x(2)-A1*u(1);
064 y(2)=u(2)+B1*u(1);
065 for i=3:nmax+1
066 u(i)=M*x(i)-A1*u(i-1)-A2*u(i-2);
067 y(i)=u(i)+B1*u(i-1)+u(i-2);
068 end;
069 N1=Fd/fc;
070 x1=zeros(1:N1);
071 y1=zeros(1:N1);
072 for m=1:N1
073 x1(m)=x(nmax-N1+m);
074 y1(m)=y(nmax-N1+m);
075 end
076 for k=1:N1
077 alfa1=0;
078 alfa2=0;
079 for n=1:N1
080 alfa1=alfa1+x1(n)*exp(-2*j*%pi*(n-1)*(k-1)/N1);
081 alfa2=alfa2+y1(n)*exp(-2*j*%pi*(n-1)*(k-1)/N1);
082 end
083 s1(k)=alfa1*2/N1;
084 s2(k)=alfa2*2/N1;
085 end
086 N0=round(5*Fd/fc);
087 n0=zeros(1:N0);
088 xc0=zeros(1:N0);
089 xp0=zeros(1:N0);
090 x0=zeros(1:N0);
091 y0=zeros(1:N0);
092 for m=1:N0
093 n0(m)=nmax-N0+m;
094 xc0(m)=xc(nmax-N0+m);
095 xp0(m)=xp(nmax-N0+m);
096 x0(m)=x(nmax-N0+m);
097 y0(m)=y(nmax-N0+m);
93

098 end
099 kmax=N1/2;
100 s10=zeros(1:kmax);
101 s20=zeros(1:kmax);
102 f=zeros(1:kmax);
103 for k=1:kmax+1
104 f(k)=(k-1)*Fd/N1;
105 s10(k)=s1(k);
106 s20(k)=s2(k);
107 end
108 subplot(3,2,3)
109 xgrid
110 xtitle('Сигнал на входе фильтра')
111 plot2d(n0,xc0,style=[color("red")])
112 subplot(3,2,5)
113 xgrid
114 xtitle('Сигнал с помехой на входе фильтра')
115 plot2d(n0,x0)
116 subplot(3,2,4)
117 xgrid
118 xtitle('Спектр сигнала и помехи на входе фильтра')
119 plot2d3(f,abs(s10))
120 subplot(3,2,2)
121 xgrid
122 xtitle('Сигнал на выходе фильтра')
123 plot2d(n0,y0,style=[color("red")])
124 subplot(3,2,6)
125 plot2d3(f,abs(s20),style=[color("red4")])
126 xgrid
127 xtitle('Спектр сигнала на выходе фильтра')
94

Работа №5
.
P2
A
fN
Бригада
Значения параметров
nmax
P A Q
Исследование цифровых генераторов
1. Цель работы
1. Ознакомление с алгоритмами функционирования генераторов пилообразных, прямо-
угольных, треугольных, трапецеидальных и синусоидальных колебаний.
2. Овладение методикой моделирования цифровых генераторов на ЭВМ.
2. Литература
1. Приложение А к лабораторной работе №4
2. Конспект лекций по курсу «Цифровая обработка сигналов»
3. В.Г.Иванова, А.И. Тяжев. Цифровая обработка сигналов и сигнальные процессоры //
Самара, 2008, c.89-93
3. Подготовка к лабораторной работе
Изучите указанную в разделе II литературу и ответьте на контрольные вопросы.
4. Контрольные вопросы
1. Поясните с помощью временных диаграмм принцип формирования пилообразных,
прямоугольных, треугольных и трапецеидальных колебаний.
2. От чего зависит частота пилообразных колебаний?
3. Поясните алгоритм формирования прямоугольных колебаний из пилообразны. Каков
способ изменения скважности последовательности прямоугольных импульсов?
4. Поясните с помощью временных диаграмм формирование трапецеидального колеба-
ния.
5. Поясните с помощью временных диаграмм способ формирования квадратурных ко-
лебаний косинусно-синусного генератора.
6. Как влияет степень аппроксимирующего полинома на чистоту спектра колебаний ко-
синусно-синусного генератора?
6. Почему используется гнездовая скобочная форма записи аппроксимирующего поли-
нома?
5. Содержание работы
1. Сформируйте nmax отсчетов пилообразного колебания, значения которых изменяются
в интервале от –P до +P с нормированной частотой
Значения nmax, P и A приведены в таблице 1.
Повторите эксперимент при параметре А пилообразного колебания в 2 раза меньшем по
сравнению с указанным в таблице.
Таблица 1
Исходные данные для выполнения п.1 и п.2
95

№1
250
1.00
1/30
2.5
№2
240
1.20
1/25
3.0
№3
290
1.50
1/20
3.5
№4
300
2.00
1/15
4.0
№5
300
0.75
1/40
4.5
№6
280
3.00
1/10
5.0
).Q/21(*P0c
Определите спектр пилообразного колебания с нулевой по пятую гармонику включи-
тельно.
2. Выполните моделирование генератора прямоугольных однополярных положительных
и двухполярных импульсов на основе генератора пилообразных колебаний с параметрами,
приведёнными в таблице 1 . Двухполярные импульсы должны иметь одинаковые абсолютные значения положительных и отрицательных отсчетов. Эксперимент выполнить при двух
значениях скважности импульсов Q = 2 и Q, приведённым в таблице 1.
Рассчитайте значение константы c0, обеспечивающей требуемую скважность импульсов,
по формуле
Для всех указанных вариантов определите амплитудный спектр импульсной последова-
тельности с нулевой по пятую гармонику включительно.
3. Выполните моделирование генератора треугольных колебаний. Данные для модели-
рования возьмите из таблицы 1.
Определите амплитудный спектр этого колебания с нулевой по пятую гармонику вклю-
чительно.
4. Выполните моделирование генератора трапецеидальных колебаний, воспользовав-
шись значениями параметров из таблицы 1 и установив параметр, определяющий крутизну
скатов трапеции, равным B=3.
Повторите эксперимент при B=10.
Определите амплитудный спектр колебания в первом и во втором случае с нулевой по
пятую гармонику включительно..
5. Выполните моделирование косинусно-синусного генератора с полиномиальной ап-
проксимацией отсчетов выходных колебаний при использовании полиномов 3-го и 5-го по-
рядков. Данные для моделирования возьмите из таблицы 1. Определите амплитудный спектр
генерируемых колебаний с нулевой по пятую гармонику включительно.
6. Содержание отчета
Отчет должен содержать:
1. Временные диаграммы генерируемых колебаний
2. Табличное представление амплитудных спектров генерируемых колебаний.
3. Выводы по каждому пункту работы.
7. Методические указания по выполнению работы
Лабораторная работа выполняется в программной среде SCILAB. Откройте программу
scilab - 5.5.2. Появится командное окно приложения. Окно содержит меню, панель инстру-
ментов и рабочую область. Признаком того, что система готова к выполнению команды, яв-
ляется наличие знака приглашения (горизонтальной стрелки), после которого расположен
мигающий курсор.
96

Щелчком левой кнопки мыши откройте Инструменты → Текстовый редактор SciNotes.
Появится окно для редактирования. Из редактора откройте файл Generator1 (File-Open -…ЦОС в Scilab – Generator1). Текст программы приведён в Приложении Б.
Из редактора откройте файл “Generator1”. Появится текст программы.
В строках 3-12 вводятся данные для моделирования генераторов.
В строках 18-29 задаётся функция прямого дискретного преобразования Фурье.
В строках 31-46 формируется пилообразное колебание и его временная диаграмма.
Затем создаётся массив отсчетов пилообразного колебания zs, содержащий количество
элементов i0, равное количеству отсчетов пилы в её периоде, и методом дискретного преобразования Фурье находится массив отсчётов спектра пилы в относительном масштабе Spz0
(49-57). Строится график спектра (строки 58-63).
Строки 64-71 формируют массив отсчётов относительных гармоник (с нулевой по пятую) пилообразного колебания в процентах AmpZ .
В строках 75-85 моделируется последовательность прямоугольных импульсов I и выводится график этой последовательности.
В строках 88-97 сначала формируется массив Is, содержащий i0 отсчётов прямоугольно-
го колебания, а затем методом дискретного преобразования Фурье находится его спектр в
относительном масштабе SI0 и выводится его график.
Строки 98-105 формируют массив отсчётов относительных гармоник (с нулевой по пятую) прямоугольного колебания в процентах AmpI .
В строках 108-117 моделируется треугольное колебание, выводится его график и создаётся массив, содержащий i0 отсчётов этого колебания Ts , а в строках 118-131 находится
спектр в относительном масштабе STo, выводится спектральная диаграмма и формируется
массив отсчетов спектра в процентах AmpT.
Результатом работы программы являются временные и спектральные диаграммы, по-
добные приведённым на рисунке 1.
Рисунок 1 - Временные и спектральные диаграммы
пилообразного, прямоугольного и треугольного колебаний
97

Вид колебания
и его параметры
Номер гармоники
0 1 2 3 4
5
Пилообразное
Прямоугольное
Q=2, I1=1, I2=-1
Прямоугольное
Q=2, I1=1, I2=0
Прямоугольное
Q= , I1=1, I2=0
Треугольное
1. Сформируйте пилообразное, прямоугольное и треугольное колебания. Для этого вве-
дите в программу значения констант P и A и максимального номера отсчёта nmax из таблицы
1, I1=1,
I2=-1. Рассчитайте значение константы C0 при Q=2 и введите в программу.
Запустите программу и пронаблюдайте временные и спектральные диаграммы сформи-
рованных колебаний.
В командном окне «scilab-5.5.2» введите AmpZ и нажмите клавишу Enter. Появится мас-
сив отсчётов спектра пилообразного колебания в процентах, начиная с нулевого и кончая пя-
тым отсчетом. Занесите их в таблицу 2.
Введите в командном окне AmpI и нажмите клавишу Enter.
Появившийся массив отсчетов спектра последовательности прямоугольных импульсов
занесите в таблицу 2.
Введите в командном окне AmpT и нажмите клавишу Enter. Полученные данные внеси-
те в таблицу 2.
Аналогичным образом заполните остальные строки таблицы.
Таблица 2
Значения спектральных составляющих пилообразного,
прямоугольных и треугольного колебаний в %
Повторите эксперимент с уменьшенным в два раза значением константы A. Пронаблю-
дайте временные и спектральные диаграммы.
Запишите в отчёт выводы о влиянии
константы A на частоту сформированных колебаний,
константы P на размах и частоту сформированных колебаний,
константы C0 на скважность последовательности прямоугольных импульсов и её
Исследование генератора трапецеидальных колебаний и косинусно-синусного генератора
выполняется по программе «Generator2». Текст программы приведён в Приложении В к лабораторной работе №5.
спектр.
98

В командах 3-7 осуществляется ввод исходных данных для моделирования генераторов.
Команды 9-20 формируют функцию
прямого дискретного преобразования Фурье dpf(x0,kmax,Nmax),используемую для опреде-
ления спектра колебаний. Затем последовательно задаются функции реализации пилообраз-
ных колебаний pila(A,P,zN,nmax) и pilas(A,P,zN,nmax), сдвинутых друг относительно друга
на четверть периода, и функции полиномиальных преобразований Y3= polinom3(T) и Y5=
polinom5(T), преобразующие треугольное колебание в синусоидальное.
В строках 60-75 формируется трапецеидальное колебание и выводится его временная
диаграмма, а в строках 77-97 рассчитывается его спектр. Сформированный массив AmpTp
задаёт относительный уровень гармоник трапецеидального колебания в процентах.
Команды 101-107 моделируют и выдают в виде графиков два пилообразных колебания,
сдвинутых друг относительно друга на четверть периода. Из них получаются два треуголь-
ных колебания (строки 109-115), из которых, в свою очередь, формируются синусоида и косинусоида и выдаются их временные и спектральные диаграммы (118-174).
Массивы Amp3 и Amp5 задают относительный уровень гармоник синусоидального колебания при использовании полиномов третьей и пятой степени соответственно.
Для формирования трапецеидального и синусоидальных колебаний введите значения P,
А, nmax из таблицы 1 и задайте B = 3. Запустите программу.
Результатом её выполнения будут временные и спектральные диаграммы, подобные
приведённым на рисунке 5.
В командном окне «scilab-5.5.2» введите AmpTp и нажмите клавишу Enter. Появится
массив отсчётов спектра в процентах, начиная с нулевого и кончая пятым. Занесите их в
первую строку таблицы 3.
Повторите эксперимент при B=10, результаты внесите в таблицу 3.
Запишите в отчет вывод о влиянии константы В на форму и спектральный состав трапе-
циедального колебания.
Рисунок 2 - Временные и спектральные диаграммы трапецеидального и синусоидальных ко-
лебаний
99

Вид колебания
и его параметры
Номер гармоники
0 1 2 3 4
5
Трапециедальное
B=3
Трапециедальное
B=10
Синусоидальное
Полином 3 порядка
Синусоидальное
Полином 5 порядка
и синусоидальных колебаний в %
В окне «scilab-5.5.2» введите Amp3 и нажмите клавишу Enter. Появится массив отсчётов
спектра в процентах, начиная с нулевого и кончая пятым. Занесите их в таблицу 3.
Повторите эксперимент, используя Amp5.
Сформулируйте и укажите в отчёте преимущество и недостаток использования полинома пятой степени по сравнению с полиномом третьей степени при формировании синусои-
дальных колебаний.
Таблица 3
Значения спектральных составляющих трапециедальных
100
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
