75613

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

Лекция

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

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

Русский

2015-01-15

51.5 KB

8 чел.

ОС. Лекция 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


 

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

7273. Базові засади управління соціальною сферою 105 KB
  Лекція 4. Базові засади управління соціальною сферою. Система й структура державного управління соціального сферою. Нормативно правове забезпечення управління соціальною сферою. Програмно цільове управління. Як вже зазначалося, в умовах підвищення ролі л...
7274. Социальная подструктура личности 81 KB
  Социальная подструктура личности Вопросы для обсуждения: Социализация личности. Механизмы социализации Основные социальные процессы и поведение человека Просоциальное и асоциальное поведение. Социализация личности. Механизмы социа...
7275. Засади кримінального процесу 84.92 KB
  Засади кримінального процесу ПЛАН: Вступ 1. Поняття, значення і класифікація засад кримінального провадження. 2. Конституційні засади кримінального провадження. 3. Спеціальні засади кримінального провадження та їх характеристика. Висновки...
7276. Засоби колективного та індивідуального захисту населення 82.5 KB
  Тема: Засоби колективного та індивідуального захисту населення. План: Колективні засоби захисту: призначення і класифікація. Індивідуальні засоби захисту людей: Індивідуальні засоби захисту органів дихання Індивідуальні зас...
7277. Суб’єкти трудового права України 77.5 KB
  Поняття субєкта трудового права України. Громадяни як субєкти трудового права України. Власник або уповноважений ним орган як субєкт трудового права України. Підприємство як суб'єкт трудового права України. Трудовий колектив як суб'єкт трудового права України.
7278. Особливості організації обслуговування споживачів у закладах ресторанного господарства відкритої мережі 56 KB
  Тема: Особливості організації обслуговування споживачів у закладах ресторанного господарства відкритої мережі. План: Правила подачі гарячих закусок. Правила подачі перших страв, підбір посуду, приборів. Література: Я.М.Сало. Організація...
7279. Направленность личности 88 KB
  Направленность личности Вопросы для обсуждения: Направленность в структуре личности. Потребности и мотивы в структуре направленности личности. Формы направленности личности. Самосознание и Я-концепция. Литература: Березовин, Н. А. Осн...
7280. Психологічні особливості молодшого школяра 90.5 KB
  Лекція №4. Психологічні особливості молодшого школяра. Загальна психологічна характеристика ситуації розвитку молодшого школяра. Учбова діяльність молодших школярів. Розвиток пізнавальних психічних процесів. Формування особистості ди...
7281. Виробництво виробів на основі гіпсового в’яжучого 550 KB
  Виробництво виробів на основі гіпсового вяжучого План заняття Асортимент виробництва на основі гіпсового вяжучого. Способи виробництва виробів на основі гіпсового в’яжучого. Технологія виробництва гіпсокартонних ли...