logo资料库

2psk的matlab调制解调的代码.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
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(‘源信号频谱’);
分享到:
收藏