
- •Оглавление
- •1.2. Колебательные процессы
- •1.3 Случайные процессы
- •Задание на лабораторную работу
- •Задача 3
- •Графический вывод результатов вычислений
- •Xlabel('Значения X'); ylabel('Значения функции'), grid
- •В среде matlab несложно выводить и графики, заданные параметрически. Например, построим график функции, которая определена формулами (рис.):
- •Xlabel('Номер элемента'); ylabel('Значение элемента'); grid
- •Xlabel('Номер элемента'); ylabel('Значение элемента')
- •Xlabel('X'); ylabel('Вероятность X'); grid
- •Xlabel('Частота (Гц)'); ylabel('Отношение амплитуд'); grid;
- •Xlabel('Частота (Гц)'); ylabel('Фаза (град)'); grid
- •Xlabel('X'); ylabel('Значение функции');
- •6.2 Импорт сигналов
- •6.3 Просмотр сигналов
- •6.4. Создание спектров сигналов
- •7.2 Синтез фильтра
- •4. Просмотр характеристик фильтра
- •Калачиков Александр Александрович Математические основы цифровой обработки сигналов c применением Matlab Методические указания по практическим и лабораторным занятиям.
Федеральное агентство связи
телекоммуникаций и информатики
Сибирский государственный университет
Калачиков А.А.
Математические основы цифровой обработки сигналов
Методические указания по практическим и лабораторным занятиям.
Новосибирск
2011
УДК 621.391.
А.А.Калачиков. Математические основы цифровой обработки сигналов: Методические указания по практическим и лабораторным занятиям /СибГУТИ.- Новосибирск, 2011 г. – стр.
Для студентов, изучающих учебные дисциплины « Радиосвязь, радиовещание и телевидение », « Радиотехника», а также для бакалавров, магистров и аспирантов по специальности «Телекоммуникационные системы».
Кафедра РТС
Ил. , табл. , список лит. – 5 назв.
Рецензенты:
Для направления 210300–«Радиотехника», 210400 – Телекоммуникации».
Утверждено редакционно – издательским советом СибГУТИ в качестве учебного пособия.
© Сибирский государственный университет
телекоммуникаций и информатики, 2011 г.
Оглавление
Введение Стр
Практическое занятие 1. Описание сигналов в Матлаб 5
Практическое занятие 2 Дискретные системы. Светрка 12
Практическое занятие 3 Дискретное во времени
преобразование Фурье. Частотные характеристики
дискретных систем. 14
Лабораторная работа 1
Дискретное преобразовнаие Фурье. Свойства 17
Лабораторная работа 2 Изучение практического проектирования
цифровых фильтров методом весовых окон в MATLAB. 25
Лабораторная работа 3 Многоскоростные фильтры 28
Приложение 1 Задание на курсовую работу по дисциплине МоЦОС
30
Приложение 2 Вычисления в Matlab 39
Приложение 3 Описание интерактивной оболочки SPTool 62
Приложение 4 Описание интерактивной среды FDATool 69
Литература 73
Введение
Цифровая обработка сигналов является основой для практической реализации множества алгоритмов в современных системах связи. Задача повышения эффективности и скорости передачи в беспроводных системах связи и вещания решается при помощи все более сложных сигналов и методов их приема. Для эффективной разработки аппаратуры и ее эксплуатации инженеру необходимо понимание основных алгоритмов спектрально временных преобразований и их реализации в цифровой форме. Основы данных алгоритмов изучаются в курсе Математические основы цифровой обработки сигналов. Применение вычислительной среды Matlab в качестве основного рабочего инструмента позволяет организовать эффективное обучение и практическое освоение алгоритмов обработки.
Данное пособие содержит описание практических и лабораторных работ, выполняемых в течении семестра. В приложении приведено задание на курсовую работу. Наличие большого количества примеров позволяет приступить к изучению курса самостоятельно.
М-файлы с текстами программ, применяемые в практических и лабораторных занятиях находятся в соответствующей директории на рабочем месте.
Практическое занятие 1.
Описание сигналов в Матлаб
Цель работы. Практическое изучение формирования сигналов при моделировании алгоритмов в Матлаб.
Предварительная подготовка. Изучить и проработать примеры из Приложения 1.
Для проведения Важной задачей при моделировании алгоритмов обработки сигналов является имитация (генерирование) сигналов заданной формы.
Для задания сигнала как функции от времени необходимо сформировать вектор временных отсчетов и далее определить функцию от данного вектора
t1 = [0 .1 .2 .3];
t2 = 0:0.1:0.3;
t3 = linspace(0, 0.3, 4);
T = [t1' t2' t3'];
X = sin(T)
В данном примере происходит формирование трех векторов отсчетов времени, задающих масштаб временной оси. Далее эти три вектора обьединяются в матрицу, и полученная матрица применяется для вычисления матрицы Х, содержащей отсчеты синусоиды.
t=linspace(-1,10,100); % функция включения
u=(t>=0);
plot(t,u)
ts = 0:0.5:5; % дельта импульс
x = [1 zeros(1,length(ts)-1)];
stem(ts,x)
axis([-1 6 0 2])
t = linspace(0,1,1001); %синусоидальный сигнал
A = 5;
f = 2;
p = pi/8;
sinewave = A*sin(2*pi*f*t + p);
plot(t, sinewave)
%Дискретные экспоненты
n = -10:30; % Time index
subplot(2,1,1);
y = exp(n/5); % Growing exponential
h = stem(n,y);
set(h(1),'Marker','.');
set(gca,'Box','Off');
subplot(2,1,2);
y = exp(-n/5); % Decaying exponential
h = stem(n,y);
set(h(1),'Marker','.');
set(gca,'Box','Off');
xlabel('Time (n)');
Важным сигналом в цифровой обработке сигналов является комплексная экспонента. Для наглядного представления формы этого сигнала можно использовать следующий м-скрипт complexp.m
% Моделирование комплексной экспоненты.
w = j*1;
fs = 500; % Sample rate (Hz)
t = -10:1/fs:10; % Time index (s)
y = exp(w*t);
N = length(t);
subplot(2,1,1);
h = plot(t,real(y));
box off;
grid on;
ylim([-1.1 1.1]);
ylabel('Реальная часть');
subplot(2,1,2);
h = plot(t,imag(y));
box off;
grid on;
ylim([-1.1 1.1]);
xlabel('Время (s)');
ylabel('мнимая часть');
figure;
h = plot3(t,zeros(1,N),zeros(1,N),'k');
hold on;
h = plot3(t,imag(y),real(y),'b');
h = plot3(t,1.1*ones(size(t)),real(y),'r');
h = plot3(t,imag(y),-1.1*ones(size(t)),'g');
hold off;
grid on;
ylabel('мнимая часть');
zlabel('Реальная часть');
title('Complex:Blue Real:Red Imaginary:Green');
axis([min(t) max(t) -1.1 1.1 -1.1 1.1]);
view(27.5,22);
Рисунок 1.1 Реальная и мнимая части комплексной экспоненты
Рисунок 1.2 Графическое представление комплексной экспоненты
В пакете Signal предусмотрено несколько процедур, образующих последовательности данных, представляющие некоторые одиночные импульсные процессы типовых форм.
Процедура rectpuls обеспечивает формирование одиночного импульса прямоугольной формы. Обращение вида
y=rectpuls(t,w)
позволяет образовать вектор y значений сигнала такого импульса единичной амплитуды, имеющий ширину w, центрированный относительно t = 0, по заданному вектору t моментов времени. Сформируем несколько таких импульсов (рис. 1.3):
t=0:0.01:10;
y=0.75*rectpuls(t-3,2)+0.5*rectpuls(t-8,0.4)+
+1.35*rectpuls(t-5,0.8);
plot(t,y); grid; title('Прямоугольные импульсы');
xlabel('Время (с)'); ylabel('Выходной процесс')
Рисунок 1.3 – График процесса, сгенерированного функцией rectpuls
Процедура sinc формирует вектор значений функции sin(t)/t. Эта функция является обратным преобразованием Фурье прямоугольного импульса шириной 2π и высотой 1. Пример ее применения (рис.1.4):
t=0:0.01:50;
y=0.7*sinc(pi*(t-25)/5);
plot(t,y); grid; title('Функция sinc(t)');
xlabel('Время (с)'); ylabel('Выходной процесс')
Рисунок 1.4 – График процесса, сгенерированного функцией sinc