![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Быстрое преобразование Фурье
Из формул (8.21) и (8.22) видно, что для вычисления ДПФ или обратного ДПФ последовательности из N элементов требуется выполнить N 2 операций с комплексными числами. Если число элементов обрабатываемых массивов составляет порядка тысячи и более, то время, необходимое на выполнение этих преобразований, резко возрастает и теряется возможность обработки сигналов в реальном масштабе времени. В 60-е годы Кули и Тьюки был предложен метод вычисления коэффициентов Фурье, позволивший снизить объем вычислений до Разобьем входную последовательность
где Это позволяет представить n -й коэффициент ДПФ в виде
Из (8.24) видно, что первая половина коэффициентов ДПФ исходного сигнала с номерами от 0 до
где Так как последовательности коэффициентов массивов
Подставляя (8.26) в (8.25) и учитывая, что
получаем выражение для второй половины множества коэффициентов ДПФ:
где Формулы (8.26), (8.28) лежат в основе алгоритма БПФ: последовательности отсчетов с четными и нечетными номерами вновь разбиваются на две части. Процесс продолжается до тех пор пока не получится последовательность, состоящая их одного элемента. ДПФ данной последовательности совпадет с сами элементом. Затем последовательно находятся коэффициенты ДПФ предыдущих последовательностей. В пакете MATLAB быстрое одномерное преобразование Фурье реализовано парой функций, выполняющих прямое и обратное БПФ: fft/ifft. Данные функции используются как для действительных, так и для комплексных последовательностей, при этом длина последовательностей может быть произвольной. Обращение к функциям: fft (v) – возвращает дискретное преобразование Фурье 2 m -мерного вектора, аргумент которого есть результат дискретизации через равные промежутки времени некоторой функции. Результат работы программы комплексный вектор размерности 2 m +1. Элементы вектора, возвращаемого функцией fft, вычисляются по формуле
где N – число элементов вектора v. ifft (v) – обратное дискретное преобразование Фурье, комплексного вектора, содержащего значения ДПФ. Вектор v должен иметь 2 m +1 элементов. Результат работы программы действительный вектор размерности 2 m +1. Элементы вектора, возвращаемого функцией ifft, вычисляются по формуле
где N – число элементов вектора v. Отметим, что для всех векторов справедливо соотношение ifft (fft (v)) =v. fft (v,n) - возвращает дискретное преобразование Фурье 2n-мерного вектора, аргумент которого есть результат дискретизации через равные промежутки времени некоторой функции. Результат работы программы есть комплексный вектор размерности 2 n +1. Если ifft (v,n) – обратное дискретное преобразование Фурье, комплексного вектора, содержащего значения ДПФ. Результат работы программы комплексный вектор размерности 2 n +1. Если Пример 8.2. Используя функции пакета MATLAB для вычисления БПФ, вычислить спектр функции, являющейся суммой двух периодических функций
где >> N=8192; % число точек для вычисления функции >> i=1:N; >> Tmax=2; % длительность временного интервала в секундах >> t(i)=Tmax/(N-1)*(i-1); % задание временной сетки >> f1=40 % частота первой составляющей в Гц >> f2=90 % частота второй составляющей в Гц % вычисление мгновенных значений функции >> f(i)=0.8*sin(2*pi*f1*t(i))+0.4*sin(2*pi*f2*t(i)); >> figure(1);plot(t,f); % вычисление спектра >> c=fft(f); % вычисление нормированного амплитудно-частотного спектра >> j=2:N/2; >> Cm(j-1)=abs(c(j-1))/(N/2); >> Freq(j-1)=(j-1)/Tmax; % вычисление вектора частот в Гц >> plot(Freq,Cm); >> axis([0 100 0 1]); Результат выполнения описанной выше последовательности команд представлен на рис. 8.3. 8.4. Рис. 8.3. Зависимость мгновенных значений функции f=f (t) от времени Рис. 8.4. Спектр функции f=f (t)
Дата добавления: 2014-01-06; Просмотров: 1056; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |