通信原理实验报告.docx

上传人:b****5 文档编号:11651041 上传时间:2023-03-29 格式:DOCX 页数:22 大小:560.22KB
下载 相关 举报
通信原理实验报告.docx_第1页
第1页 / 共22页
通信原理实验报告.docx_第2页
第2页 / 共22页
通信原理实验报告.docx_第3页
第3页 / 共22页
通信原理实验报告.docx_第4页
第4页 / 共22页
通信原理实验报告.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

通信原理实验报告.docx

《通信原理实验报告.docx》由会员分享,可在线阅读,更多相关《通信原理实验报告.docx(22页珍藏版)》请在冰豆网上搜索。

通信原理实验报告.docx

通信原理实验报告

实验内容

(一)数字基带传输系统的研究

1.单极性归零码波形的功率谱密度。

2.升余弦滚降波形的眼图及功率谱。

滚降系数

发送码元取值为0、2

3.

曲线,升余弦滚降

,取样时间的偏差是

4.

,升余弦滚降

,取样时间无偏差,但信道是多径信道

(二)自选题目:

1.2ASK调制与解调及功率谱

2.2FSK调制与解调及功率谱

3.2PSK调制与解调及功率谱

实验原理

(一)必做题

1.单极性归零码波形的功率谱密度。

用(a=round(rand(1,M))forjj=1:

Rt*Lrz(jj+(0:

M-1)*L)=a;end)来产生单极性归零码,然后再抽样,再求其功率铺。

由于信号的产生具有随机性,所以在此程序中多取几次生成函数并取其平均,这样不矢一般性

2.升余弦滚降波形的眼图及功率谱。

滚降系数

发送码元取值为0、2。

随机产生一定长度的,取值为0和2的冲激序列,间隔为Tb,然后通过升余弦滚降滤波器,生成适合信道传输的码元序列,再对其进行傅氏变换,通过多次去平均值求出功率谱,并画出眼图。

3.

曲线,升余弦滚降

,取样时间的偏差是

升余弦滚降滤波器的产生很简单,直接用公式计算就可以了。

为了得到最

佳传输系统,要求发送和接受滤波器互为共扼,这里忽略时延,直接取发送和接收滤波器为升余弦模值的开根号。

这里涉及到下列问题:

a)高斯噪声的产生:

函数randn(1,N)产生N个互不相关的、均值为零、方差为1的高斯随机数,所以可用它来产生白高斯噪声。

设仿真系统的取样点数是N,系统带宽为

,矢量x=n0*Bs*randn(1,N)的总功率为n0*Bs,最高频率分量为Bs,并且各样点的值互不相关,故它代表双边功率谱密度为

的白噪声。

b)

理论的误码率为Pe=1/2erfc(sqrt(eb_n0)).为得到实际的的误码率曲线,需要对接收信号进行误码计数。

接收信号为发送信号和随机噪声的和,所以接收侧要对它进行取样判决,一般取样时刻在码元的中心值,由于本题目的取样时间偏差为Ts/4,即取样时刻偏离中心Ts/4。

由于本题目采用双极性不归零序列,所以最佳判决门限是0,并用n_err=n_err+length(find(aa~=a));对接收码元进行误码计数

c)随机码序列的生成:

首先产生随机码a=sign(randn(1,M));然后是冲击序列imp=zeros(1,N);imp(L/2:

L:

N)=a/dt;然后得到频域函数IMP=t2f(imp);最后用s(t)=f2t(IMP.*H)得到发送序列s(t).

4.

,升余弦滚降

,取样时间无偏差,但信道是多径信道

除了在4)中需要考虑的问题外,主要是多径信道的表示C=1-0.5*exp(-j*(2*pi*f*tao))

(二)自选题目:

1.2ASK调制与解调及功率谱

调制过程:

解调过程:

用相关型解调器进行解调,使得在码元结束时刻输出信噪比最大。

2.2FSK调制与解调及功率谱

调制过程:

其中,s1(t)和s2(t)两信号波形之间的互相关系数应为0,Eb为平均比特能量即:

解调过程:

利用相关型解调器,实现最佳解调

3.2PSK调制与解调及功率谱

调制过程:

2PSK信号的表达式为:

解调过程:

采用相关型解调器,实现最佳解调

实验一单极性归零(RZ)波形的功率谱

实验源程序

%单极性归零码

%本程序中时间单位是微秒

%频率单位为MHz

%码元速率单位是Mb/s

globaldtdftfN

closeall

N=2^13;%采样点数

L=64;%每码元的采样点数

M=N/L%码元数

Rb=2;

Ts=0.5%码元宽度是0.5us

dt=Ts/L;

df=1/(N*dt)%MHz

Rt=0.5%占空比

T=N*dt%截短时间

Bs=N*df/2%系统带宽

t=[-T/2+dt/2:

dt:

T/2];%时域横坐标

f=[-Bs+df/2:

df:

Bs];%频域横坐标

figure

(1)

set(1,'Position',[10,50,400,200])

%设定窗口位置及大小

figure

(2)

set(2,'Position',[500,50,400,200])

%设定窗口位置及大小

EP=zeros(1,N);

forii=1:

100;

a=round(rand(1,M));

rn=zeros(1,N);

forii=1:

Rt*Ts/dt;%产生单极性rz

rn(ii+[0:

M-1]*L)=a;

end

RN=t2f(rn);

P=RN.*conj(RN)/T;

EP=(EP*(ii-1)+P)/ii;

figure

(1)

aa=30+10*log10(EP+eps);

plot(f,aa,'g');

grid

axis([-8,+8,-50,+50])

xlabel('f(MHZ)')

ylabel('Ps(f)(dBm/MHz)')

figure

(2)

plot(t,rn,'g')

grid

axis([-2,+10,-1.5,+1.5])

xlabel('t(us)')

ylabel('s(t)(v)')

end

实验波形

实验二升余弦滚降波形的眼图及功率谱

要求:

滚降系数α=0.5,发送码元取值为0、2。

实验源程序

%升余弦眼图及功率谱

%本程序中时间单位是微秒

%频率单位为MHz

%码速率单位是Mb/s

globaldttdfN

closeall

N=2^13;%采样点数

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=input('滚降系数=[0.5]');

ifisempty(alpha),alpha=0.5;end

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);

figure

(1)

set(1,'Position',[10,50,300,200])

%设定窗口位置及大小

figure

(2)

set(2,'Position',[400,50,300,200])

%设定窗口位置及大小

holdon

grid

xlabel('tinus')

ylabel('s(t)inV')

EP=zeros(size(f))+eps;

forii=1:

100

a=sign(randn(1,M))+1;%产生值为0,2的发送信号

imp=zeros(1,N);%产生冲激序列

imp(L/2:

L:

N)=a/dt;

S=t2f(imp).*G;%升余弦信号的傅氏变换

s=f2t(t2f(imp).*G);%升余弦信号的时域波形

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,-50,50])

xlabel('f(MHz)')

ylabel('Ps(f)(dBm/MHz)')

figure

(2)%生成眼图

tt=[0:

dt:

Na*L*dt];

forjj=1:

Na*L:

N-Na*L

plot(tt,s(jj:

jj+Na*L));

end

end

实验波形

实验三Pe~Eb/N0曲线

要求:

升余弦滚降α=0.5,取样时间的偏差是Ts/4

实验源程序

globaldttfdfNT

closeall

clearEb_N0Pe

N=2^13;%采样点数

L=4;%每码元的采样点数

M=N/L%码元数

Rb=2;%码速率是2Mb/s

Ts=1/Rb;%码元间隔

dt=Ts/L;%时域采样间隔

df=1/(N*dt)%频域采样间隔

T=N*dt%截短时间

Bs=N*df/2%系统带宽

alpha=0.5%滚降系数

t=linspace(-T/2,T/2,N);%时域横坐标

f=linspace(-Bs,Bs,N)+eps;%频域横坐标

figure

(1)

set(1,'Position',[10,50,400,300])

%设定窗口位置及大小

%升余弦

hr1=sin(pi*t/Ts)./(pi*t/Ts);

hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);

hr=hr1.*hr2;

HR=abs(t2f(hr));

%取模是为了忽略时延

GT=sqrt(HR);

GR=GT;

forloop1=1:

20

Eb_N0(loop1)=(loop1-1)%Eb/N0indB

eb_n0(loop1)=10^(Eb_N0(loop1)/10);

Eb=1;

n0=Eb/eb_n0(loop1);%信道的噪声谱密度

sita=n0*Bs;%信道中噪声功率

n_err=0;%误码计数

forloop2=1:

3

a=sign(randn(1,M));

imp=zeros(1,N);%产生冲激序列(发送码元)

imp(1+L/4:

L:

N)=a/dt;

IMP=t2f(imp);

n_ch=sqrt(sita)*randn(size(t));%信道噪声

nr=real(f2t(t2f(n_ch).*GR));%输出噪声

sr=real(f2t(IMP.*HR))+nr;%接收信号(s(t)=g(t)+n(t))

y=sr(L/2:

L:

N);%取样

aa=sign(y);%判决

n_err=n_err+length(find(aa~=a))

end

Pe(loop1)=n_err/(M*loop2)%误码率Pe=n_err/(M*loop2)(总的误码数除以总的码元数)

figure

(1)

semilogy(Eb_N0,Pe,'g');

eb_n0=10.^(Eb_N0/10);

holdon

semilogy(Eb_N0,0.5*erfc(sqrt(eb_n0)));

axis([0,10,1e-4,1])

xlabel('Eb/N0')

ylabel('Pe')

end

end

实验波形

 

实验四Pe~Eb/N0曲线

要求:

升余弦滚降α=0.5,取样时间无偏差,多径信道,C(f)=|1-0.5e^(-j2πfτ)|,τ=Ts/2

实验源程序

%多径传输

globaldttfdfNT

closeall

clearEb_N0Pe

N=2^13;%采样点数

L=8;%每码元的采样点数

M=N/L%码元数

Rb=2;%码速率是2Mb/s

Ts=1/Rb;%码元间隔

dt=Ts/L;%时域采样间隔

df=1/(N*dt);%频域采样间隔

T=N*dt;%截短时间

Bs=N*df/2;%系统带宽

alpha=0.5;%滚降系数

tao=Ts/2;

T=N*dt;

 

t=linspace(-T/2,T/2,N);%时域横坐标

f=linspace(-Bs,Bs,N)+eps;%频域横坐标

figure

(1)

set(1,'Position',[10,50,400,300])

%设定窗口位置及大小

%升余弦

hr1=sin(pi*t/Ts)./(pi*t/Ts);

hr2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).^2);

hr=hr1.*hr2;

HR=abs(t2f(hr));

GT=sqrt(HR);

GR=GT;

forloop1=1:

10

Eb_N0(loop1)=(loop1-1)%Eb/N0indB

eb_n0(loop1)=10^(Eb_N0(loop1)/10);

Eb=1;

n0=Eb/eb_n0(loop1);%信道的噪声谱密度

sita=n0*Bs;%信道中噪声功率

n_err=0;%误码计数

forloop2=1:

30

a=sign(randn(1,M));

imp=zeros(1,N);%产生冲激序列(发送码元)

imp(L/2:

L:

N)=a/dt;

IMP=t2f(imp);

n_ch=sqrt(sita)*randn(size(t));%信道噪声

nr=real(f2t(t2f(n_ch).*GR));%输出噪声

C=abs(1-0.5*exp(-j*pi*f*tao));

H=C.*HR;

sr=real(f2t(IMP.*H))+nr;%接收信号(s(t)=g(t)+n(t))

y=sr(L/2:

L:

N);%取样

aa=sign(y);%判决

n_err=n_err+length(find(aa~=a))

end

Pe(loop1)=n_err/(M*loop2)%误码率Pe=n_err/(M*loop2)(总的误码数除以总的码元数)

figure

(1)

semilogy(Eb_N0,Pe,'g');

eb_n0=10.^(Eb_N0/10);

holdon

semilogy(Eb_N0,0.5*erfc(sqrt(eb_n0)));

axis([0,10,1e-4,1])

xlabel('Eb/N0')

ylabel('Pe')

end

end

实验波形

选做实验一2ASK

实验源程序

%ASK调制与解调及其功率谱

globaltdtNT

closeall

t=0:

0.001:

1;%取样范围

dt=0.001;%时域取样间隔

N=1001;%抽样点总数

T=1;%截短时间

y=cos(400*pi*t);%高频载波

x=[ones(1,100),zeros(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,100),ones(1,100),ones(1,100),ones(1,101)];%基带信号

z=y.*x;%调制

Z=fft(z);

Z=[Z((1000/2+1):

1001),Z(1:

500)]*0.001;

p=(Z.*conj(Z))/10;%功率谱

r=y.*z;%相干解调

f=linspace(-500,500,1001);

subplot(2,1,1)

plot(f,p)

title('ASK的功率普密度');

subplot(2,1,2)

plot(t,z)

title('已调信号');

pause;

subplot(3,1,1)

plot(t,r)

title('相干解调后的信号');

r_f=T2F(r);

subplot(3,1,2)

plot(f,abs(r_f));

pause;

r_f([1:

300])=0;

r_f([700:

1001])=0;

r_new=F2T(r_f);

subplot(3,1,3)

plot(t,abs(r_new))

title('低通滤波后的信号');

实验波形

选做实验一2FSK

实验源程序

globaltdtfdtN

closeall

clearall

t=0:

0.001:

1;%取样范围

dt=0.001;%时域取样间隔

fs=1/dt;%频域取样间隔

Bs=fs/2;%系统带宽

df=fs/1001;

f=[-Bs+df/2:

df:

Bs];

N=1001;%抽样点总数

T=1;%截短时间

y=cos(50*pi*t);%载波1为25Hz,载波2为325Hz

x=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100),zeros(1,100),zeros(1,100),ones(1,100),zeros(1,100),ones(1,100),zeros(1,101)];

z=cos(t.*(50*pi+600*x));

Z=T2F(z);

p=(Z.*conj(Z))/T;%功率谱

f=linspace(-500,500,1001);

subplot(2,1,1)

plot(f,p)

title('FSK的功率普密度');

subplot(2,1,2)

plot(t,z)

title('已调信号');

pause;

r=y.*z;%相干解调

subplot(3,1,1)

plot(t,r)

title('解调后的信号');

r_f=T2F(r);

subplot(3,1,2)

plot(f,abs(r_f));

fp=35;

kc=fp/fs*N;

r_f(1:

(500-kc))=0;%带通滤波

r_f((500+kc):

1001)=0;

r_new=ifft(ifftshift(r_f));

subplot(3,1,3)

plot(t,real(r_new));

实验波形

选做实验一2PSK

实验源程序

globaltdtfdtN

closeall

clearall

t=0:

0.001:

1;%取样范围

dt=0.001;%时域取样间隔

N=1001;%抽样点总数

T=1;%截短时间

y=cos(200*pi*t);%高频载波

x=[ones(1,100),-1.*ones(1,100),ones(1,100),ones(1,100),-1.*ones(1,100),-1.*ones(1,100),ones(1,100),-1.*ones(1,100),ones(1,100),-1.*ones(1,101)];%基带信号

z=y.*x;

Z=T2F(z);

p=(Z.*conj(Z))/T;%功率谱

f=linspace(-500,500,1001);

subplot(2,1,1)

plot(f,p)

title('PSK的功率普密度');

subplot(2,1,2)

plot(t,z)

title('已调信号');

pause;

r=y.*z;%相干解调

subplot(3,1,1)

plot(t,r)

title('解调后的信号');

r_f=fft(r);

subplot(3,1,2)

plot(f,abs(r_f));

r_f(100:

1001)=0;

r_new=ifft(r_f);

subplot(3,1,3)

plot(t,real(r_new));

 

实验波形

实验心得

这次实验是我第一次接触到matlab软件,以前也接触过一些类似的,所以学起来很快就上手了。

相比其他的设计软件,matlab更像是一个强大的数学工具。

这次实验中,我觉得主要的原理都是通信原理课本上的,我们只是借助电脑,用matlab把他们在数学上实现出来。

实验一求算单极性归零码的功率谱密度。

在实现上我采用了对0到1上均匀分布的数组四舍五入,这样就能够得到一组等概出现的0和1,通过对单位码元前半段赋值得到归零码。

后来经过思考,我发现,对一组正态分布的数取符号函数就可以得到一组等概的1、-1。

对单位码元整段赋值就能够得到不归零码。

这样单(双)(不)归零码就都可以实现了。

其余的实验均为结合通信原理书上的数学公式,使用matlab实现。

在自选实验中我选的单双边带的调制与解调,老师所给的LPF低通滤波器我不是看的太懂。

我用sinc函数的进行复利叶变换作了低通,但实现的时候解调出来的信号没有失真,但是幅度小很多,需要通过最后增大幅度实现。

这次实验做完之后收获很多,一是又学会了一样有力的工具的使用,二是学会了把模拟信号数字实现的方法。

感谢实验中心和老师为我们提供了这样一次颇具收获的好机会。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1