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

📄 qpsk_performance.m

📁 QPSK调制解调误码率及误符号率
💻 M
字号:
%% QPSK误码率及误符号率
clear all;
clc;

Ebn0=0:10;
for i=1:length(Ebn0)
    sigma(i)=sqrt(10^(-Ebn0(i)/10));
end
nfr=1000;
frame=1000;
j=sqrt(-1);


for s=1:length(sigma)
for n=1:nfr
x=round(rand(1,frame));

for i=1:frame/2
    if x(2*i-1:2*i)==[0 0]
        u(i)=1;
    elseif x(2*i-1:2*i)==[0 1]
        u(i)=j;
    elseif x(2*i-1:2*i)==[1 1]
        u(i)=-1;
    else u(i)=-j;
    end
end


y=u+sigma(s)*(randn(1,frame/2)+j*randn(1,frame/2));

for i=1:length(y)
    if angle(y(i))>=(-pi/4)&angle(y(i))<(pi/4)
        y1(i)=1;
    elseif angle(y(i))>=(pi/4)&angle(y(i))<(3*pi/4)
        y1(i)=j;
    elseif angle(y(i))>=(3*pi/4)|angle(y(i))<(-3*pi/4)
        y1(i)=-1;
    else y1(i)=-j;
    end
end

for i=1:length(y1)
    if y1(i)==1
        x1(2*i-1:2*i)=[0 0];
    elseif y1(i)==j
        x1(2*i-1:2*i)=[0 1];
    elseif y1(i)==-1
        x1(2*i-1:2*i)=[1 1];
    else x1(2*i-1:2*i)=[1 0];
    end
end

symerr(n)=length(find(u~=y1));
biterr(n)=length(find(x~=x1));


end  % end n

symber(s)=sum(symerr)/(length(u)*nfr)
bitber(s)=sum(biterr)/(length(x)*nfr)
end %% end s

⌨️ 快捷键说明

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