75613

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

Лекция

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

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

Русский

2015-01-15

51.5 KB

12 чел.

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


 

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

33386. Структура с общей шиной и общими модулями памяти 30 KB
  ММПС с общей шиной отличаются наибольшей простотой организации связей и наименьшими аппаратными затратами. Основными недостатками таких систем являются ограниченная пропускная способность общей шины и невысокая надежность так как выход из строя общей шины приводит к отказу всей системы. Структуры с общей шиной ШД в настоящее время получили наибольшее распространение.
33387. Структура с общей шиной и раздельной памятью 31.5 KB
  ОШ служит только для межпроцессорного обмена в процессе взаимодействия программных модулей выполняемых на разных ПРЦ. ММПС с объединёнными локальной и общей памятью процессоров Физически отдельная ОМП общая память может располагаться как на шинах ПРЦ так и на ОШ рис. Наибольшим быстродействием обладают структуры в которых общая память физически отделена и расположена на шинах ПРЦ так как в этих случаях отсутствуют конфликты при одновременных обращениях одного из ПРЦ в область локальной памяти и других ПРЦ в область общей памяти....
33388. Система управления МАЯК 600 на базе промышленного компьютера. Характеристика, структура 36 KB
  УЧПУ Маяк600 относится к многопроцессорным системам класса CNC. Структурная схема УЧПУ представлена на рис. УЧПУ предназначено для управления технологическим оборудованием и позволяет управлять 8 следящими приводами подач. Основные технические характеристики УЧПУ Маяк600 Наименование параметра Величина 1.
33389. Система управления Маяк 600 на базе ПК. Характеристика СУ, назначение модулей СУ 41.5 KB
  Основные технические характеристики УЧПУ Маяк600 Наименование параметра Величина 1. Максимальное число связей с электрооборудованием станка для одного блока вводавывода входы выходы 48 32 УЧПУ состоит из двух функциональных блоков: блока управления БУ и пульта оператора. Возможность работы с различными комбинациями модулей позволяет оптимально сконфигурировать УЧПУ применительно к управлению конкретным технологическим оборудованием. Компьютер БУ управляет УЧПУ по программе базового программного обеспечения хранящейся в электронном Flsh...
33390. СУ класса PCNC FMS 3000. Назначение, состав, структура 41 KB
  Устройство числового программного управления УЧПУ FMS3000 разработано на базе промышленной рабочей станции WS612 и комплекта плат сбора данных и управления. УЧПУ предназначено для управления различными станками и механизмами. Основные технические характеристики УЧПУ FMS3000: Количество одновременно управляемых осей систем координат . 24 Программное обеспечение УЧПУ реализовано на базе ядра жесткого реального времени.
33391. СУ класса PCNC MSH-PС104. Назначение, состав, структура 31.5 KB
  Конструктивно состоит из двух блоков: управления и пультового. Пульт управления имеет цветной плоскопанельный с активной TFT матрицей дисплей 121 мембранную клавиатуру и Flsh память емкостью 32 64 128 Mb. УЧПУ обеспечивает следующие технологические функции: токарная фрезерная версия ПО âMSHKCNCâ; G M T коды параметрическое программирование подпрограммы циклы; графический интерактивный режим разработки УП; графический модуль отображения траектории движения инструмента; измерительные циклы; компенсация люфтов...
33392. СУ класса PCNC MSH-TURBO-M. Назначение, состав, структура 34 KB
  Основные принципы менеджмента включают в себя: принцип научности важно понимать причины несовпадения целей и результатов видеть противоречия между теорией и практикой знать свойства больших систем и методы работы в них; принцип системности и комплексности важно видеть наиболее значимый комплекс взаимосвязанных и взаимообусловленных подсистем входящих в организацию например как в Японии: подсистема пожизненного найма подсистема подготовки на рабочем месте подсистема ротации кадров подсистема репутаций подсистема...
33393. СУ класса PCNC NC-110. Назначение, состав, структура 32 KB
  УЧПУ является многофункциональной СУ и способна управлять станками всех основных типов: токарными фрезерными расточными копировальными шлифовальными а также кузнечнопрессовым оборудованием системами термической лазерной и гидравлической резки деревообрабатывающим оборудованием. УЧПУ NC110 выполнено на базе промышленного компьютера имеющего набор периферийных модулей для управления оборудованием. Для подготовки УЧПУ к управлению оборудованием необходимо выполнить установку параметров и характеристик аппаратных и программных модулей...
33394. СУ класса PCNC «Микрос-12Т». Назначение, состав, структура 31 KB
  УЧПУ Микрос12Т предназначено для модернизации и комплектации токарных станков. УЧПУ построено по архитектуре промышленного компьютера с использованием собственной операционной системы жесткого реального времени. Конструктивно УЧПУ состоит из двух блоков: управления рис. Блочная конструкция УЧПУ позволяет расположить компактный пульт управления близко к зоне обработки детали.