Simulink: rectangular pulse filter with finite rise time?

15 次查看(过去 30 天)
Is there a way to create a rectangular pulse with finite rise time in Simulink? I found the "Ideal Rectangular Pulse Filter" in the Communications Blockset. But that one gives inifite rise time, basically the same as if doing a pure rate transition.
Many thanks!!!

采纳的回答

Paulo Silva
Paulo Silva 2011-6-17
I found how to generate square waves with slew rate, do this:
Signal Generator -> Rate Limiter

更多回答(5 个)

Arnaud Miege
Arnaud Miege 2011-6-17
Or filter the ideal pulse generated from say the Pulse Generator block with a first order low-pass filter using the Transfer Fcn or Discrete Transfer Fcn block.
Arnaud
  3 个评论
Arnaud Miege
Arnaud Miege 2011-6-17
Good point. Maybe worth raising an enhancement request?
http://www.mathworks.com/support/service_requests/contact_support.do
Paulo Silva
Paulo Silva 2011-6-17
I submited this request: There's no easy way to generate square waves with specific rise time (Slew rate), the signal generators should have another parameter for the rise time (and also fall time) because that would be similar to real world square waves.

请先登录,再进行评论。


Paulo Silva
Paulo Silva 2011-6-17
Use the Signal builder from simulink
_ _ _ _
_| |_| |_ -> _/ \_/ \_
  3 个评论
Paulo Silva
Paulo Silva 2011-6-17
The question is interesting because simulink apparently lacks the parameter for the Slew Rate.
Fangjun Jiang
Fangjun Jiang 2011-6-17
If it is just the need to generate a pulse with slew rate, I guess the "Repeating Sequence" block can do the job.

请先登录,再进行评论。


Fangjun Jiang
Fangjun Jiang 2011-6-17
I thought Cathy was asking for a filter, not a source block to generate square pulse or pulse with slew rate. Check out this Ideal Rectangular Pulse Filter. It talks about upsampling which I have no knowledge. Is there a similar filter that represents non-square pulse sampling that has different filtering effect?

Cathy
Cathy 2011-6-17
thank you all! is there a way to create a customized filter for this purpose? i was able to get a workaround in Matlab:
y = rcosflt(x, Fd, Fs,'filter', pulse_slewrate);
is there a similar way to do this in Simulink? thanks!!

Fangjun Jiang
Fangjun Jiang 2011-6-17

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by