русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Синтез, вычисление инверсного (обратного) ДПФ


Дата добавления: 2015-07-23; просмотров: 844; Нарушение авторских прав


Обобщая все, что будет сказано дальше, мы можем написать уравнение синтеза:

ФОРМУЛА 8-2 Уравнение синтеза. x[i] – синтезируемый сигнал. i – изменяется от 0 до N/2. Re [k] и Im [k]– амплитуды косинусов и синусов, соответственно. k – меняется от 0 до N/2.


 

Иными словами, любой сигнал из N точек x[i] может быть создан суммированием N/2+1 косинусных волн и N/2 + 1 синусных волн. Амплитуды косинусных и синусных волн содержатся в массивах Re [k] и Im [k], соответственно. Уравнение синтеза перемножает эти амплитуды на базовые функции, создавая набор масштабированных синусных и косинусных волн. Сложение этих масштабированных синусных и косинусных волн формирует сигнал временной области x[i].

В выражении 8-2 массивы называются Im [k] и Re [k], вместо Im X [k] и Re X [k]. Это вызвано тем, что амплитуды, необходимые для синтеза, (названные в этом обсуждении Im [k] и Re [k]) слегка отличаются от сигналов частотной области (обозначены Im X [k] и Re X [k]). Это влияние фактора масштабирования, о котором мы упоминали ранее. Хотя это преобразование всего лишь нормализация, оно часто приводит к ошибкам при программировании. Будьте внимательны! В формульном выражении преобразование выглядит следующим образом:

ФОРМУЛА 8-3 Преобразование сигналов частотной области в амплитуды синусов, необходимых для синтеза сигнала временной области. Как обычно, N – число точек в сигнале, k имеет нумерацию от 0 до N/2.

За исключением двух специальных случаев:

Предположим, вам представлена частотная область, и предлагается синтезировать сигнал временной области. Для начала вы должны найти амплитуды синусов и косинусов. Другими словами, взяв Im X [k] и Re X [k] вы должны найти Im [k] и Re [k]. Формула 8-3 показывает, как это сделать математически. В компьютерной программе необходимо выполнить три действия. Первое, разделить все величины в частотной области на N/2. Второе, изменить знак перед всеми мнимыми величинами. Третье, разделить первую и последнюю величину в реальной части, Re X [0] и Re X [N/2], на 2. Это обеспечит величину амплитуд, необходимую для синтеза по формуле 8-2. Взятые вместе формулы 8-2 и 8-3 определяют инверсное ДПФ.



Целиком инверсное ДПФ в компьютерной программе показано в таблице 8-1. Имеется два способа программирования синтеза (по формуле 8-2), и оба они показаны. В первом способе, каждая из масштабированных синусоид вычисляется один раз и суммируется в аккумуляторе, процесс заканчивается получением сигнала временной области. При втором способе, каждый отсчет сигнала временной области вычисляется один раз, как сумма всех соответствующих отсчетов косинусных и синусных волн. Оба метода дают тот же самый результат. Разница между этими двумя программами очень не большая: внутренняя и внешняя петли циклов меняются местами.

 

100 ИНВЕРСНОЕ ДИСКРЕТНОЕ ПРЕОРАЗОВАНИЕ ФУРЬЕ

110 'Сигнал временной области содержится в XX[ ], он вычисляется из сигнала

120 'частотной области, который содержится в REX[ ] и IMX[ ].

130 '

140 DIM XX[511] 'XX[ ] содержится сигнал временной области

150 DIM REX[256] 'REX[ ] сдержится реальная часть сигнала частотной области

160 DIM IMX[256] 'IMX[ ] содержится мнимая часть сигнала частотной области

170 '

180 PI = 3.14159265 Установка константы, PI

190 N% = 512 'N% число точек в XX[ ]

200 '

210 GOSUB XXXX 'Воображаемая подпрограммы для загрузки REX[ ] и IMX[ ]

220 '

240 ' 'Нахождение амплитуд косинусных и синусных волн по форм. 8.3

250 FOR K% = 0 TO 256

260 REX[K%] = REX[K%] / (N%/2)

270 IMX[K%] = -IMX[K%] / (N%/2)

280 NEXT K%

290 '

300 REX[0] = REX[0] / N%

310 REX[256] = REX[256] / N%

320 '

330 '

340 FOR I% = 0 TO 511 'обнуление XX[ ] перед аккумуляцией

350 XX[I%] = 0

360 NEXT I%

370 '

380 ' Формула 8-2 СИНТЕЗ #1. Цикл через каждую частоту

390 ' по целой длине косинусных и синусных волн

400 ' и хранение их в аккумуляторе XX[ ]

410 '

420 FOR K% = 0 TO 256 'K% цикл через каждый отсчет в REX[ ] и IMX[ ]

430 FOR I% = 0 TO 511 'I% цикл через каждый отсчет в XX[ ]

440 '

450 XX[I%] = XX[I%] + REX[K%] * COS(2*PI*K%*I%/N%)

460 XX[I%] = XX[I%] + IMX[K%] * SIN(2*PI*K%*I%/N%)

470 '

480 NEXT I%

490 NEXT K%

500 '

510 END



<== предыдущая лекция | следующая лекция ==>
Независимая переменная в частотной области | Альтернативный код в линиях от 380 до 510


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.526 сек.