Simulink filter using frequency response transfer function

3 次查看(过去 30 天)
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

采纳的回答

Rick Rosson
Rick Rosson 2014-10-21
编辑:Rick Rosson 2014-10-21
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');

更多回答(1 个)

Francis
Francis 2014-10-23
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.

类别

Help CenterFile Exchange 中查找有关 Simulink 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by