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

 
 
> М-файл и Simulink
SledCom
сообщение Jun 23 2016, 09:07
Сообщение #1





Группа: Участник
Сообщений: 8
Регистрация: 17-05-16
Пользователь №: 91 755



Добрый день, уважаемые форумчане!

Извиняюсь, что не много не по озаглавленной в разделе теме, но очень нужна Ваша помощь. При моделировании в Simulink помимо стандартных блоков пришлось использовать собственно написанную m-функцию. Составленная модель напрочь отказывается работать, как выяснилось, из-за того, что работает с остальными симулинковскими блоками асинхронно, причем не смотря на выставленный у всех блоков схемы (в том числе в настройках m-функции) одинаковый Sample Time.
Вопрос: можно ли как-то заставить стандартные блоки Симулинка и написанную m-функцию любить друг друга????

Если нет, то тогда прошу помочь с реализацией следующего кода:

Код
function e = fcn(u,N)
persistent S, C, Count
if isempty (S)
   Count = 1;
end
if Count = 5 %Значение счетчика, после которого нужно все сбросить
   S = U^N;
   e = S;
   C = 1;
   S = 0;
else
   C = C+1;
   S = U^N
   e = S;
end


Вопрос в данном случае возникает в том, как в симулинке (используя только стандартные блоки) случае правильно сбросить счетчик?

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
petrov
сообщение Jul 4 2016, 10:11
Сообщение #2


Гуру
******

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



Гляньте для примера:
http://electronix.ru/forum/index.php?s=&am...st&p=930251
Go to the top of the page
 
+Quote Post
SledCom
сообщение Jul 5 2016, 08:16
Сообщение #3





Группа: Участник
Сообщений: 8
Регистрация: 17-05-16
Пользователь №: 91 755



Схему глянул. Спасибо.

Вопрос теперь в следующем: собрал простую схему, как представлено на рисунке:
Прикрепленное изображение


В данной схеме на блоках установлены следующие параметры:
1) Источники (константа и "Walsh"):
Прикрепленное изображение


2) Значения в блоках задержек (а, б -- перед буферами; в -- после "Walsh" [внизу]):
Прикрепленное изображение


3) Параметры блока "Conv":
Прикрепленное изображение


Изменяя Sample Time в задержке "Walsh" (внизу которая) получаем следующие результаты:

1. Sample Time = 8/Fs:

Прикрепленное изображение


2. Sample Time = 16/Fs:
Прикрепленное изображение


3. Sample Time = 32/Fs:
Прикрепленное изображение


4. Sample Time = 64/Fs:
Прикрепленное изображение


5. Sample Time = 128/Fs:

Прикрепленное изображение


6. Sample Time = 256/Fs:
Прикрепленное изображение



Как видно из графиков, вроде как получилось добиться правильной работы схемы: при "+1" он добавляет "0.3", а при "-1" -- вычитает ("множественной" суммы и вычитания, как раньше, нет).

Вопросы следующие:
1) Почему не совпадают по времени такты "Walsh" и выходной последовательности?
2) Почему такт "Walsh" длиннее выходной последовательности (в 2 раза)?

Сообщение отредактировал SledCom - Jul 5 2016, 08:33
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 23:14
Рейтинг@Mail.ru


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