Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Математические основы цифровой обработки сигналов



Методические указания по практическим и лабораторным занятиям.

Новосибирск

 

 

УДК 621.391.

А.А.Калачиков. Математические основы цифровой обработки сигналов: Методические указания по практическим и лабораторным занятиям /СибГУТИ.- Новосибирск, 2011 г. – стр.

 

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

 

Кафедра РТС

Ил., табл., список лит. – 5 назв.

Рецензенты:

 

Для направления 210300–«Радиотехника», 210400 – Телекоммуникации».

 

Утверждено редакционно – издательским советом СибГУТИ в качестве учебного пособия.

 

 

© Сибирский государственный университет

телекоммуникаций и информатики, 2011 г.

Оглавление

Введение Стр

Практическое занятие 1. Описание сигналов в Матлаб5

Практическое занятие 2 Дискретные системы. Светрка 12

 

Практическое занятие 3 Дискретное во времени

преобразование Фурье. Частотные характеристики

дискретных систем. 14

 

Лабораторная работа 1

Дискретное преобразовнаие Фурье. Свойства 17

 

 

Лабораторная работа 2 Изучение практического проектирования

цифровых фильтров методом весовых окон в MATLAB. 25

 

Лабораторная работа 3 Многоскоростные фильтры 28

 

Приложение 1 Задание на курсовую работу по дисциплине МоЦОС

Приложение 2 Вычисления в Matlab 39

 

Приложение 3 Описание интерактивной оболочки SPTool 62

 

 

Приложение 4 Описание интерактивной среды FDATool 69

 

 

Литература 73

 

Введение

Цифровая обработка сигналов является основой для практической реализации множества алгоритмов в современных системах связи. Задача повышения эффективности и скорости передачи в беспроводных системах связи и вещания решается при помощи все более сложных сигналов и методов их приема. Для эффективной разработки аппаратуры и ее эксплуатации инженеру необходимо понимание основных алгоритмов спектрально временных преобразований и их реализации в цифровой форме. Основы данных алгоритмов изучаются в курсе Математические основы цифровой обработки сигналов. Применение вычислительной среды Matlab в качестве основного рабочего инструмента позволяет организовать эффективное обучение и практическое освоение алгоритмов обработки.

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

М-файлы с текстами программ, применяемые в практических и лабораторных занятиях находятся в соответствующей директории на рабочем месте.

 

 

Практическое занятие 1.

Описание сигналов в Матлаб

 

Цель работы. Практическое изучение формирования сигналов при моделировании алгоритмов в Матлаб.

Предварительная подготовка. Изучить и проработать примеры из Приложения 1.

 

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

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

 

t1 = [0.1.2.3];

t2 = 0: 0.1: 0.3;

t3 = linspace(0, 0.3, 4);

T = [t1' t2' t3'];

X = sin(T)

 

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

 

t=linspace(-1, 10, 100); % функция включения

u=(t> =0);

plot(t, u)

 

 

ts = 0: 0.5: 5; % дельта импульс

x = [1 zeros(1, length(ts)-1)];

stem(ts, x)

axis([-1 6 0 2])

 

 

t = linspace(0, 1, 1001); %синусоидальный сигнал

A = 5;

f = 2;

p = pi/8;

sinewave = A*sin(2*pi*f*t + p);

plot(t, sinewave)

 

 

%Дискретные экспоненты

n = -10: 30; % Time index

subplot(2, 1, 1);

y = exp(n/5); % Growing exponential

h = stem(n, y);

set(h(1), 'Marker', '.');

set(gca, 'Box', 'Off');

subplot(2, 1, 2);

y = exp(-n/5); % Decaying exponential

h = stem(n, y);

set(h(1), 'Marker', '.');

set(gca, 'Box', 'Off');

xlabel('Time (n)');

 

Важным сигналом в цифровой обработке сигналов является комплексная экспонента. Для наглядного представления формы этого сигнала можно использовать следующий м-скрипт complexp.m

 

 

% Моделирование комплексной экспоненты.

w = j*1;

fs = 500; % Sample rate (Hz)

t = -10: 1/fs: 10; % Time index (s)

y = exp(w*t);

N = length(t);

subplot(2, 1, 1);

h = plot(t, real(y));

box off;

grid on;

ylim([-1.1 1.1]);

ylabel('Реальная часть');

subplot(2, 1, 2);

h = plot(t, imag(y));

box off;

grid on;

ylim([-1.1 1.1]);

xlabel('Время (s)');

ylabel('мнимая часть');

figure;

h = plot3(t, zeros(1, N), zeros(1, N), 'k');

hold on;

h = plot3(t, imag(y), real(y), 'b');

h = plot3(t, 1.1*ones(size(t)), real(y), 'r');

h = plot3(t, imag(y), -1.1*ones(size(t)), 'g');

hold off;

grid on;

ylabel('мнимая часть');

zlabel('Реальная часть');

title('Complex: Blue Real: Red Imaginary: Green');

axis([min(t) max(t) -1.1 1.1 -1.1 1.1]);

view(27.5, 22);

 

Рисунок 1.1 Реальная и мнимая части комплексной экспоненты

Рисунок 1.2 Графическое представление комплексной экспоненты

 

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

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

y=rectpuls(t, w)

 

позволяет образовать вектор y значений сигнала такого импульса единичной амплитуды, имеющий ширину w, центрированный относительно t = 0, по заданному вектору t моментов времени. Сформируем несколько таких импульсов (рис. 1.3):

t=0: 0.01: 10;

y=0.75*rectpuls(t-3, 2)+0.5*rectpuls(t-8, 0.4)+

+1.35*rectpuls(t-5, 0.8);

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

xlabel('Время (с)'); ylabel('Выходной процесс')

 

Рисунок 1.3 – График процесса, сгенерированного функцией rectpuls

 

Процедура sinc формирует вектор значений функции sin(t)/t. Эта функция является обратным преобразованием Фурье прямоугольного импульса шириной 2π и высотой 1. Пример ее применения (рис.1.4):

t=0: 0.01: 50;

y=0.7*sinc(pi*(t-25)/5);

plot(t, y); grid; title('Функция sinc(t)');

xlabel('Время (с)'); ylabel('Выходной процесс')

 

 

Рисунок 1.4 – График процесса, сгенерированного функцией sinc

 

Колебательные процессы

Формирование гармонических колебаний можно осуществить с помощью обычных процедур sin(x) и cos(x).

Процесс, являющийся последовательностью прямоугольных импульсов с периодом 2π для заданной в векторе t последовательности отсчетов времени, генерируется с помощью функции square. Обращение к ней имеет вид:

 

y=square(t, duty)

 

Здесь аргумент duty определяет длительность положительной полуволны в процентах от периода волны. Например (рис.1.5):

 

t=0: 0.01: 50; y=0.7*square(pi*t/5, 40);

plot(t, y); grid; title('Прямоугольные волны');

xlabel('Время'); ylabel('Выходной процесс')

 

Рисунок 1.5 – График процесса, сгенерированного функцией square

 

Процедура pulstran позволяет формировать колебания, являющиеся последовательностью прямоугольных, треугольных либо гауссовых импульсов. Обращение имеет вид:

y=pulstran(t, d, 'func', p1, p2, …)

y=pulstran(t, d, 'rectpuls', 5); plot(t, y); grid;

title('Последовательность прямоугольных импульсов');

xlabel('Время'); ylabel('Выходной процесс')

Рисунок 1.6 – Результат применения функции pulstran('rectpuls')

Случайные процессы

Нормально распределенный случайный процесс (белый шум) в MATLAB образуется при помощи процедуры randn. Для этого достаточно задать временной шаг отсчетов Ts, образовать с этим шагом вектор t моментов времени в нужном диапазоне, а затем сформировать по указанной процедуре вектор-столбец х длиной, равной длине вектора t, например (рис.1.7):

Ts=0.01; t=0: Ts: 20; y=randn(1, length(t));

plot(t, y); grid; title('Белый шум');

xlabel('Время'); ylabel('y(t)')

 

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

Практическое занятие 2

Дискретные системы. Дискретная свертка

 

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

 

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

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

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

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

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

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

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

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

Дальнейшее изучение свойств свертки выполняется при помощи программы 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;

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;

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

 

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

для n=0..49.

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

Размером n=0..199.

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

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

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

 

Практическое занятие 3

Дискретное во времени преобразование Фурье. Частотные характеристики дискретных систем.

 

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

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

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

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

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

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

2. Симметрия

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

Для изучения свойств ДВПФ применяется скрипт 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)); % ФЧХ

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

 

echo off;

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

 

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

 

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

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

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

Лабораторная работа 1

Дискретное преобразовнаие Фурье. Свойства.

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

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

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).

 

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

 

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

 

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

;

.

Здесь 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

и для изображения спектра сигнала используется команда

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 получим спектральную диаграмму одиночного прямоугольного импульса (рис.4.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)')

 

Рисунок 4.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('Модуль')

 

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

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

 

xp=fftshift(x); f1=-Fmax/2: df: Fmax/2; a=abs(xp);

stem(f1, a); grid; title('Частотный спектр');

xlabel('Частота (с)'); ylabel('Модуль')

 

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

 

 

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

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])])

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

 

Задание на лабораторную работу

 

Для выполнения лабораторной работы можно использовать вычислительный скрипт Матлаб dft.m, находящийся в рабочей папке.

Замените исходный сигнал и выполните следующие задания

 

1. Исследование прямого преобразования Фурье. Сигнал представлен N отсчетами во времени ( N=2m ), m определено в интервале 2-8. Найти спектр сигнала, представленного на интервале периодически восемью отсчетами.

1.1. { Xk } = (1; 1; 1; 1; 1; 1; 1; 1);

1.2. { Xk } = (0; 0.71; 1; 0.71; 0; -0.71; -1; -0.71);

1.3. { Xk } = (0; 1; 0; -1; 0; 1; 0; -1);

1.4. { Xk } = (1; 1; 0; 0; 0; 0; 0; 0);

1.5. { Xk } = (1; 1; 1; 0; 0; 0; 0; 0).

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

2. Исследование обратного преобразования Фурье. Ввести действительные составляющие спектра X(ώ ), полагая что мнимая составляющая Y(w) = 0.

2.1. { Xn } = (1; 0; 0; 0; 0; 0; 0; 0);

2.2. { Xn } = (0; 1; 0; 0; 0; 0; 0; 0);

2.3. { Xn } = (0; 0; 1; 0; 0; 0; 0; 0);

2.4. { Xn } = (1; 1; 0; 0; 0; 0; 0; 0).

Ввести мнимую составляющую Y(w), полагая X(w) = 0.

2.5. { Yn } = (0; 1; 0; 0; 0; 0; 0; 0).

Сравнить результаты с предыдущим опытом (п.2).

3. Исследование применимости теоремы суперпозиции.

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

3.1 Найти спектр прямоугольного импульса x(t)

{ Xk } = (1; 1; 0; 0; 0; 0; 0; 0).

Записать действительную Xn, мнимую Yn, составляющие спектра, его модуль Cn и фазу Qn.

3.2 Найти спектр треугольного импульса y(t)

{ Yk } = (1; 0.75; 0.5; 0.25; 0; 0; 0; 0).

Записать значения Xn, Yn, Cn и Qn.

3.3 Найти сигнал f(t) = x(t) + y(t); { fk } = {Xk}+{Yk}.

3.4 Проверить равенство (принцип суперпозиции)

Sf (jw) = Sx(jw) +Sy(jw).

4. Исследование свертки двух сигналов.

4.1 Рассчитать свертку двух сигналов, используемых в п.3.

fn = 1/N е Xk*Yn-k, n=0...N-1.

4.2 Найти спектр свертки Cfn и Qfn.

4.3 Проверить выполнение равенства Sf (jw) = Sx (jw) * Sy (jw).

5. Исследование влияния изменения масштаба сигнала на его спектр:

5.1 Найти спектр S1(jw) сигнала (последовательность прямоугольных импульсов) с амплитудой 0.5В и скважностью 4;

5.2 Увеличить амплитуду сигнала в два раза и найти его спектр S2(jw);

5.3 Проверить выполнение равенства

S2(jw) = 2S1(jw).

 

Лабораторная работа 2

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

 

1.Цель работы

Изучение основ проектирования и моделирования цифровых фильтров в среде Matlab, пакеты sptool и fdatool. Проведение экспериментального исследования процесса фильтрации сигналов.

2 Вопросы для подготовке к лабораторной работе.

1 В чем заключается синтез НЦФ методом весовых функций?

2 Каковы основные этапы синтеза НЦФ методом весовых функций?

3 Как находится ИХ НЦФ при синтезе методом весовых функций?

4 От чего зависит порядок (длина ИХ) НЦФ, синтезируемого методом весовых функций?

5 Приведите выражение для ИХ hd(n), соответствующей заданной (идеальной) частотной характеристике (ЧХ) Hd(jw). Почему коэффициенты hd(n) разложения заданной ЧХ Hd(jw) в ряд Фурье не могут быть использованы в качестве коэффициентов синтезируемого НЦФ?

6 Как производится усечение ИХ, соответствующей заданной ЧХ Hd(jw)? Как проявляется усечение на качестве аппроксимации заданной ЧХ Hd(jw)?

7 К чему приводит усечение ряда Фурье (ИХ hd(n)) с помощью весовых функций конечной длины?

8 Как выражается ЧХ синтезируемого фильтра через ЧХ весовой функции и заданную ЧХ?

9 Как связаны параметры ЧХ фильтра с параметрами весовой функции?

10 Какой математический алгоритм обработки реализуют НЦФ?

11 Как вычисляются отсчеты выходного сигнала НЦФ в соответствии с алгоритмом ДВС?

 

3. Описание лабораторной работы

3.1 Лабораторная работа реализована на персональном компьютере с программным обеспечением MATLAB с применением пакета Signal Processing, в котором имеется программа FDATool (Filter Design and Analysis), реализующая графический интерфейс для расчета фильтров и просмотра их характеристик.

3.2 Запуск системы

Для запуска программных пакетов SPTool и FDATool нужно предварительно запустить систему MATLAB. На командной строке системы MATLAB с одним командным окном необходимо набрать имя программы

> > fdatool

> > sptool

 

3.3 Проведение работы.

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

Далее необходимо получить реализацию сигнала, которые будет подан на вход цифрового фильтра. В Matlab это может быть выполнено простыми командами:

Fs=1e4; Ts=1/Fs; t=[0: Ts: 0.5];

F1 = …; F2 = …;

randn('state', 0);

x=sin(2*pi*F1*t)+cos(2*pi*F2*t)+0.1*randn(size(tt));

 

Результат расчетов – вектор отсчетов сигнала х – сумма двух гармонических сигналов с частотами F1 и F2 герц с добавленными отсчетами нормального шума. Отсчеты сигнала вычислены с частотой дискретизации 10 кГц.

Далее запустите пакеты sptool и fdatool.

Пакет sptool позволяет выполнять формирование и обработку различных сигналов во временной и спектральной областях. Вектор отсчетов сигнала х может быть импортирован в sptool:

Во вкладке меню File/Import выбрать Import to SPTool в котором выбираются x и Fs в SPTool. Выбрать х в рабочей области Workspace, нажмите верхнюю правую стрелку и назовите сигнал sig1. Далее необходимо добавить значение частоты дискретизации Fs. Нажмите ОК.

В окне Signals можно выбрать сигнал sig1 и нажать на View. В открывшемся окне отображается временная диаграмма сигнала.

Далее выполняется расчет цифрового полосового фильтра. Параметры фильтра выбрать так, чтобы выполнить фильтрацию входного сигнала – выходной сигнал должен содержать только составляющую с частотой F2. Для этого откройте fdatool и наберите следующие параметры:

f p1 = ….kHz, f p2 = ….kHz

fs1 = ….kHz, fs2 = ….kHz

частота дискретизации Fs= 10 кгц.

Порядок фильтра N

Неравномерность 1 дб.

Нажать на кнопку Design Filter для расчета фильтра filt1.

Можно импортировать уже рассчитанный фильтр.

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

Выберите исходный сигнал sig1 в списке сигналов. Далее выбирается рассчитанный фильтр filt1. Нажмите кнопку ”применить” и назовите сигнал на выходе фильтра sig2.

При помощи программы sptool выполняется сравнение входного и выходного сигналов фильтра в частотной областях.

В окне SPtool signals выбрать исходный сигнал sig1. В окне Spectra создать диаграмму spectr1 и открыть окно просмотра спектра.

Нажмите Применить (Apply) для вычисления спектра сигнала sig1.

Выполните аналогичные действия для сигнала на выходе фильтра sig2. Получите спектр выходного сигнала. Сравните временные диаграммы sig1 и sig2.

При необходимости измените параметры цифрового фильтра и проведите вычисления выходного сигнала.

Результаты выполнения работы оформить в виде временных и спектральных диаграмм входных и выходных сигналов цифрового фильтра. Укажите параметры фильтра.

 

Лабораторная работа 3

Проектирование многоскоростных фильтров.

1.Цель работы

Изучение основ проектирования и моделирования цифровых фильтров, применяемых в системах многоскоростной обработки сигналов. Практическое применение среды Matlab, пакетов sptool и fdatool. Изучение спектральных характеристик при преобразованиях. Проведение экспериментального исследования процесса фильтрации сигналов.

2 Вопросы для подготовке к лабораторной работе.

1. Многоскоростные системы ЦОС

2. Децимация. Фильтры при децимации

3. Интерполяция. Фильтры при интерполяции

4. Преобразование частоты дискретизации в дробное число раз. Требования к фильтрам

 

3. Описание лабораторной работы.

3.1 Лабораторная работа реализована на персональном компьютере с программным обеспечением MATLAB с применением пакета Signal Processing, в котором имеется программа FDATool (Filter Design and Analysis), реализующая графический интерфейс для расчета фильтров и просмотра их характеристик.

3.2 Запуск системы

Для запуска программных пакетов SPTool и FDATool нужно предварительно запустить систему MATLAB. На командной строке системы MATLAB с одним командным окном необходимо набрать имя программы

> > fdatool

> > sptool

 

3.3 Порядок выполнения работы.

Выполнить операцию преобразования частоты дискретизации для входного сигнала. Входной сигнал состоит из суммы двух гармонических составляющих с частотами F1 и F2. Получить реализацию сигнала на длительности 1 сек.

Определить параметры цифрового ФНЧ фильтра – интерполятора и фильтра-дециматора для предотвращения наложения спектральных составляющих при интерполяции и децимации (определить порядок фильтра и границы полос). Выбрать фильтр, отвечающий требованиям, как интерполяции, так и децимации. Метод расчета – весовых окон или частотной выборки. Подавление в полосе задерживания – 50 дБ. Порядок интерполяции l и децимации m.

Расчет, построение временных и спектральных диаграмм в точках преобразований можно выполнять при помощи пакетов Matlab fdatool и sptool.

Интерполяция и децимация с соответствующей фильтрацией выполняется при помощи команды y = upfirdn(x, h, l, m), где y – выходной сигнал, х – входной, h – вектор отсчетов импульсной реакции фильтра, l – коэффициент интерполяции, m – коэффициент децимации. При интерполяции коэффициент децимации m выбирается равным 1, аналогично при децимации коэффициент интерполяции l выбирается равным 1.

4 Привести результаты проектирования:

Структурная схема преобразования частоты дискретизации

Параметры цифровых фильтров интерполяции и децимации, общего фильтра

Отрезок входного сигнала

Спектр входного сигнала

Спектр сигнала после интерполяции

АЧХ, ФЧХ и ИР рассчитанного фильтра

Отрезок выходного сигнала после децимации

Спектр сигнала после децимации.

 

Приложение 1

 

Задание на курсовую работу по дисциплине МоЦОС 3 курс МРМ.

 

Задача 1.

Выполнить дискретизацию радиосигнала S(t) методом полосовой дискретизации.

Параметры радиосигнала – частота несущего колебания N МГц.

N – номер группы.

 

Полоса частот радиосигнала, B, МГц, выбирается в соответствии с вариантом

 

B, МГц 10.6 14.4
B, МГц 9.8 15.2
B, МГц 14.5 12.8
B, МГц 12.6 16.2 14.2 6.6 8.4
B, МГц 12.8 18.8 16.6 10.4 12.2

 

1. Определить диапазон целочисленных значений коэффициента k.

2. Определить диапазоны возможных частот дискретизации

3. Построить спектральные диаграммы дискретизированного сигнала для полученных значений k и частот дискретизации. Обозначить на спектре положение частоты дискретизации и пронумеровать соответствующие полосы дискретизации для всех k.

 

Срок сдачи решения –

 

Задача 2

Задание на выполнение курсовой работы. Вычисление ДПФ.

1. Получите последовательность отсчетов периодического сигнала , f=M (гр) +n (журн), Гц, (T – период сигнала) с интервалом дискретизации длительностью . Количество отсчетов Nвыберите из условия получения периодичных дискретных отсчетов. Приведите графическое изображение дискретных отсчетов s(n).

2. Вычислите ДПФ (команда fft) по дискретным отсчетам s(n) для длительности сигнала , , , , ,

Изобразите односторонний и двусторонние спектры (команда fftshift).

 

3. Для дискретных отсчетов сигнала из части 2 при , вычислить ДПФ с применением взвешивающих оконных функций

 

1 окно Ханна

, n=0, 1, 2…N-1

2 окно Хэмминга

, n=0, 1, 2..N-1

3 окно Блэкмана

, n=0, 1, 2..N-1

Привести временные диаграммы отсчетов сигнала и диаграммы ДПФ – модуль спектра и фазовый спектр. Сравнить спектр ДПФ с результатом 2 задачи, сделать выводы.

3. Получите дискретный сигнал

для , n=0..N-1.

Частота f1 = из первой части, f2 = f1+ (20…50) Гц.

N= 128, отношение амплитуд сигналов – 8 - 20.

 

 

3.1 Вычислить ДПФ данной суммы сигналов. Постройте график модуля ДПФ.

3.2 Дополните отсчеты сигнала нулевыми значениями до 1024 и вычислите ДПФ дополненного нулями сигнала. Постройте график модуля ДПФ.

3.3 Выполните пункт 3.2, применив весовое окно. Постройте график модуля ДПФ.

 

По каждому пункту сделайте выводы.

 

 

Задача 3

Задание на проектирование цифрового фильтра со строго линейной ФЧХ

1. По заданному варианту выполнить проектирование ЦФ в среде Matlab. Применить два метода – метод весовых окон и метод частотной выборки. Выполнить предварительный расчет по оценке порядка фильтра. Используйте команды fir1 и fir2. Для вывода результатов удобно использовать команду freqz.

2. Привести результаты проектирования в виде графиков ИР, АЧХ, ФЧХ при условии невыполнения требований к фильтру и при выполнении требований. Порядок фильтра выбирается минимально необходимым для снижений вычислительной сложности при реализации.

3. Получите сигнал, состоящий из суммы двух гармонических колебаний с частотами, находящимися в полосе пропускания и задерживания. Изобразите спектр суммы сигналов (задача 2).

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

4. Привести текст программы расчета фильтра с комментариями.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-03; Просмотров: 2056; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.263 с.)
Главная | Случайная страница | Обратная связь