电子通原仿真实验报告.docx
- 文档编号:30672548
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:39
- 大小:433.26KB
电子通原仿真实验报告.docx
《电子通原仿真实验报告.docx》由会员分享,可在线阅读,更多相关《电子通原仿真实验报告.docx(39页珍藏版)》请在冰豆网上搜索。
电子通原仿真实验报告
通信原理仿真实验报告
电子1242006孙世林
实验二数字基带传输系统仿真实验
1、实验题目
本实验主要研究的是通信系统中基带系统的传输特性,通过眼图,展示噪声和信道特性不理想对基带信号传输造成的影响。
2、实验原理
数字基带传输系统是把数字基带信号直接送往信道,不经调制直接传输的系统,数字基带系统的基本结构可以由图1的模型表示:
1)信号发生器
信号发生器产生固定码速率的二进制单、双极性不归零信号
2)发送/接收滤波器
发送滤波器和接收滤波器都是升余弦平方根特性1由于发送滤波器的输入信号是不归零信号而不是冲激信号,因此在滤波器的输入端采取了均衡措施,使其输出的波形为标准的升余弦脉冲1另外由于升余弦滤波器是非因果滤波器,滤波器当前的输出依赖于未来时刻的输入,为解决这一问题,在滤波器中人为地增加了时间延迟,延迟的时间是码速率的整数倍
3)传输信道
信道引入加性高斯白噪声,理论上,高斯白噪声的功率谱是无限宽的,但是在系统中只要噪声带宽远大于系统的最高带宽就可以满足要求,因此在信道中引入的是限带高斯白噪声噪声源用相关时间比系统最短时间常数小得多的高斯分布随机序列发生器来模拟。
3、程序源代码
function[f,sf]=T2F(t,st)
dt=t
(2)-t
(1);
T=t(end);
df=1/T;
N=length(st);
f=-N/2*df:
df:
N/2*df-df;
sf=fft(st);
sf=T/N*fftshift(sf);
end
%在把序列d插入到序列M中,得到一个新序列
function[out]=sigexpand(d,M)
N=length(d);
out=zeros(M,N);
out(1,:
)=d;
out=reshape(out,1,M*N);
%数字基带信号的功率谱密度
clearall;
closeall;
Ts=1;%每个码元的长度
N_sample=8;%每个码元的抽样点数
dt=Ts/N_sample;%抽样时间间隔
N=1000;%码元数
t=0:
dt:
(N*N_sample-1)*dt;%1x8000
T=t(end);
gt1=ones(1,N_sample);%1x8
gt2=ones(1,N_sample/2);%1x4?
1x8?
gt2=[gt2zeros(1,N_sample/2)];%1x8
mt3=sinc((t-5)/Ts);%1x8000sin(pi*t/Ts)/(pi*t/Ts)波形
gt3=mt3(1:
10*N_sample);%截段取10个码元
d=(sign(randn(1,N))+1)/2;%1x1000d=?
?
data=sigexpand(d,N_sample);%插入N_sample-1个0
gt4=ones(1,N_sample);
gt5=ones(1,N_sample/2);
gt5=[gt5zeros(1,N_sample/2)];
st1=conv(data,gt1);%调用Matlab的卷积函数conv
st2=conv(data,gt2);
d=2*d-1;%变成双极性序列
data=sigexpand(d,N_sample);
st3=conv(data,gt3);
st4=conv(data,gt4);
st5=conv(data,gt5);
[f,st1f]=T2F(t,[st1(1:
length(t))]);
[f,st2f]=T2F(t,[st2(1:
length(t))]);
[f,st3f]=T2F(t,[st3(1:
length(t))]);
[f,st4f]=T2F(t,[st4(1:
length(t))]);
[f,st5f]=T2F(t,[st5(1:
length(t))]);
%------------------产生单极性RZ波形与频谱------------------
figure
(1)
subplot(321)
plot(t,[st1(1:
length(t))]);
axis([020-1.51.5]);
xlabel('单极性NRZ波形');grid
subplot(322);
plot(f,10*log10(abs(st1f).^2/T));grid
axis([-55-4010]);
xlabel('单极性NRZ功率谱密度(dB/Hz)');
subplot(323)
plot(t,[st2(1:
length(t))]);grid
axis([020-1.51.5]);
xlabel('单极性RZ波形');
subplot(324);
plot(f,10*log10(abs(st2f).^2/T));grid
axis([-55-4010]);
xlabel('单极性RZ功率谱密度(dB/Hz)');
subplot(325)
plot(t-5,[st3(1:
length(t))]);grid
axis([020-22]);
ylabel('双极性sinc波形');xlabel('t/Ts');
subplot(326);
plot(f,10*log10(abs(st3f).^2/T));grid
axis([-55-4010]);
ylabel('sinc波形功率谱密度(dB/Hz)');xlabel('f*Ts');
%------------------双极性NRZ波形与频谱---------------------
figure
(2)
subplot(221)
plot(t,[st4(1:
length(t))]);
axis([020-1.51.5]);
xlabel('双极性NRZ波形');grid
subplot(222);
plot(f,10*log10(abs(st4f).^2/T));grid
axis([-55-4010]);
xlabel('双极性NRZ功率谱密度(dB/Hz)');
subplot(223)
plot(t,[st5(1:
length(t))]);grid
axis([020-1.51.5]);
xlabel('双极性NRZ波形');
subplot(224);
plot(f,10*log10(abs(st5f).^2/T));grid
axis([-55-4010]);
xlabel('双极性NRZ功率谱密度(dB/Hz)');
%------------------升余弦滚降系统仿真代码---------------------
Ts=1;
N_sample=17;
dt=Ts/N_sample;
df=1.0/(20.0*Ts);
t=-10*Ts:
dt:
10*Ts;
f=-2/Ts:
df:
2/Ts;
alpha=[0,0.75,1];
forn=1:
length(alpha)
fork=1:
length(f)
ifabs(f(k))>0.5*(1+alpha(n))/Ts
Xf(n,k)=0;
elseifabs(f(k))<0.5*(1-alpha(n))/Ts
Xf(n,k)=Ts;
else
Xf(n,k)=0.5*Ts*(1+cos(pi*Ts/(alpha(n)+eps)*(abs(f(k))-0.5*(1-alpha(n))/Ts)));
end
end
xt(n,:
)=sinc(t/Ts).*(cos(alpha(n)*pi*t/Ts))./(1-4*alpha(n)^2*t.^2/Ts^2+eps);
end
figure
(1)
plot(f,Xf);
axis([-1101.2]);
xlabel('f/Ts');
ylabel('升余弦滚降频谱');
figure
(2)
plot(t,xt);
axis([-1010-0.51.1]);
xlabel('t');
ylabel('升余弦滚降波形');
Ts=1;
N_sample=17;
dt=Ts/N_sample;
df=1.0/(20.0*Ts);
t=-10*Ts:
dt:
10*Ts;
f=-2/Ts:
df:
2/Ts;
alpha=[0,0.5,1];
forn=1:
length(alpha)
fork=1:
length(f)
ifabs(f(k))>0.5*(1+alpha(n))/Ts
Xf(n,k)=0;
elseifabs(f(k))<0.5*(1-alpha(n))/Ts
Xf(n,k)=Ts;
else
Xf(n,k)=0.5*Ts*(1+cos(pi*Ts/(alpha(n)+eps)*(abs(f(k))-0.5*(1-alpha(n))/Ts)));
end
end
xt(n,:
)=sinc(t/Ts).*(cos(alpha(n)*pi*t/Ts))./(1-4*alpha(n)^2*t.^2/Ts^2+eps);
end
figure
(1)
plot(f,Xf);
axis([-1101.2]);
xlabel('f/Ts');
ylabel('升余弦滚降频谱');
figure
(2)
plot(t,xt);
axis([-1010-0.51.1]);
xlabel('t');
ylabel('升余弦滚降波形');
%---------------NRZ通过升余弦系统得到的眼图---------------
clearall;
closeall;
Ts=1;
N_sample=17;%每个码元的抽样点数
eye_num=7;
alpha=1;
N_data=1000;
n0=input('输入n0=');
dt=Ts/N_sample;%抽样时间间隔
t=-3*Ts:
dt:
3*Ts;
d=sign(randn(1,N_data))
noise=n0*randn(size(d));
dd=d+noise;
ddd=sigexpand(dd,N_sample);%对序列间隔插入N_sample-1个0
%基带系统冲激响应
ht=sinc(t/Ts).*(cos(alpha*pi*t/Ts))./(1-4*alpha^2*t.^2/Ts^2+eps);
st=conv(ddd,ht);
tt=-3*Ts:
dt:
(N_data+3)*N_sample*dt-dt;
figure
(1)
subplot(211)
plot(tt,st);
axis([020-1.21.2]);
xlabel('t/Ts');ylabel('基带信号');
subplot(212)
ss=zeros(1,eye_num*N_sample);
ttt=0:
dt:
eye_num*N_sample*dt-dt;
fork=3:
50
ss=st(k*N_sample+1:
(k+eye_num)*N_sample);
drawnow;
plot(ttt,ss);holdon;
end
%------------NRZ通过升余弦系统再加噪声得到眼图---------------
clearall;
closeall;
Ts=1;
N_sample=17;%每个码元的抽样点数
eye_num=7;
alpha=1;
N_data=1000;
n0=input('输入n0=');
dt=Ts/N_sample;%抽样时间间隔
t=-3*Ts:
dt:
3*Ts;
d=sign(randn(1,N_data))
noise=n0*randn(size(d));
dd=d+noise;
ddd=sigexpand(dd,N_sample);%对序列间隔插入N_sample-1个0
%基带系统冲激响应
ht=sinc(t/Ts).*(cos(alpha*pi*t/Ts))./(1-4*alpha^2*t.^2/Ts^2+eps);
st=conv(ddd,ht);
tt=-3*Ts:
dt:
(N_data+3)*N_sample*dt-dt;
figure
(1)
subplot(211)
plot(tt,st);
axis([020-1.21.2]);
xlabel('t/Ts');ylabel('基带信号');
subplot(212)
ss=zeros(1,eye_num*N_sample);
ttt=0:
dt:
eye_num*N_sample*dt-dt;
fork=3:
50
ss=st(k*N_sample+1:
(k+eye_num)*N_sample);
drawnow;
plot(ttt,ss);holdon;
End
%------------接收端采用匹配滤波器得到输出结果---------------
clearall;
closeall;
Ts=1;
N_sample=8;%每个码元的抽样点数
dt=Ts/N_sample;%抽样时间间隔
N=100;%码元数
t=0:
dt:
(N*N_sample-1)*dt;
gt=ones(1,N_sample);%基带波形
d=sign(randn(1,N));
a=sigexpand(d,N_sample);
st=conv(a,gt);
ht1=gt;
rt1=conv(st,ht1);
ht2=5*sinc(5*(t-5)/Ts);
rt2=conv(st,ht2);
figure
(1)
subplot(321)
plot(t,st(1:
length(t)));
axis([020-1.51.5]);ylabel('输入数字基带双极性NRZ信号');
subplot(322)
stem(t,a);
axis([020-1.51.5]);ylabel('输入数字序列');
subplot(323)
plot(t,[0rt1(1:
length(t)-1)]/8);
axis([020-1.51.5]);ylabel('方波滤波后输出');
subplot(324)
dd=rt1(N_sample:
N_sample:
end);
ddd=sigexpand(dd,N_sample);
stem(t,ddd(1:
length(t))/8);
axis([020-1.51.5]);ylabel('方波滤波后抽样输出');
subplot(325)
plot(t-5,[0rt2(1:
length(t)-1)]/8);
axis([020-1.51.5]);
xlabel('t/Ts');ylabel('理想低通滤波后输出');
subplot(326)
dd=rt2(N_sample-1:
N_sample:
end);
ddd=sigexpand(dd,N_sample);
stem(t-5,ddd(1:
length(t))/8);
axis([020-1.51.5]);
xlabel('t/Ts');ylabel('理想低通滤波后抽样输出');
4、实验结果与分析
如图是单极性NRZ波形及频谱
如图是双极性NRZ波形及频谱
如图是升余弦滚降系数依次为0、0.75、1的波形及频谱a=0对应矩形框,代表理想低通滤波器,对应时域为Sa函数,但理想是不可实现的。
且其冲激响应的尾部衰减较慢;而a=0.75或者1时,时域函数为Sa函数的平方,尾部衰减较快,由时域图可以很明显的看出;且截止特性要求不是很高,易实现。
但其频带利用率较低。
如图是双极性NRZ信号经升余弦滤波器,结果得到的眼图,各种指标都不错,误差很小。
如图是加噪声之后,得到的眼图,可以看出抽样误差挺大,最佳抽样时刻比较模糊,眼图不是很好看。
该输出眼图与上图相比较,可以明显看到加入噪声后,眼图线迹不是很清晰,且张开度也没之前大,说明加入噪声后对系统输出造成一定影响。
如图是信号经匹配滤波器得出的结果,分别为方波滤波器和理想低通滤波器。
双极性信号经过高斯白噪声信道,对基带波形会产生一定影响。
若接受机性能不好,很可能产生误判。
上图为方波滤波输出与匹配滤波器输出的对比。
有上图可得匹配滤波器输出波形与原波形相似,只要判决时刻在t>Ts时刻就不会产生误判;而方波滤波器的输出波形则与原波形差别很大,且对判决时刻要求很严格,若判决时刻选取不合适,很容易造成误判。
实验三数字频带传输系统仿真实验
1、实验题目
对2ASK、2FSK,BPSK,DPSK信号的调制及相干解调过程进行仿真,研究各点的时频特性。
2、实验原理(以2psk为例)
数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。
为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。
这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。
数字调制技术的两种方法:
①利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理;②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。
这种方法通常称为键控法,比如对载波的相位进行键控,便可获得相移键控基本的调制方式。
调制原理:
数字调相:
如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,它们应处于"同相"状态;如果其中一个开始得迟了一点,就可能不相同了。
如果一个达到正最大值时,另一个达到负最大值,则称为"反相"。
一般把信号振荡一次(一周)作为360度。
如果一个波比另一个波相差半个周期,我们说两个波的相位差180度,也就是反相。
当传输数字信号时,"1"码控制发0度相位,"0"码控制发180度相位。
载波的初始相位就有了移动,也就带上了信息。
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。
因此,2PSK信号的时域表达式为
(t)=Acos
t+
)
其中,
表示第n个符号的绝对相位:
=
因此,上式可以改写为
图22PSK信号波形
解调原理:
2PSK信号的解调方法是相干解调法。
由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。
下图2-3中给出了一种2PSK信号相干接收设备的原理框图。
图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。
判决器是按极性来判决的。
即正抽样值判为1,负抽样值判为0.
2PSK信号相干解调各点时间波形如图3所示.当恢复的相干载波产生180°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错.
图32PSK信号相干解调各点时间波形
这种现象通常称为"倒π"现象.由于在2PSK信号的载波恢复过程中存在着180°的相位模糊,所以2PSK信号的相干解调存在随机的"倒π"现象,从而使得2PSK方式在实际中很少采用.
3、实验设计框图
4、程序源代码
clearall;
closeall;
A=1;
fc=50;%2Hz;
N_sample=8/25;
N=500;%码元数
Ts=1;%1baud/s
dt=Ts/fc/N_sample;%波形采样间隔
t=0:
dt:
N*Ts-dt;
T=dt*length(t);
Lt=length(t);
%------------------产生二进制信源-------------------------
d=sign(randn(1,N));
dd=s2((d+1)/2,fc*N_sample);
gt=ones(1,fc*N_sample);%NRZ波形
figure
(1)
subplot(221);%输入NRZ信号波形(单极性)
d_NRZ=conv(dd,gt);
plot(t,d_NRZ(1:
length(t)));
axis([01001.2]);ylabel('输入信号');
subplot(222);%输入NRZ频谱
[f,d_NRZf]=s3(t,d_NRZ(1:
length(t)));
plot(f,10*log10(abs(d_NRZf).^2/T));
axis([-22-5010]);ylabel('输入信号功率谱密度(dB/Hz)');
%-----------------------2ASK信号--------------------------
ht=A*cos(2*pi*fc*t);
s_2ask=d_NRZ(1:
Lt).*ht;
subplot(223)
plot(t,s_2ask);
axis([010-1.21.2]);ylabel('2ASK');
[f,s_2askf]=s3(t,s_2ask);
subplot(224)
plot(f,10*log10(abs(s_2askf).^2/T));
axis([-fc-4fc+4-5010]);ylabel('2ASK功率谱密度(dB/Hz)');
figure
(2)
%------------------------2PSK信号-------------------
d_2psk=2*d_NRZ-1;
s_2psk=d_2psk(1:
Lt).*ht;
subplot(221)
plot(t,s_2psk);
axis([010-1.21.2]);ylabel('2PSK');
subplot(222)
[f,s_2pskf]=s3(t,s_2psk);
plot(f,10*log10(abs(s_2pskf).^2/T));
axis([-fc-4fc+4-5010]);ylabel('2PSK功率谱密度(dB/Hz)');
%----------------------2FSK------------------
%s_2fsk=Acos(2*pi*fc*t+int(2*d_NRZ-1));
sd_2fsk=2*d_NRZ-1;
s_2fsk=A*cos(2*pi*fc*t+2*pi*sd_2fsk(1:
length(t)).*t);
subplot(223)
plot(t,s_2fsk);
axis([010-1.21.2]);xlabel('t');ylabel('2FSK')
subplot(224)
[f,s_2fskf]=s3(t,s_2fsk);
plot(f,10*log10(abs(s_2fskf).^2/T));
axis([-fc-4fc+4-5010]);xlabel('f');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 仿真 实验 报告