• 大小: 0M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: 其他  

资源简介

4FSK.rar

资源截图

代码片段和文件信息

clc;
clear;
%%%%%%%%%%%%%% 调制 %%%%%%%%%%%%%%%%%%%

M = 4;%调制元数
n = 1000;%符号个数
Is = randi(M1n);%输入的码元
d = 1;
width = 1/1000;%码元宽度
fs = 10/width *(1+M);
ts = 1/fs; %采样时间间隔
t = 0: ts : n*width-ts;%符号宽度
T = 0 : ts : width-ts;
Send = zeros(1length(t));
lenT = length(T);
for i = 1:1:n
    Send((i-1)*lenT+1 : i*lenT) = cos(pi/width*(1+Is(i))*T);
end
figure(1)
subplot(211)
plot(tSend)
title(‘已调信号时域波形‘);
xlabel(‘时间t/s‘);
ylabel(‘已调信号幅度‘);
% 已调信号频域波形
Nf=1024;
%YSend=abs(fft(SendNf));
YSend=20*log10(abs(fft(SendNf)));
f=0:Nf/2;
subplot(212)
plot(f/Nf*fsYSend(f+1))
axis([0 20000 0 150]);
title(‘已调信号频域波形‘);
xlabel(‘频率f/Hz‘);
ylabel(‘已调信号幅度‘);

%%%%%%%%%%%%%% 信道 %%%%%%%%%%%%%%%%%%%
SNR = (0:1:20)‘;
Es = 1/2;
Esdb = 10*log10(Es)*ones(length(SNR)1);
Endb = Esdb - SNR;
En = 10.^(Endb/10);
awgn =repmat(sqrt(26*En/2)1length(t)) .* repmat((randn(1length(t)))length(SNR)1);
%%%%%%%%%%%%%% 收端 %%%%%%%%%%%%%%%%%%%
rt = zeros(length(SNR)length(t));
for i = 1 : 1 : length(SNR)
    rt(i:) = Send + awgn(i:);
end
rt1 = rt(10:);
figure(2)
subplot(211)
plot(trt1)
title(‘接收信号时域波形‘);
xlabel(‘时间t/s‘);
ylabel(‘接收信号幅度‘);
%接收信号频域波形
Nf=1024;
Yr=20*log10(abs(fft(rt1Nf)));
%Yr=abs(fft(rt1Nf));
f=0:Nf/2;
subplot(212)
plot(f/Nf*fsYr(f+1))
title(‘接收信号频域波形‘);
xlabel(‘频率f/Hz‘);
ylabel(‘接收信号幅度‘);
%%%%%%%%%%%%%% 解调 %%%%%%%%%%%%%%%%%%%
Sm = zeros(Mlength(T));%M个符号
for m = 1 : M 
    Sm(m:) = cos(pi/width*(1+m)*T);%符号波形
end
C = zeros(length(SNR)M);%判决准则
Ir = zeros(length(SNR)n);%解调符号
for j = 1 : 1 : length(SNR)
for i = 1:1:n
    for m = 1 : M
        C(jm) = rt(jwidth/ts*(i-1)+1:1:width/ts*i) * Sm(m:)‘ * ts - 0.5 * Sm(m:) * Sm(m:)‘ * ts; %判决准则
    end
    [CmaxIr(ji)] = max(C(j:));
    C = zeros(M1);
end
end

%误比特率
ne = zeros(1length(SNR));%错误的码元数
PM = zeros(1length(SNR));%误码率
Pb = zeros(1length(SNR));%误比特率
for j = 1 : 1 : length(SNR)
  for i = 1:1:n
       if(Ir(ji) ~= Is(i))
            ne(j) = ne(j)+1;
        end
   end
    PM(j) = ne(j)/n;
    Pb(j) = PM(j)/2;
end


figure(3)
semilogy(SNR‘Pb‘-o‘)
title(‘误比特率曲线‘);
xlabel(‘SNR(dB)‘);
ylabel(‘误比特率‘);
grid on
saveas(gcf‘MFSK.fig‘)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2381  2014-03-22 23:27  4FSK.m

----------- ---------  ---------- -----  ----

                 2381                    1


评论

共有 条评论