Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Калачиков математические основы mu_dsp_2811

.pdf
Скачиваний:
48
Добавлен:
11.04.2015
Размер:
1.53 Mб
Скачать

 

 

 

 

 

 

Белый шум

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

y(t)

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-1

 

 

 

 

 

 

 

 

 

 

 

-2

 

 

 

 

 

 

 

 

 

 

 

-3

 

 

 

 

 

 

 

 

 

 

 

-40

2

4

6

8

10

12

14

16

18

20

 

 

 

 

 

 

Время

 

 

 

 

 

 

 

 

Рисунок 4.7 – Белый шум (Ts = 0.01)

 

 

41

Практическая работа № 2

ДИСКРЕТНЫЕ СИСТЕМЫ. ДИСКРЕТНАЯ СВЕРТКА

Цель работы. Практическое изучение вычисления дискретной свертки в Мatlab. Изучение свойств свертки.

Дискретная система выполняет преобразование отсчетов входного сигнала по определенному алгоритму. Требования к выполняемому преобразованию могут быть описаны как во временной, так и в частотной областях.

В общем виде дискретную систему можно описать при помощи системного оператора

y n F x n ,

где x[n] – отсчеты входного сигнала, y[n] – отсчеты выходного сигнала после преобразования, F[.] – выполняемое преобразование.

Важный класс дискретных систем, распространенный на практике – линейные дискретные системы. К ним применим принцип суперпозиции – отклик системы на сумму входных сигналов равен сумме откликов на эти сигналы

y n F a x1 n b x2 [n] a F x1 n b F x2 n .

Во временной области линейная дискретная системы полностью описывается при помощи импульсной реакции h[n] – реакции системы на входной

сигнал в виде единичного импульса h n k F n k .

Сигнал на выходе дискретной системы может быть найден при помощи операции дискретной свертки

y n x k h n k .

k

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

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

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

граммы dconvol.m.

%dconvol.m echo off; close all;

fpos = [0.25 0.5 0.5 0.42]; style{1} = 'LineWidth'; style{2} = 1;

style{3} = 'MarkerSize'; style{4} = 4;

42

figure('numbertitle','off','name','Сигнал во временной области',...

'Units','normal','Position',fpos);

echo on;

n = 0:19;

h = 0.5 .^ n;

x = [n(1:10) zeros(1,10)];

y = conv(x,h); % свертка of x and h stem(0:length(y)-1, y);

% длина y = длина x + длина h -

1

xlabel('n'), ylabel('y[n]');

echo off;

Задание на практическую работу

Задана импульсная характеристика

h n exp( 1.2 * n) для n=0..4.

Сформируйте вектор отсчетов сигнала

x n 3 sin(0.5 n) размером n=0..19.

Выполните дискретную свертку этих двух сигналов.

Измените порядок последовательностей и вычислите дискретную свертку. Сравните результаты.

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

43

Практическая работа № 3

ДИСКРЕТНОЕ ВО ВРЕМЕНИ ПРЕОБРАЗОВАНИЕ ФУРЬЕ. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ДИСКРЕТНЫХ СИСТЕМ

Цель работы. Практическое изучения вычисления ДВПФ. Изучение свойств ДВПФ.

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

H e j h[k] e j k ,

k

которая является преобразованием Фурье от импульсной характеристики. Целью данного практического занятия является изучение основных

свойств дискретного по времени преобразования Фурье.

Основные свойства ДВПФ

Периодичность по частоте

H e j H (e j k 2 ) .

Симметрия

H (e j ) H (e j ) .

Также действительны свойства обычного преобразования Фурье.

Для изучения свойств ДВПФ применяется скрипт dtft_pr.m (находится

врабочей директории)

%dtft_pr.m echo off; close all;

fpos = [0.25 0.5 0.5 0.42]; style{1} = 'LineWidth'; style{2} = 1;

style{3} = 'MarkerSize'; style{4} = 4;

figure('numbertitle','off','name','Сигнал в частотной области',...

'Units','normal','Position',fpos);

echo on;

 

N = 6;

 

h = 1/N*ones(1,N);

% Импульсная

реакция

 

[H,theta] = freqz(h,1,256);

% Частотная

характеристика

 

subplot(2,1,1), plot(theta/pi,abs(H));

% АЧХ

xlabel('\theta/\pi'), ylabel('|H(e^{j\theta})|'), grid on; subplot(2,1,2), plot(theta/pi,angle(H)); % ФЧХ

44

xlabel('\theta/\pi'), ylabel('\angle H(e^{j\theta})'), grid on;

echo off;

Рисунок 6.1 – Результат вычисления частотной характеристики

Ось частот нормируется по отношению к частоте дискретизации. Результат вычисления выводится в основной полосе частот.

Задание на практическую работу

Задайте дискретную последовательность вида

x{n} sin(2 f0 n) .

Для 0 ≤n≤30. Для данной последовательности проведите исследование свойств ДВПФ. Значение частоты f0 меняется произвольно в пределах 0.05-0.9.

45

Практическая работа № 4

ДИСКРЕТНОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ. СВОЙСТВА

Цель работы. Практическое изучения вычисления ДПФ. Изучение свойств ДПФ.

Вопросы для самоподготовки

1 Прямое дискретное преобразование Фурье (сущность, условия применения, пример во временной и спектральной областях).

2 Обратное дискретное преобразование Фурье (сущность, пример во временной и спектральной областях).

3Свойства дискретного преобразования Фурье.

4Физическая сущность коэффициентов ДПФ во временной и спектральной областях (с примерами).

5Принцип восстановления аналогового сигнала по результатам цифровой обработки.

6Связь аналоговой функции во временной области с видом выборки ДПФ в частотной области (с примерами).

7Связь вида выборки во временной области с ее аналоговым прототипом (с примерами).

8Определите для заданной выборки во временной области {xk}6 = (0, 1, 4, 9, 16, 25) вид временной функции исходного аналогового сигнала и объясните его. Изобразите график.

9Объясните, какая временная функция соответствует выборке ДПФ в ча-

стотной области вида {Cn}6 = (0, 1, 0, 0, 0, 0). Изобразите и объясните график аналоговой функции исходного сигнала x(t).

Спектральный анализ в Мatlab

Целью спектрального анализа сигналов является определение гармонического спектра этих сигналов, то есть частот гармонических составляющих сигнала (частотного спектра), амплитуд этих гармонических составляющих (ам-

плитудного спектра) и их начальных фаз (фазового спектра). Под статистиче-

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

Так как в MATLAB все сигналы представлены в виде дискретных отсчетов, для вычисления спектра сигналов используется дискретное преобразование Фурье. ДПФ позволяет вычислять дискретные отсчеты непрерывного спектра сигналов, используя временные отсчеты сигнала. В системе MATLAB предусмотрены преобразования заданного вектора в соответствии с дискретными прямым и обратным преобразованиями Фурье. Это осуществляется с помощью функций fft (Fast Fourier Transformation) и ifft (Inverse Fast Fourier Transfor-

46

mation). Используя обращения к этим функциям вида y=fft(x,n) и x=ifft(y,n), можно получить вектор комплексных отсчетов ДПФ у(к) (в первом случае) и вектор комплексных дискретных отсчетов сигнала х(n) (во втором случае) по формулам:

 

 

1

N

j 2

k n

y k

 

x n e

 

N

;

 

 

 

 

N m 1

 

 

 

 

 

 

 

 

n

 

k n

x n

y k e j 2

 

 

N .

k 1

Здесь N – число элементов заданного вектора х(n) (количество отсчетов дискретного сигнала в выборке), n – номер отсчета выборки во временной области), k – номер отсчета выборки в частотной области.

Вызов функции осуществляется с использованием команды sf = fft(st,N),

где st – вектор, содержащий временные отсчеты сигнала; N – количество отсчетов в st.

Результат выполнения функции – вектор sf, вектор комплексных чисел, содержащий отсчеты ДПФ в спектральной области, с интервалом по частоте Fs/N, где Fs – частота дискретизации.

В выражениях ДПФ (см. лекции) не содержится указания на реальные моменты времени или значения частот, в них используются только номера отсчетов. Для построения спектра сигналов, заданных в определенном временном масштабе, необходимо знать, с какой частотой брались отсчеты непрерывного сигнала. Если последовательность отсчетов x(nT) представляет набор отсчетов, взятых с интервалом дискретизации T = 1/Fs, то частоты анализа, т. е. частоты, которые соответствуют спектральным отсчетам ДФТ, будут расположены с интервалом по частоте Fs/N.

Первый элемент полученного вектора (в MATLAB нумерация элементов векторов начинается с единицы) соответствует нулевой частоте, последний – частоте Fs(N-1)/N, т. е. спектр является симметричным относительно частоты Fs/2. При этом код MATLAB, позволяющий получить вектор значений частот для ДПФ размерности N, если частота дискретизации сигнала равна Fs

f = (0:N-1)/N*Fs.

Так как в работе все входные сигналы являются реальными, для изображения спектра требуется только первая половина спектральных отсчетов вектора ДПФ sf (другая половина – симметрична относительно частоты Fs/2). Вектор значений частот может быть задан в виде

f = 0, Fs/N, 2Fs/N, . . . ,(N/2 - 1)Fs/N

соответствующая команда MATLAB f = (0 : N/2 - 1)*Fs/N

47

и для изображения спектра сигнала используется команда plot(f, abs(sf(1:N/2)).

Для того чтобы спектр сигнала был расположен симметрично относительно частоты f = 0 используется команда

sf = fftshift(fft(st, N)).

При этом значения частот расположены в диапазоне –Fs/2 до Fs/2 f = (-N/2 : N/2 - 1)*Fs/N.

Для изображения двустороннего спектра используется команда plot(f, abs(sf)).

В качестве примера применения функций fft и ifft получим спектральную диаграмму одиночного прямоугольного импульса (рисунок 7.1) с амплитудой А = 0.75, длительностью 0.25 с. Длительность сигнала выберем Т = 10 с, а дискрет времени Ts = 0.1 с. Для наглядности построения воспользуемся процеду-

рой stem.

Ts=0.1; T=10; A=0.75; w=0.5; t=0:Ts:T; y=A*rectpuls(t,w);

plot(t,y); grid; title('Прямоугольный импульс'); xlabel('Время (с)'); ylabel('y(t)')

y(t)

Прямоугольный импульс

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

00

1

2

3

4

5

6

7

8

9

10

 

 

 

 

 

Время (с)

 

 

 

 

Рисунок 7.1 – Одиночный прямоугольный импульс

x=fft(y); df=1/T; Fmax=1/Ts; f=0:df:Fmax;

a=abs(x); stem(f,a); grid; title('Модуль fft-преобразования'); xlabel('Частота (Гц)'); ylabel('Модуль')

48

Модуль fft-преобразования

2.5

2

1.5

Модуль

1

0.5

00

1

2

3

4

5

6

7

8

9

10

 

 

 

 

 

Частота (Гц)

 

 

 

 

Рисунок 7.2 – Модуль fft-преобразования прямоугольного импульса

Теперь построим график модуля Фурье-изображения процесса (рисунок 7.3):

xp=fftshift(x); f1=-Fmax/2:df:Fmax/2; a=abs(xp); stem(f1,a); grid; title('Частотный спектр'); xlabel('Частота (с)'); ylabel('Модуль')

Частотный спектр

2.5

2

1.5

Модуль

1

0.5

0

 

 

 

 

 

 

 

 

 

 

-5

-4

-3

-2

-1

0

1

2

3

4

5

Частота (с)

Рисунок 7.3 – Спектральная диаграмма прямоугольного импульса

49

Пример вычисления спектра синусоидального сигнала

clear all%

N=2^10; % Длина блока

fs=1e5; % Частота дискретизации (Hz) Ts=1/fs; % Интервал дискретизации (s) t=(0:N-1)*Ts; % Вектор времени (s)

A=2; % Амплитуда сигнала f0=fs/12; % Частота сигнала (Hz) phi=-pi/2; % Фаза сигнала (rad)

x= A*cos(2*pi*f0*t + phi); % Вычисление спектра

X=fft(x)/N; %

Xa=abs(X); % Модуль спектра

Xp=angle(X); % Спектр фаз (rad) f=fs*(0:N-1)/N; % Вектор значений частот (Hz)

%

figure(1)

subplot(2,1,1)

plot(t,x)

xlim([0 4/f0]);% масштаб по оси частот title('Сигнал')

xlabel('\с') subplot(2,1,2) plot(f,Xa);

%plot(f-fs/2,fftshift(Xa));

%axis([-fs/2 fs/2 0 1.1*max([abs(A0),A/2])])

Рисунок 7.4 – Результат вычисления спектра синусоиды функцией fft

50