ыс. А. Б. Сергиенко минобрнауки россии санктПетербургский государственный электротехнический университет лэти им. В. И. Ульянова (Ленина) А. В. Петров а. Б. Сергиенко цифровая обработка сигналов лабораторный практикум
![]()
|
Ñàíêò-Ïåòåðáóðã 2018 ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ А. В. Петров, А. Б. Сергиенко МИНОБРНАУКИ РОССИИ Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В. И. Ульянова (Ленина) А. В. ПЕТРОВ А. Б. СЕРГИЕНКО ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ Лабораторный практикум Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ» 2018 УДК 621.391 ББК 32.811.3 П30 Петров А. В., Сергиенко А. Б. П30 Цифровая обработка сигналов: лабораторный практикум. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2018. 78 с. ISBN 978-5-7629-2342-2 Представлено описание пяти компьютерных лабораторных работ, вы- полняемых при изучении курса «Цифровая обработка сигналов» в системе MATLAB с использованием специализированного пакета расширения Signal Processing Toolbox. Предназначено для студентов факультета радиотехники и телекоммуни- каций, обучающихся по программам подготовки бакалавров по направлению 11.03.01 «Радиотехника», а также по программе подготовки специалистов по специальности 11.05.01 «Радиоэлектронные системы и комплексы». УДК 621.391 ББК 32.811.3 Рецензенты: кафедра радиосистем и обработки сигналов Санкт- Петербургского государственного университета телекоммуникаций им. проф. М. А. Бонч-Бруевича; канд. техн. наук В. М. Москалев (Военно-космическая академия им. А. Ф. Можайского). Утверждено редакционно-издательским советом университета в качестве учебного пособия ISBN 978-5-7629-2342-2 СПбГЭТУ «ЛЭТИ», 2018 3 1. ДИСКРЕТНЫЕ СИГНАЛЫ 1.1. Цели работы • Знакомство со средой MATLAB. • Формирование и построение графика кусочно-линейного дискретного сигнала. • Расчет и построение графика спектра дискретного сигнала. • Расчет и построение графика аналогового сигнала, восстановленного по дискретным отсчетам в соответствии с теоремой Котельникова. 1.2. Теоретические сведения Дискретизация аналогового сигнала. Исходный физический сигнал (напряжение, ток и т. д.) является непрерывной функцией времени s(t). Такие сигналы, определенные во все моменты времени, называют аналоговыми (рис. 1.1, а). Последовательность чисел {x(k)}, представляющая сигнал при цифровой обработке, является дискретным рядом и не может полностью со- ответствовать аналоговому сигналу (рис. 1.1, б). t 0 k 0 s(t) x(k) а б Рис. 1.1. Аналоговый (а) и дискретный (б) сигналы Числа, составляющие последовательность {x(k)}, являются значениями сигнала в отдельные (дискретные) моменты времени и называются отсчета- ми сигнала x(k). Как правило, отсчеты берутся через равные промежутки времени T, называемые периодом дискретизации (или интервалом, шагом дискретизации): x(k) = s(kT). (1.1) Величина, обратная периоду дискретизации, называется частотой дис- кретизации: F д = 1/T. Соответствующая ей круговая частота определяется следующим образом: ω д = 2π/T. 4 В общем случае представление сигнала набором дискретных отсчетов приводит к потере информации, так как мы ничего не знаем о поведении сиг- нала в промежутках между отсчетами. Однако существует класс аналоговых сигналов, для которых такой потери информации не происходит и которые могут быть точно восстановлены по значениям своих дискретных отсчетов. Процесс преобразования аналогового сигнала в последовательность от- счетов называется дискретизацией, а результат такого преобразования — дискретным сигналом. Спектр дискретного сигнала. Преобразование Фурье (ПФ) позволяет вычислить спектральную плотность сигнала, представляющего собой непре- рывную функцию времени: ( ) ( ) j t S s t e dt ∞ − ω −∞ ω = ∫ ɺ (1.2) ПФ — это взаимная корреляционная функция (ВКФ) при нулевом сдви- ге между сигналом и комплексными гармоническими колебаниями с разны- ми частотами. Поэтому спектр дискретного сигнала рассчитывается анало- гичным образом через ВКФ в дискретном времени: ( ) ( ) j k k X x k e ∞ − ω =−∞ ω = ∑ ɶ ɺ ɶ , (1.3) где ω ɶ — нормированная частота. Она равна изменению фазы между сосед- ними отсчетами гармонического сигнала и измеряется в радианах на отсчет. Из этой формулы видно главное свойство спектра любого дискретного сигнала: спектр является периодическим, его период равен 2π рад/отсчет (это значение соответствует нормированной частоте дискретизации: д 2 ω = π ɶ рад/отсчет): ( 2 ) ( ) X X ω ± π = ω ɺ ɺ ɶ ɶ . Следует также обратить внимание на размерность спектральной функ- ции дискретного сигнала: она совпадает с размерностью отсчетов. Установим связь между спектром дискретного сигнала и спектром ана- логового сигнала. Пусть значения x ( k ) являются отсчетами аналогового сиг- нала s ( t ), взятыми с периодом T (1.1). В этом случае спектр дискретного сиг- нала (см. (1.3)) связан со спектром аналогового сигнала (1.2) следующим об- разом: 5 д 1 2 ( ) n n X S T T ∞ =−∞ ω − π ω = ∑ ɶ ɺ ɺ ɶ (1.4) Таким образом, спектр дискретного сигнала представляет собой беско- нечный ряд сдвинутых копий спектра исходного непрерывного сигнала s ( t ) (на рис. 1.2 изображен модуль спектра дискретного сигнала). Расстояние по частоте между соседними копиями спектра равно частоте дискретизации ω д = 2π/ T 0 w д /2 w –w д | ( )| X w – /2 w д w д 0 p w –2p –p 2p Рис. 1.2. Модуль спектра дискретного сигнала Характер спектра дискретного сигнала демонстрирует частотно- временную дуальность преобразования Фурье: • периодический сигнал → дискретный спектр (ряд Фурье); • периодический спектр → дискретный сигнал. Формула (1.3) позволяет рассчитать спектр последовательности отсче- тов { x ( k )}, никак не связывая эти отсчеты с аналоговым сигналом. Форму- ла (1.4) предполагает, что отсчеты { x ( k )} получены путем дискретизации аналогового сигнала s ( t ), и показывает связь между спектрами дискретного и аналогового сигналов. Следует подчеркнуть, что эти 2 формулы дают одина- ковый результат. Отсюда следует еще один важный факт. Соединить отсчеты { x ( k )} для получения аналогового сигнала можно произвольным образом. В каждом случае аналоговый сигнал будет, разумеется, иметь свой спектр. Однако ре- зультат суммирования сдвинутых копий спектров по формуле (1.4) всегда будет одним и тем же, поскольку определяется только значениями дискрет- ных отсчетов { x ( k )} = { s ( kT )} и формулой (1.3). Формула обратного преобразования Фурье в дискретном времени анало- гична формуле вычисления коэффициентов комплексного ряда Фурье: 6 1 ( ) ( ) 2 j k x k X e d π ω −π = ω ω π ∫ ɶ ɺ ɶ ɶ Свойства преобразования Фурье в дискретном времени. Под свойст- вами ПФ подразумевается взаимное соответствие трансформаций сигналов и их спектров. Ниже перечислены основные свойства ПФ в дискретном времени. Линейность. ПФ в дискретном времени, согласно определению (1.3), является линейной комбинацией отсчетов последовательности, поэтому оно подчиняется принципу суперпозиции: 1 2 ( ) ( ) ( ) y k ax k bx k = + ↔ 1 2 ( ) ( ) ( ) Y aX bX ω = ω + ω ɺ ɺ ɺ ɶ ɶ ɶ . Задержка. При задержке сигнала на ∆k отсчетов амплитудный спектр не меняется, а фазовый спектр приобретает дополнительное слагаемое k −ω∆ ɶ , линейно зависящее от частоты: ( ) ( ) y k x k k = − ∆ ↔ ( ) ( ) j k Y X e − ω∆ ω = ω ɶ ɺ ɺ ɶ ɶ Свертка. Линейной свертке дискретных последовательностей соответ- ствует произведение их спектров: 1 2 ( ) ( ) ( ) n y k x n x k n ∞ =−∞ = − ∑ ↔ 1 2 ( ) ( ) ( ) Y X X ω = ω ω ɺ ɺ ɺ ɶ ɶ ɶ . Чередование знаков сигнала. Изменение знаков у элементов исходной последовательности с нечетными номерами приводит к сдвигу спектра сиг- нала по частоте на π рад/отсчет: ( ) ( ) ( 1) k y k x k − = ⋅ − ↔ ( ) ( ) Y X ω = ω + π ɺ ɺ ɶ ɶ Инвертирование последовательности во времени. Инверсия последо- вательности отсчетов во времени соответствует инверсии спектра по частоте: ( ) ( ) y k x k = − ↔ ( ) ( ) Y X ω = −ω ɺ ɺ ɶ ɶ . Вставка нулей. Вставка N – 1 нулей между соседними элементами ис- ходной последовательности приводит к сужению спектра сигнала в N раз: ( ), , ( ) где — любое целое число, 0, , x k N k Nm y k m k Nm = = ≠ ↔ ( ) ( ) Y X N ω = ω ɺ ɺ ɶ ɶ . Восстановление аналогового сигнала по теореме Котельникова. Ри- сунок 1.2 наглядно демонстрирует и способ восстановления непрерывного сигнала по дискретным отсчетам. Для этого необходимо пропустить дис- 7 кретный сигнал через идеальный фильтр нижних частот (ФНЧ) с частотой среза, равной половине частоты дискретизации. Амплитудно-частотная ха- рактеристика (АЧХ) такого фильтра показана на рис. 1.2 штриховой линией, а импульсная характеристика (ИХ) имеет форму sin( ) ( ) t T t T π π . Выходной сигнал (если сдвинутые копии спектра на рис. 1.2 не перекрываются, он бу- дет в точности совпадать с исходным аналоговым сигналом), таким образом, будет представлять собой сумму сдвинутых и умноженных на отсчеты сиг- нала копий ИХ идеального ФНЧ: sin ( ) ( ) k t kT T s t s kT t kT T ∞ =−∞ − π = − π ∑ (1.5) Подводя итог сказанному, сформулируем теорему Котельникова: лю- бой сигнал s(t), спектр которого не содержит составляющих с частотами вы- ше некоторого значения в в 2 f ω = π , может быть без потерь информации пред- ставлен своими дискретными отсчетами { s(kT)}, взятыми с интервалом T, удовлетворяющим следующему неравенству: в в 1 2 T f π < = ω Восстановление исходного непрерывного сигнала s(t) по набору его дис- кретных отсчетов {s(kT)} производится по формуле (1.5). 1.3. Индивидуальное задание В данной лабораторной работе рассматри- вается кусочно-линейный сигнал s(t), заданный параметрами U k , T k , k = 1…4, как показано на рис. 1.3. При выполнении работы производится дискретизация данного сигнала с заданной час- тотой F д Параметры сигнала и используемая часто- та дискретизации являются индивидуальными для каждой бригады и выдаются преподавате- лем в виде табл. 1.1. 0 Т 1 Т 2 U 1 U 2 U 3 U 4 s t ( ) t Рис. 1.3. Кусочно-линейный сигнал, исследуемый в работе 8 Таблица 1.1 U 1 , В U 2 , В U 3 , В U 4 , В T 1 , мс T 2 , мс F д , кГц 1.4. Указания к выполнению работы 1. Запуск MATLAB и знакомство с его средой. Запустите программу MATLAB (ее значок на рабочем столе имеет вид ). Откроется окно MATLAB. MATLAB — интерпретируемый язык программирования, позволяющий осуществлять вычисления как в интерактивном режиме, так и путем запуска программ (сценариев, scripts). Работа в интерактивном режиме сводится к на- бору в командной строке MATLAB необходимых команд (выполнение ко- манды производится после нажатия клавиши Enter ), например: >> A = sqrt(cos(pi/12)^2 + 1) A = 1.3903 В результате выполнения данной команды будет создана переменная A со значением, равным ( ) 2 cos 12 1 π + . • Создайте переменные для всех параметров сигнала (U 1 …U 4 , T 1 , T 2 ) и частоты дискретизации F д Справка Все созданные и хранящиеся на данный момент в памяти переменные ото- бражаются в рабочей области Workspace. 2. Формирование дискретного сигнала. MATLAB ориентирован на работу с векторами и матрицами. Используйте эти возможности для создания вектора отсчетов заданного сигнала: x(k) = u(kT), где T = 1/F д — интервал дискретизации. • Сформируйте вектор моментов времени взятия отсчетов. Справка Для создания векторов в виде арифметических прогрессий используется сим- вол двоеточия. Конструкция x1:dx:x2 означает создание равномерной по- следовательности чисел с первым элементом x1, шагом dx и конечным зна- чением, равным x2 или меньше его не более чем на dx. Если шаг последова- тельности равен единице, dx можно не указывать: x1:x2. 9 • Рассчитайте значения отсчетов первого линейного фрагмента сигнала (u(t) = a 1 t + b 1 при t = 0…T 1 ). Значения параметров a 1 и b 1 , а также диапазон используемых номеров элементов вектора моментов времени определите са- мостоятельно. Справка Для обращения к части элементов вектора нужно указать в круглых скобках вектор номеров этих элементов. Чаще всего требуется обращение к одиноч- ному элементу (x(n)) или сплошному диапазону номеров (x(n1:n2)). Для ссылки на последний элемент можно использовать ключевое слово end. Внимание! В отличие от многих языков программирования, нумерация элементов в MATLAB всегда начинается с единицы! • Аналогичным образом рассчитайте значения отсчетов второго линей- ного фрагмента сигнала (u(t) = a 2 t + b 2 при t = T 1 …T 2 ). Значения параметров a 2 и b 2 , а также диапазон используемых номеров элементов вектора момен- тов времени определите самостоятельно. Замечание Если на момент взятия отсчета приходится скачок уровня аналогового сигна- ла, для целей данной работы значение дискретного отсчета может быть вы- брано произвольно в пределах диапазона скачка. Однако с теоретической точки зрения правильнее всего принять значение отсчета равным середине скачка (полусумме значений аналогового сигнала справа и слева от скачка). • Постройте график дискретного сигнала, использовав сначала функ- цию plot, а затем функцию stem, чтобы сравнить результаты их работы. Справка Наиболее часто для построения графиков используется функция plot в форме plot(y) или plot(x, y) (в первом случае по горизонтали откла- дываются номера элементов вектора, во втором варианте строится зависи- мость y(x)). Параметры x и y должны быть векторами одинаковой длины. Для построения графиков дискретных сигналов полезна функция stem, ко- торая имеет такой же синтаксис. Она строит графики в виде вертикальных «стебельков». 10 3. Создание MATLAB-программы. Для дальнейшей работы необходи- мо превратить код, созданный в интерактивном режиме, в MATLAB- программу (сценарий, script). Для этого выполните следующее: • Создайте (средствами Windows) папку для лабораторных работ вашей бригады. Место расположения этих папок указывает преподаватель. • В окне MATLAB сделайте созданную папку бригады текущей папкой. Для этого служит поле Current Folder в верхней части окна. • В панели истории введенных команд (Command History) выделите команды, с помощью которых задавались параметры дискретного сигнала и производилось его формирование (выделение диапазона строк производится путем щелчка мышью при нажатой клавише Shift). Скопируйте выделенные команды в буфер обмена. Справка Если панель Command History отсутствует на экране, включите ее отобра- жение командой меню Desktop Command History. • Создайте новый файл MATLAB-программы (самый левый значок (New script) панели инструментов, команда меню File New Script или клавиши Ctrl + N) и вставьте программный код из буфера обмена. • Сохраните файл, дав ему соответствующее имя. Справка Имена файлов в MATLAB фактически являются идентификаторами пере- менных, поэтому на них налагаются ограничения. Допустимые символы: ла- тинские буквы, цифры, символ подчеркивания; первый символ — не цифра. |