1 2 Ім'я файлу: Лабораторна робота №1 Коновалова Влада СЗ-481.docx Розширення: docx Розмір: 1784кб. Дата: 23.05.2022 скачати МІНІСТЕРСТВО ОСВІТИ І НАУКИ НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ Кафедра Засобів Захисту Інформації Лабораторна робота №1 з дисципліни «Цифрова обробка сигналів» з теми: «Спектральний аналіз сигналів» Виконала: студентка групи СЗ - 481 Коновалова В. В. Прийняв: доцент кафедри ЗЗІ Швець В. А. Київ – 2021 Цель работы. Получить навыки использования преобразования Фурье. Научиться находить амплитудный и фазовый спектры сигнала и проводить анализ свойств этих характеристик. Получить представление о спектре дис- кретного сигнала. Получить навыки использования функций среды MATLAB. Теоретические сведения. Спектральный анализ - это один из методов обработки сигналов, который позволяет охарактеризовать частотный состав измеряемого сигнала. К зада- чам спектрального анализа относятся: Спектральное разложение сигнала - представление сигнала в виде суммы гармонических сигналов с различными частотами; Анализ спектральных компонент сигнала с целью изучения свойств сигнала; Обратное преобразование – получение сигнала по известному спек- тральному разложению. РядФурье Ряд Фурье [1, стр. 30] является инструментом спектрального анализа перио-дическихсигналов. Наиболее употребимой формой записи ряда Фурье явля- ется комплексная форма, задаваемая формулой 00 s(t)= LCk k=-00 jkwlt e , (1) где s(t) – аналоговый сигнал (непрерывная функция времени); wl= 2rr- круговая частота, соответствующая периоду Tповторения сигнала; T wk= kwl- гармоника сигнала с номером k; Ck – коэффициент ряда с номером k,вычисляемый по формуле: Ck= T/2 1 s(t)e-jkwltdt. (2) T -T/2 ПреобразованиеФурье Преобразование Фурье (Fourier Transform) является инструментом спек- трального анализа непериодическихсигналов [1, стр. 39]. Формулы преобра- зования Фурье можно получить из формул для ряда Фурье, устремив период повторения сигнала к бесконечности T→ ∞. Если аналоговый сигнал представлен непрерывной функцией времени вида s(t), то его спектральная функция задается формулой прямого преобразова- ния Фурье: 00 s(w)= s(t)e-jwtdt, -00 (3) где w– текущая круговая частота. Формула обратного преобразования Фурье позволяет получить сигнал по его спектральной функции: 00 1 jwt s(t)= 2rr s(w)e -00 dw. (4) Таким образом, сигнал s(t) и его спектральная функция s(w) взаимно- однозначно связаны прямым и обратным преобразованиями Фурье. Модуль спектральной функции Is(w)Iназывают амплитудным спектром, а ее аргумент = arg s(w) – фазовым спектром. Если анализируемый сигнал s(t) – вещественная функция, то соответствую- щая спектральная функция s(w)является «сопряженно-симметричной» от- носительно нулевой частоты. Это означает, что значения спектральной функ- ции на частотах w и – w являются комплексно-сопряженными по отношению друг к другу: S"(-w) = S"∗(w). (5) Если s(t) – четная функция, то спектр будет чисто вещественным(и, следо- вательно, будет являться четнойфункцией). Если, напротив, s(t) – функция нечетная, то спектральная функция будет чисто мнимой(и нечетной). Для вещественного сигнала s(t) амплитудный спектр является четной, а фа- зовый – нечетной функцией частоты: IS"(-w)I = IS"(w)I, (6) s(-w) = - s(w). (7) Пример.Прямоугольныйимпульс. В качестве примера расчета преобразования Фурье рассмотрим прямоуголь- ный импульс (рис. 1), центрированный относительно начала отсчета времени и имеющий длительность где A – амплитуда сигнала. s(t) = {A, |t| :: r/2 , 0, |t| > r/2 Рисунок 1 – Прямоугольныйимпульс Вычисляем спектр сигнала S"(w) с помощью формулы прямого преобразова- ния Фурье (3): oo r/2 S"(w) = s(t)e-jwtdt = Ae-jwtdt = Ar sin(wr/2) . wr/2 -oo -r/2 Примечание:при вычислении интеграла воспользовались следующими фор- мулами: ejx = cos(x) + j sin(x) (формула Эйлера); 1 cos (ax)dx = sin(ax) + C; a 1 sin (ax)dx = - a cos(ax) + C. При нахождении амплитудного и фазового спектров прямоугольного им- пульса вспомним, что рассматриваемый импульс является четной функцией, поэтому спектральная функция сигнала S"(w) также будет четной. Амплитуд- ный спектр – четная функция, а фазовый спектр - нечетная функция (рис. 2). а) б) Рисунок 2 – Амплитудный(а)ифазовый(б)спектрыпрямоугольногоимпульса Амплитудный спектр данного сигнала простирается до бесконечности, по- степенно затухая. Поэтому вводят понятие эффективной ширины спектра, ко- торое определяется как ширина главного лепестка. Для прямоугольного им- пульса эффективная ширина спектра равна Δw = 2rr . r (8) Длительность прямоугольного импульса равна T. Произведение эффектив- ной ширины спектра сигнала на длительность сигнала называется базой сиг- нала: B= ΔwT. (9) Для каждого сигнала база – это свое число. В случае прямоугольного им- пульса B= 2rr. Из этих соотношений видно, что чем короче сигнал, тем шире его спектр и наоборот. Это положение называют соотношением неопределенности. Су- ществует утверждение, что для любого сигнала база сигнала не может быть меньше единицы. Спектрдискретногосигнала Пусть аналоговый сигнал задан функцией времени s(t), а его спектральная функция s(w) определяется по формуле прямого преобразования Фурье (3). Дискретизируем сигнал s(t), взяв отсчеты сигнала с частотой дискретизации fд. Частота дискретизации задается формулами fд = 1 ; wд = T 2rr . T (10) Спектр sд (w) дискретизованного сигнала [1, cтр. 157] представляет собой бесконечный ряд сдвинутых копий спектра исходного непрерывного ла s(t) и определяется формулой: 00 sд (w)= fд Ls(w− 2rrfдn) n=-00 (11) где w– текущая круговая частота; fд – частота дискретизации; s(w)– спектральная функция исходного аналогового сигнала. Расстояние между соседними копиями спектра равно частоте дискретизации сигнала (рис. 3). Рисунок 3 – Спектрдискретизованногосигнала Порядок выполнения работы. Расчетзначенийсигналаипостроениеегографика. Запишите в конспекте номер своего варианта, формулу для сигнала s(t) и значения параметров Aи a(варианты заданий приведены в конце данного документа). Запустите MATLAB. В меню File выберите пункт «NewFile->Script», и создайте новый M-файл. Напишите программу для расчета значений сигнала s(t) и построения его графика. Для этого используйте следующие MATLAB-функции: plot – рисование графика в виде непрерывной кривой; grid – рисование линий сетки на графике; legend – рисование легенды (пояснительной надписи); xlabel, ylabel – рисование заголовков осей X и Y; xlim, ylim – задание диапазона отображаемых значений по осям X и Y. Для просмотра документации по конкретной функции MATLAB введите в окне “Command Window” команду doc (полная документация) или help (краткая справка). Например, следующая команда откроет окно с полной до- кументацией по функции plot: >> doc plot Пример программы MATLAB для задания значений сигнала и построения графика сигнала: % Рассчитываем значения сигнала A = <<ваш параметр>>; % амплитуда импульса a = <<ваш параметр>>; % скорость убывания импульса t = [-10:0.1:10]; % вектор отсчетов времени s = <<ваша формула для расчета сигнала>>; % значения сигнала % рисуем график сигнала plot(t, s); % график сигнала grid on; % включаем линии сетки legend('<<ваша легенда>>'); % легенда xlabel('t'); % заголовок оси X ylabel('s(t)'); % заголовок оси Y xlim([-2 2]); % диапазон отображаемых значений по оси X ylim([0 1.5]); % диапазон отображаемых значений по оси Y Запустите полученную MATLAB программу (нажатием клавиши F5) и проанализируйте результаты ее работы (должно появиться окно с графиком). Примечание:После каждого запуска программы полезно убедиться в отсут- ствии в ней ошибок. Если в программе есть ошибки, то MATLAB выведет со- общения об ошибках в окно команд (Command Window) с указанием назва- ния функции и строки кода, в которой произошла ошибка. РасчетпреобразованияФурье. По виду сигнала s(t) сделайте предположения о виде спектральной функ- ции, амплитудного и фазового спектров сигнала (четность/нечетность). Рассчитайте преобразование Фурье по формуле (3) для сигнала s(t) для сво- его варианта (письменно выведите формулу в общем виде, не подставляя конкретных параметров Aи а). Подсказка:При выводе спектральной функции можете воспользоваться сле- дующими формулами: eaxdx= 1 eax+ C; a e-00= 0; eO= 1; a2− b2= (a+ b)(a− b); j2= −1. Покажите результат преподавателю. В уже имеющемся M-файле допишите код для вычисления значений преоб- разования Фурье сигнала s(t) и построения графиков амплитудного |s(w)| и фазового (w) спектров сигнала. Используйте следующие MATLAB-функции: abs – вычисление модуля комплексного числа; angle – вычисление аргумента комплексного числа; figure – создание нового графического окна; subplot – рисование группы графиков. Пример MATLAB кода: % вычисляем преобразование Фурье сигнала omega = [-20:0.1:20]; % вектор частот % спектральная функция S = <<ваша формула спектральной функции>>; % амплитудный спектр Samp = abs(S); % фазовый спектр Sphase = angle(S); % рисуем графики амплитудного и фазового спектра figure % новое графическое окно subplot(1, 2, 1); plot(omega, Samp); xlabel('\omega'); ylabel('| S(\omega) |'); grid on subplot(1, 2, 2); plot(omega, Sphase); xlabel('\omega'); ylabel('\phi_s(\omega)'); grid on Расчетэффективнойшириныспектраибазысигнала. Рассчитайте значения эффективной ширины Δwспектра и базы Bсигнала (пример расчета приведен в теоретической части).Убедитесь, что для вашего сигнала соблюдается условие, что база сигнала не может быть меньше единицы. Подсказка.Эффективную ширину спектра определять по уровню 0.1 от мак- симального значения амплитудного спектра (максимальное значение дости- гается при w= 0). Для нахождения эффективной ширины спектра определи- те такую частоту w, на которой спектральная функция равна 0.1 от своего максимального значения. При расчете базы сигнала учитывайте тот факт, что для экспоненциальных сигналов в качестве длительности сигнала обычно берется время, при кото- ром амплитуда сигнала убывает e= 2.7 … раз. Поэтому длительность экс- поненциального сигнала равна 1/a(в случае одностороннего импульса) и 2/aв случае двустороннего импульса. Расчетспектрадискретизованногосигнала. Запишите в общем виде выражение для спектра дискретизованного сигнала, полученного из вашего аналогового сигнала при его дискретизации с некото- рой частотой fд. Используйте формулу (11). В уже имеющемся M-файле допишите код для расчета значений спектра дискретизованного сигнала при частоте дискретизации fд = 10 и построения графика амплитудного спектра дискретизованного сигнала. Пример кода: % рассчитываем спектр дискретизованного сигнала Fs = 10; % частота дискретизации omega = [-100:0.1:100]; % диапазон частот n = [-10:9]; % учитываем 20 копий спектра % cдвигаем частоты omega2 = repmat(omega, length(n), 1); shift = -2*pi*Fs.*n; shift = repmat(shift', 1, length(omega2)); omega2 = omega2+shift; Ss = <<ваша формула спектральной функции S(omega2)>>; Ss = sum(Ss, 1); Ss = Ss * Fs; % умножаем на Fs % рисуем график амплитудного спектра дискретизованного сигнала figure plot(omega, abs(Ss)); xlabel('\omega'); ylabel('| S(\omega) |'); Измените частоту дискретизации, сделав ее равной fд = 2. Запустите программу. Что произошло со спектром дискретного сигнала? Рисунок 4 – Одностороннийэкспоненциальныйимпульс 1 2 |