Дьяконов В.П. Matlab 6.5 SP1 7 0 Simulink 5 6 Обработка сигналов и проектирование фильтров 2005 (1245705), страница 30
Текст из файла (страница 30)
этого выражения учтена„что нумерация индексов массивов в МАТ(.АВ идет с !. Свертка реализуется функцией сопь (а,ь). Пример свертки представлен ниже: а=(2461; Ь=(3571; с=сапу(а,Ь) с= 6 22 52 58 42 Операцию свертки часта используют лля вычисления сигнала на выходе линейной системы у по сигналу на входе х при известной импульсной характеристике системы )с х = ганг)п(5,1) 7 Ъ Создание вектора из 5 случайных чисел Ь = (1 1 1 11/4) % Усредняха)ий фильтр с длиной 4 у = сопч(ь,х) % Ревультат свертки (фильтрации) Эта операция может использоваться для осуществления простейшей фильтрации сигнала.
2.9. Специальлые операции с сигняаан» У 0.2977 0.5950 о.забб О.бб74 0.4134 0.1161 0.1255 0.0437 2.9.3. Операция, обратная свертке — 4]есопч Операцию, обратную свертке, выполняет функция: [Ч,г] = Весопч(Ь,а) Данная функция позволяет вычислить импульсную характеристику линейной системы. Если у=сспч (х, ь], то 4]=у и с=о. Пример: а [2 4 б]г Ь = [3 5 7]; с = сопч(а,щ с = б 22 52 58 42 [Ч, г] =не сопч (с, а) Ч 3 5 7 г = о о о о о 2.9.4. Свертка двумерная и многомерная — сопч2 и сопки Для осуществления свертки двумерных массивов (матриц) А и В с размерами п)ахпа и тЬхпЬ служит функция: С - сопч2(А,В[,'апаре']) Параметр ' виара' в ней может иметь следующие значения: ° ' гв11' — полноразмерная свертка [принята по умолчанию); ° "аа)ае ' — центральная часть свертки, определяемая размером массива А; ° 'ча114[' — центральная часть свертки с размером [пи-вЬ+1, па-пЬ+1] при а1ге(л) > ааае(в).
Выполнение двумерной свертки эффективно при вазе(л) > ааае(в). Эта операция используется при обработке изображений. Свертка многомерная реализуется функцией сопчп с записью, подобной рассмотренной для функции сопч2. Она используется с многомерными массивами. 2.9Л. Дискретные сферондальные последовательности — 4]рвв К специальным типам данных относятся дискретные сфероидаланые лоследовагаеаьносгли. Для их генерации служит функция (]раз, имеющая ряд форм.
Ограничимся приведением двух наиболее простых форм: [е,ч] - прае(п,пе) [е,ч] прае (и, пе, К) Функция (е, ч] ° 4[раз (и, пи) формирует первые 2епчч дискретные сфероидальные последовательности с длиной и, образующие столбцы матрицы е. Кроме того, создается вектор т их концентраций. При задании параметра ]4 вывод ограничен по полосе последовательностей. Более сложные формы записи этой функции можно найти в справке по ней. Глава 2.
Создание и обработка сигналов Для дискретных сфероидальных последовательностей имеется специальная база данных, представленная файлом (]рззлпа(. Ряд функций (укажем их только по названию) служит для веления этой базы данных: ° с)эврс1еаг — удаление последовательностей из базы данных; ° с]аарс>1г — работа с каталогами базы данных; ° с]ээр1оа(( — загрузка последовательностей из базы данных; ° (]ээрааче — запись последовательностей в базу данных. В связи с редким применением данных последовательностей ограничимся приведенной информацией по ним.
Примеры применения дискретных сфероидальных последовательностей можно найти в справке по функциям, относящимся к ним. 2.10. Дискретные быстрые преобразования Фурье 2.10.1. Прямое одномерное дискретное БПФ вЂ” ПЪ Непрерывные преобразования Фурье требуют больших вычислительных затрат при их осуществлении. Кроме того, в век цифровых технологий непрерывные сигналы повсеместно вытесняются дискретными и цифровыми сигналами. Поэтому основой практической реализации спектральною анализа Фурье является алгоритм быстрого дискретного преобразования Фурье — БПФ.
Он реализован особым пирамидальным алгоритмом, и в нем используется процедура прореживания по часюте [341. Это исключает многочисленные повторы в вычислениях функций синуса и косинуса и устраняет избыточность спектров. Алгоритм БПФ реализован функцией у = гге(х(,п] > С ее помощью по известному вектору сигнала х(й) вычисляется вектор: н-( Х(/(+1) = ч~~ х(л+1)е л~>/", «-0 где и=депо]> (к) — длина вектора исходных данных. Если ]«( есть степень числа 2, то используется высокоэффективный алгоритм БПФ для вещественных или комплексных данных.
Время вычислений для комплексных данных примерно на 40 — 50% больше, чем для действительных. Если />/ является простым числом, выполняется алгоритм дискретного преобразования Фурье — ДПФ вЂ” по приведенной выше формуле. Если А> < и, то недостающие элементы массива х дополняются нулями. Прямое БПФ переводит представление сигнала из временной области в частотную. Это иллюстрирует приведенный ниже пример: (0>1/99(1)) Ъ Вектор времени х = в)п(2*р1*10*1) « .5*выл(2*рт*30*с)> Ъ Вектор сигнала у=ггс(к)> ъ Вектор ДПФ сигнала и =.
аьа (у): р = епнгар (ап91е (у) ) > Ъ Векторы амплитуд и фав Г = (О: 1епчвп (У) -1) *99/1епаеь (У) > Ъ ВектоР частот р1ос (Г,и» СЪС1е ('Наяп1сн«)е ') > ЪГрафики ЛЧХ вес(чса, хт1ск',( 10 30 10 90])) 119вге( р1ое(г, р*150/рь); 11с1е (' Рьаве')( ъгра$ик Фчх вес(Оса, 'ХТ1сК', ( 10 30 70 90]); Этот пример показывает задание вектора временной зависимости сигнала, представленного суммой двух синусоид с частотами 10 и 30 Гц, имеющих амплитуды 1 и 0,5 соответственно. Затем производится дискретное БПФ и строится график АЧХ (рис. 2.35). 147 2. 10.
Диеггретные быстрые иреобразоеаиил Фурье Завершается пример построением графика фазо-частотной характеристики спектра (ФЧХ), представленной на рис. 2.36. Обратите внимание на весьма полез- Рвс. 2.35. АЧХ спектра Рас. 2.36. ФЧХ спектра Глава л. Создаиие и обработки сигиалоо ную технику указания характерных частот спектра по оси частот с помощью функций аег — указаны только частоты списка [10 30 70 901. 2.10.2.
Перегруппировка выходного массива преобразования Фурье — тттв()Ж При выполнении прямого БПФ спектральные компоненты, близкие к нулевой частоте, группируются по краям спектрограммы, например, рис. 2.35. Функция у = Гтсзьстс(х) обеспечивает перегруппировку элементов выходного массива преобразования Фурье таким образом, что зти компоненты оказываются в центре графика. Это иллюстрирует следующий пример: С (О:1/99:1)Г з Вектор времени х = з1п(2*р1*10*С) + .5*з1п(2*рс*30*С)гЪ Вектор сигнала у = ГГСзь1тс(ГГс(х))гСДПЕ сигнала с перегруппировкой и = аьз (у) г р = ипыгар(апд1е (у) ) г В Векторы амплитуд и таз (О: 1епдСЬ(у! -1) *99/1епдСЬ (у) г % Вектор частот р1ос (Г,м) г С1С1е ('Мадпстос(е') г %Гра$ики ХЧХ Рис.
2.37 показывает АЧХ спектра для этого примера. Сравнив рис. 2.37 с рис. 2.35 нетрудно заметить, что нулевая частота здесь соответствует центру графика. Представление частот в этом примере обычное — линейная шкала от 0 до !00 Гц с шагом 20 Гц. Рис. 2.37. АЧХ спектра с перегруппировкой массива частот 3. 10. Дискреитые быстрые лреабразаванил Фурье 2.10.3.
Обратное одномерное дискретное БПФ вЂ” [1[1 Обратное дискретное преобразование Фурье реал и зуется формулой: хЯ = — й„Х(к+ 1) е )~)~, где н=1епдпс (х) . А( *.а Все сказанное об алгоритме БПФ относится и к обратному преобразованию, которое реализуется функцией у = йгге (х [, и] ). Для проверки функций гге и 1гес можно использовать следующий пример: » х=[1 2 3 4]4 » х-ггп(х) х 10.0000 -2.0000+2.00001 -2.0000 -2.0000-2.00001 » х=[ЕСЬ(Х) х = 1 2 3 4 Здесь исходный вектор подвергается вначале прямому, а затем обратному преобразованию Фурье.
Как и следовало ожидать, после цепочки этих преобразований вновь получается исходный вектор. Заметим, что это справедливо только в том случае, когда при обратном преобразовании использованы все частоты, полученные при прямом преобразовании Фурье. Внимание. Ие стоит обольщаться тем, чта в простых, чисто тестовых и демонстрационных примерах, резулылат прямого и обратного преобразований Фурье точно васстанавливает исходный вектор. При векторах большой длины зта улке не так, а в слу ше введения ограничений на число гармоник, полученных при прямом БПФ, искажения синтезированного сигнала могут быть весьма заметными.
2.10.4. Матрица дискретного преобрааования Фурье — 4[йп)тх Функция х = Жееьх(п) возвращает матрицу дискретного преобразования Фурье размера и х л, такую, что матричное выражение у = А*х задает прямое дискретное преобразование Фурье. Следующий пример демонстрирует применение функции с(гепсх. х [1 2 3 4]' у1 ГСТ(х)) П = 1ЕПдхь(Х)4 У2 = Х*4)ГППСХ(П) у1 = 10.0000 -2.0000+2.00001 -2.0000 -2.0000-2.00001 у2 10.0000 -2.0000+2.00001 -2.0000-0.00001 -2.0000-2.00001 » аппп(у1-у2) апа = 2.101зе-о[З Здесь для вектора х выполнено прямое дискретное БПФ вначале с помощью функции ггс, а затем с применением функции 4(гсвех.
Результаты совпадают с точностью до машинных расчетов. Величина погрешности оценивается нормой разности векторов у! и у2, полученных в этом примере. Глава 2. Создание и обработка сигналов 150 Матрица Аь = сопз Ытсопх(п) ) /и, соответственно. Обеспечивает обратное дискретное преобразование Фурье. 2.10.5. Прямое и обратное двумерное БПФ вЂ” Н42 и МЙ2 Функция т = ГГС2(Х(.н.п)) выполняет прямое двумерное дискретное БПФ для данных, представленных матрицей Х, приведенной к матрице размера гп х и.
Если матрица Х имеет иной размер, то она дополняется ло размера вволом нулевых элементов или усекается до этого размера. Если параметры ш и и опушены„то преобразование выполняется для массива с размером, соответствующим размеру исходного массива Х. Результат преобразовании — матриоза с комплексными элементами формата доцЫе„имеющая размер гп х и или размер матрицы Х, соответственно. Функция т 1гйп2(х(,й,п)) выполняет обратное двумерное дискретное БПФ на условиях, отмеченных выше лля функции ОО12. Приведенный ниже пример демонстрирует работу функций ггс2 и 1йгс2 на примере преобразования массива размера 2 х 2 с комплексными данными: » Х1=(1+21 2+21(3)31 4+41) х1 = 1.0000+2.00001 2.0000+2.00001 3.0000+3.00001 4.0000)4.00001 » т=гг12(х1.2,2) У 10.0000+11.00001 -2.0000-1.0000).
-4.0000-3.0000. 0+1.0000' » 2=11112 ГГ) 2 1.0000+2.0000 3.0000+3.00001 Как и слеловало ожидать„в результате прямою и обратного лвумерных дискретных БПФ, исходный массив оказался восстановленным. Более серьезные применения этого вида преобразований связаны с обработкой изображений. Мы их рассмотрим позже. 2.11. Специальные виды преобразования сигналов 2.11.1. Прямое дискретное косинусное преобразование — 4)с1 Дискретное когинусное преобразование (ДКП) — еше один вид преобразования сигналов, коюрый находит широкое применение нарялу с дискретным преобразованием Фурье.
В частности, такое преобразование положено в основу стандарта сжатия изображений МРЕО (в новом стандарте МРЕО 2000 уже используется вейвлет-технология сжатия видео). Для повышения эффективности сжатия используются блочные алгоритмы преобразований. 2.11. Снеяиавьные виды преобразования сигналов 151 Прямое дискретное косинусное преобразование для вектора х, имеющего [Ч элементов, заключается в создании вектора у по следующим формулам: у(/с) = )г(/с)~ х(н)соа х(2н — 1)(/с — 1) х! 2Ф для к= 1, 2, ..., )У„где 1 /,/Я', х(/с) = ,/2(Ф„..2 < /с < [)/ 2.11.2. Обратное дискретное косинусное преобразование — Ыс1 Обратное дискретное косинусное преобразование осуществляется с помощью формул: х(н) = ~)г(/с)у(/с)соз х(2н — 1)()с — 1) си 2Ф [1/,[У.../ = 1, для /с = 1, 2, ..., Ф, где х(/с) = ~,фФ...2 < /с < ))[.