Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
Карта сайта | Пишите нам | В избранное | eng     

Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91;
+7(909) 638-88-00 и +7(903) 530-10-01 (Билайн).
       о фирме        электроника     обратная связь

Микроэлектронные проекты. Илья Воронов. Среда разработки телефонных модемов

При разработке модемов возникает необходимость в программной тестовой среде, обеспечивающей функционирование разрабатываемых программных модемов в удобном для отладки и тестирования режиме. Функционально, среда разработки состоит из следующих элементов: двух датапамп (софт модемов), эмулятора телефонного канала, источника и анализатора передаваемых данных, парсера скриптов конфигурирования среды, средств сохранения входных/выходных данных/отсчетов, журнала тестирования и т.д.
Среда используется в процессе разработки и отладки кода на ПК и при портировании разработанного кода на целевую платформу. Функциональные блоки среды, такие как например BER тестер, могут использоваться и в самом разработанном модеме. Код должен быть оптимизирован для использования на целевой платформе, с учетом ограничений по памяти, быстродействию, скорости ввода/вывода и др.
Полнофункциональная тестовая среда для разработки телефонных модемов может быть скачена на сайте разработчика. Данная тестовая среда использовалась, например, для разработки модема V.32/V.32bis. Среда разработки может быть собрана на ПК под MS Visual C 2008 Express и на DSP Texas Instruments семейства 55XX под Code Composer Studio 3.3. Код оптимизирован на уровне языка С с использованием intrinsic и pragma и алгоритмической оптимизации. С минимальными переделками, код может использоваться на платформах TI 64XX и 54XX. Для обеспечения полной функциональности, в качестве модема в тестовую среду включен FSK модем V.23 из известного пакета SpanDSP.

Функциональные блоки среды

Пара модемов
Тестовая среда предназначена для разработки полнодуплексных модемов и включает два экземпляра программных модемов, один из которых работает как вызываемый, другой как вызывающий. Среда обеспечивает создание, конфигурирование, получение текущего состояния модемов и другие необходимые функции управления модемами. Предполагается, что все функции модема выполняются в единственной функции, которая генерирует выходные отсчеты модулятора и берет входные отсчеты для демодулятора, отсчеты обрабатываются фиксированными блоками длиной по 10 мс, частота семплирования 8000 Гц. Принимаемые и передаваемые данные запрашиваются модемом с помощью callback функции. Эта же функция вызывается модемом для информирования тестовой среды или фреймвока об изменениях состояния модема. Предполагается, что модем имеет интерфейс схожий с TI XDAS, для обеспечения независимости среды разработки от конкретного типа модема, обращения к модему выполняются через функциональную прослойку - wrapper.

Эмулятор телефонного канала
Эмулятор телефонного канала является основным элементом среды разработки и предназначен для моделирования искажений сигнала, возникающих при работе модемов через телефонную линию. Функциональная схема симулятора представлена на рисунке 1.
Функциональная схема симулятора
Рисунок 1 Блок схема эмулятора канала.

Симулятор моделирует следующие искажения сигнала:
  1. аддитивный белый Гауссовский шум в полос 600 - 3300 Гц,
  2. сдвиг несущей частоты,
  3. нелинейные искажения 2-ого и 3-его порядка,
  4. искажения формы АЧХ канала и затухание,
  5. задержка в канале,
  6. дальнее и ближнее эхо.
Модель канала симметрична, в том смысле что одинаковый алгоритм и общие параметры используются для симуляции искажений сигнала от модема 1 к модему 2 и в обратном направлении. При разработке эмулятора использовались рекомендации ITU-T V.56/bis/ter и M.1020 - M.1040.
Обычно для удобства, моделирование различия бодовых скоростей модемов так же реализуется в симуляторе, хотя это различие и не является искажением, создаваемым самим каналом. Моделирование различия бодовых скоростей будет добавлено в ближайшее время. Данный эмулятор не позволяет симулировать импульсный шум, фазовый джитер и гармонические помехи.

Шум в канале моделируется аддитивным белым Гауссовским шумом. Гауссовский шум генерируется путем сложения 12 псевдослучайных нормально распределенных отсчетов, генерируемых отдельным линейным конгруэнтным генератором с параметрами m = 232, a = 1103515245, c = 12345. Затем белый Гауссовский шум фильтруется фильтром с АЧХ соответствующим АЧХ сигнала модема. В нашем случае (модем V.32) сигнал занимает полосу от 600 до 3000Гц с затуханием 4 дБ на границах.
Интемодуляционные искажения моделируются следующим соотношением:
So = Si + K2 * Si2 + K3 * Si3
где Si - входные отсчеты, So - выходные отсчеты, K2 и K3 коэффициенты интермодуляционных искажений 2-ого и 3-его порядка.

Для моделирования неравномерности АЧХ канала используются 4 типа фильтров со следующими АЧХ:
Тип Ослабление, дБ на частоте
600 Гц 1000 Гц 1600 Гц 2500 Гц 2800 Гц 3000 Гц
flat 0.0 0.0 0.0 0.0 0.0 0.0
good 1.5 0.5 0.0 0.5 1.5 3.0
midd 3.0 1.0 0.0 1.0 3.0 6.0
poor 6.0 2.0 0.0 2.0 6.0 12.0
Циклический буфер используется для создания задержки в канале. Задержка вносимая остальными элементами модели, составляющая порядка 20 мс, при этом не учитывается.
Дальнее и ближнее эхо моделируется с помощью одинаковых КИХ фильтров длиной 32 отсчета. Импульсная характеристика фильтра представлена на рисунке 2.
Импульсная характеристика фильтра
Рисунок 2 Импульсная характеристика модели эхо.

BER тестер

В качестве источника и приемника передаваемых модемами данных используется BER тестер. Тестер проводит измерения с помощью следующих тестовых последовательностей, описанных в рекомендации ITU-T O.153:
  1. все 0 и все 1,
  2. чередующиеся 0 и 1 с соотношением 1:1, 1:3, 1:7, 3:1 и 7:1,
  3. псевдослучайных последовательностей длинной 511, 2047 и 1048575 бит.
Последовательность "Quick Brown Fox" не реализована.

BER тестер считает общее количество принятых бит, количество ошибочных бит, число потерь синхронизации и количество потерянных бит, принятых во время потери синхронизации. Количество потерянных бит не учитывается при подсчете ошибок. Момент потери синхронизации обнаруживается по получению 8 или более ошибок из 24 бит, синхронизация восстанавливается по приему 8 совпадающих бит. Приемник псевдослучайной последовательности самосинхронизирующийся.

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

Таким образом команды делятся на два типа: команды устанавливающие параметры среды и команды запускающие тесты. Команды конфигурирования задают параметры самой тестовой среды, эмулятора канала или модемов.

команда аргумент описание
Параметры среды
savesamp0 savesamp1
savetrbits0 savetrbits1
savercbits0 savercbits1
0 - выкл,
1 - вкл
сохранение отсчетов, передаваемых и принимаемых бит в файл для модемов 0 и 1 соответственно
logper мс интервал выдачи сообщений в журнал тестирования
Параметры эмулятора канала
chtype flat, good, midd, poor тип канала
snr, дБ отношение сигнал/шум в полосе 600-3300Гц, фактически Eb/N0
currof Гц сдвиг несущей в канале
chatt дБ ослабление сигнала в канале
chdel мс задержка сигнала в канале
baudof ppm разница бодовых скоростей модемов - не реализовано
interm2,interm3 дБ коэффициент нелинейных искажений 2-ого и 3-ого порядка
nearatt,faratt дБ ослабление ближнего и дальнего эха
Параметры модема - не реализовано
Запуск тестов
runms мс запустить тест на заданное время
runbits бит запустить тест пока не будет передано заданное количество бит

Пример файла тестирования:
chdel 0
chatt 0
chtype flat
currof 10.
interm2 80
interm3 80
nearatt 80
faratt 80
;baudof 0.
logper 5000
snr 6.
runbits 20000
snr 8.
runbits 50000
Как видно, данный файл исполняет 2 теста модема с SNR 6 и 8 дБ, длительности тестов выбраны из условия передачи достаточного количества бит для измерения коэффициента ошибок.

Обработка файла тестирования приводит к формированию следующего отчета о тестировании:
File log.txt open to write log
Open cfg file cfg.txt
New session
  Log period: 5000 ms, duration: 20000 bits
  SNR 6.00 dB, channel type 'flat'
  Channel attenuation: 0.00, delay: 0 ms dB
  Currier offset: 10.000 Hz, baud offset: 0.00 ppm
  Echo attenuation near: 80.77 dB, far: 80.77 dB
  Intermodulation distortions 2-nd: 80.77 dB, 3-rd: 80.77 dB
|------|------|------|--------|--------|
| Time |  Tr  |  Rc  |   BER  | estSNR |
| 5000 | 6000 | 5960 |0.026174|        |
|10000 |12000 |11960 |0.026421|        |
|15000 |18000 |17960 |0.023775|        |
|------|------|------|--------|--------|
SNR: 6.00 dB, BER: 0.023600-0.024550
Total bits: 20000+20000, errors: 472+491, sync losts: 0+1, lost bits: 0+24

New session
  Log period: 5000 ms, duration: 50000 bits
  SNR 8.00 dB, channel type 'flat'
  Channel attenuation: 0.00, delay: 0 ms dB
  Currier offset: 10.000 Hz, baud offset: 0.00 ppm
  Echo attenuation near: 80.77 dB, far: 80.77 dB
  Intermodulation distortions 2-nd: 80.77 dB, 3-rd: 80.77 dB
|------|------|------|--------|--------|
| Time |  Tr  |  Rc  |   BER  | estSNR |
| 5000 | 6000 | 5960 |0.006544|        |
|10000 |12000 |11960 |0.005602|        |
|15000 |18000 |17960 |0.005067|        |
|20000 |24000 |23960 |0.005259|        |
|25000 |30000 |29960 |0.005073|        |
|30000 |36000 |35960 |0.005006|        |
|35000 |42000 |41960 |0.005148|        |
|40000 |48000 |47960 |0.005129|        |
|------|------|------|--------|--------|
SNR: 8.00 dB, BER: 0.005140-0.005280
Total bits: 50000+50000, errors: 257+264, sync losts: 0+1, lost bits: 0+24

Автор проекта: Илья Воронов
Автор занимается разработками на заказ встраиваемого ПО в области модемов, обработки речи и видео, телефонии и других областях использующих цифровую обработку сигналов. Имеется опыт разработки проводных модемов V.34, V.32, факс модемов V.17, V.29, КВ модемов, специализированных модемов совместимых с аппаратурой ТТ-144, TgFM, П-327. Информация о разработках представлена на сайте powerdsp.narod.ru, электронная почта powerdsp@narod.ru.

 Разместите Ваш проект у нас на сайте и его смогут увидеть сотни посетителей в день. Ваши проекты присылайте вебмастеру.
Правила оформления проектов
  1. Необходимо наличие схемы, описания устройства и т.д. (для отдельных проектов - драйвера, программное обеспечение и их описание)
  2. Схемы и другие картинки должны быть в форматах .jpg или.gif. К ним обязательно должны идти подписи, поясняющие, что на данной схеме (картинке) изображено.
  3. Описание устройства - в форматах .doc, .txt или .html.
  4. Проект не должен нарушать чьих-либо авторских прав.
Ваши проекты присылайте вебмастеру
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
Программатор «PICPROG» «PICPROG» - универсальный промышленный программатор.
Копировщик PIC16x8x Копировщик PIC16x8x - тиражирование в автономном режиме.
Наши телефоны: (495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91, мобильные: (903) 530-10-01 и (909) 638-88-00 (БиЛайн).
E-mail:

Copyright © ООО "Телесистемы", 1997 — 2017    Копируйте на здоровье! За ссылку на www.telesys.ru мы вам будем очень признательны.

Rambler's Top100