ЛР4 > Линейное преобразование сигналов - FPGA

ЛР4 > Линейное преобразование сигналов

Цель работы: научиться создавать сигналы сложной формы, используя свойства линейности.

Руководство по лабораторной работе

 

Для выполнения лабораторной работы Вам необходимо повторить соответствующие лекции.

Скачать Материалы к лабораторной работе №4.

 

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

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

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

Программа, реализующая эту функцию для восьми гармонических составляющих, выглядит следующим образом (пример № 1):

N=8; %число ненулевых гармоник

t = -1:0.01:1; %вектор моментов времени

A = 1; %амплитуда

T = 1; %период

nh = (1:N)*2 – 1; %номера ненулевых гармоник

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

harmonics = cos(2*pi*nh’*t/T);

Am = 2/pi./nh; %амплитуды гармоник

Am(2:2:end)=-Am(2:2:end); %чередование знаков

s1 = harmonics.*repmat(Am’, 1, length(t));

%формирование строк – частных сумм гармоник

s2 = cumsum(s1);

for k=1:N,

subplot(4,2,k); plot(t,s2(k,:))

end

Результат работы данной программы показан на рисунке 1.

 

Рисунок 1. Формирование импульсного сигнала из восьми гармонических составляющих.

Для полного понимания принципа работы программы – посмотрите документацию для следующих функций – repmat и cumsum.

 

    Генерировать периодические сигналы различной формы можно с помощью встроенных функций среды MatLab:
square – последовательность прямоугольных импульсов;
sawtooth – последовательность треугольных импульсов;
diric – функция Дирихле (периодическая sinc-функция);
chirp – генерация колебаний с меняющейся частотой.

 

    Для генерации дискретного белого шума с нормальным распределением можно использовать функцию randn(m, n). В результате вызова этой функции генерируется массив, содержащий m строк и n столбцов псевдослучайных чисел, имеющих нормальное распределение с нулевым математическим ожиданием и единичной дисперсией. Пример работы этой функции показан ниже:

                                Пример № 2

 

x=randn(1, 10000);

plot(x);

 

Результат генерации случайного сигнала показан на рисунке 2.

Рисунок 2. Генерация случайного сигнала.

 

    В пакете MatLab есть еще одна полезная функция – awgn. Она позволяет добавлять к сигналу белый шум с заданным уровнем. Формат вызова данной функции следующий:
y = awgn(x, snr, sigpower, state, ‘powertype’), где
x – вектор отсчета сигнала, snr – скаляр, задающий соотношение сигнал/шум в единицах, определяемых параметром ‘powertype’ (по умолчанию – в децибелах),

sigpower – мощность сигнала, state – принудительная установка генератора случайных чисел (последние три параметра не являются обязательными).

ЗАДАНИЕ

  • Проработайте основные примеры, изложенные выше, в системе MATLAB.
  • Создайте М-файл, который реализует следующие сигналы из соответствующих гармонических составляющих:
  1. Пилообразный сигнал:
    ;
  2. Последовательность треугольных импульсов:
    .
  • Исследуйте самостоятельно функции square, sawtooth, diric и chirp. Для визуализации работы функции chirp удобно использовать функцию построения спектрограммы (specgram(s, [ ], Fs), где s – исследуемый сигнал, [ ] – диапазон его значений, Fs – частота дискретизации).
  • Для случайного сигнала, генерируемого с помощью функции randn(m, n) создайте М-файл, в котором: генерировался бы сигнал, для него рассчитывалось среднее значение, СКО и строилась гистограмма.
  • Создайте М-файл, в котором к сгенерированному периодическому сигналу добавлялся случайный шум. Вычислите статистические характеристики такого сигнала.
  • Создайте М-файл, в котором к гармоническому сигналу добавляется белый шум в заданном соотношении (используйте для этого функцию awgn).
  • Сгенерируйте сигнал, состоящий из 16 отсчетов. Для данного сигнала создайте М-файл, который реализует следующие варианты разложения сигнала:
  1. импульсное разложение;
  2. ступенчатое разложение;
  3. четное/нечетное разложение;
  4. чередующееся разложение.

 

  翻译: