Simulink: rectangular pulse filter with finite rise time?

18 views (last 30 days)
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!!!

Accepted Answer

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

More Answers (5)

Arnaud Miege
Arnaud Miege on 17 Jun 2011
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 Comments
Arnaud Miege
Arnaud Miege on 17 Jun 2011
Good point. Maybe worth raising an enhancement request?
http://www.mathworks.com/support/service_requests/contact_support.do
Paulo Silva
Paulo Silva on 17 Jun 2011
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.

Sign in to comment.


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

Sign in to comment.


Fangjun Jiang
Fangjun Jiang on 17 Jun 2011
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 on 17 Jun 2011
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 on 17 Jun 2011

Products

Community Treasure Hunt

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

Start Hunting!