2PSK
clear;
t0=0.15;
ts=0.001;
fc=200;
snr=10;
fs=1/ts;
df=0.2;
t=[ts:ts:t0];
snr_lin=10^(snr/10);
y=[];
nm=length(t);
%生成 2PSK
for i=1:10
x=rand;
for j=1:15
l=(i-1)*15+j;
c(1)=cos(2*pi*fc*t(1));
c1(1)=cos(2*pi*fc*t(1)+pi);
if x>=0.5
mi(1)=1;
y(1)=c(1);
else if x<0.5
mi(1)=0;
y(1)=c1(1);
end
end
%compute noise power
%compute noise standard deviation
%add noise to the modulated signal
end
%加噪声
signal_power=power(y(1:length(t))); %power in modulated signal
noise_power=signal_power/snr_lin;
noise_std=sqrt(noise_power);
noise=noise_std*randn(1,length(y)); %generate noise
r=y+noise;
%时域频域转换
m=mi;
[M,m,df1]=fftseq(m,ts,df);
M=M*ts;
f=[0:df1:df1*(length(m)-1)]-fs/2;
[Y,y,df1]=fftseq(y,ts,td);
Y=Y*ts;
[C,c,df1]=fftseq(c,ts,df);
C=C*ts;
%70H 低通滤波器
[R,r,df1]=fftseq(r,ts,df);
R=R*ts;
[NOISE,noise,df1]=fftseq(noise,ts,df);
NOISE=NOISE*ts;
%调解
f_cutoff=70;
n_cuoff=floor(70/df1);
H=zeros(size(f));
H(1:n_cutoff)=2*ones(1,n_cutoff);
H(length(f)-n_cutoff+1:length(f))=2*ones(1,n_cutoff);
yy=r.*c;
[YY,yy,df1]=fftseq(yy,ts,td);
YY=YY*ts;
DEM=H.*YY;
dem=real(ifft(DEM))/fs;
dem=dem(1:length(t));
yout=dem;
for i=(1:length(t)); %判决,得到解调结果
% 滤波
if yout(1,i)>0
yout(1,i)=1;
else
yout(1,i)=0;
end;
end;
[YOUT,yout,df1]=fftseq(yout,ts,df);
YOUT=YOUT*ts;
pause;
%仿真
pause;
figure(1);
subplot(2,2,1);
plot(t,mi(1:length(t)));grid;axis([0 0.15 -2 2]);xlabel(‘time’);title(‘源信号波形’);
subplot(2,2,2);
plot(f,abs(fftshifu(M)));xlabel(‘Frequency’);title(‘载波波形’);
plot(2,2,3);
plot(t,c(1:length(t)));grid;axis([0 0.15 -2 2]);xlabel(‘time’);title(‘载波波形’);
subplot(2,2,4):
plot(f,abs(fftshifu(C)));xlabel(‘frequency’);title(‘载波频谱’);
pause;
figure(2);
subplot(3,2,1);
plot(t,nosec(1:length(t)));grid;axis([0 0.15 -2 2]);xlabel(‘time’);title(‘噪声波形’);
subplot(3,2,2);
plot(f,abs(fftshifu(NOISE)));xlabel(‘frequeency’);title(‘噪声频谱’);
subplot(3,2,3);
plot(t,y(1:length(t)));grid;axis([0 0.15 -2 2]);xlabel(‘time’);title(‘未加噪声调制波形’);
subplot(3,2,4);
plot(f,abs(fftshift(Y)));xlabel(‘frequency’);title(‘为加噪声调制频谱’);
subplot(3,2,5);
plot(t,r(1:length(t)));grid;axis([0 0.15 -2 2]);xlabel(‘time’);title(‘加噪声调制波形’);
subplot(3,2,6);
plot(f,abs(fftshift(R)));xlabel(‘requency’);title(‘ 加噪声调制频谱’);
pause;
figure(3);
subplot(2,2,1);
plot(t,yy(1:length(t)));grid;axis([0 0.15 -2 2]);xlabel(‘time’);title(‘相干解调后波形’);
subplot(2,2,2);
plot(f,abs(fftshift(YY)));xlabel(‘frequency’);title(‘相干解调后频谱’);
subplot(2,2,3);
plot(t,dem(1:length(t)));grid;xlabel(‘time’);title(‘低通后波形’);
subplot(2,2,4);
plot(f,abs(fftshift(DEM)));xlabel(‘frequency’);title(‘低通后频谱’);
pause;
figure(4);
subplot(2,2,1);
plot(t,yout(1:length(t)));grid;axis([0 0.15 -2 2]);xlabel(‘time’);title(‘抽样判决后波形’);
subplot(2,2,2);
plot(f,abs(fftshift(YOUT)));xlabel(‘frequency’);title(‘抽样判决后频谱’);
subplot(2,2,3);
plot(t,mi(1:length(t)));grid; axis([0 0.15 -2 2]);xlabel(‘time’);title(‘源信号波形’);
subplot(2,2,4);
plot(f,abs(fftshift(M)));xlabel(‘frequency’);title(‘源信号频谱’);