Функции > Обработка сигналов > Цифровая фильтрация > Пример. Интерполяция и выборка
Пример. Интерполяция и выборка
Используйте функции multirate, resample и upsample для изменения частоты выборки сигнала разными способами и с разными допущениями.
Функция multirate с фильтром с импульсной характеристикой конечной длительности по умолчанию
Функция multirate использует групповую задержку линейно-фазового фильтра FIR для оценки момента окончания начального нестационарного состояния выходных данных и отсекает его.
1. Определите параметры сигнала.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Используйте функцию sin, чтобы определить суммарный синусоидальный сигнал.
Щелкните для копирования этого выражения
3. Примените функцию multirate к сигналу.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Распечатайте повторную выборку сигнала.
Щелкните для копирования этого выражения
График показывает, что повторная выборка сигнала слегка смещена и содержит количество исходных точек данных, помноженное на n/m. Смещение вносится фильтром FIR и равно его групповой задержке.
Функция multirate с дополнительным низкочастотным фильтром с импульсной характеристикой конечной длительности
1. Определите частоту среза, количество коэффициентов и тип окна сужения.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Используйте функцию lowpass для вычисления коэффициентов фильтра FIR низких частот.
Щелкните для копирования этого выражения
3. Используйте функцию multirate для повторной выборки сигнала x с другим коэффициентом.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Распечатайте повторную выборку сигнала.
Щелкните для копирования этого выражения
Повторная выборка приводит к затуханию сигнала, так как фильтр FIR не обеспечивает усиления, равного уровню увеличения частоты выборки n.
5. Настройте коэффициенты фильтра FIR для правильного усиления и снова отобразите повторную выборку сигнала.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Настройка коэффициентов фильтра FIR удаляет эффект масштабирования.
Увеличение частоты выборки сигнала
Функцию multirate можно использовать для увеличения или уменьшения частоты выборки сигнала.
1. Используйте функцию multirate для увеличения частоты выборки сигнала x, увеличивая отношение n/m.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Распечатайте выборку сигнала с увеличенной частотой.
Щелкните для копирования этого выражения
Увеличение отношения n/m приводит к увеличению общего числа выборок, как видно из значения длины, а также к увеличению числа новых выборок между двумя любыми последовательными выборками исходного сигнала.
3. Используйте функцию multirate для уменьшения частоты выборки сигнала x, уменьшая отношение n/m.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Распечатайте выборку сигнала с уменьшенной частотой.
Щелкните для копирования этого выражения
Уменьшение отношения n/m приводит к уменьшению общего числа выборок (как видно из значения длины), а также к уменьшению числа новых выборок между двумя любыми последовательными выборками исходного сигнала.
Увеличение частоты выборки данных
Функция upsample выполняет быстрое преобразование Фурье (FFT) для исходных данных, добавляя нули в середину диапазона коэффициентов, чтобы создать преобразование, имеющее требуемую интерполированную длину, а затем обратить преобразование расширенного спектра. Уникального метода интерполяции данных не существует. Можно также использовать специально разработанный фильтр FIR. Для нормальных данных эта функция возвращает удовлетворительную интерполяцию.
1. Задайте коэффициент интерполяции n и примените функцию upsample к сигналу x.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Распечатайте отраженный сигнал.
Щелкните для копирования этого выражения
Отраженный сигнал является интерполированной версией сигнала x с количеством точек, в n раз большим.
Повторная выборка сигнала
Функция resample работает с помощью интерполяции, как рассмотрено выше, производя в n раз больше точек и включая каждую точку номер mth в выходные данные.
1. Задайте коэффициент децимации m и коэффициент интерполяции n.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Распечатайте отраженный сигнал.
Щелкните для копирования этого выражения
Отраженный сигнал содержит 3/5 от исходного числа точек, и, следовательно, промежуток между выборками составляет 5/3 от исходного промежутка.
Использование увеличения частоты выборки с периодическим и апериодическим вводом
Функция upsample рассчитана на периодический ввод. Рассмотрим отраженный сигнал в обоих случаях.
Апериодический ввод
1. Задайте коэффициент интерполяции.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Определите сигнал с непериодическим вводом.
Щелкните для копирования этого выражения
3. Примените функцию upsample.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Распечатайте отраженный сигнал.
Щелкните для копирования этого выражения
Процедура интерполяции предполагает периодичность X. Поэтому производится интерполяция точек в области конца графика, который далее снова идет вверх к исходной высоте, равной 1. Однако эта функция дает значимые результаты в случае, если "упаковка" последовательности ввода дает умеренно гладкую функцию.
Периодический ввод
1. Задайте коэффициент интерполяции.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Определите сигнал с периодическим вводом.
Щелкните для копирования этого выражения
3. Примените функцию upsample.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Распечатайте отраженный сигнал.
Щелкните для копирования этого выражения
Интерполяция является более близкой аппроксимацией исходного сигнала, когда этот сигнал периодичен.
Было ли это полезно?