Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 42
Текст из файла (страница 42)
раздел «Компенсация фазового сдвига»). Поэтому в конечном счете порядок фильтра удваивается. Можно задать порядок фильтра Чебышева, используя для этого третий числовой входной параметр: у - бес1ваге(х. г. и) При этом не рекомендуется использовать п > 13. Если в качестве третьего входного параметра использовать строку 'Г1г', будет использован нерекурсивный фильтр 30-го порядка, рассчитанный с помощью функции Г1Г1 (см. раздел «Функции синтеза с использованием окон» главы 6): у " бес(ваге(х, г, 'т)г') Данный нерекурсивный фильтр имеет линейную ФЧХ, поэтому производить двунаправленную фильтрацию нет необходимости.
Это позволяет уменьшить расход памяти при выполнении операции прорежнвания. Наконец, при использовании четырех входных параметров можно задать порядок нерекурсивного фильтра: у - бес)ва1е(х. г, и, 'Г~г') Для демонстрации прореживания сформируем сигнал, мгновенная частота которого меняется по гармоническому закону от нуля до частоты Найквиста и обратно в течение одной секунды (рис. 4.19): » Ра - 100еЗ: » 1 0:1/Гз;1; » з - сох(2*р1*1*рэ/4-Рз/4*з)л(2*р1*1)): » зресогав(з, П, Гз) » со)отвар 0гау 2ЗЗ Изменение частоты дискретизации ЗАМЕЧАНИЕ О понятии мгновенной частоты речь пойдет в разделе «Угловая модуляция» главы 8. Функция зресягаш, которая показывает цветом зависимость мгновенного амплитудного спектра от времени, будет рассмотрена в главе 5, Рис.
Е.! 9. Спектрограмма прорежиааемого сигнала На спектрограмме сигнала видно, что в его спектре содержатся частоты, которые после прореживаиия с любым коэффициеитом будут превышать новую частоту Найквиста, что неминуемо должно вызвать появление ложных частот. Убедимся в этом, понизив частоту дискретизации в два раза путем выборки каждого второго отсчета (рис. 4.20): » з1 - з(1;2:епо); 3 прореженный сигнал » зресогав(з1.
П . гз/2) » со)оппар дгау Теперь выполним прореживаиие с предварительной фильтрацией, воспользовавшись для этого функцией бес)васе (рис. 4.21): » з2 - Оес1васе(з. 2); $ прореженный сигнал » зресогав(з2. П, гз/2) » со)опаар 9гау Графики показывают, что при прореживаиии с предварительной фильтрацией оказалась удалена середина сигиала, содержащая высокие частоты. Однако в данном случае ие произошло появления ложных частот.
гза Глава 4. Дискретные системы Рис. 4.20. Прореживание беэ предварительной фильтрации создает ложные частоты Рис. 4.21. Предварительная фильтрация позволяет устранить ложные частоты при прореживании сигнала 235 Изменение частоты дискретизации Интерполяция При интерполяции нам необходимо повысить частоту дискретизации в Ж раз, то есть «растянуть» входной сигнал, а образовавшиеся промежутки между отсчетами чем-то заполнить. Подобно тому как прореживание сводится к дискретизации дискретного сигнала, процесс интерполяции оказывается подобным процессу восстановления непрерывного сигнала, только происходящему в дискретной области.
Исходный сигнал имеет периодический спектр, повторяющийся с частотой дискретизации ~; (рис. 4.22, а). Прежде всего мы «растягиваем» этот сигнал, добавляя между его отсчетами по йг — 1 нулей. При этом частота дискретизации сигнала станет равна гт~„но период повторения спектра останется прежним — у', (рис. 4.22, б). Теперь необходимо пропустить полученный сигнал через ФНЧ с частотой срезау',/2 (его идеализированная АЧХ показана на рис.
4.22, б). В результате фильтрации получится интерполированный сигнал, у которого частота дискретизации равна Луд, а спектр в полосе частот от нуля до /дг/2 остался прежним (рис. 4.22, в). О /д/2 /д /ч/д Рис. 4.22, Спектры сигналов в процессе интерполяции Для сохранения фазовых соотношений во входном сигнале следует использовать нерекурсивный фильтр с линейной ФЧХ. Поскольку в линии задержки фильтра в каждый момент содержится большое количество нулевых отсчетов и положения этих отсчетов на каждом шаге заранее известны, при реализации алгоритма 236 Глава 4.
Дискретные системы можно сэкономить время вычислений, игнорируя арифметические операции с этими отсчетами. В МАТЮКАВ интерполяция выполняется с помощью функции (птегр. Синтаксис ее вызова следующий: у - (п1егр(х, г) Здесь х — входной сигнал, г — целочисленный коэффициент повышения частоты дискретизации. Выходной параметр у — интергюлированный сигнал.
Для интерполяции используется нерекурсивный фильтр с линейной ФЧХ, перекрывающий целое число межотсчетных интервалов. По умолчанию порядок фильтра равен 8*г, то есть фильтр в каждый момент использует 8 отсчетов входного сигнала. Частота среза фильтра по умолчанию равна половине исходной частоты Найквиста. ВНИМАНИЕ Обратите внимание на то, что по умолчанию функция )пгегр считает полосу частот входного сигнала ограниченной половиной частоты Наггкаиста.
Используя третий и четвертый входной параметры, можно управлять длиной фильтра и его частотой среза; у - (псегр(х, г, 1, а1рла) Здесь 1 — половина количества отсчетов, используемых для интерполяции (длина фильтра равна 2*г*1 + 1), а1рпа — нормированная частота среза фильтра (значение 1 соответствует частоте Найквиста). По умолчанию 1 - Я и а1рпа - 0.5. При указании двух выходных параметров во втором из них функция возвращает коэффициенты фильтра, использованного для интерполяции: (у, Ь) - (пвегр(...) Рассмотрим пример интерполяции, сформировав для атого 13 отсчетов, принимающих значения ~1, и дополнив их с каждой стороны пятью нулямн (рис. 4.23): » х[0 О 0 0 О 1 1 1 1 1 -1 -1 1 1 -1 1 -1 1 0 0 0 0 0): » в' повишаен частоту дискретизации в пЯть раз » у = 1псегр(х. 5): » Ж график интерполированного сигнала - сплошнаЯ линиЯ » р)ов((0;)епдвл(у)-1), у) » Ж график исходного сигнала - кружочки » По1г) оп » р)ов((0:1епдсл(х)-1)*5, х.
'о') » П01г) ОГГ Обратите внимание на большие выбросы, сформированные между отсчетами с одинаковыми значениями в процессе интерполяции. Эти выбросы обусловлены именно ограничением полосы частот выходного сигнала. Если соединить исходные отсчеты «более плавно выглядящей» кривой, спектр полученного сигнала окажется шире. Таким образом, мы получили еще одно подтверждение факта, упоминавшегося при обсуждении теоремы Котельникова в главе 3: ограничен- 237 Изменение частоты дискретизации ность полосы частот, занимаемой сигналом, вовсе не означает малости изменения значений сигнала между отсчетами.
-0.5 0 20 40 60 80 100 120 Рис. 4.23. Исходный(кружочки) и интерполированный(сплошная линия) сигналы при пятикратном повышении частоты дискретизации ЗАМЕЧАНИЕ Данный сигнал называется 13-элементным кодом Борхерп, Главным свойством кодов Баркера является вид их корреляционной функции, представляющей собой узкий высокий пик, окруженный треугольными лепестками малого уровня, Коды Баркера имеют максимально возможное для бинарных (то есть принимающих два значения) сигналов отношение высоты центрального пика корреляционной функции к уровню ее боковых лепестков. Это отношение равно числу отсчетов сигнала и в данном примере составляет 13. Передискретизация Если частоту дискретизации необходимо изменить в нецелое число раз, но это число раз явдяется рациональной дробью, используется процедура передискре- п1изации (гезатр!(пй).
Передискретизация является сочетанием интерполяции и прореживания. Если исходную частоту дискретизации необходимо умножить на р/гу, сначала выполняется интерполяция с коэффициентом р, а затем прореживание с коэффициентом д. Поэтому в принципе данную операцию можно осуществить средствами МАТ1АВ следующим образом: у - бес)з)а1е(1п1егр(х.
р), 0) Однако в этом случае будет выполняться много лишних операций, которые могут быть устранены при оптимальной организации вычислений. Рассмотрим последовательность действий, выполняемых при последовательном осуществлении интерполяции и прореживания.
238 Глава 4. Дискретные системы 1. Между отсчетами входного сигнзла вставляется по (р — 1) нулей. 2, Полученный сигнал пропускается через ФНЧ с частотой среза/,/2. 3. Полученный сигнал пропускается через ФНЧ с частотой среза (/„р/д)/2. 4. Из полученного сигнала выбирается каждый и-й отсчет. Шаги 1 и 2 относятся к процессу интерполяции, 3 и 4 — к процессу прореживания. Первое, что можно заметить, — это последовательное пропускание сигнала через два ФНЧ с разными частотами среза. Очевидно, что фильтр с большей частотой среза является избыточным. Поэтому можно оставить только один фильтр с меньшей частотой среза.
При повышении частоты дискретизации эта частота среза равна частоте Найквиста входного сигнала, при понижении — частоте Найквиста выходного сигнала. Вторая модификация та же, что рассматривалась ранее при обсуждении процесса прореживания. Поскольку нас интересует лишь каждый и-й отсчет фильтрованного сигнала, нет смысла выполнять фильтрующие вычисления для всех отсчетов. Наконец, как и в случае интерполяции, в линии задержки фильтра в каждый момент содержится большое количество нулевых отсчетов, которые можно игнорировать при вычислениях. С учетом сказанного последовательность действий передискретизации будет выглядеть следующим образом.
1. Между отсчетами входного сигнала вставляется по (р — 1) нулей. 2. Полученный сигнал порциями по и отсчетов «заталкивается» в ФНЧ с частотой среза, равной /,/2 ппп(1, р/и). Результаты фильтрации для этих порций являются отсчетами сигнала с частотой дискретизации /„р/и. При фильтрации игнорируются арифметические операции с отсчетами, имеющими нулевые значения.