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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Симулинк и результат симуляции на scope
Acvarif
сообщение Apr 16 2018, 16:22
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Не врубаюсь почему после остановки симуляции выставленной на определенное время (на 2) на scope исчезает результат.
Выглядит это так:
1. Во время симуляции
Прикрепленное изображение

2. После остановки
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 16 2018, 18:01
Сообщение #2


Гуру
******

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



Смотрите в настройках scope
logging
limit data points to last.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 17 2018, 05:18
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(petrov @ Apr 16 2018, 21:01) *
Смотрите в настройках scope
logging
limit data points to last.

Спасибо. Работает.

По ходу еще вопрос по симулинк.
В симулинк имеется компонент "Bernoulli Binary Generator" который генерит случайную битовую последовательность.
Как в симулинк можно сгенерить конкретную битовую последовательность, например [1 1 0 1 0 1 0 1 0 1 1 1 0 0 0] ?
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2018, 08:25
Сообщение #4


Гуру
******

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



Цитата(Acvarif @ Apr 17 2018, 08:18) *
Спасибо. Работает.

По ходу еще вопрос по симулинк.
В симулинк имеется компонент "Bernoulli Binary Generator" который генерит случайную битовую последовательность.
Как в симулинк можно сгенерить конкретную битовую последовательность, например [1 1 0 1 0 1 0 1 0 1 1 1 0 0 0] ?


Сделайте КИХ фильтр как скалярное прозведение вектора отводов с линии задержки и вектора коэффициентов, подайте дельта-импульс на вход, на выходе получите последовательность коэффициентов.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 17 2018, 13:10
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(petrov @ Apr 17 2018, 11:25) *
Сделайте КИХ фильтр как скалярное прозведение вектора отводов с линии задержки и вектора коэффициентов, подайте дельта-импульс на вход, на выходе получите последовательность коэффициентов.

Спасибо. Немного мудрено. Попробую разобраться.
В продолжение этой темы https://electronix.ru/forum/index.php?showtopic=146243 сделал симулинк модель простейшего BPSK передатчик-приемник с петлей Костаса на базе VCO которая в основных чертах (кроме фильтров, битовой посл. и пр.) повторяет крайний матлаб код упомянутой темы.
Но в реальном железе (ПЛИС, микроконтроллер) дело придется иметь не с VCO, а с NCO.
Как можно безболезненно перейти от VCO к NCO на примере данной симулинк модели.
Прикрепленное изображение

Прикрепленный файл  CostasLoopBpsk.rar ( 37.96 килобайт ) Кол-во скачиваний: 8


Сообщение отредактировал Acvarif - Apr 17 2018, 13:13
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2018, 13:57
Сообщение #6


Гуру
******

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



Возьмите и сделайте отдельно простую модельку с NCO, разберитесь как оно работает. Не используйте готовые блоки, а только задержки, арифметические операции и элементраные функции. Ещё раз настоятельно рекомендую работать с комплексными сигналами на нулевой частоте.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 17 2018, 14:43
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(petrov @ Apr 17 2018, 16:57) *
Возьмите и сделайте отдельно простую модельку с NCO, разберитесь как оно работает. Не используйте готовые блоки, а только задержки, арифметические операции и элементраные функции. Ещё раз настоятельно рекомендую работать с комплексными сигналами на нулевой частоте.

Понятно. Попробую.
По поводу комплексных сигналов не врубаюсь.
Вот квадратурный демодулятор
Прикрепленное изображение

"Таким образом, мы произвели выделение комплексной огибающей радиосигнала при помощи
умножения входного сигнала на комплексную экспоненту с последующим устранением удвоенной
несущей при помощи ФНЧ. Устройство выделяющее комплексную огибающую сигнала в соответствии с (4) называется квадратурным гетеродином."
Ведь I и Q это и есть составляющие комплексной огибающей.
Собственно так я и делаю. А значит работаю с комплексным сингналом на нулевой частоте. Разве нет?
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2018, 14:54
Сообщение #8


Гуру
******

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



У вас должна быть несущая на 0 Гц. Длительность символа 1 с. Частота дискретизации пусть 8 отсчётов на символ. Не нужно раскладывать комплексные сигналы на действительную и мнимую составляющие без нужды, в симулинке поддерживаются операции с комплексными числами.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 17 2018, 16:13
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(petrov @ Apr 17 2018, 17:54) *
У вас должна быть несущая на 0 Гц. Длительность символа 1 с. Частота дискретизации пусть 8 отсчётов на символ.
Не нужно раскладывать комплексные сигналы на действительную и мнимую составляющие без нужды, в симулинке поддерживаются операции с комплексными числами.

Без нужды это да. Может и так. Но далее все должно работать в микроконтроллере. А там все будет работать только с составляющими комплексного сигнала.
Хотя если рассматривать сигнал дискретно или повыборочно, то для синусоидального сигнала, например при четырех выборках на период
две соседние выборки и будут определять его комплексные составляющие. В конечном итоге всеравно ничего не меняется. Разве, что программа
микроконтроллера или ПЛИС немного упрощается.
Хотя я так до конца и не понял про работу с комплексным сигналом и 0 Герц.
Надеюсь со временем врублюсь...
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 17 2018, 16:26
Сообщение #10


Гуру
******

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



Абстрагировались от микроконтроллеров и FPGA, это не имеет никакого отношения к вещам с которыми нужно разобраться.
Уже обсуждали, что любой сигнал можно перенести на нулевую частоту умножением на комплексную экспоненту. Либо сразу сформировать его на ней. Всё абстрагировались от несущих.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 17 2018, 20:12
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(petrov @ Apr 17 2018, 19:26) *
Абстрагировались от микроконтроллеров и FPGA, это не имеет никакого отношения к вещам с которыми нужно разобраться.
Уже обсуждали, что любой сигнал можно перенести на нулевую частоту умножением на комплексную экспоненту. Либо сразу сформировать его на ней. Всё абстрагировались от несущих.

Работа с комплексным сигналом это так?
Прикрепленное изображение

Для меня это пока сложновато.
В свое время цифровая ФАПЧ с использованием NCO делалась достаточно просто.
После 2_х LPF небольшой цифровой схемкой ыделялись короткие импульсы опережения либо отставания фаз НЧ биений которые
инкрементировали либо декрементировали счетчик. Код счетчика управлял частотой NCO.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 18 2018, 10:33
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Acvarif @ Apr 17 2018, 23:12) *
Не нужно раскладывать комплексные сигналы на действительную и мнимую составляющие без нужды, в симулинке поддерживаются операции с комплексными числами.

Поддерживаются. К примеру sin может быть комплексным
Прикрепленное изображение

Никак не пойму что это дает?
На данный момент, для того, чтобы перейти от VCO к NCO необходимо представить все сигналы не как +-1, а как, например int (16 бит). Тоесть работать не с уровнями в прямом виде, а с их цифровым эквивалентом.
Я не могу модель делать оторвано от будущего алгоритма для микроконтроллера или ПЛИС.
Чем мне в достижении моей цели поможет комплексное представление сигналов никак не пойму.
В реальном железе всеравно придется работать не с комплексным сигналом, а с его составляющими.
Поэтому я и говорю о 4_х выборках на период, где две соседние будут представлять квадратурные составляющие сигнала, с которыми и будет
вестись работа.

Сообщение отредактировал Acvarif - Apr 18 2018, 10:34
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 18 2018, 11:01
Сообщение #13


Гуру
******

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



Цитата(Acvarif @ Apr 18 2018, 13:33) *
Никак не пойму что это дает?


Человек очень мало может удержать в голове. Декомпозиция, отсечение лишнего, помогает выделить обозримую часть задачи и понять её.
Ни про какие intы и реальное железо не надо думать сейчас, это бессмысленно без понимания алгоритмов ЦОС.

Вот a и b комплексные числа, например a*b=(re(a)+j*im(a))*(re(b)+j*im(b)) расписали отдельно один раз на бумажке и абстрагировались, в модели просто рисуем a*b.
Формулу Эйлера https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%...%B5%D1%80%D0%B0 посмотрели один раз, не надо комплексную экспоненту везде раскладывать на реальную и мнимую часть, мы уже это знаем и можем абстрагироваться от этого нагромождения.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 18 2018, 11:51
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(petrov @ Apr 18 2018, 14:01) *
Человек очень мало может удержать в голове. Декомпозиция, отсечение лишнего, помогает выделить обозримую часть задачи и понять её.
Ни про какие intы и реальное железо не надо думать сейчас, это бессмысленно без понимания алгоритмов ЦОС.

Вот a и b комплексные числа, например a*b=(re(a)+j*im(a))*(re(cool.gif+j*im(cool.gif) расписали отдельно один раз на бумажке и абстрагировались, в модели просто рисуем a*b.
Формулу Эйлера https://ru.wikipedia.org/wiki/%D0%A4%D0%BE%...%B5%D1%80%D0%B0 посмотрели один раз, не надо комплексную экспоненту везде раскладывать на реальную и мнимую часть, мы уже это знаем и можем абстрагироваться от этого нагромождения.

Да. Это понятно.
Понимания алгоритмов ЦОС для меня это сильно громко. Я пока всего лишь BPSK+CostasLoop пытаюсь смоделировать, и то в простейшем классическом виде.
Допустим я сделаю модель где все сигналы будут представлены в комплексном виде, начиная с модулятора и заканчивая петлей Костаса.
Что изменится в понимании этого алгоритма? В том виде как я его сейчас делаю думаю ничего.
Разве, что со временем придет более глубокое понимание и не придется раскладывать комплексную огибающую на компоненты, а работать с ней
непосредственно на 0 Герц.
В продолжение разговора, скажите пожалуйста как в Вашей модели bpsk_costas_2008_08_25.mdl можно посмотреть за какое время происходит
стабилизация PLL?

Сообщение отредактировал Acvarif - Apr 18 2018, 11:53
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 18 2018, 12:30
Сообщение #15


Гуру
******

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



Цитата(Acvarif @ Apr 18 2018, 14:51) *
Понимания алгоритмов ЦОС для меня это сильно громко. Я пока всего лишь BPSK+CostasLoop пытаюсь смоделировать, и то в простейшем классическом виде.
Допустим я сделаю модель где все сигналы будут представлены в комплексном виде, начиная с модулятора и заканчивая петлей Костаса.
Что изменится в понимании этого алгоритма? В том виде как я его сейчас делаю думаю ничего.
Разве, что со временем придет более глубокое понимание и не придется раскладывать комплексную огибающую на компоненты, а работать с ней
непосредственно на 0 Герц.


Нет у вас никакой ФАПЧ в классическом виде. Где интегратор у вас, где пропорционально интегрирующее звено, где задержки лишние в петле?
Как нарисовать эквивалентную схему ФАПЧ, которая представляет собой простейший БИХ фильтр 2-го порядка? Подать на него ступенчатое воздействие, линейное, посмотреть переходный процесс.
Вы слишком компилятивно хотите без понимания по кривой картинке что-то с чем-то соеденить и в железку запихать. Такое в принципе невозможно.

Цитата(Acvarif @ Apr 18 2018, 14:51) *
В продолжение разговора, скажите пожалуйста как в Вашей модели bpsk_costas_2008_08_25.mdl можно посмотреть за какое время происходит
стабилизация PLL?


Всё можно, если понимание есть.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th July 2018 - 21:15
Рейтинг@Mail.ru


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