1, 实验题目:GSM接收机设计
2, 实验步奏
(1) 输入为BPSK 信号,+1, -1
(2) 包含Pilot (training sequence)和 传输数据 (infobits)
(3) Normal Busrt 假定不考虑Guard period
(4)train_seq = [0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1];
GSM接收机原理框图
3.信道部分
(1)产生一个5 径的多径信道 h=[h1 h2 h3 h4 h5]
(2) 产生一个高斯加性信道 W(n)~N(0,sigma^2)
(3) 产生一个Rayleigh 多径信道
Y(n)=namda(n)*A+W(n),
W(n)~N(0,sigma^2)
namda(n)~R(1,sigma^2)
(4)GSM中的信道估计
Ax=r
(5) 基于维纳滤波器原理的均衡器设计
y=Hs
R=E[vv’]=H*H’
S’=R^(-1)*y
4.实验程序
%%%%%%%%%%%%% %%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%
% GSM Channel Estimation Using LS estimation
%%%%%%%%%%%%% %%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%
clear
close all
n = 1;
s1=2*randint(1,58)-1; %产生1,-1
s2=2*randint(1,58)-1;
train_seq =[0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1];
train_seq=2*train_seq-1;
%%%%%% BPSK modulation %%%%%%%%%%%%%
t_seq=[s1,train_seq,s2];
%%%%%% wireless multipath channel%%%%%%%%%%%%%
%%%%%% we need to estimate the wirelessmultipath channel %%%%%%%%%%%%%
x = [ 1 -0.5 1 0.5 0.3 0.2];
for SNR = 30
%%%%% Convoluation over wireless channel %%%%%%
recv_seq = conv(t_seq, x); %%multipath channel
recv_seq = awgn(recv_seq, SNR) ;%%% Add AWGN noise %%
b= recv_seq(64:84);
b =b.';
%b is our received signal %%%%%%
%%%%% LS Equation %%%%%%%%%%
%A*x = b
%%
%A = [ train_seq(6) train_seq(5) train_seq(4) train_seq(3) train_seq(2) train_seq(1);
% train_seq(7) train_seq(6) train_seq(5) train_seq(4) train_seq(3) train_seq(2);
% .....
% train_seq(26) train_seq(25) train_seq(24) train_seq(23) train_seq(22) train_seq(21)]
for row = 1 : 21
for col = 1 : 6
A(row,col) = train_seq(row+6-col);
end
end
est_x = inv(A'*A)*A'*b;
[x' est_x];
figure(n);
stem([1:6], x, 'b-o'); hold on;
stem([1:6], est_x, 'r-s');
axis([0 7 -2 2]);
xlabel('Channel taps', 'fontsize', 18)
ylabel('Amplitude', 'fontsize', 18)
str = strcat('SNR=',num2str(SNR),'dB');
title(str, 'fontsize', 18)
legend('True x', 'Estmated x');
n= n+1;
s=zeros(142,147);
s=[fliplr(est_x'),zeros(1,141)];
fori=2:142
for j=2:147
d=[zeros(1,i-1),fliplr(est_x'),zeros(1,142-i)];
end
s=[s;d];
end
Eq_out=inv(s'*s+0.01*eye(147))*s'*recv_seq(6:147)';%length(recv_seq)=147,s为142×147矩阵
figure(2);
stem(Eq_out', 'b-o'); hold on;
stem(t_seq, 'r-s');
end
5.运行结果
信道估计参数与实际参数对比如图(1)
最小二乘估计序列与实际发送信息比特对比,如图(2)