peselnik
Участник-
Постов
17 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о peselnik
-
Звание
Участник
Посетители профиля
926 просмотров профиля
-
Причина как раз понятна. В вашем простом примере нет ни одного состояния (регистра, Unit Delay). Когда логика полностью stateless, генератор кода не генерирует дополнительные порты. Как сказали выше, добавьте Unit Delay, А еще правильней - правой мышью по блоку MATLAB Function, HDL Code -> HDL Block Properties -> OutputPipeline поставить 1. Тогда модель не будет захламляться лишними блоками.
-
Матлаб и пакеты UDP
peselnik ответил _sda тема в Вопросы системного уровня проектирования
По умолчанию размер входного буфера у объекта udp - 512 байт. Если пользовательский код не успевает прочитать из буфера, то данные перезаписываются. В документации к функции udp говорится о том, как поменять размер входного буфера, см. web(fullfile(docroot, 'instrument/udp.html')) и свойство InputBufferSize. -
Потому что для simulation target относительный путь другой. Код для simulation target генерируется в директорию slprj. Ну, а вообще, вы что-то делаете не так. Если вам нужны #include в сгенерированном коде, то наверное, вы вызываете функции из вашего ручного код (судя по всему, из MATLAB Function или Stateflow). Для этого есть команда coder.cinclude. Ну и само выражение #include example.c это прямо плохо-плохо по нескольким причинам (не буду в это вдаваться). Если нужно подключить ручной С код к процессу сборку модели, то есть настройка Additional Build Information -> Source files.
-
Simulink
peselnik ответил shf_05 тема в Вопросы системного уровня проектирования
Добрый день! Можно использовать тулбокс Simulink Test, он как раз для этого предназначен - получится очень красиво: https://www.youtube.com/watch?v=MDwmagBZnhE -
-
А делает ли она то, что вы хотите? out = complex(zrf(1:2:200,:),zrf(2:2:200,:)) Но я бы лучше поискал возможность сделать так, чтобы матрица для БПФ-32 сразу формировалась в нужном виде. Эти поэлементные умножения и конкатенации матриц выглядят не по-матлабовски.
-
C = reshape([A;B], 1, [])
-
Конечно, читайте help, особенно по Control System Toolbox (и примеры в документации) - там все разжевано.
-
Такая запись должна работать для скалярных n. Если у вас n - вектор (MATLAB же), то лучше как-то так: function h = myfun(n) h = sin(n)./n; h(n == 0) = 1/pi; А потом можно делать так: plot(myfun(-2:0.1:2))
-
Ага, а еще вам нужна миллиметровка и карандаш :) coef = tf([1 1],[0.5 1 1]); bode(coef) А вы покажите, как вы пробовали, а мы поможем...
-
В первом случае xc является массивом, а во втором случае - скаляром (в цикле xc постоянно перезаписывается). Соответствующие результаты на графике plot.
-
Matlab, fft2, баг?
peselnik ответил fillsv тема в Вопросы системного уровня проектирования
Это нормально. Если посмотреть код функции fft2, то она вызывает либо fftn, либо fft. В первом случае вызывается fftn, потому что на входе матрица. Во втором случае вызывается fft, потому что на входе не матрица. Обе функции fftn и fft - встроенные в MATLAB и обращаются к библиотеке FFTW. О вычислительной разнице между одномерным и многомерным преобразованием написано в документации FFTW: http://www.fftw.org/fftw3_doc/Multi_002ddi...Transforms.html -
Есть несколько вариантов, как это сделать. Один из вариантов - скомпилировать ваш C++ код отдельно в виде библиотеки (dll), а затем вызывать библиотечные функции из S-функции. О том, как вызывать функции из разделяемой библиотеки в Simulink, я написал здесь: http://www.mathworks.com/matlabcentral/fil...ink_shrlib.html S-Function Builder это не лучший подход в данном случае, когда нужно передавать S-функцию заказчику. Я бы рекомендовал Legacy Code Tool или блок MATLAB System (больше информации по ссылке выше). === Центр компетенций MathWorks в России www.MATLAB.ru
-
Привет! Да, есть такие :) Более того, исходя из моего опыта, в первую очередь пользуются Embedded Coder как раз для генерации производственного кода, а не побаловаться. Слишком серьезная "игрушка", чтобы ей баловаться. Это как раз одна из причин, почему не так много (по сравнению с MATLAB или Simulink) тех, кто в этом разбирается. Ну, не home use это - что поделать. Я могу посоветовать обратиться в центр компетенции MathWorks в России (сайт matlab.ru) - там есть инженеры, помогут.
-
Привет! Тебе помогут who, whos. http://www.mathworks.com/help/techdoc/ref/who.html Кстати, команда load выгружает данные ИЗ mat файла в workspace, а не В mat файл :)