📄 lab1.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Laboratoire 1 Communications Num閞iques %%%
%%% Alejandro Florez Perez %%%
%%% 04272985 %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Parameters.
Delay = 3; DataL = 20; R = [0 0.3 1]; Fs = 8; Fd = 1; PropD = 0;SNR=[inf 15 10];
% Generate random data.
x = randsrc(DataL, 1, [], 465);
% at time 0, 1/Fd, 2/Fd, ...
tx = [PropD: PropD + DataL - 1] ./ Fd;
N=Fs/Fd;
for i=1:3
for j=1:3
% Design square root filter.
[ys, ts] = rcosine(Fd, Fs, 'fir/sqrt', R(i), Delay);
% Filter at the transmitter.
[yc, tc] = rcosflt(x, Fd, Fs, 'filter', ys);
%On ajoute le bruit blanc gaussien
yc_bruit=awgn(yc,SNR(j),'Measured');
% Filter at the receiver.
[yr, tr] = rcosflt(yc_bruit, Fd, Fs, 'filter/Fs', ys);
% Adjust for propagation delay.
tcc = tc + Delay .* Fd; txx = tx + 2*Delay .* Fd;
%Echantillonage aux temps (n+1)T erreur 12.5%
%Echantillonage aux Temps nT
n=1;
for k=1:N:length(yr)
Zn_1(n)=yr(k+1);
Tn_1(n)=tr(k+1);
Zn(n)=yr(k);
Tn(n)=tr(k);
n=n+1;
end
% Graphiques
figure;
%Plot les donn閑s originales
stem(txx, x,'gx'); hold on;title(['R閟ultat pour R= ',num2str(R(i)),' , SNR= ',int2str(SNR(j))]);
%Plot valeur de la Impulsion Aux instants nT
stem(Tn,Zn,'ko');
%Plot valeur de la Impulsion Aux instants (n+1)T
stem(Tn_1,Zn_1,'r*');
% Plot filtered data.
plot(tcc, yc, 'm--',tr, yr, 'b-');hold off;
%Legendes
legend('Data','Impulsion nT','Impulsion(n+1)T','y Filtre 1','y Filtre2','location','SouthOutside');
% Set axes and labels.
xlabel('Time'); ylabel('Amplitude');
propdelay = 2*Delay .* N +2; % Propagation delay of filter
yr_trun = yr(propdelay:end-(propdelay+2)); % Truncated version
%Diagramme de l'oeil
h1 = eyediagram(yr_trun,N,1/Fd,7);
set(h1,'Name','Diagramme de l`oeil');title(['Diagramme de l`oeil pour R= ',num2str(R(i)),' , SNR= ',int2str(SNR(j))]);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -