Azzera filtri
Azzera filtri

Simulink filter using frequency response transfer function

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Rick Rosson
Rick Rosson il 21 Ott 2014
Modificato: Rick Rosson il 21 Ott 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');

Più risposte (1)

Francis
Francis il 23 Ott 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.

Categorie

Scopri di più su Simulink in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by