北邮通原软件报告.docx
《北邮通原软件报告.docx》由会员分享,可在线阅读,更多相关《北邮通原软件报告.docx(45页珍藏版)》请在冰豆网上搜索。
北邮通原软件报告
信息与通信工程学院
通信原理软件实验报告
班级:
2011211106
姓名:
吴淳
学号:
2011210180
班内序号:
27
日期:
2013年12
实验一调幅信号波形频谱仿真
一、实验题目
假设基带信号为
,载波频率为
,请仿真出AM、DSB-SC、SSB信号,观察已调信号的波形及频谱。
二、基本原理
1、具有离散大载波的双边带幅度调制信号AM
对于单音频信号:
,进行AM调制的结果为:
其中调幅系数
,要求
以免过调引起包络失真。
如下图:
图1.1AM调幅图
由
和
分别表示AM信号波形包络最大值和最小值,则AM信号的调幅系数为:
。
2、双边带抑制载波调幅(DSB—SCAM)信号的产生
DSB信号的时域表达式为:
频域表达式为:
若调制信号m(t)是确定的,其相应的傅立叶频谱为M(f),载波信号c(t)的傅立叶频谱是C(f),调制信号s(t)的傅立叶频谱S(f)由M(f)和C(f)相卷积得到,因此经过调制之后,基带信号的频谱被搬移到了载频fc处,若模拟基带信号带宽为W,则调制信号带宽为2W,并且频谱中不含有离散的载频分量,只是由于模拟基带信号的频谱成分中不含离散的直流分量。
3、单边带调幅SSB信号
SSB信号只发送单边带,比DSB节省一半带宽,其表达式为:
其表达式:
或
其频谱图为:
图1.2单边带调幅图
三、仿真思路
定义时域采样率、截短时间和采样点数,可得到载波和调制信号,写出各调制信号表达式,由此可以画出时域波形图。
另外,对时域信号进行FFT变换,此处使用预先定义的t2f.m函数替代,进行傅立叶变换,即得到频谱。
四、程序框图
图1.3程序框图
五、仿真源代码
1.原信号及调制信号
clearall
closeall
%-----------初始化参数设置-----------------------------
fs=800;%采样速率KHZ
T=200;%截短时间ms
N=T*fs;%采样点数
dt=1/fs;%时域采样间隔
t=[-T/2:
dt:
T/2-dt];%时域采样点
df=1/T;%频域采样间隔
f=[-fs/2:
df:
fs/2-df];%频域采样点
a=0.6;%调幅系数
fm1=1;%待观测正弦波频率,单位KHz
fm2=0.5;%待观测余弦波频率,单位KHz
fc=20;%载波频率,单位KHz
%------------波形变换-------------------
m1=sin((2*pi)*fm1*t);%待观测正弦波部分
M1=t2f(m1,fs);%傅里叶变换
MH1=-i*sign(f).*M1;%希尔伯特变换
mh1=real(f2t(MH1,fs));%希尔伯特反变换
m2=2*cos((2*pi)*fm2*t);%待观测余弦波部分
M2=t2f(m2,fs);%傅里叶变换
MH2=-i*sign(f).*M2;%希尔伯特变换
mh2=real(f2t(MH2,fs));%希尔伯特反变换
s1=(1+a*(m1+m2)/abs(max(m1+m2))).*cos((2*pi)*fc*t);%AM信号时域表达式
S1=t2f(s1,fs);%AM信号频域表达式
s2=(m1+m2).*cos((2*pi)*fc*t);%DSB-SC信号时域表达式
S2=t2f(s2,fs);%DSB-SC信号频域表达式
s3=(m1+m2).*cos(2*pi*fc*t)-(mh1+mh2).*sin(2*pi*fc*t);%SSB信号时域表达式
S3=t2f(s3,fs);%SSB信号上边带频域表达式
%-----------绘图-----------------------
%AM信号
figure
(1)
subplot(2,1,1)
plot(f,abs(S1))
title('AM信号频谱')
xlabel('f')
ylabel('S(f)')
axis([-25,25,0,max(abs(S1))]);
subplot(2,1,2)
plot(t,s1)
title('AM信号波形')
xlabel('t')
ylabel('s(t)')
axis([-3,3,-2,2]);
%DSB-SC信号
figure
(2)
subplot(2,1,1)
plot(f,abs(S2))
title('DSB-SC信号频谱')
xlabel('f')
ylabel('S(f)')
axis([-25,25,0,max(abs(S2))]);
subplot(2,1,2)
plot(t,s2)
title('DSB-SC信号波形')
xlabel('t')
ylabel('s(t)')
axis([-1,4,-3,3]);
%SSB信号上边带
figure(3)
subplot(2,1,1)
plot(f,abs(S3))
title('SSB信号频谱')
xlabel('f')
ylabel('S(f)')
axis([-25,25,0,max(abs(S3))])
subplot(2,1,2)
plot(t,s3)
title('SSB信号波形')
xlabel('t')
ylabel('s(t)')
axis([0,6,-4,4])
2.t2f.m函数代码
%傅里叶正变换
functionS=t2f(s,fs)%s代表输入信号,S代表s的频谱,fs是采样率
N=length(s);%总样点数
T=1/fs*N;%观察时间
f=[-N/2:
(N/2-1)]/T;%频率采样点
tmp1=fft(s)/fs;
tmp2=N*ifft(s)/fs;
S(1:
N/2)=tmp2(N/2+1:
-1:
2);
S(N/2+1:
N)=tmp1(1:
N/2);
S=S.*exp(j*pi*f*T);
End
3.t2f.m函数代码:
%傅里叶反变换
functions=f2t(S,fs)
N=length(S);
T=N/fs;
t=[-T/2:
1/fs:
(T/2-1/fs)];%时域采样点
tmp1=fft(S)/T;
tmp2=N*ifft(S)/T;
s(1:
N/2)=tmp1(N/2+1:
-1:
2);
s(N/2+1:
N)=tmp2(1:
N/2);
s=s.*exp(-j*pi*t*fs);
end
六、实验结果及分析
图1.4仿真AM波形和频谱图
从仿真的结果看出,AM调制系数定义为
时信号包络清晰,包络已绘出,可利用包络检波恢复原信号,接收设备较为简单。
此外,其频谱含有离散大载波,从理论分析可知,此载波占用了较多发送功率,使得发送设备功耗较大。
图1.5仿真DSB-SC波形和频谱图
其时域波形有相位翻转,频谱不含离散大载波。
必须使用相干解调,可用多种方法提取载波,常用方式为在发端加入离散导频分量,在收端利用调谐于载频
的窄带滤波器滤出导频分量。
图1.6仿真SSB波形和频谱图
SSB信号比DSB信号节省一半带宽,适合于语声信号的调制。
解调时可采用相干解调或者在发端加入离散大载波进行包络检波。
七、遇到问题及解决方法
开始时对于信道仿真原理不清楚,很多地方不知道如何去做,即使是很简单的时域波形输出,也要做一定的处理,要进行时域的采样。
在参考了老师提供的参考资料后,对于基本的通信变换有了基本的了解。
实验二调频信号波形频谱仿真
一、实验题目
假设基带信号
,载波频率为40kHz,仿真产生FM信号,观察波形与频谱,并与卡松公式做对照。
FM的频率偏移常数为5kHz/V。
二、基本原理
调频信号表达式为:
单频调制信号包括无穷多频率分量,实际应用中,运用等效带宽这个概念。
定义为:
包含98%或者99%的已调信号总功率的带宽,根据卡松公式有:
。
三、仿真思路
定义仿真参数,得到载波信号和调制信号。
根据
可得到频偏,写出FM信号的表达式进行仿真计算。
四、程序框图
图2.1程序框图
五、仿真源代码
clearall
closeall
fs=800;%采样速率KHZ
T=16;%截短时间ms
N=T*fs;%采样点数
dt=1/fs;%时域采样间隔
t=-T/2:
dt:
T/2-dt;%时域采样点
df=1/T;%频域采样间隔
f=-fs/2:
df:
fs/2-df;%频域采样点
fm1=1;%kHz
fm2=0.5;%kHz
fm3=0.25;%kHz
fc=40;%载波频率,单位KHz
m=sin(2*pi*fm1*t)+2*cos(2*pi*fm2*t)+4*sin(2*pi*fm3*t+pi/3);
%基带信号时域表达式
c=cos(2*pi*fc*t);%载波信号时域表达式
Kf=5;%调频系数kHz/V
phi=2*pi*Kf*cumsum(m)*dt;
s=cos(2*pi*fc*t+phi);%FM信号时域表达式
S=t2f(s,fs);%FM信号频域表达式
%-----------绘图-----------------------
%AM信号
figure
(1)
subplot(2,1,1)
plot(f,abs(S))
title('FM信号频谱')
xlabel('f')
ylabel('S(f)')
axis([-60,60,0,max(abs(S))]);
subplot(2,1,2)
plot(t,s)
title('FM信号波形')
xlabel('t/s')
ylabel('s(t)')
axis([-1.5,1.5,-2,2]);
六、实验结果及分析
如图2.2为仿真FM信号波形及频谱图,最大频偏5kHz/V。
图2.2仿真FM信号波形
图2.3m(t)仿真波形
由图2.2可知max(m(t))=6.481,图2.3知信号带宽fm=1KHz,且Kf=5KHz/V,由卡松公式计算得带宽理论值为:
=2*(5*6.481+1)=66.810kHz。
仿真与理论计算值基本相符。
验证了卡松公式的有效性。
七、遇到问题及解决方法
这个实验总体来说比较简单,过程也不复杂。
但是在绘制FM信号波形时,开始时选取的横坐标坐标值范围比较小,导致画出的调频图调频效果不明显,后来增大了横坐标坐标值范围,增加到-1.5到1.5,基本可以看出来是调频波了,波形随着调制信号的大小而变密或变疏。
实验三单双极性归零码波形及功率谱仿真
一、实验题目
通过仿真测量占空比为25%、50%、75%以及100%的单双极性归零码波形及其功率谱。
二、基本原理
1、单极性归零码
当发
码时,发出正电流,但持续时间短于一个码元的时间宽度,即发出一个窄脉冲;当发
码时,仍然不发送电流。
单极性归零码在符号等概出现且互不相关的情况下,功率谱主瓣宽度为
,其频谱含有连续谱、直流分量、离散始终分量及其奇次谐波分量。
2、双极性归零码
其中
码发正的窄脉冲,
码发负的窄脉冲,两个码元的时间间隔可以大于每一个窄脉冲的宽度,取样时间是对准脉冲的中心。
双极性归零码在符号等概且不相关的情况下,功率谱仅含有连续谱,其主瓣宽度为
。
3、各种码的比较
不归零码(NoneReturnZeroCode)在传输中难以确定一位的结束和另一位的开始,需要用某种方法使发送器和接收器之间进行定时或同步。
归零码(NoneReturnZeroCode)的脉冲较窄,根据脉冲宽度与传输频带宽度成反比的关系,因而归零码在信道上占用的频带较宽。
单极性码会积累直流分量;双极性码的直流分量大大减少,这对数据传输是很有利的。
三、仿真思路
1、产生RZ码
采用归零矩形脉冲波形的数字信号,可以用以下方法产生信号矢量
。
设
是码元矢量,N是总取样点数,M是总码元数,L是每个码元内的点数,
是要求的占空比,
是仿真系统的时域采样间隔,则RZ信号的产生方法是
2、仿真功率谱密度
任意信号
的功率谱的定义是
。
其中
是
截短后的傅氏变换,
是
的能量谱,
是
在截短时间内的功率谱。
对于仿真系统,若
是时域取样值矢量,X是对应的傅氏变换,那么
的功率谱便为
。
针对随机过程
,其平均功率谱密度定义为各样本功率谱密度的数学期望
3、仿真图
由于需要作出的图形较多,且图形间需要对比,故采用了两种视图进行绘图,一是各个占空比的RZ码波形图和其功率谱进行横向对比,二是分别作出各占空比下的单双极性归零码波形,以便于观察。
另外,各个占空比的RZ码波形和其频谱变换后的结果使用多行的矩阵进行存储,方便最后作图,因而代码显得有些冗余。
可改用定义函数,输入参数的方式给出不同占空比下的计算与绘图。
四、程序框图
图3.1程序框图
五、仿真源代码
clearall
closeall
L=64;%每个码元间隔内的采样点
N=1024;%总采样点
M=N/L;%总码元数
Rs=10;%码元速率kbit/s
Ts=1/Rs;%码元间隔
fs=L/Ts;%采样速率(时间分辨率)
T=N/fs;%截短时间
Bs=fs/2;%系统带宽
df=1/T;%频率分辨率
t=[-(T/2):
1/fs:
(T/2-1/fs)];%时域采样点
f=[-Bs:
df:
Bs-df];%频域采样点
a=(randn(1,M)>0);%产生随机码
tmp=zeros(L,M);%产生L*M的全零矩阵
tmp1=zeros(L,M);%产生L*M的全零矩阵
duty=[0.25,0.5,0.75,1];
name=['25%','50%','75%','100%'];
count=1;
fori=1:
4
L1=L.*duty(i);
tmp([1:
L1],:
)=ones(L1,1)*a;
s=tmp(:
)';%单极性
a1=2*a-1;
tmp1([1:
L1],:
)=ones(L1,1)*a1;
s1=tmp1(:
)';%双极性
figure(i)
%单极性波形
subplot(2,2,1);plot(t,s);gridon;axis([-0.8,0.8,-1.5,1.5]);
title(strcat('占空比',name([count:
count+2]),'的单极性NRZ'));xlabel('t');ylabel('s(t)')
%双极性波形
subplot(2,2,2);plot(t,s1);gridon;axis([-0.8,0.8,-1.5,1.5]);
title(strcat('占空比',name([count:
count+2]),'的双极性NRZ'));xlabel('t');ylabel('s1(t)')
%单极性频谱
EP1=zeros(1,N);%创建一行N列0矩阵
forloop=1:
2000;%产生数据数列
b=(randn(1,M)>0);%产生随机码
tmp=zeros(L,M);%产生L*M的全零矩阵
L1=L.*duty(i);
tmp([1:
L1],:
)=ones(L1,1)*b;
s=tmp(:
)';
S=t2f(s,fs);
P=abs(S).^2/T;
EP1=EP1*(1-1/loop)+P/loop;
end
EP11=10*log10(EP1);
subplot(2,2,3),plot(f,EP11),gridon,axis([-100,100,-80,0]),
title(strcat('占空比',name([count:
count+2]),'单极性RZ的功率谱')),xlabel('f(kHz)'),ylabel('P(f)(db)')
%双极性频谱
EP2=zeros(1,N);%创建一行N列0矩阵
forloop=1:
2000;%产生数据数列
b1=(randn(1,M)>0);%产生随机码
b1=2*b1-1;
tmp1=zeros(L,M);%产生L*M的全零矩阵
tmp([1:
L1],:
)=ones(L1,1)*b1;
s1=tmp(:
)';
S1=t2f(s1,fs);
P1=abs(S1).^2/T;
EP2=EP2*(1-1/loop)+P1/loop;
end
EP22=10*log10(EP2);
subplot(2,2,4),plot(f,EP22),gridon,axis([-100,100,-80,0]),
title(strcat('占空比',name([count:
count+2]),'双极性RZ的功率谱')),xlabel('f(kHz)'),ylabel('P1(f)(db)')
count=count+3;
end
六、实验结果及分析
从仿真图3.1和3.2可以清楚地看到,仿真结果与原理部分介绍的波形和功率谱相吻合。
图3.2不同占空比归零码波形和功率谱图
单极性码含离散分量,双极性码不含。
由于符号等概且不相关时,双极性码均值为零,即不含直流成分。
从仿真结果还可以看出,单极性和双极性归零码功率谱的主瓣宽度都随占空比增大而减小,对于25%、50%、75%、100%的占空比的带宽分别对应为码元速率B的4倍、2倍、1.33倍和1倍。
七、遇到问题及解决方法
实验过程中,开始时得到的功率谱密度和书本中的差别很大,仔细检查了好几遍也没发现有什么问题,和同学讨论也没发现。
后来突然间才发现是纵坐标的不同所导致的,书本上的很多图纵坐标的单位都是DB,对纵坐标取10*log10(EP),最终得到了合适的图形。
实验四根升余弦滚降功率谱密度及眼图仿真
一、实验题目
仿真测量滚降系数为
的根升余弦滚降系统的发送功率谱密度及眼图。
二、基本原理
1、升余弦滚降
数字信号在传输过程中受到叠加干扰与噪声,从而出现波形失真。
奈奎斯特第一准则是抽样点无失真准则,或无码间串扰(ISIFree)准则,是关于接收机不产生码间串扰的接收脉冲形状问题。
对于基带传输系统,要到达无码间串扰,系统传输函数H(f)是单边带宽为1/2T的矩形函数(理想奈奎斯特滤波器),其时域波形为h(t)=sinc(t/T),称为理想奈奎斯特脉冲成形。
理想奈奎斯特滤波系统(保证无码间串扰)的传输函数形状为矩形,其脉冲响应为无限长,显然该脉冲成形滤波器在物理上是不可实现的,只能近似,称为奈奎斯特滤波器和奈奎斯特脉冲。
奈奎斯特滤波器的频率传输函数可以表示为矩形函数和任意一个
因此,奈奎斯特滤波器以及相应的奈奎斯特脉冲为无穷多个,其中,常用的是升余弦成形滤波器,其中α称为滚降系数。
当α=0时,就是理想奈奎斯特滤波器,此时的传输带宽是理想奈奎斯特滤波器的最小带宽,但当α>0时,系统传输带宽就超过了奈奎斯特最小带宽,这时码率速率Rs就小于小于2倍带宽。
当
取一般值时,余弦滚降传输特性
可表示为
它所对应的冲激响应为
2、眼图
实际通信系统中,数字信号经过非理想的传输系统产生畸变,总是在不同程度上存在码间干扰的,系统性能很难进行定量的分析,常常甚至得不到近似结果。
而眼图可以直观地估价系统码间干扰和噪声的影响,是常用的测试手段。
眼图分析中常用结论:
(1)最佳取样时刻应选择在眼睛张开最大的时刻;
(2)眼睛闭合的速率,即眼图斜边的斜率,表示系统对定时误差灵敏的程度,斜边愈陡,对定位误差愈敏感;
(3)在取样时刻上,阴影区的垂直宽度表示最大信号失真量;
(4)在取样时刻上,上下两阴影区的间隔垂直距离之半是最小噪声容限,噪声瞬时值超过它就有可能发生错误判决;
(5)阴影区与横轴相交的区间表示零点位置变动范围,它对于从信号平均零点位置提取定时信息的解调器有重要影响。
三、仿真思路
本仿真实验中首先产生随机序列,然后让序列经过升余弦滤波器,从而可以计算功率谱密度,并由傅里叶反变换得到时域波形,作出眼图。
功率谱的仿真计算方法为
的功率谱:
。
眼图是利用Matlab自带的画眼图的函数eyediagram()进行绘图。
四、程序框图
图4.1程序框图
五、仿真源代码
clearall
closeall
N=2^13;%采样点数
L=16;%每码元的采样点数
M=N/L;%码元数
Rs=2;%码元速率
Ts=1/Rs;%比特间隔
fs=L/Ts;%采样速率
Bs=fs/2;%系统带宽
T=N/fs;%截短时间
t=-T/2+[0:
N-1]/fs;%时域采样点
f=-Bs+[0:
N-1]/T;%频域采样点
alpha=0.25;%升余弦滚降系数
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;
%根升余弦特性
Hrcos=sqrt(Hcos);
EP=zeros(1,N);
forloop=1:
2000
%产生数据序列
a=sign(randn(1,M));
%产生PAM信号
s1=zeros(1,N);
s1(1:
L:
N)=a*fs;%冲激序列
S1=t2f(s1,fs);
S2=S1.*Hrcos;
s2=real(f2t(S2,fs));%发送的PAM信号
P=abs(S2).^2/T;
EP=EP*(1-1/loop)+P/loop;%累积平均
ifrem(loop,100)==0
fprintf('\n%d',loop)
end
end
%信道
N0=0.01;
nw=sqrt(N0*Bs)*randn(1,N);%白高斯噪声
r=s2+nw;%接收信号
R=t2f(r,fs);
Y=R.*Hrcos;%匹配滤波
y=real(f2t(Y,fs));%采样前的信号
plot(f,EP)
xlabel('f(kHz)')
ylabel('功率谱(W/kHz)')
axis([-2,2,0,max(EP)])
grid
eyediagram(y,3*L,3,9);
六、实验结果及分析
图4.2升余弦滚降系统功率谱仿真图
由升余弦滚