clear all;
close all;
clc;
max=10
g=zeros(1,max);
g=randint(1,max);%长度为max的随机二进制序列
cp=[];mod1=[];f=2*2*pi;t=0:2*pi/199:2*pi;
for n=1:length(g);
if g(n)==0;
A=zeros(1,200);%每个值200个点
else g(n)==1;
A=ones(1,200);
end
cp=[cp A]; %s(t),码元宽度200
c=cos(f*t);%载波信号
mod1=[mod1 c];%与s(t)等长的载波信号,变为矩阵形式
end
figure(1);subplot(4,2,1);plot(cp);grid on;
axis([0 200*length(g) -2 2]);title('二进制信号序列');
cm=[];mod=[];
for n=1:length(g);
if g(n)==0;
B=ones(1,200);%每个值200个点
c=cos(f*t); %载波信号
else g(n)==1;
B=ones(1,200);
c=cos(f*t+pi); %载波信号
end
cm=[cm B]; %s(t),码元宽度200
mod=[mod c]; %与s(t)等长的载波信号
end
tiaoz=cm.*mod;%e(t)调制
figure(1);subplot(4,2,2);plot(tiaoz);grid on;
axis([0 200*length(g) -2 2]);title('2PSK调制信号');
figure(2);subplot(4,2,1);plot(abs(fft(cp)));
axis([0 200*length(g) 0 400]);title('原始信号频谱');
figure(2);subplot(4,2,2);plot(abs(fft(tiaoz)));
axis([0 200*length(g) 0 400]);title('2PSK信号频谱');
%带有高斯白噪声的信道
tz=awgn(tiaoz,10);%信号tiaoz中加入白噪声,信噪比为10
figure(1);subplot(4,2,3);plot(tz);grid on
axis([0 200*length(g) -2 2]);title('通过高斯白噪声信道后的信号');
figure(2);subplot(4,2,3);plot(abs(fft(tz)));
axis([0 200*length(g) 0 400]);title('加入白噪声的2PSK信号频谱');
jiet=2*mod1.*tz;%同步解调
figure(1);subplot(4,2,4);plot(jiet);grid on
axis([0 200*length(g) -2 2]);title('相乘后信号波形')
figure(2);subplot(4,2,4);plot(abs(fft(jiet)));
axis([0 200*length(g) 0 400]);title('相乘后信号频谱');
%低通滤波器
fp=500;fs=700;rp=3;rs=20;fn=11025;
ws=fs/(fn/2); wp=fp/(fn/2);%计算归一化角频率
[n,wn]=buttord(wp,ws,rp,rs);%计算阶数和截止频率
[b,a]=butter(n,wn);%计算H(z)
figure(4);freqz(b,a,1000,11025);subplot(2,1,1);
axis([0 4000 -100 3 ])
title('LPF幅频相频图');
jt=filter(b,a,jiet);
figure(1);subplot(4,2,5);plot(jt);grid on
axis([0 200*length(g) -2 2]);title('经低通滤波器后信号波形')
figure(2);subplot(4,2,5);plot(abs(fft(jt)));
axis([0 200*length(g) 0 400]);title('经低通滤波器后信号频谱');
%抽样判决
for m=1:200*length(g);
if jt(m)=0;
1