⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threeray.m

📁 仿真具有三条固定信道的AWGN多径信道的QPSK系统的BER性能
💻 M
字号:
% File:threeray.m
NN = 256;                         % 符号数
tb = 0.5;                         % bit time
fs = 16;                          % 采样/符号
ebn0db = [1:2:14];                % EB/N0向量
 
x = random_binary(NN,fs)+i*random_binary(NN,fs);        % 形成QPSK信号

% 输入能量和延时
p0 = input('Enter P0 > ');
p1 = input('Enter P1 > ');
p2 = input('Enter P2 > ');
delay = input('Enter tau > ');
delay0 = 0; delay1 = 0; delay2 = delay;

% 建立复杂瑞利分布(莱斯分布)
gain1 = sqrt(p1)*abs(randn(1,NN) +i*randn(1,NN));
gain2 = sqrt(p2)*abs(randn(1,NN) +i*randn(1,NN));
for k = 1:NN
    for kk = 1:fs
        index = (k-1)*fs+kk;
        ggain1(1,index) = gain1(1,k);
        ggain2(1,index) = gain2(1,k);
    end
end
y1 = x;
for k=1:delay2
    y2(1,k) = y1(1,k)*sqrt(p0);
end
for k=(delay2+1):(NN*fs)
    y2(1,k) = y1(1,k)*sqrt(p0) + y1(1,k-delay1)*ggain1(1,k) + y1(1,k-delay2)*ggain2(1,k);
end

% 匹配滤波器
b = -ones(1,fs); b = b/fs; a = 1;
y = filter(b,a,y2);
% 仿真结束

% 使用半解析BER估计器。下面设置半解析估计。寻找互相关和相应时延的最大数
[cor lags] = vxcorr(x,y);
cmax = max(max(abs(cor)));
nmax = find(abs(cor)==cmax);
timelag = lags(nmax);
corrmag = cmax;
theta = angle(cor(nmax));
y = y*exp(-i*theta);%旋转

% noise BW校准
hh = impz(b,a); ts = 1/16; nbw = (fs/2)*sum(hh.^2);

% 延时输入,后128位做BER估计。使用中间试样,保证index不超过输入点数。接收机输入端计算Eb
index = (10*fs+8:fs:(NN-10)*fs+8);
xx = x(index);
yy = y(index-timelag+1);
[n1 n2] = size(y2); ny2 = n1*n2;
eb = tb*sum(sum(abs(y2).^2))/ny2;
eb = eb/2;
[peideal,pesystem] = qpsk_berest(xx,yy,ebn0db,eb,tb,nbw);
figure
semilogy(ebn0db,peideal,'b*-',ebn0db,pesystem,'r+-')
xlabel('E_b/N_0(db)'); ylabel('Probability of Error');grid
axis([0 14 10^(-10) 1])
% END
% 情形    P0     P1     P2     tau(样点)        注释
%   1     1.0    0      0      0                验证
%   2     1.0    0.2    0      0                莱斯平坦衰落    
%   3     1.0    0      0.2    0                莱斯平台衰落
%   4     1.0    0      0.2    8                莱斯频率选择性衰落
%   5     0      1.0    0.2    0                瑞利平坦衰落
%   6     0      1.0    0.2    8                瑞利频率选择性衰落

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -