Simulink filter using frequency response transfer function

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

1 Comment

Do you have the Signal Processing Toolbox and/or the DSP System Toolbox?

Sign in to comment.

 Accepted Answer

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)

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.

1 Comment

Hi,
May I ask how did you simulate the chromatic dispersion in simulink eventually? Thanks!
Best.

Sign in to comment.

Categories

Find more on Audio Processing Algorithm Design in Help Center and File Exchange

Asked:

on 21 Oct 2014

Commented:

on 25 Sep 2024

Community Treasure Hunt

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

Start Hunting!