北邮通信原理软件实验报告XXXX.docx
- 文档编号:29725969
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:37
- 大小:1.30MB
北邮通信原理软件实验报告XXXX.docx
《北邮通信原理软件实验报告XXXX.docx》由会员分享,可在线阅读,更多相关《北邮通信原理软件实验报告XXXX.docx(37页珍藏版)》请在冰豆网上搜索。
北邮通信原理软件实验报告XXXX
通信原理软件实验报告
学院:
信息与通信工程学院
班级:
一、通信原理Matlab仿真实验
实验八
一、实验内容
假设基带信号为m(t)=sin(2000*pi*t)+2cos(1000*pi*t),载波频率为20kHz,请仿真出AM、DSB-SC、SSB信号,观察已调信号的波形和频谱。
二、实验原理
1、具有离散大载波的双边带幅度调制信号AM
该幅度调制是由DSB-SCAM信号加上离散的大载波分量得到,其表达式及时间波形图为:
应当注意的是,m(t)的绝对值必须小于等于1,否则会出现下图的过调制:
AM信号的频谱特性如下图所示:
由图可以发现,AM信号的频谱是双边带抑制载波调幅信号的频谱加上离散的大载波分量。
2、双边带抑制载波调幅(DSB—SCAM)信号的产生
双边带抑制载波调幅信号s(t)是利用均值为0的模拟基带信号m(t)和正弦载波c(t)相乘得到,如图所示:
m(t)和正弦载波s(t)的信号波形如图所示:
若调制信号m(t)是确定的,其相应的傅立叶频谱为M(f),载波信号c(t)的傅立叶频谱是C(f),调制信号s(t)的傅立叶频谱S(f)由M(f)和C(f)相卷积得到,因此经过调制之后,基带信号的频谱被搬移到了载频fc处,若模拟基带信号带宽为W,则调制信号带宽为2W,并且频谱中不含有离散的载频分量,只是由于模拟基带信号的频谱成分中不含离散的直流分量。
3、单边带条幅SSB信号
双边带抑制载波调幅信号要求信道带宽B=2W,其中W是模拟基带信号带宽。
从信息论关点开看,此双边带是有剩余度的,因而只要利用双边带中的任一边带来传输,仍能在接收机解调出原基带信号,这样可减少传送已调信号的信道带宽。
单边带条幅SSBAM信号的其表达式:
或
其频谱图为:
三、仿真设计
1、流程图:
2、实验结果&分析讨论
实验仿真结果
从上至下依次是AM信号、DSB信号、SSB信号。
从仿真结果看,AM调制信号包络清晰,可利用包络检波恢复原信号,接收设备较为简单。
其频谱含有离散大载波,从理论分析可知,此载波占用了较多发送功率,使得发送设备功耗较大。
DSB-SC信号波形和频谱,其时域波形有相位翻转,频谱不含离散大载波。
SSB信号比DSB信号节省一半带宽,适合于语声信号的调制,因为其没有直流分量,也没有很低频的成分。
3、结果分析:
根据通原理论课的知识可知,信号的AM调制比较容易实现,但其功率谱中有相当大一部分是载频信号,效率非常低;DSB-SC调制解决了AM信号效率低下的问题,但仍然存在的问题是调制信号的带宽为基带信号的两倍,频谱利用率较低;SSB调制方式在频谱利用上又做出了改进,为原先的一半,但其可靠性降低了,总之,可靠性与有效性是难以两全其美的,为一对矛盾体。
四、程序代码
fs=800;%kHz
T=200;
N=T*fs;
t=linspace(-T/2,T/2,N);
f=linspace(-fs/2,fs/2,N);
fm1=1;%kHz
fm2=0.5;%kHz
fc=20;%kHz
mt=sin(2*pi*fm1*t)+2*cos(2*pi*fm2*t);
%AM调制信号波形和频谱
A=2;
a=0.3;
AM=(1+a*mt).*cos(2*pi*fc*t);
figure
(1);
subplot(2,1,1);
plot(t,AM);
xlabel('时间t(ms)');
ylabel('AM');
axis([-3,3,-3,3]);
title('AM波形');
gridon;
FAM=t2f(AM,fs);
subplot(2,1,2);
plot(f,abs(FAM));
xlabel('频率f(kHz)');
ylabel('FAM');
axis([-25,25,0,150]);
title('AM幅频特性');
gridon;
%DSB-SC信号波形和频谱
DSB=mt.*cos(2*pi*fc*t);
figure
(2);
subplot(2,1,1);
plot(t,DSB);
xlabel('时间t(ms)');
ylabel('DSB');
axis([-3,3,-3,3]);
title('DSB波形');
gridon;
FDSB=t2f(DSB,fs);
subplot(2,1,2);
plot(f,abs(FDSB));
xlabel('频率f(kHz)');
ylabel('FDSB');
axis([-25,25,0,150]);
title('DSB幅频特性');
gridon;
%SSB信号波形和频谱
M=t2f(mt,fs);
MH=-j*sign(f).*M;
mh=real(f2t(MH,fs));
SSB=mt.*cos(2*pi*fc*t)-mh.*sin(2*pi*fc*t);
FSSB=t2f(SSB,fs);
figure(3);
subplot(2,1,1);
plot(t,SSB);
xlabel('时间t(ms)');
ylabel('SSB');
axis([-3,3,-5,5]);
title('SSB波形');
gridon;
subplot(2,1,2);
plot(f,abs(FSSB));
xlabel('频率f(kHz)');
ylabel('FSSB');
axis([-25,25,0,150]);
title('SSB幅频特性');
gridon;
实验九
一、实验内容
假设基带信号为m(t)=sin(2000πt)+2cos(1000πt)+4sin(500πt+π/3),载波频率为40kHz,仿真产生FM信号,观察波形与频谱。
FM的频偏常数为5kHz/V。
二、实验原理
1、调频信号表达式为:
2、调频信号的频谱特征:
单频调制信号包括无穷多频率分量,在实际应用中,我们运用等效带宽这个概念。
等效带宽的定义为:
包含98%或者99%的已调信号总功率的带宽,根据卡松公式有:
三、仿真设计
1、流程图
2、实验结果&分析讨论
3、结果分析
由于max(m(t))=6.4833,信号带宽fm=1KHz,Kf=5KHz/V,由卡松公式
计算得带宽为66.8320KHz,与频域仿真结果基本相符。
(事实上,由于调制信号不是单频信号,卡松公式不满足)
四、程序代码
fs=800;%kHz
T=200;
N=T*fs;
dt=1/fs;
t=linspace(-T/2,T/2,N);
f=linspace(-fs/2,fs/2,N);
fm1=1;%kHz
fm2=0.5;%kHz
fm3=0.25;%kHz
fc=40;%kHz
k=5;%kHz
mt=sin(2*pi*fm1*t)+2*cos(2*pi*fm2*t)+4*sin(2*pi*fm3*t+pi/3);
phi=2*pi*k*cumsum(mt)*dt;
FM=cos(2*pi*fc*t+phi);
subplot(2,1,1);
plot(t,FM);
xlabel('时间t(ms)');
ylabel('FM');
axis([-2,2,-3,3]);
title('FM波形');
gridon;
FFM=t2f(FM,fs);
subplot(2,1,2);
plot(f,abs(FFM));
xlabel('频率f(kHz)');
ylabel('FFM');
axis([-80,80,0,20]);
title('FM幅频特性');
gridon;
实验十一
一、实验内容
通过仿真测量占空比为50%、75%以及100%的单、双极性归零码波形以及其功率谱,分析不同占空比对仿真结果的影响。
二、实验原理
1、时域特性
1.1二进制单极性归零码:
1.2二进制双极性归零码:
2、频域特性(功率谱):
数字基带信号s(t)的功率谱密度为:
数字基带信号s(t)的功率谱密度与随机序列
的功率谱特性
以及发送滤波器的频率特性
有关。
在实随机序列
的各符号互不相关时,s(t)的功率谱为
2.1单极性归零码:
2.4双极性归零码:
三、仿真设计
1、流程图:
2、实验结果&分析讨论
2.1单极性
从上至下依次是占空比为50%、75%、100%。
从仿真结果可以看出,单极性归零码的频谱主瓣宽度随占空比增加而减小,且含有冲激
2.2双极性
从上至下依次是占空比50%、75%、100%。
从仿真结果可以看出,随占空比增加,频谱主瓣宽度减小,且不含冲激。
3、结果分析:
3.1单极性
由于单极性码含有直流分量,所以表现在频域内为在直流处奇级次谐波处有一个冲激,而其功率谱主瓣宽度随着占空比的不同而不同,对于50%、75%、100%的占空比的带宽分别对应为码元速率B的4倍、2倍、1.33倍和1倍。
3.2双极性
由于双极性码不含直流分量,所以没有单极性码所具有的直流处和奇次谐波处的冲激,但在带宽上与单极性码表现一致。
3.3对比
因为很多传输线路不能传送直流分量,而且在误码特性上双极性马要比单极性码好很多,故此,一般都优先选用双极性码。
四、程序代码
%通过仿真测量占空比为50%、75%以及100%的单双极性归零码波形及其功率
谱,分析不同占空比对仿真结果的影响
clearall;
xdel(winsid());//关闭所有图形窗口
exect2f.sci;
execf2t.sci;
L=32;//每个码元间隔内的采样点数
N=2^13;//总采样点数
M=N/L;//总码元数
Rb=2;//码元速率
Ts=1/Rb;//比特间隔
fs=L/Ts;//采样速率
T=N/fs;//截短时间
Bs=fs/2;//系统带宽
t=-T/2+[0:
N-1]/fs;//时域采样点
f=-Bs+[0:
N-1]/T;//频域采样点
L0=input('请输入占空比(0~1):
')
EP=zeros(1,N);
ch=input('请选择要观察的码型:
1-单极性;其他-双极性')
forloop=1:
1000//1000次样本函数取平均
ifch==1
a=(rand(1,M)>0.5)+0;//生成单极性序列
else
a=sign((rand(1,M)>0.5)-0.5);//生成双极性序列
end
tmp=zeros(L,M);//一个码元的归零部分取零
L1=L*L0;//占空比,求出一个码元不归零部分的取样点数
tmp([1:
L1],:
)=ones(L1,1)*a;//将一个码元不归零部分的取样点值置为1
s=tmp(:
)';
S=t2f(s,fs);//傅里叶变化
P=abs(S).^2/T;//样本的功率谱密度
EP=EP*(1-1/loop)+P/loop;//随机过程的功率谱是各个样本的功率谱的数学期望
end
xset("window",1)
plot(t,s)
set(gca(),"grid",[1,1])
title('时域图')
xlabel('t')
ylabel('S(t)')
mtlb_axis([-3,3,-1.5,1.5]);
xset("window",2)
plot(f,abs(EP+%eps))
set(gca(),"grid",[1,1])
title('功率谱图形')
xlabel('f')
ylabel('功率')
mtlb_axis([-35,35,-5,max(EP+%eps)]);
xset("window",3)
plot(f,10*log10(EP+%eps))
set(gca(),"grid",[1,1])
title('功率谱图形(dB)')
xlabel('f')
ylabel('功率')
实验十二
一、实验内容
仿真测量滚降系数为a=0.25的根升余弦滚降系统的发送功率谱密度及眼图。
二、实验原理
1.理想限带情况下的最佳基带传输:
a的存在,使得传输频带增加,降低了频谱利用率。
A愈小,波形振荡起伏愈大,传输频带扩展小;反之,a愈大,波形振荡起伏愈小,频带扩展增大。
实际中一般选取a不小于0.2。
2、眼图
实际通信系统中,数字信号经过非理想的传输系统产生畸变,总是在不同程度上存在码间干扰的,系统性能很难进行定量的分析,常常甚至得不到近似结果。
而眼图可以直观地估价系统码间干扰和噪声的影响,是常用的测试手段。
眼图分析中常用结论:
(1)最佳取样时刻应选择在眼睛X开最大的时刻;
(2)眼睛闭合的速率,即眼图斜边的斜率,表示系统对定时误差灵敏的程度,斜边愈陡,对定位误差愈敏感;
(3)在取样时刻上,阴影区的垂直宽度表示最大信号失真量;
(4)在取样时刻上,上下两阴影区的间隔垂直距离之半是最小噪声容限,噪声瞬时值超过它就有可能发生错误判决;
(5)阴影区与横轴相交的区间表示零点位置变动X围,它对于从信号平均零点位置提取定时信息的解调器有重要影响。
三、仿真设计
1、流程图
2、实验结果&分析讨论
发送功率谱密度:
实验结果:
仿真结果与计算公式
=2(1+0.25)/2=1.25基本相等。
眼图:
五、程序代码
clearall
globaldttdfN
closeall
N=2^14;%采样点数
L=32;%每码元的采样点数
M=N/L%码元数
Rb=2;%码速率是2Mb/s
Ts=1/Rb;%码元间隔
dt=Ts/L;%时域采样间隔
df=1/(N*dt)%频域采样间隔
T=N*dt%时域截短时间
Bs=N*df/2%系统带宽
Na=4;%设示波器扫描宽度为4个码元
alpha=0.25;
t=[-T/2+dt/2:
dt:
T/2];%时域横坐标
f=[-Bs+df/2:
df:
Bs];%频域横坐标
g1=sin(pi*t/Ts)./(pi*t/Ts);
g2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);
g=g1.*g2;%升余弦脉冲波形
G=t2f(g,df);%升余弦脉冲波形的傅氏正变换
figure
(1)
%set(1,'Position',[100,50,300,200])
%设定窗口位置及大小
%set(2,'Position',[350,50,300,200]);%设定窗口位置及大小
figure
(2)
holdon%图形叠加,即重复扫描
grid
xlabel('tinus')
ylabel('s(t)inV')
EP=zeros(size(f))+eps;%加eps是为了躲零
forii=1:
2%设累计平均的循环
a=sign(randn(1,M));
imp=zeros(1,N);%产生冲激序列
imp(L/2:
L:
N)=a/dt;
S=t2f(imp,df).*G;%升余弦信号的傅氏变换
s=f2t(t2f(imp,df).*G,df);%升余弦信号的时域波形
s=real(s);
P=S.*conj(S)/T;%升余弦信号的功率谱
EP=(EP*(ii-1)+P+eps)/ii;%累计平均
figure
(1)
plot(f,30+10*log10(EP),'g');
grid
axis([-3,+3,-200,200])
xlabel('f(MHz)')
ylabel('Ps(f)(dBm/MHz)')
figure
(2)
tt=[0:
dt:
Na*L*dt];%设定画眼图的坐标的位置
forjj=1:
Na*L:
N-Na*L%Na*L是每次画眼图的间隔步长,N-Na*L是画眼图的
%最后一点的起始点。
plot(tt,s(jj:
jj+Na*L));%画升余弦信号的眼图
end
end%对应累计平均的循环
实现数字基带传输系统
实验目的:
利用编程实现数字基带传输系统
1)画出发送端输入码序列波形和功率谱、发送滤波器输出波形和功率谱
2)画出接收端采样判决后码序列波形和功率谱、接收滤波器输出波形和功率谱
3)画出接收滤波器输出信号眼图(在升余弦滚将系数分别为0、0.5、1的情况下)
4)分别画出升余弦滚将系数为0、0.5、1,采样判决点在眼图最大处的系统的实际误码曲线(Pe~s/n0曲线),并在同坐标系中画出理论误码曲线
5)改变采样点重复1)~4)。
程序代码:
主程序:
clearall
exect2f.sci;
execf2t.sci;
execeyes.sci;
k=13;
N=2^k;//采样点数
L=16;//每码元的采样点数
M=N/L;//码元数
Rb=2;//码速率是2Mb/s
Ts=1/Rb;//码元间隔
dt=Ts/L;//时域采样间隔
fs=1/dt;//采样速率
df=1/(N*dt);//频域采样间隔
T=N*dt;//截短时间
Bs=N*df/2;//系统带宽
f=[-Bs+df/2:
df:
Bs];//频域横坐标
t=[-T/2+dt/2:
dt:
T/2];//时域横坐标
alpha=1;//升余弦滚降系数
Hcos=zeros(1,N);
ii=find(abs(f)>(1-alpha)/(2*Ts)&abs(f)<=(1+alpha)/(2*Ts));
Hcos(ii)=Ts/2*(1+cos(%pi*Ts/alpha*(abs(f(ii))-(1-alpha)/(2*Ts))));
ii=find(abs(f)<=(1-alpha)/(2*Ts));
Hcos(ii)=Ts;
GT=sqrt(Hcos);
GR=GT;//最佳系统的发送接收滤波器的傅式变换
EPC=zeros(1,N);
EPB=zeros(1,N);
EP1=zeros(1,N);
EP2=zeros(1,N);
RECT=ones(L,1);
forl1=1:
20;
Eb_N0(l1)=(l1-1);//信噪比
eb_n0(l1)=10^(Eb_N0(l1)/10);
Eb=1;
n0=Eb/eb_n0(l1);//信道的噪声谱密度
sita=n0*Bs;//信道中噪声功率
n_err=0;//误码计数
forloop=1:
100
a=sign(rand(1,M,"normal"));
tmp1=RECT*a;
seq_send=tmp1(:
)';//发送端产生序列!
!
S1=t2f(seq_send,fs);
P1=abs(S1).^2/T;//样本信号的功率谱密度
EP1=EP1*(1-1/loop)+P1/loop;//随机过程的功率谱是各个样本的功率谱的数学期望
EP11=20+10*log10(EP1+%eps);
sp=zeros(1,N);//产生冲激序列
sp(1:
L:
N)=a/dt;
SP=t2f(sp,fs);
SH=SP.*GT;
sh=real(f2t(SH,fs));//通过发送滤波器后的信号!
!
PB=abs(SH).^2/T;//过升余弦后能量谱密度
EPB=EPB*(1-1/loop)+PB/loop;//求平均
EPBB=20+10*log10(EPB+%eps);
nw=sqrt(sita)*rand(1,N,"normal");//信道噪声
SY=SH.*GR;
sy=real(f2t(SY,fs));
r=sy+nw;//接收信号
R=t2f(r,fs);
PC=abs(R).^2/T;
EPC=EPC*(1-1/loop)+PC/loop;//收端
EPCC=20+10*log10(EPC+%eps);
sd=r(L/4:
L:
N);//*取样!
!
!
sdp=sign(sd);//判决
tmp2=RECT*sdp;
seq_reci=tmp2(:
)';//接收端信号!
!
S2=t2f(seq_reci,fs);
P2=abs(S2).^2/T;//样本信号的功率谱密度
EP2=EP2*(1-1/loop)+P2/loop;
EP22=20+10*log10(EP2+%eps);
n_err=n_err+length(find(sdp~=a));//错误累计
end
Pe(l1)=n_err/(M*loop);
xset("window",5)
plot(Eb_N0,log10(Pe+%eps),'g');//Pe~Eb/N0曲线画图
xlabel('Eb/N0');ylabel('Pe');title("Pe~Eb/N0曲线");
eb_n0=10.^(Eb_N0/10);
set(gca(),"auto_clear","off")
k=log10(0.5*erfc(sqrt(eb_n0)));
plot(Eb_N0,k)
mtlb_axis([0,15,-3.5,0]);
xlabel('Eb/N0')
ylabel('Pe')
legend('实际的','理论的');
set(gca(),"auto_clear","on")
end
xset("window",1)
subplot(2,2,1)
plot(t,seq_send)
title("最初产生序列输出波形")
mtlb_axis([0,L,-1.5,1.5])
xgrid
subplot(2,2,2)
plot(t,sh)
title("通过发送滤波器后的信号波形")
xlabel("t(ms)")
ylabel("s2(t)(V)")
mtlb_axis([0,L,-2.5,2.5])
xgrid
subplot(2,2,3)
plot(t,sy)
title("采样前的信号波形")
xlabel("t(ms)")
ylabel("y(t)(V)")
mtlb_axis([0,L,-2,2])
xgrid
subplot(2,2,4)
plot(t,seq_reci)
title("判决后输出序列")
mtlb_axis([0,L,-1.5,1.5])
xgrid
xset("window",2)
subplot(2,2,1)
plot(f,EP11)
xlabel("f/kHz")
ylabel("|FMf|/(V/Hz)")
mtlb_axis([-10,10,-20,max(EP11)])
title("发送序列频率谱")
xgrid
subplot(2,2,2)
plot(f,EPBB)
title("发送滤波器输出功率谱")
xlabel("f(kHz)")
ylabel("功率谱(W/kHz)")
mtlb_axis([-10,10,0,m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 原理 软件 实验 报告 XXXX