Файл: А. Б. Сергиенко минобрнауки россии санктПетербургский государственный электротехнический университет лэти им. В. И. Ульянова (Ленина) А. В. Петров а. Б. Сергиенко цифровая обработка сигналов лабораторный практикум.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 18.01.2024
Просмотров: 245
Скачиваний: 12
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
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