How can I detect a sign change without detection of 0 holding (Simulink)
9 次查看(过去 30 天)
显示 更早的评论
Hi,
I want to detect sign changes with Simulink blocks. By using the common libary, I also detect when the signal jumps from positive to 0, hold 0 and rises back to the positive area, which is not beneficial in my case. Do you know a way how to detect sign changes with real zero passings?
Thanks.
0 个评论
回答(1 个)
Anish Mitra
2016-4-18
You can make use of the "Detect" blocks in the Simulink>Logic and Bit Operations library.
>> web(fullfile(docroot, 'simulink/slref/detectfallnegative.html'))
These blocks are for Fixed Step solvers. If the logic needs to be implemented using Variable Step solvers, then you can use a Memory block to construct the logic. Essentially this would mean taking the product of the signal, and the signal delayed by 1 (using a Memory block, not a delay). If the sign of the product is negative, it means that there is a zero crossing at that particular time step.
Hope this helps.
Anish
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 General Applications 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!