通信原理实验六报告.docx
- 文档编号:28609902
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:16
- 大小:244.66KB
通信原理实验六报告.docx
《通信原理实验六报告.docx》由会员分享,可在线阅读,更多相关《通信原理实验六报告.docx(16页珍藏版)》请在冰豆网上搜索。
通信原理实验六报告
《通信原理》实验六
实验报告
一、实验目的:
1.观察OOK、BPSK、BFK信号波形及功率谱特点;
2.学会编写BPSK相干解调的MATLAB程序;
3.学会编写DBPSK信号产生和相干解调的MATLAB程序;
4.学会编写QPSK信号产生的MATLAB程序。
二、实验设备:
MATLAB软件
三、仿真内容:
1)运行样例程序,观察OOK、BPSK、BFSK信号的时域波形和功率谱,求已调信号的带宽。
2)采用相干解调法对BPSK信号解调,绘制解调后的波形,并与原始信号进行比较,对仿真结果进行分析说明。
2)编写DBPSK信号产生和解调程序,绘制DBPSK信号的时域波形和功率谱,绘制解调后的信号波形并与原始信号波形进行比较。
3)编写四进制相移键控信号QPSK的产生程序,绘制信号波形与功率谱。
4、实验结果
内容1):
clearall;closeall;
A=1;%载波幅度
fc=2;%载波频率
N_sample=8;%每个码元采样点数
N=500;%码元数
Ts=1;%码元长度
dt=Ts/(fc*N_sample);%波形采样间隔
fs=1/dt;%采样频率
t=0:
dt:
N*Ts-dt;
T=length(t);
%产生二进制信源
d=(sign(randn(1,N))+1)/2;
dd=upsample(d,fc*N_sample);
gt=ones(1,fc*N_sample);
d_NRZ=conv(dd,gt);
%载波信号
ht=A*cos(2*pi*fc*t);
%%**********OOK信号******************
s_BASK=d_NRZ(1:
T).*ht;
[f1,s_BASKf]=myt2f(s_BASK,fs);
figure
subplot(211)
plot(t,s_BASK);
axis([010-1.21.2]);
ylabel('OOK');
subplot(212)
plot(f1,10*log10(abs(s_BASKf).^2/T));
axis([-fc-4fc+4-5010]);
ylabel('OOK功率谱密度(dB/Hz)');
%%**************************************
%%**********BPSK信号******************
d_BPSK=2*d_NRZ-1;
s_BPSK=d_BPSK(1:
T).*ht;
[f2,s_BPSKf]=myt2f(s_BPSK,fs);
figure
subplot(211)
plot(t,s_BPSK);
axis([010-1.21.2]);
ylabel('BPSK');
subplot(212)
plot(f2,10*log10(abs(s_BPSKf).^2/T));
axis([-fc-4fc+4-5010]);
ylabel('BPSK功率谱密度(dB/Hz)');
%%**************************************
%%**********BFSK信号******************
d_BFSK=2*d_NRZ-1;
s_BFSK=A*cos(2*pi*fc*t+2*pi*d_BFSK(1:
T).*t);
[f3,s_BFSKf]=myt2f(s_BFSK,fs);
figure
subplot(211)
plot(t,s_BFSK);
axis([010-1.21.2]);
ylabel('BFSK');
subplot(212)
plot(f3,10*log10(abs(s_BFSKf).^2/T));
axis([-fc-4fc+4-5010]);
ylabel('BFSK功率谱密度(dB/Hz)');
xlabel('f');
运行结果:
实验分析:
OOK信号的解调与AM信号的解调相似,可采用非相干解调和相干解调。
内容2)源程序及运行结果:
clearall;closeall;
A=1;%载波幅度
B=1;
fc=2;%载波频率
N_sample=8;%每个码元采样点数
N=500;%码元数
Ts=1;%码元长度
dt=Ts/(fc*N_sample);%波形采样间隔
fs=1/dt;%采样频率
t=0:
dt:
N*Ts-dt;
T=length(t);
%产生二进制信源
d=(sign(randn(1,N))+1)/2;
dd=upsample(d,fc*N_sample);
gt=ones(1,fc*N_sample);
d_NRZ=conv(dd,gt);
%载波信号
ht=A*cos(2*pi*fc*t);
%%**********BPSK信号******************
d_BPSK=2*d_NRZ-1;
s_BPSK=d_BPSK(1:
T).*ht;
[f2,s_BPSKf]=myt2f(s_BPSK,fs);
subplot(211)
plot(t,s_BPSK);
axis([010-1.21.2]);
ylabel('BPSK');
%%**************************************
rt=s_BPSK.*cos(2*pi*fc*t);%相干解调
rt=rt-mean(rt);
[f1,sf1]=myt2f(rt,fs);
[t0,rt0]=lpf(f1,sf1,B);
rt0=sign(rt0/2);
subplot(212)
plot(t0,rt0);holdon
axis([020-23]);
plot(t,s_BPSK/2,'r--');
title('相干解调后的信号波形与输入信号的比较');
xlabel('t');
分析分析:
BPSK可以表述为一个双极性基带信号与一个正弦波的相乘,而它的解调采用想干解调法进行。
解调时,接受端必须提供一个和载波同频同相的本地载波。
(3)编写DBPSK信号产生和解调程序,绘制DBPSK信号的时域波形和功率谱,绘制解
调后的信号波形并与原始信号波形进行比较。
内容3)源程序及运行结果:
clearall;
closeall;
fs=4000000;%设定系统的抽样频率
k=20000;%设定数字基带信号的频率
fc=200000;%设定正弦载波频率
t=0:
1/fs:
4000/fs;%仿真时间范围
p=21;
s=randint(1,p,2);%设定需要产生的码元个数
m=s(ceil(k*t+0.01));%将基带生成时域信号
figure
(1)
subplot(211)
plot(t,m);
axis([00.0002-0.21.2]);
gridon;
title('数字基带信号');
b=randint(1,p,2);
%将生成的基带转换为差分码
fori=1:
p
if(i==1)
if(s(i)==0)
b(i)=0;
else
b(i)=1;
end
elseif(s(i)==b(i-1))
b(i)=0;
else
b(i)=1;
end
end
n=b(ceil(k*t+0.01));%将差分码生成时域信号
subplot(212)
plot(t,n);
axis([00.0002-0.21.2]);
gridon;
title('差分码')
x=(n-0.5).*2
car=sin(2*pi*fc*t);%定义载波
dpsk=x.*car;%2dpsk信号的载波调制
%subplot(313);
%plot(t,car);
%axis([010e-4-1.21.2]);
%title('正弦载波');
figure
(2)
subplot(211);
plot(t,dpsk);
axis([00.0002-1.21.2]);
title('2DPSK信号');
gridon;
vn=0.05;
noise=vn.*(randn(size(t)));%产生噪音
[f2,s_2BPSKf]=myt2f(dpsk,fs);
subplot(212);
plot(f2,10*log10(abs(s_2BPSKf).^2/length(t)));
gridon;
title('2DPSK功率谱');
axis([-700000700000-200-100]);
dpskn=(dpsk+noise);%调制后加噪
%subplot(313);
%plot(t,dpskn);
%axis([fc-410e-4-1.21.2]);
%title('加噪后信号');
%gridon;
%带通滤波器
fBW=40e3;
f=[0:
3e3:
4e5];
w=2*pi*f/fs;
z=exp(w*j);
BW=2*pi*fBW/fs;
a=.8547;
p=(j^2*a^2);
gain=.135;
Hz=gain*(z+1).*(z-1)./(z.^2-(p));
Hz(Hz==0)=10^(8);
a=[100.7305];
b=[0.1350-0.135];
dait=filter(b,a,dpskn);
dait=dait.*10;
cm=dpsk.*car;%2dpsk相干解调
%低通滤波器
p=0.72;
gain1=0.14;
Hz1=gain1*(z+1)./(z-(p));
a1=[1-0.72];
b1=[0.140.14];
dit=filter(b1,a1,cm);
dit=dit-mean(dit);
%抽样判决器
H=1;
L=0;
Z=0;
len=length(dit);
forii=1:
len
ifdit(ii)>=Z
Vs(ii)=H;
else
Vs(ii)=L;
end
end
figure(3)
subplot(311)
plot(t,Vs)
title('解调后差分信号')
axis([010e-4-0.21.2])
gridon;
c=randint(1,22,2);%产生解调后的差分码元
forf=0:
19
c(f+1)=fix(Vs(f*200+50)+0.2)
end
d=randint(1,21,2);%定义差分译码后的码元
forl=1:
21%得到差分译码后的码元
if(l==1)
if(s
(1)==0)
d
(1)=0;
else
d
(1)=1;
end
elseif(c(l)==c(l-1))
d(l)=0;
else
d(l)=1;
end
end
y=d(ceil(k*t+0.01));
subplot(313);
plot(t,y);
axis([010e-4-0.21.2]);
title('码反变换输出');%基带信号与解调后的信号对比
subplot(312)
plot(t,m);
axis([010e-4-0.21.2]);
title('原始基带信号');
实验分析:
DPSK信号的调制方法是先进行差分编码,然后进行绝对调相。
首先对接收的信号进行相干解调,经抽样判决输出相对码然后进行差分译码把相对码还原为绝对码。
内容4)源程序及运行结果:
A=1;%载波幅度
fc=2;%载波频率
N_sample=8;%每个码元采样点数
N=500;%码元数
Ts=1;%码元长度
dt=Ts/(fc*N_sample);%波形采样间隔
fs=1/dt;%采样频率
t=0:
dt:
N*Ts-dt;
T=length(t);
%产生二进制信源
d1=(sign(randn(1,N))+1)/2;
dd1=upsample(d1,fc*N_sample);
gt1=ones(1,fc*N_sample);
d_NRZ1=conv(dd1,gt1);
d2=(sign(randn(1,N))+1)/2;
dd2=upsample(d2,fc*N_sample);
gt2=ones(1,fc*N_sample);
d_NRZ2=conv(dd2,gt2);
%载波信号
ht1=A*cos(2*pi*fc*t);
ht2=A*sin(2*pi*fc*t);
%%**************************************
%%**********BPSK信号******************
d_QPSK1=2*d_NRZ1-1;
d_QPSK2=2*d_NRZ2-1;
s_QPSK1=d_QPSK1(1:
T).*ht1;
s_QPSK2=d_QPSK2(1:
T).*ht2;
s_QPSK=s_QPSK1+s_QPSK2;
[f2,s_QPSKf]=myt2f(s_QPSK,fs);
figure
(1)
subplot(311)
plot(t,s_QPSK1);
axis([010-1.21.2]);
ylabel('QPSK1');
subplot(312)
plot(t,s_QPSK2);
axis([010-1.21.2]);
ylabel('QPSK2');
subplot(313)
plot(t,s_QPSK);
axis([010-1.21.2]);
ylabel('QPSK');
figure
(2)
plot(f2,10*log10(abs(s_QPSKf).^2/T));
axis([-fc-4fc+4-5010]);
ylabel('QPSK功率谱密度(dB/Hz)');
%%**************************************
实验分析:
四进制绝对相移键控利用载波的4种不同相位来表示数字信息的。
它的每一种载波相位代表两个比特的一种可能组合,QPSK信号的产生方法是正交调相法,把QPSK信号视为两个互为正交的2PSK信号的合成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 原理 实验 报告