ыс. А. Б. Сергиенко минобрнауки россии санктПетербургский государственный электротехнический университет лэти им. В. И. Ульянова (Ленина) А. В. Петров а. Б. Сергиенко цифровая обработка сигналов лабораторный практикум
Скачать 1.73 Mb.
|
Аналитическая модель собственного шума в фильтрах с фиксиро- ванной запятой. Для статистического анализа ошибок округления, возни- кающих при выполнении вычислений с фиксированной запятой, в структур- ную схему фильтра вводятся эквивалентные источники шума, размещаемые в тех точках, где производится округление. Такими точками, как правило, яв- ляются выходы умножителей (ведь при сложении чисел с фиксированной за- пятой погрешностей не возникает). Предполагается, что эти источники обла- дают следующими свойствами: • распределение вероятности генерируемых ими шумов является рав- номерным, ширина диапазона равномерного распределения равна единице младшего разряда используемого формата представления чисел; 67 • шумовые отсчеты, генерируемые источниками, являются некоррели- рованными, т. е. генерируется белый шум; • шумы, генерируемые разными источниками, являются статистически независимыми; • собственные шумы фильтра и обрабатываемый полезный сигнал так- же являются статистически независимыми. Условия, при которых эти предположения близки к реальности, такие же, как и для выполнения аналогичных предположений о шумах квантования сигнала — сетка уровней равномерного квантования должна быть настолько частой, чтобы значение сигнала между соседними отсчетами изменялось на несколько уровней. Способ организации вычислений в фильтре определяется его структур- ной схемой, поэтому для фильтров, реализованных в разных формах, стати- стические свойства собственных шумов тоже будут разными. В качестве примера на рис. 5.3 показана структурная схема прямой формы реализации фильтра 2-го порядка, включающая источники собственных шумов. b 1 b 2 b 0 –a 1 –a 2 x( ) k y( ) k n b0 ( ) k n b1 ( ) k n b2 ( ) k n a1 ( ) k n a2 ( ) k z –1 z –1 z –1 z –1 Рис. 5.3. Фильтр 2-го порядка с эквивалентными источниками собственных шумов Из рис. 5.3 видно, что в данном случае все 5 собственных шумов явля- ются слагаемыми общей суммы, формирующей выходной сигнал фильтра. Таким образом, шум от любого источника проходит на выход только через рекурсивную часть фильтра, так что функция передачи для любого источни- ка шума оказывается равна 1 2 1 2 1 ( ) 1 n H z a z a z − − = + + 68 Соответствующий коэффициент передачи по мощности равен ( ) 2 j n H e − ω ɶ , вследствие независимости источников шумов их мощности суммируются. В итоге получаем спектральную плотность мощности (СПМ) собственного шума на выходе фильтра, равную 2 2 2 д 1 2 5 1 ( ) 1 n n j j W F a e a e − ω − ω σ ω = + + ɶ ɶ ɶ , (5.1) где 2 n σ — дисперсия каждого источника шума (входящее в формулу отноше- ние 2 д n F σ дает двустороннюю СПМ этого источника). 5.3. Индивидуальное задание Параметры квантуемого гармонического сигнала являются индивиду- альными для каждой бригады и выдаются преподавателем в виде табл. 5.2. Кроме того, в данной лабораторной работе используется фильтр из индиви- дуального задания для лабораторной работы № 2. Параметры, которые были использованы при синтезе этого фильтра, также приведены в табл. 5.2. Таблица 5.2 Параметры гармонического сигнала Параметры фильтра Амплитуда Частота Начальная фаза Тип Частота среза Пульсации в полосе пропускания Подавление в полосе задерживания A 0 ω ɶ , рад/отсчет ϕ 0 , рад A pass , дБ A stop , дБ 5.4. Указания к выполнению работы 1. Подготовка к началу работы. Запустите MATLAB и сделайте теку- щей папку вашей бригады. 2. Исследование свойств шума квантования. Эта часть работы вы- полняется путем создания MATLAB-программы. Создайте в редакторе MATLAB новый файл MATLAB-программы и сохраните его с соответст- вующим именем. Создайте вектор из 10 5 отсчетов вещественного гармонического сигнала с заданными амплитудой, частотой и начальной фазой: 0 0 ( ) cos( ) x k A k = ω + ϕ ɶ , k = 0, 1, …, 10 5 − 1. 69 Произведите квантование сигнала, округлив его значения с шагом в 1/256. Для этого можно умножить сигнал на 256, округлить результат функ- цией round, а затем разделить его на 256: x_q = round(x*256)/256; Вычислите шум квантования как разность между квантованным ( x_q) и исходным ( x) сигналами. Исследуйте свойства шума квантования, получив для этого графики сле- дующих его характеристик: • самого шума квантования длительностью 200 отсчетов; • гистограммы; • корреляционной функции для диапазона сдвигов ±100 отсчетов; • оценки СПМ. Сохраните в отчете 4 полученных графика. Справка • Для построения графика шума квантования длительностью 200 отсчетов используется функция plot(x(1:200)), где x — шум квантования. • Для расчета и отображения гистограммы служит функция hist. Формат вызова: hist(x, nbin), где x — анализируемый сигнал; nbin — число интервалов гистограммы. Для целей данной работы это число следует вы- брать равным 100. • Для расчета авто- и взаимных корреляционных функций служит функция xcorr. Формат вызова для оценки автокорреляционной функции (АКФ) случайного процесса: [Rx, dk] = xcorr(x, kmax, 'unbiased'), где x — анализируемый сигнал; kmax — максимальный сдвиг в отсчетах; Rx — вектор значений рассчитанной АКФ; dk — вектор задержек ( -kmax:kmax). Полученная АКФ является ненормированной, уровень ее пика (при нулевом сдвиге) равен средней мощности сигнала. • Для расчета оценки и построения графика СПМ шума квантования в дан- ной работе используется функция pwelch. Формат вызова для использова- ния в данной лабораторной работе: pwelch(x, Lb), где x — анализируе- мый сигнал; Lb — размер блоков, на которые делится сигнал при анализе. Чем больше размер блока, тем лучше частотное разрешение, но тем больше дисперсия оценки СПМ (из-за уменьшения числа блоков). Рекомендуемая длина блока для целей данной лабораторной работы — 256. 70 Повторите квантование сигнала, расчет шума квантования и получение графиков для следующих ситуаций: • используется тот же синусоидальный сигнал, но шаг квантования ра- вен 1/16; • используется тот же синусоидальный сигнал, но шаг квантования ра- вен 1; • дискретный белый гауссов шум (БГШ) с нулевым средним значением и числом отсчетов 10 5 , шаг квантования — 1/256. Сгенерированный случай- ный сигнал необходимо отмасштабировать так, чтобы его максимальное (по модулю) значение было равно единице: x = x/max(abs(x)); Справка Сгенерировать дискретный БГШ можно с помощью функции randn, которая генерирует некоррелированные псевдослучайные числа с гауссовым распре- делением, нулевым средним и единичной дисперсией. Формат вызова функ- ции для целей данной работы: sn = randn(1, N), где 1 — число строк генерируемой матрицы; N — число ее столбцов (в результате использования такой комбинации параметров получается вектор-строка длиной N отсчетов); sn — вектор отсчетов шума. • речевой сигнал из файла mtlb.mat (он входит в набор имеющихся в MATLAB тестовых сигналов), шаг квантования — 1/256. Для его загрузки используйте команду load mtlb, после ее выполнения в памяти появятся переменные mtlb (вектор отсчетов сигнала) и Fs (частота дискретизации; в данной лабораторной работе это значение не используется). Загруженный сигнал необходимо отмасштабировать так, чтобы его максимальное (по мо- дулю) значение было равно единице: x = mtlb/max(abs(mtlb)). 3. Исследование влияния округления коэффициентов фильтра на его параметры. Эта часть работы выполняется в среде Filter Design and Analysis Tool. Запустите среду командой fdatool и выполните синтез рекурсивного (IIR) ФНЧ с заданными параметрами: • Тип АЧХ (раздел Response Type): ФНЧ (Lowpass). • Тип фильтра (раздел Design Method): рекурсивный (IIR), конкретный тип выбрать из выпадающего списка в соответствии с заданием. 71 • Порядок фильтра (раздел Filter Order): задать вручную, выбрав вари- ант Specify order и введя в поле значение 4. • Частота среза (раздел Frequency Specifications): задать нормирован- ные частоты (вариант Normalized (0 to 1) в списке Units) и ввести значение из задания в поле, которое в зависимости от типа фильтра будет называться wc, wpass или wstop. • Неравномерность АЧХ (раздел Magnitude Specifications): задать из- мерение в децибелах (вариант dB в списке Units) и ввести параметры из за- дания (при их наличии) в поля Apass и/или Astop. Закончив задание параметров, щелкните на кнопке Design Filter. По умолчанию фильтр представлен в виде каскада секций 2-го порядка. Преобразуйте его к одной секции, щелкнув правой кнопкой мыши в поле Current Filter Information и выбрав в контекстном меню команду Convert to Single Section. Замечание После перехода к одной секции можно убедиться в том, что коэффициенты синтезированного фильтра совпадают с теми, что были приведены в задании к лабораторной работе № 2. Просмотреть коэффициенты можно, щелкнув на кнопке Filter Coefficients в панели инструментов. После этого вернитесь к просмотру АЧХ фильтра. Щелкните на кнопке Set quantization parameters из набора кнопок, расположенных в нижней части левой стороны окна. Появится панель зада- ния параметров квантования. В списке Filter arithmetic (тип арифметики фильтра) выберите вариант Fixed-point (с фиксированной точкой). По умолчанию будет выбрана вкладка Coefficients, на которой задаются параметры квантования коэффициентов фильтра. Чтобы эффекты округления коэффициентов были более явными, в данной лабораторной работе исполь- зуется 8-битовое квантование. Введите в поле Coefficient word length значе- ние 8 и щелкните на кнопке Apply (для остальных элементов данной вкладки оставьте значения по умолчанию). В поле графиков будут показаны две АЧХ, соответствующие исходному (Reference) и квантованному (Quantized) фильтрам. Скорее всего, их разли- чия будут весьма сильными, квантованный фильтр может даже оказаться не- устойчивым. Перейдите в визуализатор фильтров FVTool, щелкнув на кнопке 72 панели инструментов Full View Analysis, и сохраните в отчете графики АЧХ (Magnitude Response) и расположения нулей и полюсов на комплекс- ной плоскости (Pole/Zero Plot). Теперь преобразуем исходный (неквантованный) фильтр к каскаду сек- ций 2-го порядка. Для этого в списке Filter arithmetic выберите вариант Double-precision floating-point (с плавающей точкой двойной точности), за- тем щелкните правой кнопкой мыши в поле Current Filter Information и вы- берите в контекстном меню команду Convert to Second-Order Sections. Снова вернитесь к квантованному варианту с фиксированной точкой, выбрав в списке Filter arithmetic вариант Fixed-point. Заметные различия между АЧХ исходного и квантованного фильтров должны исчезнуть. Перейдите в FVTool и сохраните в отчете график АЧХ, увеличив его таким образом, чтобы на нем крупным планом отображалась по- лоса пропускания и были видны небольшие различия между двумя АЧХ в этой области. 4. Исследование собственного шума цифрового фильтра. Эта часть работы также выполняется в среде Filter Design and Analysis Tool. Для уп- рощения сопоставления результатов моделирования с результатами теорети- ческих расчетов рассматривается фильтр, представленный в виде одной сек- ции, реализованной в прямой форме. Поскольку в предыдущем разделе рабо- ты было показано, что 8-разрядное квантование коэффициентов не обеспечи- вает достаточной точности при реализации фильтра в виде одной секции, в данном разделе число двоичных разрядов увеличивается до 16. Для преобразования исходного (неквантованного) фильтра к одной сек- ции выберите в списке Filter arithmetic вариант Double-precision floating- point, затем щелкните правой кнопкой мыши в поле Current Filter Informa- tion и выберите в контекстном меню команду Convert to Single Section. За- тем выберите в этом же контекстном меню команду Convert Structure. В появившемся одноименном окне выберите первый вариант из списка: Direct- Form I (прямая форма реализации). Снова вернитесь к квантованному варианту с фиксированной точкой, выбрав в списке Filter arithmetic вариант Fixed-point. На вкладке Coefficients задайте 16-битовое представление в поле Coeffi- cient word length, для остальных параметров сохраните значения по умолча- нию. Щелкните на кнопке Apply. 73 Перейдите на вкладку Filter Internals (параметры промежуточных вы- числений) и принудительно задайте усечение результатов умножения до 16 старших бит. Для этого в списке Product mode (режим вычисления произ- ведений) выберите вариант Keep MSB (сохранять старшие биты). После это- го станет доступно для ввода поле Product word length (число разрядов для результатов умножения). Введите в это поле число 16. Щелкните на кнопке Apply. Щелкните на кнопке (Round-off Noise Power Spectrum) для вывода графика оценки СПМ собственного шума цифрового фильтра. Перейдите в FVTool и сохраните в отчете этот график, увеличив в нем масштаб по верти- кали так, чтобы был виден только график, относящийся к квантованному фильтру (он изображен сплошной линией и обозначен в легенде как Lowpass…: Quantized). 5. Сохранение информации о фильтре. Сохраните сеанс среды FDA- Tool командой меню File Save session или Save session as. Кроме того, не- обходимо записать значения коэффициентов числителя и знаменателя функ- ции передачи рассматриваемого фильтра — они будут необходимы для тео- ретического расчета СПМ собственного шума цифрового фильтра. Для этого щелкните на кнопке (Filter Coefficients) и запишите значения коэффици- ентов квантованного числителя (Quantized Numerator) и квантованного знаменателя (Quantized Denominator) с не менее чем четырьмя значащими цифрами. Примечание Для расчета теоретической СПМ собственного шума в MATLAB можно вме- сто ручной записи коэффициентов экспортировать их из среды FDATool в виде переменных, содержащих векторы коэффициентов числителя и знаме- нателя. Для этого воспользуйтесь командой File Export. 5.5. Содержание отчета Отчет должен содержать: • созданный в процессе работы программный код, оформленный в виде законченного документа и сопровождаемый полученными в ходе работы графиками; • полученные графики характеристик фильтра; 74 • теоретический график СПМ собственного шума цифрового фильтра, реализованного в прямой форме. Расчет производится по (5.1), скорректиро- ванной с учетом того, что порядок анализируемого фильтра равен 4; • выводы по результатам работы. 5.6. Контрольные вопросы 1. Какие из этих десятичных чисел могут быть точно представлены в вычислительных устройствах: 0.1, 0.2, 0.25, 0.36, 0.375, 0.5? 2. Можно ли построить цифровой фильтр, вычисления в котором будут выполняться абсолютно точно? Зависит ли это от типа фильтра (рекурсивный или нерекурсивный)? 3. Для какого из исследованных сигналов теоретические предположе- ния о свойствах шума квантования выполняются лучше всего? 4. Квантованию с большим числом уровней (например, 256) подверга- ются 2 гармонических сигнала с частотами 1 6 0.5236 ω = π ≈ ɶ рад/отсчет и 2 0.5 ω = ɶ рад/отсчет. В чем будут состоять различия в распределении вероят- ности, корреляционных функциях и спектрах шума квантования в этих двух случаях? 5. Объясните на качественном уровне, как примерно должны распола- гаться уровни неравномерного квантования для гармонического сигнала, ес- ли необходимо минимизировать среднюю мощность (дисперсию) шума кван- тования. 6. Изобразите структурную схему исследуемого в лабораторной работе фильтра (прямая форма реализации без разбиения на секции), произведя при этом масштабирование его коэффициентов, чтобы все они лежали в диапазо- не − 1…+1. Считая, что коэффициенты представляются в формате 1.7, найди- те коэффициент, относительная погрешность представления для которого оказывается максимальной, и определите эту относительную погрешность. 7. Изобразите структурную схему исследуемого в лабораторной работе фильтра (прямая форма реализации без разбиения на секции) и определите, какое количество разрядов целой части (включая знаковый разряд) необхо- димо обеспечить на выходе каждой операции умножения для того, чтобы при работе фильтра не возникало переполнений. Считать, что значения входного и выходного сигналов лежат в диапазоне − 1…+1. 75 8. Рекурсивный цифровой фильтр представлен в виде каскада секций 2-го порядка. Зависит ли собственный шум округления на выходе фильтра от порядка включения секций? 9. Сопоставить измеренное и теоретическое значения дисперсии шума квантования для указанного преподавателем сигнала. 10. Объяснить вид гистограммы шума квантования (ее форму и место расположения пиков на горизонтальной оси) для случая гармонического сиг- нала при указанном преподавателем шаге квантования. 11. Объяснить вид АКФ шума квантования (положение боковых пиков АКФ на горизонтальной оси) для случая гармонического сигнала при указан- ном преподавателем шаге квантования. 76 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ Айфичер Э. С., Джервис Б. У. Цифровая обработка сигналов: практиче- ский подход / пер. с англ. М.: Вильямс, 2004. Лайонс Р. Цифровая обработка сигналов / пер. с англ. М.: Бином-Пресс, 2007. Оппенгейм А., Шафер Р. Цифровая обработка сигналов / пер. с англ. М.: Техносфера, 2012. Основы цифровой обработки сигналов: курс лекций / А. И. Солонина, Д. А. Улахович, С. М. Арбузов, Е. Б. Соловьева. СПб.: БХВ-Петербург, 2005. Сергиенко А. Б. Цифровая обработка сигналов: учеб. пособие. СПб.: БХВ-Петербург, 2011. Солонина А. И., Арбузов С. М. Цифровая обработка сигналов. Модели- рование в MATLAB. СПб.: БХВ-Петербург, 2008. Цифровая обработка сигналов и MATLAB / А. И. Солонина, Д. М. Клионский, Т. В. Меркучева, С. Н. Перов. СПб.: БХВ-Петербург, 2013. 77 ОГЛАВЛЕНИЕ 1. ДИСКРЕТНЫЕ СИГНАЛЫ ............................................................................... 3 2. ДИСКРЕТНЫЕ ФИЛЬТРЫ.............................................................................. 18 3. ДИСКРЕТНОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ............................................... 33 4. ПРОЕКТИРОВАНИЕ ДИСКРЕТНЫХ ФИЛЬТРОВ..................................... 46 5. ЭФФЕКТЫ КВАНТОВАНИЯ И ОКРУГЛЕНИЯ.......................................... 60 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ ............................................... 76 Петров Александр Валерьевич, Сергиенко Александр Борисович Цифровая обработка сигналов Лабораторный практикум Редактор Н. В. Кузнецова Подписано в печать 27.11.18. Формат 60×84 1/16. Бумага офсетная. Печать цифровая. Печ. л. 5,0. Гарнитура «Times New Roman». Тираж 82 экз. Заказ ____ Издательство СПбГЭТУ «ЛЭТИ» 197376, С.-Петербург, ул. Проф. Попова, 5 |