|
Симулинк и результат симуляции на scope |
|
|
|
Apr 16 2018, 16:22
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Не врубаюсь почему после остановки симуляции выставленной на определенное время (на 2) на scope исчезает результат. Выглядит это так: 1. Во время симуляции
 РЈРСВВеньшено Р В Р’В Р СћРІР‚ВР С• 81%
871 x 304 (41.56 килобайт)
|
2. После остановки
 РЈРСВВеньшено Р В Р’В Р СћРІР‚ВР С• 81%
871 x 304 (31.61 килобайт)
|
|
|
|
|
|
Apr 17 2018, 05:18
|
Знающий
   
Группа: Участник
Сообщений: 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] ?
|
|
|
|
|
Apr 17 2018, 13:10
|
Знающий
   
Группа: Участник
Сообщений: 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 на примере данной симулинк модели.
 РЈРСВВеньшено Р В Р’В Р СћРІР‚ВР С• 82%
964 x 416 (45.84 килобайт)
|
CostasLoopBpsk.rar ( 37.96 килобайт )
Кол-во скачиваний: 10
Сообщение отредактировал Acvarif - Apr 17 2018, 13:13
|
|
|
|
|
Apr 17 2018, 14:43
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(petrov @ Apr 17 2018, 16:57)  Возьмите и сделайте отдельно простую модельку с NCO, разберитесь как оно работает. Не используйте готовые блоки, а только задержки, арифметические операции и элементраные функции. Ещё раз настоятельно рекомендую работать с комплексными сигналами на нулевой частоте. Понятно. Попробую. По поводу комплексных сигналов не врубаюсь. Вот квадратурный демодулятор
 РЈРСВВеньшено Р В Р’В Р СћРІР‚ВР С• 87%
1280 x 655 (81.46 килобайт)
|
"Таким образом, мы произвели выделение комплексной огибающей радиосигнала при помощи умножения входного сигнала на комплексную экспоненту с последующим устранением удвоенной несущей при помощи ФНЧ. Устройство выделяющее комплексную огибающую сигнала в соответствии с (4) называется квадратурным гетеродином." Ведь I и Q это и есть составляющие комплексной огибающей. Собственно так я и делаю. А значит работаю с комплексным сингналом на нулевой частоте. Разве нет?
|
|
|
|
|
Apr 17 2018, 16:13
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(petrov @ Apr 17 2018, 17:54)  У вас должна быть несущая на 0 Гц. Длительность символа 1 с. Частота дискретизации пусть 8 отсчётов на символ. Не нужно раскладывать комплексные сигналы на действительную и мнимую составляющие без нужды, в симулинке поддерживаются операции с комплексными числами. Без нужды это да. Может и так. Но далее все должно работать в микроконтроллере. А там все будет работать только с составляющими комплексного сигнала. Хотя если рассматривать сигнал дискретно или повыборочно, то для синусоидального сигнала, например при четырех выборках на период две соседние выборки и будут определять его комплексные составляющие. В конечном итоге всеравно ничего не меняется. Разве, что программа микроконтроллера или ПЛИС немного упрощается. Хотя я так до конца и не понял про работу с комплексным сигналом и 0 Герц. Надеюсь со временем врублюсь...
|
|
|
|
|
Apr 17 2018, 20:12
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(petrov @ Apr 17 2018, 19:26)  Абстрагировались от микроконтроллеров и FPGA, это не имеет никакого отношения к вещам с которыми нужно разобраться. Уже обсуждали, что любой сигнал можно перенести на нулевую частоту умножением на комплексную экспоненту. Либо сразу сформировать его на ней. Всё абстрагировались от несущих. Работа с комплексным сигналом это так?
 РЈРСВВеньшено Р В Р’В Р СћРІР‚ВР С• 87%
1280 x 768 (83.8 килобайт)
|
Для меня это пока сложновато. В свое время цифровая ФАПЧ с использованием NCO делалась достаточно просто. После 2_х LPF небольшой цифровой схемкой ыделялись короткие импульсы опережения либо отставания фаз НЧ биений которые инкрементировали либо декрементировали счетчик. Код счетчика управлял частотой NCO.
|
|
|
|
|
Apr 18 2018, 10:33
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(Acvarif @ Apr 17 2018, 23:12)  Не нужно раскладывать комплексные сигналы на действительную и мнимую составляющие без нужды, в симулинке поддерживаются операции с комплексными числами. Поддерживаются. К примеру sin может быть комплексным
 РЈРСВВеньшено Р В Р’В Р СћРІР‚ВР С• 69%
551 x 526 (63.2 килобайт)
|
Никак не пойму что это дает? На данный момент, для того, чтобы перейти от VCO к NCO необходимо представить все сигналы не как +-1, а как, например int (16 бит). Тоесть работать не с уровнями в прямом виде, а с их цифровым эквивалентом. Я не могу модель делать оторвано от будущего алгоритма для микроконтроллера или ПЛИС. Чем мне в достижении моей цели поможет комплексное представление сигналов никак не пойму. В реальном железе всеравно придется работать не с комплексным сигналом, а с его составляющими. Поэтому я и говорю о 4_х выборках на период, где две соседние будут представлять квадратурные составляющие сигнала, с которыми и будет вестись работа.
Сообщение отредактировал Acvarif - Apr 18 2018, 10:34
|
|
|
|
|
Apr 18 2018, 11:01
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 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 посмотрели один раз, не надо комплексную экспоненту везде раскладывать на реальную и мнимую часть, мы уже это знаем и можем абстрагироваться от этого нагромождения.
|
|
|
|
|
Apr 18 2018, 11:51
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(petrov @ Apr 18 2018, 14:01)  Человек очень мало может удержать в голове. Декомпозиция, отсечение лишнего, помогает выделить обозримую часть задачи и понять её. Ни про какие intы и реальное железо не надо думать сейчас, это бессмысленно без понимания алгоритмов ЦОС. Вот a и b комплексные числа, например a*b=(re(a)+j*im(a))*(re(  +j*im(  ) расписали отдельно один раз на бумажке и абстрагировались, в модели просто рисуем 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
|
|
|
|
|
Apr 18 2018, 12:30
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 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? Всё можно, если понимание есть.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|