Курсовая: Цифровые Сигнальные Процессоры в РЭС
Министерство Образования РФ
Уральский Государственный Технический Университет Ц УПИ
Кафедра ТиСС
Отчет по лабораторной работе
лЦифровые Сигнальные Процессоры в РЭС
Преподаватель: Мироненко О.В.
Студенты: Астафуров А.Б.
Ковязин Д.А
Черепанов К.А.
Группа: Р-407
Екатеринбург
2003
Цель работы: с помощью математического пакета лMatLab 6.5 научиться
моделировать сигналы различных видов и сложности, производить их аналоговую и
цифровую фильтрацию и расчет соотвествующих параметров фильтров, оценивать
влияние коэффициетов передаточных функций на переходные процессы.
Задание №1
Смоделировать следующие виды сигналов:
- треугольные импульсы;
- пилообразные импульсы;
- прямоугольные импульсы;
t=0:0.01:30; % задание временного
интервала
x=square(t); % определение
прямоугольного сигнала
y=sawtooth(t,0.5); % определение треугольного
сигнала
z=sawtooth(t,1); % определение пилообразного
сигнала
subplot(2,2,1); plot(t,x) % одновременный вывод трех
сигналов на графики
subplot(2,2,2); plot(t,y) %
subplot(2,2,3); plot(t,z) %
График №1: Прямоугольный, синусоидальный и треугольный сигналы.
Программа модуляции одиночного прямоугольного импульса (z(t)), прямоугольных
импульсов с перидом Т (x(t)) и 10Т (y(t)).
t = 0:.0314:25;
t1 = -2:.01:2;
x=square(pi*t);
y= square(2*pi*t/10, pi*pi);
z = rectpuls(2*pi*t1/10);
subplot(4,2,1); plot(t,x)
subplot(4,2,2); plot(t,y)
subplot(4,2,3); plot(t1,z)
График №2: Прямоугольные импульсы с периодом Т,10Т, одиночный.
t = 0:.0314:20;
x=square(pi*t);
y= square(2*pi*t/10, pi*pi);
z = rectpuls(2*pi*t/10);
Fs=50;
X = fft(x,512);
Y = fft(y,512);
Z = fft(z,512);
w = (0:255)/256*(Fs/2);
plot(w,abs([X(1:256)' Y(1:256)'Z(1:256)'])); grid;
legend ('Сигнал с периодом Т', 'Сигнал с перидом 10*Т', 'Одиночный импульс');
xlabel('Частота(Гц)');
ylabel('Величина Фурье преобразования');
График №3: Спектральная плотность сигналов.
Выводы: В первом задании были смоделированы 3 различных вида сигналов, а
также одиночный прямоугольный импульс и импульсы с перидом Т и 10Т, построены
графики их спектральных плотностей.
Задание №2
Смоделировать с помощью программы MatLab сложный сигнал следующего вида:
S(t)=Y(t)+X(t)+d(t),
где Y(t)=A*sin(t)-синусоидальный сигнал;
X(t) Ц треугольный импульс;
d(t) Ц белый Гауссовский шум;
С помощью фильтров Чебышева первого (пульсации в полосе пропускания) и
второго (пульсации в полосе задерживания) рода выделить из сложного сигнала
треугольный, отфильровав, таким образом, синусоидальную составляющую и белый
Гауссовский шум.
Программа моделирования:
t=0:0.1:25; % определение
временного интервала
y=0.5*sin(25*t); % определение
синусоидального сигнала
x=4*sawtooth(t,0.5); % определение
треугольного сигнала
d=0.1*wgn(1,251,0); % задание белого
Гауссовского шума
plot(t,x,t,y,t,d), grid % вывод 3-х
составляющих сигнала на экран
xlabel ('Время'); % подпись оси Х
(лВремя)
ylabel ('Амплитуда'); % подпись оси Y (лАмплитуда)
График №4. Три составляющие выходного сигнала
s=x+y+d; % синтез сложного сигнала
plot(t,s), grid; % вывод сложного сигнала
на экран
xlabel ('Время'); % подпись оси Х (лВремя)
ylabel ('Амплитуда'); % подпись оси Y (лАмплитуда)
График №5. Сложный сигнал
Программа построения АЧХ фильтров:
[b,a]=cheby1(6,0.06,4/14); % определение параметров фильтра
% Чебышева первого рода
[b1,a1]=cheby2(9,35,4/14); % определение параметров фильтра
% Чебышева второго рода
Fs=100; % частота диcкретизации
[H,w] = freqz(b,a,512); % определение амплитудно-
частотной характеристики %фильтра
[H1,w] = freqz(b1,a1,512); % определение амплитудно-частотной
характеристики %фильтра
plot(w*Fs/(2*pi),abs(H), w*Fs/(2*pi),abs(H1)), grid; % вывод графика АЧХ
xlabel('Частота (Гц)'); % подпись оси Х (лЧастота)
ylabel('Амплитуда'); % подпись оси Y (лАмплитуда)
legend({'АЧХ фильтра Чебышева 1 рода','АЧХ фильтра Чебышева 2 рода'});
График № 6: АЧХ фильтра Чебышева первого и второго рода.
График № 7: Неравномерность АЧХ в полосе пропускания фильтра Чебышева 1 рода
Программа для определения спектральных плотностей составляющих сигнала:
sf=filter(b,a,s); %
фильтрация сигнала
S = fft(s,512);
% быстрое преобразование Фурье % сложного сигнала
SF = fft(sf,512); %
быстрое преобразование %
отфильтрованного сигнала
w = (0:255)/256*(Fs/2); %
разбиение частотной оси на 256
% значений
plot(w,abs([S(1:256)' SF(1:256)'])); grid; % построение
графика АЧХ
xlabel('Frequency (Hz)'); %
подпись оси Х (лЧастота, Гц)
ylabel('Mag. of Fourier transform'); % подпись
оси Y (лЗначение преобра -
% зования Фурье)
legend({'input signal','filtered signal'});
% подпись графиков (лВходной сигнал, % Фильтрованный сигнал)
График № 8: Спектральная плотность сложного и отфильтрованного сигналов
Программа фильтрации сигнала:
[b,a]=cheby1(6,0.06,4/14); %
определение параметров фильтра % Чебышева первого рода
[b1,a1]=cheby2(9,35,4/14); %
определение параметров фильтра % Чебышева второго рода
sf=filter(b,a,s); %
фильтрация сигнала фильтром №1
sf1=filter(b1,a1,s); %
фильтрация сигнала фильтром №2
plot (t,x,t,sf)б grid; %
построение графика отфильтрованных % и требуемого
сигналов
legend ('Исходный сигнал',
'Сигнал после фильтра Чебышева 1 рода',
'Сигнал после фильтра Чебышева 2 рода ',4); % подпись графиков сигналов
График № 9: Исходный (треугольный) и отфильтрованный сигналы.
Выводы: В ходе лабораторной работы был смоделирован сигнал сложной формы.
Аппроксимация сигнала производилась полиномами Чебышева первого (пульсации в
полосе пропускания) и второго (пульсации в полосе задерживания) рода, первый
из которых имел неравномерность АЧХ в полосе пропускания. Фильтр Чебышева
второго рода обладал меньшей шириной равноволновой полосы, нежели фильтр 1
рода и имел неравномерность АЧХ в полосе задерживания, но при этом
обеспечивал большую крутизну затухания. Следовательно, фильтр Чебышева 1 рода
необходимо использовать, когда требуется большая скорость затухания вне
полосы пропускания и не предъявляются требования по обеспечению минимальных
искажений АЧХ в полосе пропускания. Фильтр 2 рода следует применять при
повышенных требованиях к искажению при фильтрации.
На основе расчитанных коэффициентов b,a построена спектральная плотность
сложного входного и выходного фильтрованного сигнала. На графике отчетливо
заметно, что после прохождения через фильтр синусоидальная и шумовая
составляющая подавлены.
Задержка выходного сигнала объяснется началом фильтрации только после
накопления предшествующих n+1 значений, где n-порядок фильтра.
ЗАДАНИЕ №3.
Описать модель нагрева доменной печи, передаточная функция которой имеет
следующий вид:
где k-коэффициент усиления
Построить график реакции системы на воздействие в виде скачка, исследовать
влияние значения коэффициента k на вид процесса.
Программа для системы управления без обратной связи. (а)
t=0:0.1:10; % Задание временных
характеристик
num=[5]; den=[0.5 1.5 1]; %задание четырех различных
коэффициентов усиле-
num1=[10]; den1=[0.5 1.5 1]; %ния передаточной функции
num2=[15]; den2=[0.5 1.5 1]; %
num3=[25]; den3=[0.5 1.5 1]; %
sys=tf(num,den); % синтез передаточной
функции с k=5
sys1=tf(num1,den1); % синтез передаточной функции
с k=10
sys2=tf(num2,den2); % синтез передаточной функции
с k=15
sys3=tf(num3,den3); % синтез передаточной функции
с k=2
[y,t]=step(sys,t); % вычисление реакции
системы с k=5 на скачок
[y1,t]=step(sys1,t); % вычисление реакции
системы с k=10 на скачок
[y2,t]=step(sys2,t); % вычисление реакции
системы с k=15 на скачок
[y3,t]=step(sys3,t); % вычисление реакции
системы с k=25 на скачок
ylabel('Temperature (C)') % подпись оси Х (лТемпература)
xlabel('Time (sec)') % подпись оси Y (лВремя)
plot(t,y,t,y1,t,y2,t,y3), grid % построение графика
График № 10. Регулятор печки без обратной связи
Программа для системы управления с обратной связью. (б)
sys_os=feedback (sys, 1); % замыкает систему с k=5 в
обратную связь
sys_os1=feedback (sys1, 1); % замыкает систему с k=10 в
обратную связь
sys_os2=feedback (sys2, 1); % замыкает систему с k=15 в
обратную связь
sys_os3=feedback (sys3, 1); % замыкает систему с k=25 в
обратную связь
[y_os,t]=step(sys_os,t); % вычисление реакции ОС
системы с k=5 на скачок
[y_os1,t]=step(sys_os1,t); % вычисление реакции ОС системы
с k=10 на скачок
[y_os2,t]=step(sys_os2,t); % вычисление реакции ОС системы
с k=15 на скачок
[y_os3,t]=step(sys_os3,t); % вычисление реакции ОС системы
с k=25 на скачок
plot(t, y_os, t, y_os1, t, y_os2, t, y_os3); % построение графика
grid %
построение сетки
legend ('K=5', 'K=10', 'K=15 ','K=25 ',4); % подписи графиков
ylabel(' H(t)'); % подписи по Y
xlabel('Врем (сек.)'); % подписи по Х
График № 11: Регулятор печки с обратной связью
Выводы: В ходе выполнения 3-го задания было исследовано влияния обратной
связи на процесс управления. С этой целью построены переходные
характеристики, то есть реакции системы с ОС (обратной связью) и без нее на
скачок (функцию Хевисайда). Полученные результаты свидетельствуют о том, что
для систем без ОС характерна прямая зависимость времени установления от
коэффициента усиления (т.е система с более низким коэффициентом усиления
быстрее устанавливается в устойчивое состояние), однако в них отсутствует
эффект перерегулирования. В системах с ОС наблюдается обратная тенденция:
увеличение перерегулирования от коэффициента усиления и относительное
постоянство времени установления при любых К.
ЗАДАНИЕ №4.
Смоделировать ПИД-регулятор печки, подобрать оптимальные коэффициенты и
настроить на работу.
Формула ПИД-регулятора:
Приведем к общему знаменателю:
Схема ПИД-регулятора.
Программа реализации ПИД-регулятора:
t=0:0.01:10; % определение интервала
времени
num1=[1 1 1]; den1=[1 0]; % задание нулей передаточной
функции объекта
num2=[1 2 1]; den2=[1 0]; % и определение полюсов передаточной
num3=[1 120 1]; den3=[1 0]; % функции объекта
num4=[30 70 60]; den4=[1 0]; %
sys1=tf(num1, den1); %
sys2=tf(num2, den2); % передаточные функции при
различных кэффициентах
sys3=tf(num3, den3); %
sys4=tf(num4, den4); %
num5=[5]; den5=[0.5 1.5 1]; %
sys5=tf(num5, den5); %
sys6=series(sys1, sys5); % последовательное соединение
sys7=series(sys2, sys5); % передаточных функций
sys8=series(sys3, sys5); %
sys9=series(sys4, sys5); %
syssum1=feedback(sys6, [1]); % включение обратной связи
syssum2=feedback(sys7, [1]); %
syssum3=feedback(sys8, [1]); %
syssum4=feedback(sys9, [1]); %
[y1,t]=step(syssum1,t); %
[y2,t]=step(syssum2,t); % реакция обратной связи на
скачок
[y3,t]=step(syssum3,t); %
[y4,t]=step(syssum4,t); %
plot(t,y1,t,y2,t,y3,t,y4), grid; % построение графика
% подпись графиков для различных коэффициентов
legend('ki=1 kp=1 kd=1', 'ki=1 kp=2 kd=1','ki=1 kp=120 kd=1','ki=30 kp=70
kd=60');
ylabel ('H(t)'); % подпись оси Y
(лПередаточная функция)
xlabel ('t, sec'); % подпись оси Х (лВремя)
График № 12: График воздействия ПИД-регулятора на скачок при разных
коэффициентах
t=0:0.01:10; % задание временного
интервала
num1=[2 6 4]; den1=[1 0]; % определение коэффициентов
дифференцирующего % звена
sys1=tf(num1, den1); % синтезирование ПИД-регулятора
num2=[5]; den2=[0.5 1.5 1]; % задание нулей передаточной
функции объекта
num3=[5]; den3=[0.5 1 0.5]; % и определение полюсов
передаточной функции
num4=[5]; den4=[0.5 2.5 2]; % объекта
sys2=tf(num2, den2); %
sys3=tf(num3, den3); % передаточный функции при
различных
sys4=tf(num4, den4); % коэффициентах
sys5=series(sys1, sys2); % последовательное соединение
передаточных
sys6=series(sys1, sys3); % функций
sys7=series(sys1, sys4); %
syssum1=feedback(sys5, [1]); % обратная связь при различных коэффициентах
syssum2=feedback(sys6, [1]); %
syssum3=feedback(sys7, [1]); %
[y1,t]=step(syssum1,t); %
[y2,t]=step(syssum2,t); % реакция обратной связи на
скачок
[y3,t]=step(syssum3,t); %
plot(t,y1,t,y2,t,y3),grid; % построение графика
ylabel ('H(t)'); % подпись оси Х
(лПередаточная функция)
xlabel ('t, sec'); % подпись оси Y (лВремя)
legend('(p+1)*(0.5*p+1)','(p+1)*(0.5*p+0.5)','(p+1)*(0.5*p+2)'); % подпись
коэффициентов
% при графиках
График № 13: График воздействия ПИД-регулятора при неоптимизированных
коэффициентах передаточной функции
t=0:0.01:10; % задание временного
интервала
num1=[30 70 60]; den1=[1 0]; % определение коэффициентов
дифференцирующего % звена
sys1=tf(num1, den1); % синтезирование ПИД-регулятора
num2=[5]; den2=[0.5 1.5 1]; % задание нулей передаточной
функции объекта
num3=[5]; den3=[0.5 1 0.5]; % и определение полюсов
передаточной функции
num4=[5]; den4=[0.5 2.5 2]; % объекта
sys2=tf(num2, den2); %
sys3=tf(num3, den3); % передаточный функции при
различных
sys4=tf(num4, den4); % коэффициентах
sys5=series(sys1, sys2); % последовательное соединение
передаточных
sys6=series(sys1, sys3); % функций
sys7=series(sys1, sys4); %
syssum1=feedback(sys5, [1]); % обратная связь при различных коэффициентах
syssum2=feedback(sys6, [1]); %
syssum3=feedback(sys7, [1]); %
[y1,t]=step(syssum1,t); %
[y2,t]=step(syssum2,t); % реакция обратной связи на
скачок
[y3,t]=step(syssum3,t); %
plot(t,y1,t,y2,t,y3),grid; % построение графика
ylabel ('H(t)'); % подпись оси Х
(лПередаточная функция)
xlabel ('t, sec'); % подпись оси Y (лВремя)
legend('(p+1)*(0.5*p+1)','(p+1)*(0.5*p+0.5)','(p+1)*(0.5*p+2)'); % подпись
коэффициентов
График № 14: График воздействия ПИД-регулятора при оптимизированных
коэффициентах передаточной функции
График № 15: Укрупненная характеристика передаточной функции
Программа описывающая влияние коэффициетов ПИД-регулятора на передаточную
функцию:
t1=0:0.01:450; t2=0:0.01:1; t3=0:1:500; t31=0:1:500; t4=0:0.001:0.03;
num1=[70 1 1]; den=[1 0]; num2=[1 70 1];num3=[1 1 16]; num31=[1 1 15];
num4=[30 70 60]; num5=[5]; den5=[0.5 1.5 1];
sys1=tf(num1, den); sys2=tf(num2, den); sys3=tf(num3, den);sys31=tf(num31, den);
sys4=tf(num4, den); sys5=tf(num5, den5); sys6=series(sys1,
sys5);sys7=series(sys2, sys5); sys8=series(sys3, sys5); sys81=series(sys31,
sys5); sys9=series(sys4, sys5);
syssum1=feedback(sys6, [1]); syssum2=feedback(sys7, [1]);
syssum3=feedback(sys8, [1]);syssum31=feedback(sys81,
[1]);syssum4=feedback(sys9, [1]);
[y1,t1]=step(syssum1,t1); [y2,t2]=step(syssum2,t2); [y3,t3]=step(syssum3,t3);
[y31,t31]=step(syssum31,t31); [y4,t4]=step(syssum4,t4);
subplot(421); plot(t1,y1), grid; subplot(422); plot(t2,y2), grid;
subplot(423); plot(t3,y3), grid;subplot(424); plot(t4,y4), grid;
subplot(414); plot(t31,y31), grid;
График № 16:
Влияние коэффициентов ПИД-регулятора
Выводы: Как показали результаты лабораторной работы в 4-м задании первый
коэффициент в системе ПИД -регулятора влияет на время установления системы в
устойчивое состояние (при значении коэффициента в районе К100 Т
уст
400сек). Второй коэффициент регулятора в большей мере оказывает воздействие на
величину перерегуляции. Третий до K=15 выполняет роль первых двух, а начиная со
значения 16 воздействет на автоколебательный процесс в системе. Оптимальный
выбор коэффициентов позволяет получить переходную характеристику, близкую к
идеальному (скачок), т.е. с минимальным временем регулирования и отсутствия
ошибки динамического процесса.
ЗАДАНИЕ №6.
Произвести фильтрацию сложного сигнала с помощью дискретной передаточной
функции.
Передаточная функция фильтра Чебышева имеет вид:
где n-порядок фильтра.
Произведя математические преобразования, получаем формулу для фильтра
Чебышева 1 рода:
где x(n) Ц отсчёты по x (времени) сложного сигнала,
y(n) Ц отсчёты по y (уровню).
Для фильтра Чебышева 2 рода формула примет вид:
Программа реализации:
t=0:0.1:25;
y=0.5*sin(25*pi*t);
x=4*sawtooth(t,0.5);
d=0.1*wgn(1,251,0);
s=x+y+d;
[b,a]=cheby1(6,0.06,4/14);
n=7:1:251;
L1=(b(1,1)*t(1,n)+b(1,2)*t(1,n-1)+b(1,3)*t(1,n-2)+b(1,4)*t(1,n-
3)+b(1,5)*t(1,n-4)+b(1,6)*t(1,n-5)+b(1,7)*t(1,n-6))-(a(1,2)*s(1,n-
1)+a(1,3)*s(1,n-2)+a(1,4)*s(1,n-3)+a(1,5)*s(1,n-4)+a(1,6)*s(1,n-5)+
a(1,7)*s(1,n-6));
plot(L1), grid
Выводы:
>> n=11:1:160;
L1=((( b(1,1)*t(1,n)-b(1,2)*t(1,n-1)+b(1,3)*t(1,n-2)+b(1,4)*t(1,n-
3)+b(1,5)*t(1,n-4)+b(1,6)*t(1,n-5)+b(1,7)*t(1,n-6)+ b(1,8)*t(1,n-
7)+b(1,9)*t(1,n-8)+ b(1,10)*t(1,n-9))-(-a(1,2)*s(1,n-1)+a(1,3)*s(1,n-2)-
a(1,4)*s(1,n-3)+a(1,5)*s(1,n-4)-a(1,6)*s(1,n-5)+ a(1,7)*s(1,n-6)-
a(1,8)*s(1,n-7)+ a(1,9)*s(1,n-8))-a(1,10)*s(1,n-9)));
>> plot(L1), grid