реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Непонятки с моделью в симулинке, Гуру прошу вашей помощи
_Anatoliy
сообщение Mar 6 2009, 06:05
Сообщение #16


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(des00 @ Mar 6 2009, 05:47) *
понял зайдем с этой стороны. спасибо.


Я попробовал скрестить симулинк с Active-HDL,глюкалово ещё то.Может на небольших моделях и будет работать,но у меня,например,скопы подключенные к одному и тому-же сигналу но в разных блоках показывали разные картинки.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 13 2009, 07:28
Сообщение #17


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Добрый день господа!

собрал FSE эквалайзер в железе. В качестве декодера ошибок использую декодер по решениям. Внес в канал только амплитудные искажения (поставил делитель напряжения)

и вижу принеприятнейшую картину, коэффициенты эквалайзера медленно, но постоянно плавают(интервал наблюдения минут 30). При этом эквалайзер сводит ошибку к нулю (т.е. по его мнению все нормально).
Если пересчитать импульсную характеристику эквалайзера в частотную то видно что эквалайзер формирует провал в частной характеристике в диапазоне от Fs..2Fs (Fs символьная частота). Хотя по идее он должен был только пересчитать центральный коэффициент.

Собрал похожую модель в симулинке (в атаче, матлаб 2007а), при работе с double коэффициенты не плавают, но с точки зрения частной характеристики видна та же картина. А имеено ассиметричность коэффициентов относительно центрального. Длинна эквалайзера 32 тапа, индекс центрального коэффициента 16.

Мне не понятно следующее

1. Почему 15 ый коэффициент изменяется некорректно и асимметрично с 17 ым?
2. Откуда эквалайзер находит фазовые искажения в канале, в котором их нет? По моему мнению он должен был просто дотянуть центральный коэффициент, т.е. выступить в роли АРУ
3. в модели petrov qam_fb_symbol_sync_fb_phase_sync_agc_var_ch_delay_eq_2007_07_21.mdl используется два детектора ошибки, в моей модели только детектор по решению? Корректно ли это ?
4. Почему при сходимости эквалайзера(ошибка ~= 0), сигнал на его выходе, на частоте 2*Fs визуально "хуже" чем на входе? понятно что это из-за коэффициентов FIR, но мне не понятно является ли такая ситуация нормальной.


Спасибо.
Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  cable_equ_32order.zip ( 15.2 килобайт ) Кол-во скачиваний: 25
 


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 13 2009, 11:13
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Mar 13 2009, 10:28) *
2. Откуда эквалайзер находит фазовые искажения в канале, в котором их нет? По моему мнению он должен был просто дотянуть центральный коэффициент, т.е. выступить в роли АРУ


Не из любой начальной амплитуды сигнала критерий настройки может подстроить усиление, только в небольших пределах, поэтому у меня в модели есть АРУ.


Цитата(des00 @ Mar 13 2009, 10:28) *
3. в модели petrov qam_fb_symbol_sync_fb_phase_sync_agc_var_ch_delay_eq_2007_07_21.mdl используется два детектора ошибки, в моей модели только детектор по решению? Корректно ли это ?


Критерий настройки по решению работает только если решения более-менее правильные, когда глазок полностью схлопнут он не будет работать, поэтому в моей модели при больших ошибках используется критерий слепой настройки Годарда.

Ваша модель не открывается у меня.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 13 2009, 13:09
Сообщение #19


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Mar 13 2009, 05:13) *
Не из любой начальной амплитуды сигнала критерий настройки может подстроить усиление, только в небольших пределах, поэтому у меня в модели есть АРУ.


коэффициенты эквалайзера изменяются в пределе от -2.0 до 1.99, решение принимается по точкам +-64, входной сигнал +-32. если я правильно понимаю от эквалайзер может усилить сигнал в 2 раза

Цитата
Ваша модель не открывается у меня.


понял, перенесу на выходных модель в 7.0.1 матлаб и выложу


--------------------
Go to the top of the page
 
+Quote Post
Tue
сообщение Mar 13 2009, 13:29
Сообщение #20


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 7-09-05
Из: Москва
Пользователь №: 8 340



Цитата(des00 @ Mar 5 2009, 08:56) *
Если вам не сложно дайте ответ на следующие вопросы:
1. Почему модель моделируется очень медленно?
2. Как корректно в симулнике моделировать аналоговые цепи вида ЦАП-фильтр - модель кабеля (фильтр) - фильтр - АЦП?
3. Как корректно моделировать АЦП, который работает от подстаиваемого ГУН (Zero Order Hold в Enable Subsytem все равно требует задания Sample Time)?
4. Как перенести корректно типы в модели с double в типы, которые используются в проекте. Особенно интересуют петли, иначе такая модель не показательна. В модели 06 я изменил все типы на типы проекта, но так и не понял как корректно выкусить 12 старших бит из 32 на выходе петлевого фильтра, что бы матлаб считал результат как sint12?
5. Как корректно описывать временные декодеры, на подобие тех, что у меня в проекте?


1. Моделируется медленно из-за того, что очень малый расчетный шаг. Я обычно борюсь с этим следующим образом: компилирую модель в Real-Time Workshop - он создает исполняемый .exe файл, запускаю его на выполнение, на выходе которого формируется .mat файл с данными, которые выводятся на Scope'ы. Дальше просто загружаю этот файл в рабочее пространство Матлаба и уже на график. Бывает, что .mat файл формируется уж неприлично большим. Тогда можно поступить чуть хитрее. Выводить на Scope'ы сигналы не все время, а только когда он изменяется - размер .mat файла уменьшается на порядок. У Real-Time Workshop'a есть опции для настройки (быстрее компилировать модель и медленее выполнять ее, или медленнее компилировать и быстрее выполнять). Также советую для компилирования моделей поставить какой-нибудь компилятор поновее (не встроенный в матлаб) и настроить Real-Time Workshop на него. Я использую компилятор от Microsoft Visual Studio 2005.
В целом, использование такого метода уменьшает время ожидания результатов моделирования по сравнению с традиционным на порядки.

2-3 не очень понятны вопросы (что конкретно не понятно), все зависит от глубины моделирования. Если вы не особо знакомы с Симулинком, лучше наверное начать с изучения и понимания разницы между Discrete Signal и Continuous Signal в Симулинке. Искать примеры моделей по интересующей вас теме на сайте матлабовцев.

4. Это лучше посмотреть демки пакета Simulink Fixed Point. Например "Double to Fixed-Point Conversion", "Fixed-Point to Fixed-Point Conversion"

5. Ничего не могу сказать, не моя тема.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Mar 13 2009, 13:49
Сообщение #21


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(des00 @ Mar 13 2009, 09:28) *


А у меня модель просто летает rolleyes.gif
Пока что заметил,так это то что нет символьной синхронизации.Вот сигнал с выхода фильтра Гарднера:
Сигнал должен быть стационарным.Дальше ещё посмотрим.

Кстати,как Вы делаете цветные модели?У меня все чёрно-белые wink.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 13 2009, 13:53
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(des00 @ Mar 13 2009, 16:09) *
коэффициенты эквалайзера изменяются в пределе от -2.0 до 1.99, решение принимается по точкам +-64, входной сигнал +-32. если я правильно понимаю от эквалайзер может усилить сигнал в 2 раза


Дело не в том что центральный коэфициент может или не может какие-то значения принимать, а в том что рабочая функция при выбранном критерии настройки имеет локальные минимумы отличные от глобального.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 14 2009, 09:02
Сообщение #23


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



выкладываю проект под матлаб 7.0.1 ( модели уважаемого petrov я запускал именно в нем).

Поправил петлю по тактовой, конечно в ней не хватает аналогового фильтра на 1кгц, но как его применить в данной модели мне не понятно. Design Filter Tool валиться на требуемой АЧХ RC фильтра второго порядка sad.gif.

если я правильно трактую что я виду, то после переходного процесса петля устаканивается.

но вот эквалайзер все равно работает странно.

Передатчик выдает сигнал +-128, эквалайзер настроен на +-64, пробывал разные ампилитудные искажения 1/2, 2/3, 1/3, во всех случаях эквалайзер начинает тянуть соседние от центрального коэффициенты и если я правильно понимаю то находит частотные искажения в канале, в котором их нет. При этом сигнал на выходе эквалайзера визуально хуже чем на входе.

2 petrov

Цитата
Дело не в том что центральный коэфициент может или не может какие-то значения принимать, а в том что рабочая функция при выбранном критерии настройки имеет локальные минимумы отличные от глобального.


хмм, я думал что в методе наименьших квадратов только один минимум, а как тогда определить что попал имеено в тот минимум который нужен ?

2 _Anatoliy

Цитата
Кстати,как Вы делаете цветные модели?У меня все чёрно-белые


Format -> Port/Signals -> Sample Time Colors

без этого как без рук, мне философию матлаба с разными тактовыми и сигналами разрешения на этих тактовых (та же модель АЦП на другом клоке) пока не понять.

2 Tue

спасибо за советы
Прикрепленные файлы
Прикрепленный файл  cable_equ32order.zip ( 14.68 килобайт ) Кол-во скачиваний: 32
 


--------------------
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Mar 16 2009, 10:59
Сообщение #24


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(des00 @ Mar 14 2009, 11:02) *
Длинна эквалайзера 32 тапа, индекс центрального коэффициента 16.


Что-то у меня получается индекс не 16,а 17.Проверьте.
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 16 2009, 22:03
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Проблема не в эквалайзере а в символьной синхронизации, если отключить петлю символьной синхронизации и подобрать правильную фазу задержкой, то эквалайзер подстраивает усиление, не только центральным коэффициентом, другие тоже немного меняются. В вашем простом случае действительно усиление можно подстраивать одним лишь эквалайзером, но соответственно увеличиваются требования к его разрядности.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 19 2009, 14:16
Сообщение #26


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Mar 16 2009, 16:03) *
Проблема не в эквалайзере а в символьной синхронизации, если отключить петлю символьной синхронизации и подобрать правильную фазу задержкой, то эквалайзер подстраивает усиление, не только центральным коэффициентом, другие тоже немного меняются. В вашем простом случае действительно усиление можно подстраивать одним лишь эквалайзером, но соответственно увеличиваются требования к его разрядности.


спасибо большое, та модель была сделана тяп ляп, я посмотрел по ИКО увидел что ошибок нет и занялся эквалайзером.

сейчас переработал модель, добавил антиалайзинговый фильтр по выходу, настроил петлю по тактовой (переходный процесс хорошо видно в начале старта модели), убрал 8 ми битное масштабирование (т.е. поставил точки в [-0.5 0.5]).

эквалайзер стал вести себя более корректно (пока вносил только амплитудные искажения), но вот что интересно. Вношу искажения 3/4(equ_coe_3_4.jpg, слева), коэффициенты ведут себя корректно, ИХ эквалайзера идет по sin(x)/x, а когда вношу искажения 1/4 (equ_coe_1_4.jpg, справа)то ИХ тоже идет по sin(x)/x но с периодом в 2 раза больше(!!!). По сигналу и ошибкам все нормально, но вообще ситуация странная.

Не могли бы вы объяснить данную ситуацию ? Или это как раз и есть пример влияния динамического диапазона эквалайзера на сходимость коэффициентов ?

Спасибо.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  cable_equ32order_unscaled.zip ( 26.06 килобайт ) Кол-во скачиваний: 24
 


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 20 2009, 08:03
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Динамический диапазон тут не при чём, с плавающей точкой всё то же самое наблюдается. Если хотите наблюдать только изменение центрального коэффициента в зависимости от амплитуды то делайте обычный адаптивный фильтр с настройкой по известному сигналу и в качестве сигнала используйте белый шум, в данном случае с таким критерием настройки и сигналом получается вот такой такой глобальный минимум, ошибка то ведь минимизируется. И всё же лучше сделать АРУ.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 17:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01465 секунд с 7
ELECTRONIX ©2004-2016