II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Вход
 

Раздел "Обработка сигналов и изображений\Communications Toolbox"

Список функций CommunicationsToolbox: Функции анализа сигналов

  В оглавление \ К следующему разделу \ К предыдущему разделу

SCATTERPLOT
Вывод диаграммы рассеяния

Синтаксис:

scatterplot(x);
scatterplot(x,n);
scatterplot(x,n,offset);
scatterplot(x,n,offset,plotstring);
scatterplot(x,n,offset,plotstring,h);
h = scatterplot(...);

Описание:

    scatterplot(x)

Вывод диаграммы рассеяния для сигнала x. Интерпретация массива x зависит от его размера и наличия мнимой части:

  • если x — вещественная двухстолбцовая матрица, функция scatterplot интерпретирует первый столбец как синфазную, а второй — как квадратурную составляющую;
  • если x — комплексный вектор, функция scatterplot интерпретирует его вещественную часть как синфазную, а мнимую — как квадратурную составляющую;
  • если x — вещественный вектор, функция scatterplot интерпретирует его как вещественный сигнал (то есть в данном случае квадратурная составляющая равна нулю).

    scatterplot(x,n)

То же, что и предыдущий вариант синтаксиса, но при построении графика используется только каждый n-й отсчет сигнала, начиная с первого (то есть перед формированием графика выполняется прореживание сигнала x с коэффициентом n).

    scatterplot(x,n,offset)

То же, что и первый вариант синтаксиса, но при построении графика используется только каждый n-й отсчет сигнала x, начиная с отсчета с номером (offset+1).

    scatterplot(x,n,offset,plotstring)

То же, что и предыдущий вариант синтаксиса, но параметр plotstring задает символы точек, тип линии и цвет для графика. Параметр plotstring — это строка, формат и назначение элементов которой те же самые, что и в функции plot.

    scatterplot(x,n,offset,plotstring,h)

То же, что и предыдущий вариант синтаксиса, но вместо создания нового графического окна график создается в существующем окне с дескриптором h. Параметр h должен быть дескриптором графического окна, ранее созданного функцией scatterplot. Для вывода нескольких сигналов в одном окне используйте команду hold on.

    h = scatterplot(...)

То же, что предыдущие варианты синтаксиса, с возвратом дескриптора окна, содержащего график, в выходном параметре h.

    Примеры.

Приведенный ниже код отображает случайный цифровой сигнал в точки 16-точечного созвездия квадратурной манипуляции. Затем с помощью фильтра с косинусоидальным сглаживанием АЧХ имитируются искажения, вносимые каналом связи. Несколько команд выделяют из фильтрованного сигнала фрагмент, соответствующий установившемуся состоянию. Наконец, для результирующего сигнала выводится диаграмма рассеяния.

    % Число точек созвездия и частоты дискретизации
    M = 16; Fd = 1; Fs = 10;
    % Число отсчетов сигнала
    Pd = 200;
    % Случайные целые числа в диапазоне [0,M-1]
    msg_d = randint(Pd,1,M);
    % Преобразование целых чисел в параметры квадратурной модуляции
    msg_a = modmap(msg_d,Fd,Fs,'qask',M);
    % Пусть канал связи описывается фильтром
    % с косинусоидальным сглаживанием АЧХ
    rcv = rcosflt(msg_a,Fd,Fs);
    % Создаем диаграмму рассеяния для принятого сигнала,
    % игнорируя три первых и четыре последних символа
    N = Fs/Fd;
    rcv_a = rcv(3*N+1:end-4*N,:);
    h = scatterplot(rcv_a,N,0,'bx');

Третий параметр функции scatterplot определяет смещение точек взятия отсчетов при прореживании. Нулевое смещение дает оптимальные результаты (левая диаграмма).

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

    hold on;
    scatterplot(rcv_a,N,N+1,'r+',h); % Запаздывание (плюсы)
    scatterplot(rcv_a,N,N-1,'mx',h); % Опережение (крестики)
    scatterplot(rcv_a,N,0,'b.',h); % Отсчеты взяты вовремя (точки)

Еще один пример содержится на странице с описанием функции demodmap. Этот пример также иллюстрирует построение нескольких диаграмм рассеяния в одном графическом окне.

Использование диаграмм рассеяния иллюстрируется демонстрационной программой scattereyedemo.

Сопутствующие функции: eyediagram, plot, hold.

  В оглавление \ К следующему разделу \ К предыдущему разделу

 

О получении локальных копий сайтов
  Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail:    
  Информация на сайте была обновлена 11.05.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры