Карта сайта | Пишите нам | В избранное | 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 Блок схема эмулятора канала. Симулятор моделирует следующие искажения сигнала:
Обычно для удобства, моделирование различия бодовых скоростей модемов так же реализуется в симуляторе, хотя это различие и не является искажением, создаваемым самим каналом. Моделирование различия бодовых скоростей будет добавлено в ближайшее время. Данный эмулятор не позволяет симулировать импульсный шум, фазовый джитер и гармонические помехи. Шум в канале моделируется аддитивным белым Гауссовским шумом. Гауссовский шум генерируется путем сложения 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 типа фильтров со следующими АЧХ:
Дальнее и ближнее эхо моделируется с помощью одинаковых КИХ фильтров длиной 32 отсчета. Импульсная характеристика фильтра представлена на рисунке 2. Рисунок 2 Импульсная характеристика модели эхо. BER тестерВ качестве источника и приемника передаваемых модемами данных используется BER тестер. Тестер проводит измерения с помощью следующих тестовых последовательностей, описанных в рекомендации ITU-T O.153:
BER тестер считает общее количество принятых бит, количество ошибочных бит, число потерь синхронизации и количество потерянных бит, принятых во время потери синхронизации. Количество потерянных бит не учитывается при подсчете ошибок. Момент потери синхронизации обнаруживается по получению 8 или более ошибок из 24 бит, синхронизация восстанавливается по приему 8 совпадающих бит. Приемник псевдослучайной последовательности самосинхронизирующийся. Конфигурирование и запуск тестов Конфигурирование среды разработки и запуск тестов выполняется с помощью текстовых команд, читаемых из файла. Командный файл состоит из одного или нескольких тестов, каждый тест заключается в работе модемов в течении определенного времени или пока не будет передано заданное количество бит. Перед началом каждого теста все внутренние данные среды переинициализируются, в качестве конфигурации по умолчанию берется конфигурация предыдущего теста. Таким образом команды делятся на два типа: команды устанавливающие параметры среды и команды запускающие тесты. Команды конфигурирования задают параметры самой тестовой среды, эмулятора канала или модемов.
Пример файла тестирования: 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 Автор проекта: Илья Воронов |
Правила оформления проектов
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||