matlab程序2psk,用matlab编写2ASK,2PSK程序.doc

本文档详细介绍了如何使用MATLAB编程实现2ASK(幅度键控)和2PSK(相位键控)通信系统。实验中首先生成二进制信源,然后通过NRZ波形进行调制,最后绘制出2ASK和2PSK信号的波形图。实验代码包括了信号的扩展、NRZ波形生成、调制等关键步骤。
摘要由CSDN通过智能技术生成

用matlab编写2ASK,2PSK程序.doc

通信原理实验报告三实验内容:用matlab编写2ASK,2PSK程序实验一:2ASK程序A=1;fc=2;N_sample=8;N=500;Ts=1;dt=Ts/fc/N_sample;t=0:dt:N.*Ts-dt;Lt=length(t);%产生二进制信源d=sign(randn(1,N));dd=sigexpand((d+1)/2,fc.*N_sample);gt=ones(1,fc.*N_sample);%NRZ波形figure(1);subplot(2,1,1);d_NRZ=conv(dd,gt);plot(t,d_NRZ(1:length(t)));axis([0 10 0 1.2]);ylabel('输入信号')%2ASK信号ht=A.*cos(2.*pi.*fc.*t);s_ask=d_NRZ(1:Lt).*ht;subplot(2,1,2);%画图plot(t,s_ask);axis([0 10 -1.2 1.2]);ylabel('2ASK');

%常用到的子函数 sigexpand.mfunction [out]=sigexpand(d,M);%将输入序列扩展成间隔为N-1个0的序列N=length(d);out=zeros(M,N);out(1,:)=d;out=reshape(out,1,M.*N);实验二:2PSK程序A=1;fc=2;N_sample=8;N=500;Ts=1;dt=Ts/fc/N_sample;t=0:dt:N.*Ts-dt;Lt=length(t);%产生二进制信源d=sign(randn(1,N));dd=sigexpand((d+1)/2,fc.*N_sample);gt=ones(1,fc.*N_sample);%NRZ波形figure(1);subplot(2,1,1);d_NRZ=conv(dd,gt);dd_NRZ=2*d_NRZ-1;plot(t,d_NRZ(1:Lt)*2-1);axis([0 10 0 1.2]);ylabel('输入信号')%2PSK信号ht=A.*sin(2.*pi.*fc.*t);s_psk=dd_NRZ(1:Lt).*ht;subplot(2,1,2);%画图plot(t,s_psk);axis([0 10 -1.2 1.2]);ylabel('2PSK');

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; jt(m)=0; end end figure(1);subplot(4,2,6);plot(jt);grid on axis([0 200*length(g) -2 2]);title('经抽样判决后信号s^(t)波形') figure(2);subplot(4,2,6);plot(abs(fft(jt))); axis([0 200*length(g) 0 400]);title('经抽样判决后信号频谱');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值