How to implement Bessel filter transfer function for bandlimited electronic driver after pulse shaping? (number of poles 4 and B-3db equal to 7 GHz)
3 views (last 30 days)
Show older comments
clc;
clear all;
close all;
M=2;
N_bits=1e5;
SPS=8;
f0 = 193.4e12;
k = log2(M); % Number of bits per symbol
Nsymbol=N_bits/k; %Number of Symbols
data=randi([0 M-1], N_bits,1);%%
moddata=pammod(data,M)+1;%%2PAM MODULATION
%Upsampling
signal=zeros(1,SPS*Nsymbol,1);% makes a vector of zeros with the size of sps*Nsymbol
signal(1:SPS:end)=moddata;
%%Pulse shaping
A=1;
B=ones(1,SPS);% makes a vector of ones with size of sps [1,1,1,1,1,1,1,1]
Z=filter(B,A,signal);
%Elecrotnic Driver modeled as Bessel filter transfer function
Poles=4;
Bandwith=7*1e9;
% for Counter=1:length(Bandwith)
WC=2*pi*Bandwith;%(Counter); %%Angular frequency
[b1,a1]=besself(Poles,WC);
%s=1j*2*pi*f;
%H=polyval(b,s)./polyval(a,s);
%TF=H/max(H);
% plot(f,abs(TF).^2)
%grid on
[bz, az] = impinvar(b1,a1,Bandwith);
y=filter(bz,az,Z);
%y=real(ifft(fftshift(TF).*(fft(Z))));
% end;
0 Comments
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!