Реализация спектрального анализа в различных системах компьютерной математики



Скачать 73.61 Kb.
Дата22.10.2016
Размер73.61 Kb.

Реализация спектрального анализа в различных системах компьютерной математики


Хотова Ф.А.,

Смоленский государственный университет,



fatima121185@mail.ru
Возможности большинства систем символьной математики (такие, как Derive, Maple, Mathematica) в решении задач спектрального анализа и синтеза численными методами довольно скромны. Рассмотрим некоторые особенности реализации спектрального анализа в самых распространенных системах компьютерной математики.

К примеру, Derive вообще не располагает такими средствами, включенными в ядро системы. Имеется лишь функция для разложения произвольной зависимости y(t) в тригонометрический ряд Фурье, которая имеет следующий синтаксис:



FOURIER(y,t,t1,t2,n) – возвращает выражение в виде суммы из n гармоник тригонометрического ряда Фурье, приближающего функцию y(t) в интервале t от t=t1 до t=t2.

В системе MuPAD также имеются лишь две функции для осуществления классического БПФ:



fft(list,n) – прямое преобразование Фурье над вектором-списком list, имеющим 2n элементов, результат – вектор того же размера;

ifft(list,n) – обратное преобразование Фурье над вектором-списком list, имеющим 2n элементов, результат – вектор того же размера.

Даже мощная система символьной математики Mathematica обладает весьма скромными возможностями реализации преобразования Фурье. В ней имеются две встроенные функции для выполнения спектрального анализа и синтеза: Fourier[list], InverseFourier[list], осуществляющие прямое и обратное преобразование Фурье списка list комплексных чисел соответственно, используя при этом алгоритм БПФ.

В более поздних версиях системы Mathematica появляются некоторые возможности для аналитического проведения преобразования Фурье, реализуемые следующими функциями:

FourierTransform[exp, t, ] – возвращает символьное значение прямого преобразования Фурье для выражения exp, зависящего от круговой частоты .

InverseFourierTransform[exp, , t]   возвращает символьное значение обратного преобразования Фурье для выражения exp, зависящего от круговой частоты .

Используются также следующие функции для вычисления коэффициентов ряда Фурье, в который может быть разложена функция f(t), которые получили название косинусного и синусного интегралов Фурье:



FourierSinTransform[exp, t, ], InverseFourierSinTransform[exp, , t]– возвращают символьное значение прямого, обратного синусного преобразования Фурье для выражения exp, зависящего от круговой частоты соответственно.

FourierCosTransform[exp, t, ], InverseFourierCosTransform[exp, , t]   возвращают символьное значение прямого, обратного косинусного преобразования Фурье для выражения exp, зависящего от круговой частоты соответственно.

Для более совершенного преобразования Фурье имеются расширенные функции, которые включены в подпакет FourierTransform пакета Calculus:



FourierExpSeries[expr, {x,xmin,xmax}, n] – возвращает разложение expr[x] в экспоненциальный ряд Фурье с n членами на отрезке {xmin, xmax}.

FourierExpSeriesCoefficient[expr, {x,xmin,xmax}, n]   возвращает коэффициенты разложения expr[x] в тригонометрический ряд Фурье с n членами на отрезке {xmin, xmax}.

FourierTrigSeries[expr, {x,xmin,xmax}, n] – возвращает разложение expr[x] в тригонометрический ряд Фурье с n членами на отрезке {xmin, xmax}.

FourierSinSeriesCoefficient[expr, {x,xmin,xmax}, n]   возвращает синусные коэффициенты разложения expr[x] в тригонометрический ряд Фурье с n членами на отрезке {xmin, xmax}.

FourierCosSeriesCoefficient[expr, {x,xmin,xmax}, n]   возвращает косинусные коэффициенты разложения expr[x] в тригонометрический ряд Фурье с n членами на отрезке {xmin, xmax}.

Помимо указанных функций существует целая группа функций для численных операций, связанных с разложением в ряд Фурье. Все они имеют в начале букву N. Например, функция NFourierTrigSeries[expr, {x,xmin,xmax}, n] – возвращает разложение expr[x] в тригонометрический ряд Фурье с n членами на отрезке {xmin, xmax} в численном виде.

В системе Maple, ориентированной на символьные вычисления, также нет развитых встроенных средств для осуществления преобразований Фурье. Имеются лишь две функции для вычисления косинусного и синусного интегралов Фурье для функции f(t), которые записываются в виде: fouriercos(expr,t,s), fouriersin(expr,t,s).

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



fft(v) – выполняет быстрое преобразование Фурье (БПФ) для данных, представленных действительными числами – значениями исходного вектора v.

ifft(v) – реализация обратного преобразования Фурье для вектора v с комплексными элементами.

cfft(A), icfft(B) – аналогичны предыдущим функциям, но А – вектор с комплексными элементами. Кроме того, А может быть матрицей, и в этом случае реализуется двумерное преобразование Фурье.

В системе Mathcad существует целый набор функций для задания окон:



  • blackman(N) – окно Блэкмана;

  • cheby(N, ) – окно Чебышева для >1 (обычно >50);

  • costaper(N, ) – окно типа косинусоидальной трапеции для параметра от 0 до 1;

  • gaussian(N, ) – окно Гаусса для от 0 до 20;

  • kaiser(N, ) – окно Кайзера для от 2 до 20;

  • hanning(N) – окно Хэннинга;

  • hamming(N) – окно Хэмминга;

  • nutall(N) – окно Натолла;

  • taprect(N) – трапецевидное окно;

  • triangular(N) – треугольное окно.

Кроме того, в пакете Signal Processing системы Mathcad имеется ряд функций оконного (короткого) спектрального анализа:

  • pspectrum(x,n,r [,w]) – расчет средней спектральной мощности сигнала х;

  • cspectrum(x,n,r [,w]) – расчет кросс-спектра сигнала х;

  • coherence(x,y,n,r [,w]) – расчет когенентности сигналов;

  • snr(x,y,n,r [,w]) – расчет отношения сигнал/шум для векторов х и у.

Таким образом, система Mathcad обладает практически полным набором средств для решения задач спектрального анализа, а также задач, связанных с их применением в технике обработки сигналов и фильтрации. В число этих средств входят эффективные методы реализации прямого и обратного БПФ. Они реализованы по самым современным алгоритмам и позволяют обрабатывать данные любого размера. Единственный недостаток – невысокая скорость обработки данных, которая уступает скорости в системе MATLAB.

Самой мощной системой компьютерной математики, обладающей весьма представительным набором средств для реализации спектрального анализа и связанных с ним операций, является матричная система MATLAB. Эта система содержит следующие функции для выполнения быстрого одномерного и двумерного дискретного преобразования Фурье:



  • fft(X) – возвращает для вектора Х дискретное преобразование Фурье (ДПФ), по возможности используя алгоритм БПФ. Если Х – матрица, функция возвращает преобразование Фурье для каждого столбца матрицы;

  • fft(X, n) – возвращает n-точечное преобразование Фурье. Если длина вектора Х меньше n, то недостающие элементы заполняются нулями; если больше, то лишние элементы удаляются;

  • fft(X, [ ], dim) и fft(X,n,dim) – производят преобразование Фурье к одной из размерностей массива в зависимости от значения параметра dim;

  • fft2(Х) – возвращает для массива данных Х двумерное ДПФ;

  • fft2(X,m,n) – усекает массив Х или дополняет его нулями, чтобы перед выполнением преобразования Фурье создать матрицу размера nm;

  • fftn(X)N-мерное ДПФ для массива Х размерности N.

  • fftn(X, siz) – ДПФ для массива Х с ограничением размера, заданным переменной siz.

Для реализации обратного преобразования Фурье в начало каждой из вышеуказанных функций добавляется буква i (от англ. inverse – обратный).

Кроме того, в системе MATLAB имеется около 15 функций, задающих различные окна: bartlett(n), blackman(n), chebwin(n,r), hamming(n), hann(n), kaiser(n,), triang(n), barthanwin(n), blackmanharris(n), bohmanwin(n), gausswin(n, ), nuttallwin(n), rectwin, tukeywin(n, ).

Такая мощная система, как MATLAB, имеет также встроенные функции для реализации всех методов спектрального анализа, вычисляющих спектральную плотность мощности сигнала.

Рассмотрим самый простой синтаксис данных функций:



        1. pburg(x,p) – вычисление СПМ методом Бурга, х вектор значений сигнала, р – параметр модели;

        2. pcov(x,p) – ковариационный метод;

        3. pmcov(x,p) – модифицированный ковариационный метод;

        4. pmtm(x,nw) – многооконный метод, параметр nw задает спектрально-временное разрешение;

        5. pwelch(x) – метод Уэлча;

        6. peig(x, p) – метод собственных значений;

        7. pyulear(x, p) – метод Юла-Уолкера;

        8. pmusic(x, p) – метод классификации множественных сигналов;

        9. periodogram(x) – периодограммный метод;

        10. spectrogram(x, nfft) – короткий оконный Фурье-анализ.

Конечно, возможности системы MATLAB в реализации спектрального анализа не ограничиваются только вышеперечисленными функциями и более подробно изучить весь набор средств для численного спектрального анализа и синтеза и ознакомится с примерами использования тех или иных функций можно в [1-3].
Литература

  1. Дьяконов В.П. Компьютерная математика. Теория и практика. М.: Нолидж, 2001.

  2. Дьяконов В.П. MATLAB R2006/2007/2008 + Simulink 5/6/7. Основы применения. – 2-е изд., перераб. и доп. – М.: СОЛОН-ПРЕСС, 2008.

  3. Дьяконов В.П., Круглов В.В. MATLAB 6.5 SP1/7/7 SP1/7 SP2 + Simulink 5/6. Инструменты искусственного интеллекта и биоинформатики. Серия «Библиотека профессионала». – М.: СОЛОН-ПРЕСС, 2006.


Каталог: vconf -> files
files -> Учебная автоматизированная система проектирования элементов оптоволоконных систем связи и управления
files -> О реализации образовательных программ рудн в республике болгария по дистанционной технологии
files -> Информационные системы для управления системой образования города москвы
files -> Объем и содержание понятия «дистанционное обучение»
files -> Разработка учебных материалов по пакету свободного программного обеспечения
vconf -> Краткий обзор миграционных процессов и тенденций развития
files -> Вопросы проектирования телекоммуникационных сетей


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©grazit.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал