Simulink filter using frequency response transfer function

9 views (last 30 days)
Hi,
My main problem is this: I'm building a fiber optical communication system using simulink.
As a source, I use a bernoulli generator, then this signal runs to a low pass filter and the exit is the signal equivalent to a signal that comes off a led, so the emission part is done.
The problems begins at the transmission channel. I want to do a filter that simulates the dispersion effect in the fiber (only chromatic dispersion), but I don't know how. I only have a transfer functions like exp(-j*alpha*f.^2) and I don't know what to do with this. What's the right procedure to implement this kind of t.f. in a analog filter at the simulink?
Any help is welcome.
Kind regards

Accepted Answer

Rick Rosson
Rick Rosson on 21 Oct 2014
Edited: Rick Rosson on 21 Oct 2014
Here's a start:
beta = alpha/(2*pi)^2;
omega = 2*pi*f;
phi = -beta*omega.^2;
groupDelay = -2*beta*omega;
figure;
plot(f,groupDelay);
Fs = 2*max(f);
N = length(f);
spec = fdesign.arbgrpdelay(N,f,groupDelay,Fs);
chan = design(spec,'iirlpnorm','MaxPoleRadius',0.95);
fvtool(chan,'Analysis','grpdelay');

More Answers (1)

Francis
Francis on 23 Oct 2014
First let me thank you for answering, but I remain with some doubts.
Here the alpha that you speak is the attenuation? Because the alpha that I refer is a constant equals to pi^2*beta2*L, where L is the link distance, and beta2 is the group velocity delay.. And yes, I have all the toolbox of the simulink.

Categories

Find more on Simulink in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!