75613

ПРОГРАММИРОВАНИЕ КЛЮЧЕВЫХ ОПЕРАЦИЙ ЦОС В MATLAB

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

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

Русский

2015-01-15

51.5 KB

9 чел.

ОС. Лекция 7.

ПРОГРАММИРОВАНИЕ КЛЮЧЕВЫХ ОПЕРАЦИЙ ЦОС           В MATLAB

Наиболее совершенным средством для реализации цифровой обработки данных в режиме off line является система MATLAB. В среде MATLAB есть также все необходимые программные средства для генерации модельных сигналов и управления аппаратурой.

Основные арифметические операции в MATLAB: сложение, вычитание, умножение , деление и возведение в степень. Операции умножения, деления и возведения в степень рассчитаны на работу с матрицами, поэтому при поэлементных операциях они записываются как .*, ./ и .^ (т.е. перед знаком операции ставится точка).

Основные операторы: присваивания, цикла и условия. Синтаксис основных операций – такой же, как в С/С++. Признак комментария знак % перед строкой.

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

Модельный синусоидальный сигнал x(k) амплитудой А, с количеством отсчетов N, количеством периодов KP может быть создан с помощью следующего фрагмента программы:

for k=1:N

x(k) = A*sin(2*pi*KP*k/N);

end

Понятие частоты у модельного сигнала отсутствует, длительность периода во времени также не определена. Длительность периода и частота становятся определенными только если задать шаг дискретности измерений во времени dt. В этом случае общее время измерения Tизм = N*dt, период сигнала T = N*dt/KP, частота f = KP/(N*dt).

Для создания массива нормально распределенного шума q с СКО = 1, содержащего N значений служит функция randn:

noise=randn(N)

для генерации «белого» Гауссова шума- функция wgn:

                                                    noise=wgn(N,1,А)

где N,1 – размерность массива шума,

А – мощность шума (Вт), А = 20lgK, К-масштабный коэффициент

Гауссов (нормально распределенный) шум. Плотность вероятности этого шума определяется выражением

где дисперсия шума, m-его среднее значение.

Гауссовы процессы обладают характерным свойством: любой такой процесс полностью определяется своими статистическими характеристиками 1-го и 2-го порядка. Этим объясняется выбор гауссовых процессов в качестве гипотезы при расчетах, содержащих погрешности оценок и требующих вычисления моментов более высоких порядков. Кроме того, согласно центральной предельной теореме, сумма произвольныз случайных процессов стремится к гауссову процессу при возрастании числа слагаемых. Сходимость оказывается настолько быстрой, что если число слагаемых больше 5 или 6, то результирующий процесс очень близок к гауссову.

Белый шум. Белым называют шум, спектральная плотность мощности которого постоянна по всему диапазону частот. Реально белый шум не существует; но если спектральная плотность шума постоянна внутри полосы частот, пропускаемых системой, то такой шум можно считать белым.

Базовые операции цифровой обработки реализуются с помощью следующих функций:

  1.  Линейная свертка (конволюция) выполняется с помощью функции conv, например:

X(n)=conv(x,h);

где x – массив обрабатываемого сигнала, содержащий N значений; h – массив импульсного отклика объекта, например, фильтра, содержащий М значений, M<N, X(n) – результат выполнения свертки, например, массив выходного сигнала фильтра.

2. Корреляция выполняется с помощью функции xcorr, например: W=xcorr(x,y);

где  x, y – числовые массивы x и y, содержащие по N значений сигнала, X – числовой массив функции взаимной корреляции, содержащий 2*N значений.

Автокорреляция выполняется с помощью этой же функции, аргументом являются два одинаковые массива – x или y.

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

3.1. Частотный спектр Х(n) сигнала х(t)      вычисляется с помощью функции быстрого преобразования Фурье fast fourie transform (БПФ, fft):

Х(n) =fft(x,N);

  1.  Импульсный отклик вычисляется с помощью обратного преобразования Фурье (ОБПФ, ifft) частотной характеристики фильтра, например:

h(t)=ifft(H(n))

  1.  Частотная характеристика фильтра в дискретизированном виде (в виде числового массива) вычисляется по аналогии с частотной характеристикой в непрерывной форме, например, для линейного фильтра:

          где i – номер элемента числового массива частотной характеристики,

               NC -   полоса пропускания фильтра по уровню 0,7 амплитуды

               выражена в количестве отчетов спектра БПФ, пропускаемых

               фильтром.

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

                                           for i=1:N

                                                 H(i)=1/(1+j*i/NC);

                                          end

  1.  Для того, чтобы вычислить выходной сигнал фильтра, нужно выполнить операцию свертки массива частотного спектра X(n) входного сигнала с частотной характеристикой фильтра H(n) с помощью функции обратного преобразования Фурье:

                                                    Z(n)= Х(n).*H(n)  

z(t)=ifft(X(n).*H(n));

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

         откликом фильтра, например:

                                                  z(t) = conv(x(t),h(t)).

Приведенные две формы вычисления выходного сигнала фильтра основаны на теореме Планшереля [Ж.Макс Методы и техника обработки сигналов при физических измерениях. Т.1. М.:Мир, 1983, 305С.]. Теорема Планшереля утверждает, что преобразование Фурье свертки двух функций, равно произведению изображений (в частотной области (В.С.)) функций, составляющих свертку, и наоборот. Т.е. справедливо соотношение:

                                          x(t)*h(t)         X(n)H(n)

Здесь знак * обозначает операцию свертки. На языке функций MATLAB соотношение, основанное на теореме Планшереля, запишется так :

fft(conv(x(t),h(t)) =  X(n).*H(n)

Здесь знак * обозначает операцию умножения, а операция свертки записывается с помощью функции conv.

3.5.   Для реализации оптимального фильтра Колмогорова-Винера требуется вычисление энергетического спектра (плотности мощности) сигнала и шума. Для этого предусмотрена функция conj умножения массива комплексных чисел на массив комплексно сопряженных чисел, например:

S=X(n).*conj(X(n))/N;

где X(n) – массив частотного спектра, полученный с помощью функции fft (БПФ);

N – количество элементов массива частотного спектра сигнала или шума;

S – массив частотного спектра мощности сигнала или шума.

  1.  Для реализации фильтров Баттерворта, Чебышева и др. предусмотрены также более простые средства. Например, фильтр Баттерворта может быть реализован с помощью следующего программного кода:

                     n=4;%порядок фильтра

                     [b a]=butter(n, 0.5);%0.5-относительная частота среза

                      y=filter(b,a,x);

Ниже приведена программа фильтрации сигналов с помощью низкочастотного фильтра.

%Низкочастотный фильтр

A=20; %амплитуда сигнала

Q=5; %амплитуда шума

KP1=12;% - количество периодов первого сигнала

N=1024;%количество точек расчета

NC=12; %NC - полоса пропускания фильтра по уровню 0,7 %амплитуды,выраженная в количестве отчетов спектра БПФ, %пропускаемых фильтром

% остальные отсчеты (в частотном спектре!) будут %ослабляться по амплитуде            

for k=1:N % генерация сигнала и шума

s(k) = A*sin(2*pi*KP1*k/N);

q(k)=Q*(randn(N)); %шум

x(k)=s(k)+q(k); % суммирование сигнала и шума

end

Y=fft(x,N)/N; %БПФ сигнала с шумом

for i=1:N    

H(i)=1/((1+j*i/NC)); %передаточная функция простого фильтра

%в частотной области

end

i=1:400;

i=1:N;

X1=fft(x,N); %частотный спектр сигнала с шумом

Z=ifft(X1.*H);   %свертка зашумленного сигнала с частотной хар-кой фильтра

 

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

 i=1:N;

y=A*sin(6.28*KP*i/N); %создание N значений KP периодов модельного sin %сигнала,

figure %создание окна графического вывода

%plot(i,y(1:50));%вывод графика y, кол-во точек – 50.

%plot(i,y) ;% вывод графика y (все N точек)

%plot (i,2*y(1:N),’r-’);%отображение графика y линией красного цвета

%semilogx(i,abs(y(1:200))),grid; %то же, что и plot, но в логарифмическом

%  масштабе по Х

%loglog(i,abs(y(1:200))); %  в логарифмическом масштабе по Х и Y

grid on; %отображение линий координатной сетки

%title(‘сигнал до фильтра’);%заголовок графика

xlabel(‘номер отсчета’); % подпись по оси Х

ylabel(‘амплитуда’); % подпись по оси Y

legend(‘до фильтра’);%подпись легенды

axis tight; %диапазон Х и Y по осям точно соответствует Xmax и Ymax %(автомасштабирование)

hold on; % «удержание» окна вывода для следующего графика

hold off; %отмена «удержания»

close all; %закрытие всех открытых окон графического вывода

PAGE  5


 

А также другие работы, которые могут Вас заинтересовать

1463. ПЕРЕДАЧА ПРАГМАТИЧЕСКОЙ СОСТАВЛЯЮЩЕЙ ОБРАЗНЫХ ФРАЗЕОЛОГИЧЕСКИХ ЕДИНИЦ В ПУБЛИЦИСТИЧЕСКОМ ТЕКСТЕ 319.71 KB
  Определить место и роль контекста в выявлении наиболее полной реализации прагматического потенциала ФЕ. Сопоставить прагматическую составляющую образных фразеологических единиц в английском и русском языках.
1464. КАТЕГОРИЯ ИНТЕРДИСКУРСИВНОСТИ В НАУЧНО- ДИДАКТИЧЕСКОМ ТЕКСТЕ 320.83 KB
  Целью исследования является создание классификации маркеров интердискурсивности и их выявление в текстах лекций на немецком и русском языках.
1465. Конфликтология 321.32 KB
  Методические указания по изучению дисциплины. Содержание разделов дисциплины. Методические рекомендации студентам по организации изучения дисциплины. Прогнозирование и профилактика конфликтов. Трудовые конфликты и пути их разрешения.
1466. ДИАЛОГ АРГУМЕНТАТИВНОГО ТИПА: КОГНИТИВНЫЕ АСПЕКТЫ; СТРУКТУРА, СЕМАНТИКА, ПРАГМАТИКА (на материале русских и английских текстов интервью) 322.43 KB
  Цель данной диссертационной работы заключается в выявлении макроструктуры, создаваемой журналистами-участниками интервью и исследовании их аргументативных стратегий по методике, принятой в когнитивной лингвистике и прагмалингвистике.
1467. ЛИНГВОКУЛЬТУРОЛОГИЧЕСКИЙ АСПЕКТ ГЕНДЕРНЫХ ОТНОШЕНИЙ: СОПОСТАВИТЕЛЬНЫЙ АСПЕКТ 325.77 KB
  Целью данной работы является сравнительный анализ манифестации лингвокультурологического аспекта гендерных отношений в казахском, немецком и русском языках.
1468. ОРГАНИЗАЦИЯ СТРОИТЕЛЬНОГО ПРОИЗВОДСТВА 327.99 KB
  Курсовой проект состоит из графической части в объеме 2 чертежных листов формата АI и расчетно-пояснительной записки, содержащей 25-30 страниц текста. Исходные данные приведены в прил. 1, схема здания выдается преподавателем. Вариант задания назначается преподавателем.
1469. ЖАНРОВО-КУЛЬТУРНАЯ СПЕЦИФИКА РУКОВОДСТВ ПО ЭКСПЛУАТАЦИИ БЫТОВЫХ ПРИБОРОВ. АСПЕКТЫ ПЕРЕВОДА 328.15 KB
  Цель исследования заключается в разработке технологии перевода, основанной на результатах сопоставительного изучения жанровых особенностей русскоязычных и англоязычных руководств по эксплуатации с точки зрения организации и реализации макроструктуры текстов данного жанра.
1470. Дискурсивные аспекты политических дебатов (на материале русских и английских текстов) 329.27 KB
  На основе выработанного метода определить сопоставительные характеристики дискурсивных особенностей англоязычной и русскоязычной речи. Представить сравнительное описание речевого поведения участников политических дебатов через призму теории пресуппозиций в рамках политического дискурса. Выявить степень привязанности к контексту речевого поведения политических деятелей, а также определить те аспекты, которые обусловливают нарушение контекстуальных фреймов.
1471. ОСОБЕННОСТИ РЕАЛИЗАЦИИ ЛИЧНОСТНО-ОРИЕНТИРОВАННОЙ КОММУНИКАЦИИ В НОВЫХ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЯХ 329.94 KB
  Цель диссертационного исследования состоит в выявлении и последующей классификации общих, универсальных и специфических, уникальных особенностей реализации личностно-ориентированной коммуникации при сопоставлении вариантов ее осуществления в русскоязычном и англоязычном киберпространстве.