Примеры генерации сигналов
1. Требуется получить сигнал синусоидальный сигнал с заданной частотой f=0, 2 Гц и различными частотами дискретизации fд=1 Гц, 3 Гц, 10 Гц. Длина сигнала 20 с.
Т.к. работа среды Matlab ориентирована на матричное представление сигналов, то зададим сначала три вектора времени t, которые будет соответствовать различным частотам снятия данных (частотам дискретизации).
Для генерации синусоидального сигнала (вычисления функции sin в заданных вектором ti точках используется функция Matlab – sin. Уточним, требуемые данной функцией, аргументы:
Далее зададим вектор сигналов:
Для визуализации сигналов воспользуемся функцией plot:
Результат работы изображен на рис.1
Рис.1
Все вышеизложенные операции могут быть оформлены в виде m-файла в редакторе m-файлов (рис 2).
Рис.2
2. Требуется получить функцию MATLAB генерирующую сигнал длительностью 10 с, снятый с шагом 1/f и представляющий собой параметр f есть аргумент функции. Функция объявляется зарезервированным словом function, после которого следует выражение [выходное_значение_функции] = имя_функции[(аргументы_функции)]
Один возможных вариантов решения данной задачи приведен ниже
Данная функция может быть вызвана из других функций или запущена из Command Window: > > example1_2(128);
Результат выполнения функции приведен ниже
Рис. 3
3. Свертка Дискретной сверткой двух сигналов g и h называют одномерный массив Ниже приведена иллюстрация процесса вычисления свертки.
В среде MATLAB свертка реализуется следующей функцией conv(А, B). В результате получается вектор длиной LENGTH(A)+LENGTH(B)-1.
Контрольные вопросы к защите 3.1. Какие свойства свертки использовались в лабораторной работе? 3.2. Роль свертки в цифровой обработке сигналов? 3.3. В чем отличие дискретной свертки от непрерывной? 3.4. Как представить дискретный сигнал с использованием свертки и дельта-функции?
|