Формирование и анализ сигналов в системе MATLAB, страница 2

stem

изображает сигнал в виде «стебельков»

stem(s2(1:100));

stairs

в ступенчатом виде. изображается аналоговый сигнал с кусочно-постоянной интерполяцией (интерполяцией нулевого порядка).

stairs(s2(1:100))

rectpuls

Функция генерации одиночного прямоугольного импульса

у = rectpuls(t, width)

tripuls

Функция генерации одиночного треугольного импульса

sinc

импульс вида sin(πt)/( πt);

gauspuls

радиоимпульс с гауссовой огибающей;

pulstran

последовательность из конечного числа импульсов произвольной формы

square

служит  для формирования последовательности прямоугольных импульсов

у = square(t)

duty

параметр, обратный скважности – коэффициент заполнения (в процентах).

rand

randn

функции  для генерации случайных чисел.

(rand -равномерное распределение,randn нормальное распределение)

X=randn(1,50);

plot((1:50),X)

wgn

позволяет в явном виде задавать уровень генерируемого шума.

X=wgn(1,100,25,'dBW');

plot((1:100),X)

state

позволяет принудительно задавать начальное состояние генератора гауссовских случайных чисел

'outputtype'

позволяет задавать генерацию вещественного или комплексного шума.

awgn

реализующая канал связи с аддитивным белым гауссовым шумом, то есть добавляющая к сигналу белый шум с заданным уровнем.

Y=awgn(X,5,4,'linear');

sigpower

указывает мощность сигнала х в единицах, задаваемых параметром 'powertype' (по умолчанию — в децибелах)

corrmtx

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

[X, R] = corrmtx(x, m,  'method')

fft и ifft:

Функции служащие для выполнения прямого и обратного ДПФ

у = fft(x, N)

freqz

Функция служащая для построения графиков спектров

[H,W]=freqz(X,1,[],20);

boxcar

функция реализующая «прямоугольное окно»

w = boxcar (n)

hamming

реализует окно Хэмминга, 'sflag' позволяет выбрать режим расчета окна.

w = hamming(n,  'sflag')

specgram

вычисление мгновенного спектра сигнала

A=specgram(X);

periodogram

вычисление спектральной плотности мощности одной реализации случайного сигнала;

X = filter(1,[1, -a],X0);

periodogram(X,[],[],1)

pwelch

оценка спектральной плотности мощности случайного процесса методом усреднения модифицированных периодограмм.

X = filter(1,  [1 -a], X0);

pwelch(X, [].  [],  [], 1)

specgram

Функция служащая для вычисления спектрограммы. х — вектор сигнала (сигнал не может быть многоканальным), Nfft — используемая размерность дискретного преобразования Фурье, Fs — частота дискретизации в герцах, window — вектор отсчетов весовой функции (размер этого вектора определяет размер сегментов, на которые разбивается анализируемый сигнал), numoverlap — величина перекрытия соседних сегментов (в отсчетах).

X=cos(0:pi/16:6*pi);

A=specgram(X);

subplot(2,1,1);plot(X);grid on

subplot(2,1,2);plot(A);grid on

[Рхх,  f] = periodogram(x, window, Nfft, Fs,  'range')

Синтаксис вызова функции  periodogram. Строковый параметр 'range' определяет частотный диапазон для возвращаемого вектора Рхх. Возможны два значения:

'twosided' — векторы Рхх и f имеют длину Nfft и соответствуют полному диапазону частот 0...Fs .

psdplot

функция, служащая для построения графика спектральной плотности. Синтаксис вызова функции psdplot следующий:

psdplot(Pxx, f,   'units',   'yscale',   'title') Рхх—вектор значений спектральной плотности мощности, f — вектор той же длины, что и Рхх, содержащий значения частот, которым соответствуют значения спектральной плотности мощности. Параметр 'units' задает подпись для оси частот - 'rad/sample' (радиан/отсчет, этот вариант используется по умолчанию) или 'Hz'. Параметр 'yscale' управляет режимом построения графика.

X0 = randn(1, 1000);

[A,B]=periodogram(X0,[],[],1);

psdplot(A,B,'Hz','linear','Grafik')

pwelch

функция, служащая для реализации метода Уэлча. Синтаксис вызова функции следующий:

[Рхх, f] = pwelch(x, Nwin,  Noverlap,  Nfft, Fs,  'range'). Параметр Nwin управляет выбором окна, используемого для анализа. Параметр Noverlap задает (в отсчетах) перекрытие соседних фрагментов сигнала, для которых вычисляются периодограммы. Параметр Nfft задает размерность БПФ, используемого для вычисления периодограммы. Параметр Fs указывает частоту дискретизации сигнала. Параметр 'range' может быть указан в списке параметров в любом месте после Noverlap.

X0 = randn(1,1000);

a = 0.9;

X = filter(1,  [1 -a], X0);

pwelch(X, [].  [],  [], 1)

Вывод:

В ходе выполнения лабораторной работы были изучены основные функции Mat Lab для анализа сигналов.