Перейти к содержанию
    

Sleepin' Cat Smile

Участник
  • Постов

    26
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Sleepin' Cat Smile

  • Звание
    Участник
    Участник
  • День рождения 12.10.1986

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

922 просмотра профиля
  1. Всем привет! Имеется ADSP-21469 EZ-Kit Lite, соответственно VisualDSP++ 5.0 Update 8, лицензия. Установил пару плагинов (Expert Code Generators) для инициализации различных модулей: PLL/DDR2/AMI/FIR/IIR/FFT. Все работает. Ставлю совершенно аналогичный плагин для работы с DAI SRU, пишет, что все успешно, сам плагин появляется в списке Settings -> Preferences -> Plugins, но вызвать его из меню Tools -> Plugins -> ... нет никакой возможности, т.к. там просто не появляется соответствующий пункт, хотя остальные плагины там есть. Все скачано с сайта AD, ставится по инструкции из соответствующей EE-Note...че за хрень :)? Спасибо. Хех, вопрос отпал)) Если кому интересно: плагин для конфигурации SRU для DAI работает только при подключенном таргете...
  2. Подключить кит к компу. Если не видит, значит скорее всего некорректно установлены дрова. Лицензия по идее не причем: если Вы купили кит => в комплекте VisualDSP, которое в течение первых 90 дней может ВСЕ =)
  3. Всем прива! Гуглю-гуглю по сабжу, но как-то попадается одна реклама модемов поддерживающих данную технологию. Может у кого-нибудь есть ссылки на материалы по реализации приемников carrier-in-carrier? Основная фишка демодулятора, по ходу, в блоке компенсации помех от своего модулятора. Может уважаемый тов. petrov уже какую-нибудь модельку замутил с такой темой?? Спасибо :)
  4. А тогда вопрос, откуда берется Square Root Raised Cosine ФВЧ? Возможно, я что-то пропустил :rolleyes: Например, в fdatool в MatLab есть только SRRC-ФНЧ. Зачем нужно. Существует программная реализация ряда телефонных модемов с использованием данной технологии: согласованная фильтрация входного сигнала парой квадратурных фильтров на несущей, а затем преобразование частоты passband -> baseband, затем дальнейшая обработка. Есть задача сделать модем, очень близкий по характеристикам к одному из этого ряда. Возможность сэкономить время на разработку, использовав готовый код, который нужно слегка адаптировать, выглядит привлекательно :rolleyes: Но чтобы это сделать, нужно разобраться с некоторыми вот такими темными (для меня) местами в имеющейся реализации. Ага! Т.е. импульсную характеристику SRRC умножаем на комплексную экспоненту от несущей, берем вещественную часть и мнимую часть -> две импульсные характеристики для пары квадратурных фильтров? ЗдОрово, спасибо :)
  5. Всем привет, уважаемые коллеги! Надеюсь на Вашу помощь в следующем вопросе. Хочется разобраться с квадратурной фильтрацией сигнала НА несущей. Т.е. в отличие от более привычного (по-крайней мере, для меня :)) случая, когда сначала QAM-сигнал домножается на комплексно-сопряженную несущую, а потом фильтруется согласованным SRRC-фильтром, я столкнулся с противоположным случаем: фильтрация оцифрованного на ПЧ сигнала парой квадратурных SRRC-фильтров, получается комплексный сигнал, который затем домножается на комплексно-сопряженную несущую. Как расчитывать коэффициенты такой пары квадратурных SRRC-фильтров? Где бы почитать теорию по ним, примеры и т.п.? Спасибо.
  6. Что ж, видимо, вопрос отпал, как яйца от продналога. Поздравляю Я-то ждал до конца рабочего дня файлик, раскочегаривал пока свой "чудесный метод"...ну, ладно, хорошо все, что хорошо, кончается)))
  7. Если так, то наш супер-алгоритм с применением умножителя на константу Вам вполне подойдет B) А по-серьезному: попросите препода четко сформулировать для Вас задачу.
  8. ОК, предлагаю вариант: давайте, обработаем ограниченный по длительности sin сигнала в полосе от 0 до 160кГц умножителем на константу: y(nT) = CONST * x(nT) = CONST * sin(2*pi*f*n*T). Чем не обработка? Чем не цифровая? Загвоздка в том, что умножение на априорную константу редко приносит какую-то пользу, но раз конкретных целей не поставлено, а просят просто "обработать", то... Вопрос был в том, ЧТО (???) Вы вкладываете в слово "обработка". Обработать можно чем угодно и как угодно, до тех пор пока Вы не поясните, ЧТО Вы хотите получить в результате "обработки" Вашего "ограниченного по длительности sin сигнала в полосе от 0 до 160кГц". С входным сигналом тоже непонятно пока: это гармоническое колебание с частотой в полосе 0 - 160 кГц, или частота меняется в этой полосе по какому-то закону, тогда это уже модулированный сигнал, или еще что-то. Может быть все, что угодно пока, нужно конкретнее задачу обозначить и исходные данные. Этой информации недостаточно.
  9. Поясните, пожалуйста, в чем заключается смысл сакраментальной фразы "цифровая обработка ограниченного по длительности sin сигнала"? Что с сигналом нужно сделать-то??? Оценить какой-то его параметр или преобразовать его как-то? Что заключает в себе это "тоже самое задание"?
  10. В самый простой бинарный формат: пусть в файле бит-за-битом кадр-за-кадром будут лежать эти данные (без пробелов, разумеется). Только, обратите внимание на порядок следования бит/байт, а то, если какой-нибудь лишний реверс будет, сами понимаете :)
  11. Двоичный файл в студию! Выложите, пожалуйста, данные в файлике, желательно, в том же виде, в каком эта передача данных идет в канале. Может быть поможет быть...
  12. Ага. Так примерно и думал, теперь все встало на свои места. ??? :07: А что здесь можно изменить? В каком-то другом масштабе считать mu? Кстати, как раз заинтересовал этот момент. Я вижу два варианта реализации подачи временной ошибки (выходного сигнала фильтра петли) на вход NCO: 1) На каждом такте из текущего значения NCO вычитается 1 (номинальное изменение) и сигнал ошибки, который обновляется 1 раз за символ. ... NCO = NCO - 1 - timing_pll_signal; ... 2) На каждом такте из текущего значения NCO вычитается 1 (номинальное изменение) и, при наличие сигнала overflow, сигнал ошибки (1 раз за символ), если нет сигнала overflow, то 0. ... if (overflow) NCO = NCO - 1 - timing_pll_signal; else NCO = NCO - 1; % timing_pll_signal = 0 end; ... По сути получается просто разные способы upsample-инга выходного сигнала фильтра петли: либо повторять на каждом такте в течение символа значение timing_pll_signal до следующего строба overflow, после которого значение timing_pll_signal обновится; либо между двумя значениями timing_pll_signal вставляем нули. Система символьной синхронизации является multirate-системой, фильтр петли выполняет еще и роль "интерполирующего" фильтра, между блоками TED (обновляет выходной сигнал 1 раз за символ) и NCO (выдает выходной сигнал 1*OSR раз за символ, OSR - коэффициент передискретизации). Вы имели в виду 2-ой вариант :) ? Точно. Нашел теорию у Скляра, вроде у Прокиса тоже есть + Ваши модели, чтобы связать эту теорию с практикой + IEEE. К сожалению, Майкл Райс этой темы в своей книге "Digital Communications. A Discrete-Time Approach" не касался. Очень хорошая книга по цифровой связи, про петли синхронизации в ней здорово написано.
  13. Моя программа демодуляции QAM-16, созданная по алгоритму, предложенному в Вашей модели qam_fb_symbol_sync_fb_phase_sync_agc_var_ch_delay_2007_07_10, после обезвреживания всех багов заработала на реальной записи, все три петли (по тактовой, несущей и АРУ) отслеживают изменения соответствующих параметров синхронизации. Но у меня осталась неясность с парой моментов, хотел бы задать Вам вопросы :unsure: 1. Интерполятор Фарроу (ИФ). Для получения интерполированного отсчета x_interp[nT] (выходной сигнал ИФ на n-ом такте) используются отсчеты x[(n-1)T], x[nT], x[(n+1)T] и x[(n+2)T]. Другими словами, для получения интерполянта на текущем такте нужны входные отсчеты в следующие моменты времени: на предыдущем такте, на текущем и на 2-ух последующих тактах. То есть получается алгоритмическая задержка на 2 такта, если так можно выразиться. Однако, это НЕ требует задерживать сигнал overflow на 2 такта, так как NCO/TCU (timing control unit) формирует сигнал overflow по выходным отсчетам интерполятора, оптимальный момент для взятия значений квадратур соответствует моменту сброса NCO/TCU, когда вырабатывается строб-сигнал overflow. Задержка на 2 такта в ИФ не влияет на работу NCO/TCU. Вроде бы такая логика... Расписываю так подробно такие вещи, потому что просто столкнулся с примером в хелпе MatLab, которые ввели меня в заблуждение относительно этой задержки ИФ, видимо, в этом примере задержка сигнала overflow на 2 такта имела какой-то другой смысл и не связана с ИФ + я не силен в Simulink, привык работать в m-языке. 2. Вы используете блок Downsample в данных моделях, чтобы понизить частоту следования квадратур с 1/8 (частота дискретизации) до 1 (символьная скорость) перед выводом точек на блок просмотра созвездия. Было бы справедливо следующее: запихнуть Discrete-Time Scatter Plot Scope в Subsystem с блоком Enabled и "включать" эту подсистему стробом overflow, а на вход ей подавать квадратуры с выхода ИФ. Такой блок выводил бы интерполированные квадратуры в оптимальный момент для взятия отсчета. У меня вроде бы так работает, но хотел понять почему Вы сделали по другому :) Вроде все. Теперь, когда согласованная фильтрация и системы синхронизации готовы, возьмусь за эквалайзер, начну с Ваших моделей, так что новые вопросы, наверное, скоро появятся, если, конечно, Вас не напрягает отвечать :rolleyes: Спасибо! PS. Кстати, еще по поводу согласованной фильтрации. Если неизвестны параметры SRRC-фильтра применявшегося в модуляторе в моей тестовой записи, можно ли как-то оценить их (частота среза, rolloff-фактор, порядок), чтобы добиться оптимальных результатов. Методом поиска я какие-то подобрал, но...правильный ли это путь?
×
×
  • Создать...