Вы находитесь на странице: 1из 24

Министерство по развитию информационных технологий и

коммуникаций Республики Узбекистан


Ташкентский университет информационных технологий имени
Мухаммада ал-Хоразмий

Практическая работа №2
по дисциплине «Системы и обработка сигналов»

Проверил: Dadajonova Zilola Botirjon qizi


Выполнил студент гр.: KIF 221-20
Karimov Abdulloh

ТАШКЕНТ-2022
Теоретическая часть

Дискретное косинусное преобразование

Дискретное косинусное преобразование (ДКП) представляет собой один


из наиболее распространенных методов сжатия изображения с потерями.
Суть метода заключается в том, что при прямом преобразовании
выполняется вычисление косинусных коэффициентов. При обратном
преобразовании большая часть вычисленных при прямом преобразовании
коэффициентов отбрасывается. Но при этом большой потери качества
изображения не происходит.
Метод дает хорошие результаты для изображений с плавным изменением
цветов для соседних пикселей. ДКП применяется как составная часть
конвейерного алгоритма сжатия изображений JPEG.
Рассматриваемое преобразование выполняется по одному или двум
измерениям. В одномерном случае дискретное косинусное преобразование
исходного массива Vиз N чисел в массив коэффициентов T выполняется по
формулам ви-да

где
Обратное преобразование массива коэффициентов   в массив  из   
чисел выполняется с помощью соотношений вида

В двумерном случае прямое дискретное косинусное преобразование


исходной матрицы  размером   в матрицу коэффициентов   выполняется
по формулам вида

где 
В двумерном случае обратное ДКП матрицы коэффициентов T в
матрицу Vразмером N выполняется с помощью соотношений вида

В двумерном случае ДКП удобно выполнять в матричном виде. Прямое


преобразование при этом записывается в виде
Соответственно, обратное дискретное косинусное преобразование
записывается в виде

При реализации ДКП в алгоритме JPEG изображение разбивается на


блоки размером 8x8,V представляет собой матрицу размером 8x8, а M есть
матрица вида

Для иллюстрации того, за счет чего достигается сжатие, рассмотрим


примеры изображений для случая использования двумерного ДКП.

Рис. 8.6. Примеры изображений в случае двумерного ДКП


 На рис. 8.6 приведены изображения Сатурна: исходное (а),
восстановленное путем обратного ДКП (б) и отображающее уровень ошибки
восстановления(в). Указанные изображения получены в Matlab при
использовании для обратного ДКП всего старших пяти из 64 коэффициентов
матрицы T.
Для приведенного примера исходного изображения (рис. 8.а) проведение
обратного преобразования с учетом старших 20 коэффициентов
матрицы Tдает восстановленное изображение неплохого качества, но все же
с заметными на глаз погрешностями. 
При обратном ДКП наибольший вклад в восстанавливаемое изображение
вносят старшие коэффициентыT.
Перед проведением обратного преобразования нужно выполнить поиск
коэффициентов ДКП, вклад которых в изображение минимален и которые
можно отбросить. В случае применения ДКП в составе JPEG для этой цели 
используется квантование, выполняемое по формуле вида
 

,
где   – значение кванта.
 
Для выполнения обратного вычисления используется формула вида
 
.
 
Для определения значений квантов в формате JPEG используется массив
из 64 элементов, называемый таблицей квантования. Каждое значение этой
таблицы используется для квантования соответствующего коэффициента
ДКП. Стандарт JPEG для примера предоставляет две таблицы квантования
(табл. 8.6 и 8.7), которые показали хорошие результаты [13].
Таблица 8.6
ТаблицаквантованиякомпонентаY
16 11    10 16 24 40 51 61
12 2 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99

Таблица 8.7
Таблица квантования компонентов Cb и Сr
17 18 24 47 99 99 99 99
18 21 26 66 99 99 99 99
24 26 56 99 99 99 99 99
47 66 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
99 99 99 99 99 99 99 99
 
В табл. 8.8 для примера приведены результаты квантования дискретных
значений коэффициентов ДКП для фотографии [13].
Таблица 8.8
Результатыквантованиядискретныхзначений
-38 18 1 -3 -1 0 0 0
-9 -8 1 3 1 0 0 0
4 4 0 -1 0 0 0 0
-2 -1 0 0 0 0 0 0
-1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

 
Замечание. Чтобы сгруппировать максимально возможное число
квантованных нулевых коэффициентов для создания наиболее длинных
серий нулевых значений, эти коэффициенты кодируют с использованием
зигзагообразного пути. Этот путь ведется от верхнего левого угла таблицы к
нижнему правому углу.
 

Дискретное преобразование Фурье

Во многих случаях задача получения (вычисления) спектра сигнала выглядит


следующим образом. Имеется АЦП, который с частотой дискретизации Fd
преобразует непрерывный сигнал, поступающий на его вход в течение
времени Т, в цифровые отсчеты — N штук. Далее массив отсчетов подается в
некую программку, которая выдает N/2 каких-то числовых значений
(программист, который утянул из инета написал программку, уверяет, что
она делает преобразование Фурье).

Чтобы проверить, правильно ли работает программа, сформируем массив


отсчетов как сумму двух синусоид sin(10*2*pi*x)+0,5*sin(5*2*pi*x) и
подсунем программке. Программа нарисовала следующее:
рис.1 График временной функции сигнала

рис.2 График спектра сигнала

На графике спектра имеется две палки (гармоники) 5 Гц с амплитудой 0.5 В и


10 Гц — с амплитудой 1 В, все как в формуле исходного сигнала. Все
отлично, программист молодец! Программа работает правильно.

Это значит, что если мы подадим на вход АЦП реальный сигнал из смеси
двух синусоид, то мы получим аналогичный спектр, состоящий из двух
гармоник.

Итого, наш реальный измеренный сигнал, длительностью 5 сек,


оцифрованный АЦП, то есть представленный дискретными отсчетами,
имеет дискретный непериодический спектр.

С математической точки зрения — сколько ошибок в этой фразе?

Теперь начальство решило мы решили, что 5 секунд — это слишком долго,


давай измерять сигнал за 0.5 сек.

рис.3 График функции sin(10*2*pi*x)+0,5*sin(5*2*pi*x) на периоде


измерения 0.5 сек

рис.4 Спектр функции


Что-то как бы не то! Гармоника 10 Гц рисуется нормально, а вместо палки на
5 Гц появилось несколько каких-то непонятных гармоник. Смотрим в
интернетах, что да как…

Во, говорят, что в конец выборки надо добавить нули и спектр будет
рисоваться нормальный.

рис.5 Добили нулей до 5 сек

рис.6 Получили спектр


2. Непрерывная функция и представление её рядом Фурье

Математически наш сигнал длительностью T секунд является некоторой


функцией f(x), заданной на отрезке {0, T} (X в данном случае — время).
Такую функцию всегда можно представить в виде суммы гармонических
функций (синусоид или косинусоид) вида:

 (1), где:

k — номер тригонометрической функции ( номер гармонической


составляющей, номер гармоники)
T — отрезок, где функция определена (длительность сигнала)
Ak — амплитуда k-ой гармонической составляющей,
θk- начальная фаза k-ой гармонической составляющей

Что значит «представить функцию в виде суммы ряда»? Это значит, что,
сложив в каждой точке значения гармонических составляющих ряда Фурье,
мы получим значение нашей функции в этой точке.

Этот ряд может быть также записан в виде:

 (2),

где  , k-я комплексная амплитуда.

или

 (3)

Связь между коэффициентами (1) и (3) выражается следующими формулами:

и
Отметим, что все эти три представления ряда Фурье совершенно
равнозначны. Иногда при работе с рядами Фурье бывает удобнее
использовать вместо синусов и косинусов экспоненты мнимого аргумента, то
есть использовать преобразование Фурье в комплексной форме. Но нам
удобно использовать формулу (1), где ряд Фурье представлен в виде суммы
косинусоид с соответствующими амплитудами и фазами. В любом случае
неправильно говорить, что результатом преобразования Фурье
действительного сигнала будут комплексные амплитуды гармоник. Как
правильно говорится в Вики «Преобразование Фурье (ℱ) — операция,
сопоставляющая одной функции вещественной переменной другую
функцию, также вещественной переменной.»

Итого:
Математической основой спектрального анализа сигналов является
преобразование Фурье.

Преобразование Фурье позволяет представить непрерывную функцию


f(x) (сигнал), определенную на отрезке {0, T} в виде суммы бесконечного
числа (бесконечного ряда) тригонометрических функций (синусоид и\
или косинусоид) с определёнными амплитудами и фазами, также
рассматриваемых на отрезке {0, T}. Такой ряд называется рядом Фурье.

Отметим еще некоторые моменты, понимание которых требуется для


правильного применения преобразования Фурье к анализу сигналов. Если
рассмотреть ряд Фурье (сумму синусоид) на всей оси Х, то можно увидеть,
что вне отрезка {0, T} функция представленная рядом Фурье будет будет
периодически повторять нашу функцию.

Например, на графике рис.7 исходная функция определена на отрезке {-T\2,


+T\2}, а ряд Фурье представляет периодическую функцию, определенную на
всей оси х.

Это происходит потому, что синусоиды сами являются периодическими


функциями, соответственно и их сумма будет периодической функцией.
рис.7 Представление непериодической исходной функции рядом Фурье

Таким образом:

Наша исходная функция — непрерывная, непериодическая, определена на


некотором отрезке длиной T.
Спектр этой функции — дискретный, то есть представлен в виде
бесконечного ряда гармонических составляющих — ряда Фурье.
По факту, рядом Фурье определяется некоторая периодическая функция,
совпадающая с нашей на отрезке {0, T}, но для нас эта периодичность не
существенна.

Далее.

Периоды гармонических составляющих кратны величине отрезка {0, T}, на


котором определена исходная функция f(x). Другими словами, периоды
гармоник кратны длительности измерения сигнала. Например, период первой
гармоники ряда Фурье равен интервалу Т, на котором определена функция
f(x). Период второй гармоники ряда Фурье равен интервалу Т/2. И так далее
(см. рис. 8).
рис.8 Периоды (частоты) гармонических составляющих ряда Фурье (здесь
Т=2π)

Соответственно, частоты гармонических составляющих кратны величине


1/Т. То есть частоты гармонических составляющих Fk равны Fk= к\Т, где к
пробегает значения от 0 до ∞, например к=0 F0=0; к=1 F1=1\T; к=2 F2=2\T;
к=3 F3=3\T;… Fk= к\Т (при нулевой частоте — постоянная составляющая).

Пусть наша исходная функция, представляет собой сигнал, записанный в


течение Т=1 сек. Тогда период первой гармоники будет равен длительности
нашего сигнала Т1=Т=1 сек и частота гармоники равна 1 Гц. Период второй
гармоники будет равен длительности сигнала, деленной на 2 (Т2=Т/2=0,5
сек) и частота равна 2 Гц. Для третьей гармоники Т3=Т/3 сек и частота равна
3 Гц. И так далее.

Шаг между гармониками в этом случае равен 1 Гц.

Таким образом сигнал длительностью 1 сек можно разложить на


гармонические составляющие (получить спектр) с разрешением по частоте 1
Гц.
Чтобы увеличить разрешение в 2 раза до 0,5 Гц — надо увеличить
длительность измерения в 2 раза — до 2 сек. Сигнал длительностью 10 сек
можно разложить на гармонические составляющие (получить спектр) с
разрешением по частоте 0,1 Гц. Других способов увеличить разрешение по
частоте нет.

Существует способ искусственного увеличения длительности сигнала путем


добавления нулей к массиву отсчетов. Но реальную разрешающую
способность по частоте он не увеличивает.

3. Дискретные сигналы и дискретное преобразование Фурье

С развитием цифровой техники изменились и способы хранения данных


измерений (сигналов). Если раньше сигнал мог записываться на магнитофон
и храниться на ленте в аналоговом виде, то сейчас сигналы оцифровываются
и хранятся в файлах в памяти компьютера в виде набора чисел (отсчетов).

Обычная схема измерения и оцифровки сигнала выглядит следующим


образом.

рис.9 Схема измерительного канала

Сигнал с измерительного преобразователя поступает на АЦП в течение


периода времени Т. Полученные за время Т отсчеты сигнала (выборка)
передаются в компьютер и сохраняются в памяти.

рис.10 Оцифрованный сигнал — N отсчетов полученных за время Т


Какие требования выдвигаются к параметрам оцифровки сигнала?
Устройство, преобразующее входной аналоговый сигнал в дискретный код
(цифровой сигнал) называется аналого-цифровой преобразователь (АЦП,
англ. Analog-to-digital converter, ADC) ( Wiki).

Одним из основных параметров АЦП является максимальная частота


дискретизации (или частота семплирования, англ. sample rate) — частота
взятия отсчетов непрерывного во времени сигнала при его дискретизации.
Измеряется в герцах. (( Wiki))

Согласно теореме Котельникова, если непрерывный сигнал имеет спектр,


ограниченный частотой Fмакс, то он может быть полностью и однозначно
восстановлен по его дискретным отсчетам, взятым через интервалы

времени  , т.е. с частотой Fd ≥ 2*Fмакс, где Fd — частота


дискретизации; Fмакс — максимальная частота спектра сигнала. Другими
слова частота оцифровки сигнала (частота дискретизации АЦП) должна как
минимум в 2 раза превышать максимальную частоту сигнала, который мы
хотим измерить.

А что будет, если мы будем брать отсчеты с меньшей частотой, чем


требуется по теореме Котельникова?

В этом случае возникает эффект «алиасинга» (он же стробоскопический


эффект, муаровый эффект), при котором сигнал высокой частоты после
оцифровки превращается в сигнал низкой частоты, которого на самом деле
не существует. На рис. 11 красная синусоида высокой частоты — это
реальный сигнал. Синяя синусоида более низкой частоты — фиктивный
сигнал, возникающий вследствие того, за время взятия отсчета успевает
пройти больше, чем пол-периода высокочастотного сигнала.

Рис. 11. Появление ложного сигнала низкой частоты при недостаточно


высокой частоте дискретизации

Чтобы избежать эффекта алиасинга перед АЦП ставят специальный


антиалиасинговый фильтр — ФНЧ (фильтр нижних частот), который
пропускает частоты ниже половины частоты дискретизации АЦП, а более
высокие частоты зарезает.

Для того, чтобы вычислить спектр сигнала по его дискретным отсчетам


используется дискретное преобразование Фурье (ДПФ). Отметим еще раз,
что спектр дискретного сигнала «по определению» ограничен частотой
Fмакс, меньшей половине частоты дискретизации Fd. Поэтому спектр
дискретного сигнала может быть представлен суммой конечного числа
гармоник, в отличие от бесконечной суммы для ряда Фурье непрерывного
сигнала, спектр которого может быть неограничен. Согласно теореме
Котельникова максимальная частота гармоники должна быть такой, чтобы на
нее приходилось как минимум два отсчета, поэтому число гармоник равно
половине числа отсчетов дискретного сигнала. То есть если в выборке
имеется N отсчетов, то число гармоник в спектре будет равно N/2.

Рассмотрим теперь дискретное преобразование Фурье (ДПФ).

Сравнивая с рядом Фурье

видим, что они совпадают, за исключением того, что время в ДПФ имеет
дискретный характер и число гармоник ограничено величиной N/2 —
половиной числа отсчетов.

Формулы ДПФ записываются в безразмерных целых переменных k, s, где k –


номера отсчетов сигнала, s – номера спектральных составляющих.
Величина s показывает количество полных колебаний гармоники на периоде
Т (длительности измерения сигнала). Дискретное преобразование Фурье
используется для нахождения амплитуд и фаз гармоник численным методом,
т.е. «на компьютере»

Возвращаясь к результатам, полученным в начале. Как уже было сказано


выше, при разложении в ряд Фурье непериодической функции (нашего
сигнала), полученный ряд Фурье фактически соответствует периодической
функции с периодом Т. (рис.12).

рис.12 Периодическая функция f(x) с периодом Т0, с периодом измерения


Т>T0

Как видно на рис.12 функция f(x) периодическая с периодом Т0. Однако из-за
того, что длительность измерительной выборки Т не совпадает с периодом
функции Т0, функция, получаемая как ряд Фурье, имеет разрыв в точке Т. В
результате спектр данной функции будет содержать большое количество
высокочастотных гармоник. Если бы длительность измерительной выборки Т
совпадала с периодом функции Т0, то в полученном после преобразования
Фурье спектре присутствовала бы только первая гармоника (синусоида с
периодом равным длительности выборки), поскольку функция f(x)
представляет собой синусоиду.

Другими словами, программа ДПФ «не знает», что наш сигнал представляет
собой «кусок синусоиды», а пытается представить в виде ряда
периодическую функцию, которая имеет разрыв из-за нестыковки отдельных
кусков синусоиды.

В результате в спектре появляются гармоники, которые должны в сумме


изобразить форму функции, включая этот разрыв.

Таким образом, чтобы получить «правильный» спектр сигнала, являющегося


суммой нескольких синусоид с разными периодами, необходимо чтобы на
периоде измерения сигнала укладывалось целое число периодов каждой
синусоиды. На практике это условие можно выполнить при достаточно
большой длительности измерения сигнала.

Рис.13 Пример функции и спектра сигнала кинематической погрешности


редуктора

При меньшей длительности картина будет выглядеть «хуже»:

Рис.14 Пример функции и спектра сигнала вибрации ротора


На практике бывает сложно понять, где «реальные составляющие», а где
«артефакты», вызванные некратностью периодов составляющих и
длительности выборки сигнала или «скачками и разрывами» формы сигнала.
Конечно слова «реальные составляющие» и «артефакты» не зря взяты в
кавычки. Наличие на графике спектра множества гармоник не означает, что
наш сигнал в реальности из них «состоит». Это все равно что считать, будто
число 7 «состоит» из чисел 3 и 4. Число 7 можно представить в виде суммы
чисел 3 и 4 — это правильно.

Так и наш сигнал… а вернее даже не «наш сигнал», а периодическую


функцию, составленную путем повторения нашего сигнала (выборки) можно
представить в виде суммы гармоник (синусоид) с определенными
амплитудами и фазами. Но во многих важных для практики случаях (см.
рисунки выше) действительно можно связать полученные в спектре
гармоники и с реальными процессами, имеющими циклический характер и
вносящими значительный вклад в форму сигнала.

Преобразование Адамара

Преобразование Адамара H m - это матрица 2 × 2, матрица


Адамара (масштабированная с помощью коэффициента нормализации),
которая преобразует 2 действительных числа x n в 2 действительных числа X
k. Преобразование Адамара можно определить двумя
способами: рекурсивно или с помощью двоичного (base -2) представления
индексов n и k.

Рекурсивно, мы определяем преобразование Адамара 1 × 1 H 0 с


помощью тождества H0= 1, а затем определяем H m для m>0 по:

H m = 1 2 (H m - 1 H m - 1 H m - 1 - H m - 1) {\ displaystyle H_ {m} = {\
frac {1} {\ sqrt {2} }} {\ begin {pmatrix} H_ {m-1} H_ {m-1} \\ H_ {m-1}

- H_ {m-1} \ end {pmatrix}}}

где 1 / √2 - нормализация, которая иногда опускается.

Для m>1 мы также можем определить H m следующим образом:

H m = H 1 ⊗ H m - 1 {\ displaystyle H_ {m} = H_ {1} \ otimes H_ {m-1}}

, где ⊗ {\ displaystyle \ otimes} представляет произведение Кронекера.


Таким образом, за исключением этого коэффициента нормализации, матрицы
Адамара полностью состоят из 1 и -1.
Аналогично, мы можем определить матрицу Адамара ее (k, n) -м элементом,
записав

k = ∑ i = 0 m - 1 ki 2 i = km - 1 2 m - 1 + км - 2 2 м - 2 + ⋯ + k 1 2 + k 0 n
= ∑ i = 0 m - 1 ni 2 i = nm - 1 2 m - 1 + nm - 2 2 m - 2 + ⋯ + n 1 2 + N 0 {\
Displaystyle {\ begin {выровнено} k = \ sum _ {i = 0} ^ {m-1} {k_ {i} 2 ^
{i}} = k_ {m-1} 2 ^ {m -1} + k_ {m-2} 2 ^ {m-2} + \ cdots + k_ {1} 2 + k_
{0} \\ n = \ sum _ {i = 0} ^ {m-1} { n_ {i} 2 ^ {i}} = n_ {m-1} 2 ^ {m-1} +

n_ {m-2} 2 ^ {m-2} + \ cdots + n_ {1} 2 + n_ { 0} \ end {align}}}


где k j и n j - это двоичные цифры (0 или 1) для k и n соответственно.
Обратите внимание, что для элемента в верхнем левом углу мы
определяем: k = n = 0 {\ displaystyle k = n = 0} . В этом случае имеем:

(ЧАС м) k, n = 1 2 м 2 (- 1) ∑ jkjnj {\ displaystyle \ left (H_ {m} \ right) _


{k, n} = {\ frac {1} {2 ^ {\ frac {m} {2}}}} (- 1) ^ {\ sum _ {j} k_ {j} n_

{j}}}
Это как раз многомерный 2 × 2 × ⋯ × 2 × 2 {\ Displaystyle \ scriptstyle 2 \, \
times \, 2 \, \ times \, \ cdots \, \ times \, 2 \, \ times \, 2} ДПФ,
нормализованное до унитарного, если входы и выходы рассматриваются как
многомерные массивы, индексированные n j и k j соответственно.

Далее следуют некоторые примеры матриц Адамара.

H 0 = + (1) H 1 = 1 2 (1 1 1 - 1) H 2 = 1 2 (1 1 1 1 1 - 1 1 - 1 1 1 - 1 - 1 1 - 1
- 1 1) H 3 = 1 2 3 2 (1 1 1 1 1 1 1 1 1 - 1 1 - 1 1 - 1 1 - 1 1 1 - 1 - 1 1 1 - 1 - 1
1-1-111-1-111111-1-1-1-11-11-1-11-1111-1-1-1-
1 1 1 1 - 1 - 1 1 - 1 1 1 - 1) (ЧАС N) я, J знак равно 1 2 N 2 (- 1) я ⋅ J {\
Displaystyle {\ begin {align} H_ {0} = + {\ begin {pmatrix} {\ begin
{array} { r} 1 \ end {array}} \ end {pmatrix}} \\ H_ {1} = {\ frac {1} {\ sqrt
{2}}} {\ begin {pmatrix} {\ begin {array} { rr} 1 1 \\ 1 -1 \ end {array}} \
end {pmatrix}} \\ H_ {2} = {\ frac {1} {2}} {\ begin {pmatrix} {\ begin
{array} {rrrr} 1 1 1 1 \\ 1 -1 1 -1 \\ 1 1 -1 -1 \\ 1 -1 -1 1 \ end {array}} \ end
{pmatrix}} \\ H_ {3} = {\ frac {1} {2 ^ {\ frac {3} {2}}}} {\ begin
{pmatrix} {\ begin {array} {rrrrrrrr} 1 1 1 1 1 1 1 1 1 1 \\ 1 -1 1 -1 1 -1 1 -
1 \\ 1 1 -1 -1 -1 1 1 -1 -1 \\ 1 -1 -1 1 1 -1 -1 1 \\ 1 1 1 1 -1 -1 -1 -1 \\ 1 -1 1 -1
-1 1 -1 1 \\ 1 1 -1 -1 -1 -1 1 1 \\ 1 -1 -1 1 -1 1 1 -1 \ end {array}} \ end
{pmatrix}} \\\ left (H_ {n} \ right) _ {i, j} = {\ frac {1} {2 ^ { \ frac {n}

{2}}}} (- 1) ^ {i \ cdot j} \ end {align}}}


где i ⋅ j {\ displaystyle i \ cdot j} - побитовое скалярное произведение
двоичных представлений чисел i и j. Например, если n ≥ 2 {\ displaystyle \
scriptstyle n \; \ geq \; 2} , то (H n) 3, 2 = (- 1) 3 ⋅ 2 Знак равно (- 1) (1, 1) ⋅ (1,
0) = (- 1) 1 + 0 = (- 1) 1 = - 1 {\ displaystyle \ scriptstyle \ left (H_ {n} \ right) _
{ 3,2} \; = \; (- 1) ^ {3 \ cdot 2} \; = \; (- 1) ^ {(1,1) \ cdot (1,0)} \; = \; ( -1) ^ {1 +
0} \; = \; (- 1) ^ {1} \; = \; - 1} , согласившись с вышеизложенным
(игнорируя общую константу). Обратите внимание, что первая строка,
первый элемент столбца матрицы обозначается (H n) 0, 0 {\ displaystyle \
scriptstyle \ left (H_ {n} \ right) _ {0,0}} .

H1это именно ДПФ размера 2. Его также можно рассматривать


как преобразование Фурье на двухэлементной аддитивной группе Z / (2).

Строки матриц Адамара - это функции Уолша.

Задание

n=512;
x1=-3;
x2=6;
x3=(x2-x1)/n;
x=x1:x3:x2-x3;
m=length(x);
a=zeros(1,m);
for i=1:m
a(i)= power((power(x(i),2)+1),cos(x(i)));
end
% % DCT
a_dct=dct(a);
b_dct=idct(a_dct);
subplot(411);
figure(1)
plot(x,a);title("Main signal");
subplot(412);plot(x,a_dct);title("Spektr");
subplot(413);stem(x,a_dct);title("Diskret value");
subplot(414);plot(x,b_dct);title("Signal again");
% % Diskret Furye
dft_matrix=dftmtx(n);
a_dft=a*dft_matrix;
b_dft=a_dft*dft_matrix';
figure(2)
subplot(412);plot(x,a_dct);title("Spektr");
subplot(413);stem(x,a_dct);title("Diskret value");
subplot(414);plot(x,b_dct);title("Signal again");
% Adamar
matrix=hadamard(n);
a_hadmar=a*matrix;
b_hadmar=a_hadmar*matrix;
figure(3)
subplot(411);plot(x,a);title("main signal");
subplot(412);plot(x,a_hadmar);title("Spektr");
subplot(413);stem(x,a_hadmar);title("Diskret value");
subplot(414);plot(x,b_hadmar);title("Signal again");

График 1
График 2
График 3

Вам также может понравиться