基于matlab的通信系统仿真程序和simulink框图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序:
clear all
clear all
clc
a=30;
source=zeros(1,a);
source=randint(1,a,2);
%产生长度为a的随机二进制信号
figure(1);subplot(3,2,1);stem(source);title('二进制信号波形');grid on;
axis([0,a, -0.1,1.1]);
x=source;
%%%%%%%%%%%%%%差分编码%%%%%%%%%%%%%%%%%
y1=zeros(1,a);
for n=1:a-1
y1(n)=xor(x(n),x(n+1))
end
figure(1);subplot(3,2,2);stem(y1);title('差分编码后信号波形');grid on;
axis([0,a, -0.1,1.1]);
%%%%%%%%%%%%%%%BPSK调制%%%%%%%%%%%%%%%
fc=4800; %载频
fd=2400; %码元速率
fs=12000; %采样频率
y2=dmod(x,fc,fd,fs,'psk',2);
figure(1);subplot(3,2,3);plot(y2);title('BPSK调制后信号波形');grid on;
axis([0,a,-1.1,1.1]);
%%%%%%%%%%%%%%加入带有高斯白噪声的信道%%%%%%%%%%% b=3
y3=awgn(y2,b);%信号调制中加入白噪声,信噪比为b
figure(1);subplot(3,2,4);plot(y3);title('经过高斯白噪声信道后的信号');grid on; axis([0,a, -1.1,1.1]);
%%%%%%%%%%%%%%%%%%BPSK解调%%%%%%%%%%%%%%%% fc=4800;
fd=2400;
fs=12000;
y4=ddemod(y3,fc,fd,fs,'psk',2);
figure(1);subplot(3,2,5);stem(y4);title('BPSK解调后信号波形');grid on;
axis([0,a,-0.1,1.1]);
%%%%%%%%%%%%%%差分译码%%%%%%%%%%%%%%%%%
k=ones(1,a+1)
for n=1:a
k(n+1)=y4(n);
end
y5=zeros(1,a+1);
y5(1)=1;
for n=1:a
y5(n+1)=xor(k(n+1),y5(n));
end
figure(1);subplot(3,2,6);stem(y5);title('差分译码后信号波形');grid on; axis([0,a,-0.1,1.1]);
%%%%%%%%%%%%%%%%误码率曲线%%%%%%%%%%%%%% figure(2)
r=-6:3:24;%信噪比范围
rr=10.^(r/10);%误码率公式
pe1=1/2*exp(-rr);%相干解调的误码率曲线
hold on
plot(r,pe1,'r');title('误码率曲线');grid on;
Simulink仿真基本通信系统框图如下: