Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР1 Дискретные сигналы

.docx
Скачиваний:
0
Добавлен:
28.01.2026
Размер:
124.03 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра ТОР

отчет

по лабораторной работе №1

по дисциплине «Цифровая обработка сигналов»

Тема: ДИСКРЕТНЫЕ СИГНАЛЫ

Студенты гр.

Преподаватель

Апалина П.В.

Санкт-Петербург

202X

Цели работы

• Знакомство со средой MATLAB.

• Формирование и построение графика кусочно-линейного дискретного сигнала.

• Расчет и построение графика спектра дискретного сигнала.

• Расчет и построение графика аналогового сигнала, восстановленного по дискретным отсчетам в соответствии с теоремой Котельникова.

Индивидуальное задание

В данной лабораторной работе рассматривается кусочно-линейный сигнал s(t), заданный параметрами Uk, Tk, k = 1…4, как показано на рис. 1.

Рис. 1. Кусочно-линейный сигнал, исследуемый в работе

При выполнении работы производится дискретизация данного сигнала с заданной частотой Fд. Параметры сигнала и используемая частота согласно варианту бригады №2 представлены в табл. 1.

Табл. 1. Параметры сигнала

U1, В

U2, В

U3, В

U4, В

T1, мс

T2, мс

Fд, кГц

4

4

8

0

6

10

3

Обработка данных

Выполним в программной среде MATLAB три задачи:

1. Представление дискретного сигнала.

2. Построение АЧХ и ФЧХ сигнала.

3. Восстановление аналогового сигнала по Фурье-образам.

Код программы с подробными комментариями и полученные графики (рис. 2-4) приведем ниже.

Рис. 2. График дискретного сигнала

Рис. 3. Графики амплитудного и фазового спектров сигнала

Рис. 4. Совмещенный график дискретного восстановленного аналогового сигналов

Код программы

%% Построение графика дискретного сигнала

close all; % закрытие всех открытых прежде графиков

U1 = 4;

U2 = 4;

U3 = 8;

U4 = 0;

T1 = 0.006;

T2 = 0.01;

Fd = 3000; % исходные данные в СИ (В, с, Гц)

T = 1/Fd; % Создадим вектор отсчетов заданного сигнала: x(k) = u(kT), где T = 1/Fд — интервал дискретизации.

t1 = 0:T:T1;

t2 = T1:T:T2; % векторы моментов времени взятия отсчетов

a1 = 0; % Зададим линейные функции для описания сигнала по двум диапазонам времени

b1 = 4;

u1 = a1*t1 + b1;

a2 = -U3/(T2-T1);

b2 = -a2*T2;

u2 = a2*t2 + b2;

u = [u1(1:end-1) u2]; % На момент взятия отсчета приходится скачок уровня аналогового сигнала.

% Значение дискретного отсчета выберем произвольно в пределах диапазона

% скачка, для этого исключим дублирование последних точек справа с помощью end-1

t = [t1(1:end-1) t2];

% Построим график дискретного сигнала

figure(1);

stem(t, u, 'Linewidth', 1.5);

ax = gca;

ax.FontSize = 12;

xlabel('T, с');

ylabel('U, В');

%% Построение графика спектра дискретного сигнала

k = (0:length(t)-1).';

w = (-pi:(0.001*pi):pi);

kw = k*w; % Вычислим произведение столбца k и строки w — это даст матрицу размером N x M, содержащую все попарные произведения значений k и w

sign = kw*(-1j); % Умножим полученную матрицу на -j, чтобы получить показатель комплексной экспоненты

ex = exp(sign); % Значение комплексной экспоненты

% Умножим сформированный ранее вектор отсчетов сигнала x на матрицу значений комплексных экспонент.

% Эта операция реализует суммирование по k в формуле (1.3) и в результате

% дает вектор-строку значений спектра, рассчитанных для M частот из вектора w

Xw = u*ex; % X(w)

% Построим графики амплитудного и фазового спектров сигнала, разместив их друг под другом в одном графическом окне

linear_f = Fd*w/(2*pi); % линеаризованная частота

figure(2);

subplot(2,1,1);

plot(linear_f, abs(Xw), 'Linewidth', 1.5);

xlabel('f, Гц');

ylabel('А(f)');

ax = gca;

ax.FontSize = 12;

subplot(2,1,2);

plot(linear_f, angle(Xw), 'Linewidth', 1.5);

xlabel('f, Гц');

ylabel('Ф(f)');

ax = gca;

ax.FontSize = 12;

%% Восстановление аналогового сигнала по теореме Котельникова

tv = -5*T : T/10 : (T2+5*T); % Сигнал рассчитывается для равномерно следующих значений времени,

% расположенных в 10 раз чаще, чем было при дискретизации сигнала. Сформируем вектор

% моментов времени для расчета восстановленного сигнала по (1.5).

% Охватываемый диапазон времени будет выходить за края

% сигнала как минимум на 5 исходных интервалов дискретизации.

null = zeros(1,length(tv)); % Формируем заполненную нулями «заготовку» для вектора

% значений восстановленного сигнала s(t). Длина этого вектора должна

% совпадать с длиной вектора моментов времени.

for k = 0:length(u)-1

null = null + (u(k+1)*sinc(1/T*(tv-k*T)));

end

figure(3);

plot(tv, null);

hold on;

stem(t, u);

ax = gca;

ax.FontSize = 12;

xlabel('T, с');

ylabel('U, В');

Выводы

В лабораторной работе было выполнено представление кусочно-линейного сигнала в виде дискретного ряда, построены графики АЧХ и ФЧХ. Выполнены расчет и построение графика аналогового сигнала, восстановленного по дискретным отсчетам в соответствии с теоремой Котельникова.

Непрерывный сигнал был задан в виде ряда чисел, взятых с промежутком, определяемым заданной частотой дискретизации. Мы рассчитали спектр в основном частотном диапазоне и построили графики амплитудного и фазового спектров. Для этого были перемножены вектор отсчетов сигнала и матрица значений комплексных экспонент, получен вектор-строка значений спектра.

Чтобы восстановить сигнал с помощью теоремы Котельникова, мы сформировали вектор моментов времени с шагом в 10 раз меньше интервала дискретизации. Охватываемый диапазон времени должен был быть введен с запасом на 5 исходных интервалов дискретизации вправо и влево. Это позволило увидеть на графике затухающие «хвосты» функций sin(x)/x.