通信原理MATLAB仿真Word下载.docx
- 文档编号:887633
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:27
- 大小:242.77KB
通信原理MATLAB仿真Word下载.docx
《通信原理MATLAB仿真Word下载.docx》由会员分享,可在线阅读,更多相关《通信原理MATLAB仿真Word下载.docx(27页珍藏版)》请在冰点文库上搜索。
2、了解计算机仿真的基本原理和方法,知道怎样通过仿真的方法去研究通信问题。
3、加深对通信原理课有关内容的理解。
.实验要求
1.正弦信号波形和频谱的仿真;
2.单极性归零(RZ)波形和其功率谱,占空比为50%的仿真;
3.升余弦滚降波形的眼图和其功率谱的仿真。
滚降系数为0.5。
发送码取值为0、2;
4.PCM编码和解码的仿真。
三.正弦信号波形和频谱仿真
(一)通信原理知识
(二)仿真原理和思路
MATLAB中关于傅里叶变换的有关函数,利用MATLAB提供的函数编写两个函数t2f和f2t。
t2f的功能是作傅氏变换,f2t的功能是作傅氏反变换,它们的引用格式分别为X=t2f(x)和x=f2t(X),其中x是时域信号
截短并采样所得的取样值矢量,X是对
的傅氏变换
截短并采样所得的取样值矢量。
(三)程序流程图
耳机插孔
EZ_PROBE座
(四)仿真程序和运行结果
主程序:
sinx.m
globaldtdfNtfT%全局变量
closeall
k=input('
取样点数=2^k,k=[10]'
);
ifk==[],k=10;
end
N=2^k;
%采样点数
dt=0.01;
%时域采样间隔
df=1/(N*dt);
%频域采样间隔
T=N*dt;
%截短时间
Bs=N*df/2;
%系统带宽
t=linspace(-T/2,T/2,N);
f=linspace(-Bs,Bs,N);
f0=1;
s=cos(2/3*pi*f0*t);
S=t2f(s);
a=f2t(S);
figure
(1)
set(1,'
position'
[10,50,500,200])%设定窗口位置和大小
figure
(2)
set(2,'
[350,50,500,200]);
%设定窗口位置和大小
as=abs(S);
%求模
plot(f,as,'
r-'
)
grid;
axis([-2*f0,+2*f0,min(as),max(as)]);
xlabel('
f(kHZ)'
ylabel('
S(f)(V/kHZ)'
plot(t,a,'
b-'
grid
axis([-4,+4,-1.5,1.5'
]);
xlabel(('
t(ms)'
));
s(t)(V)'
傅式变换程序:
t2f.m
functionX=t2f(x)
globaldtdfNtfT
%X=t2f(x)
%x为时域的取样值矢量
%X为x的傅氏变换
%X与x长度相同,并为2的整幂。
%本函数需要一个全局变量dt(时域取样间隔)
H=fft(x);
X=[H(N/2+1:
N),H(1:
N/2)].*dt;
End
傅式反变换程序:
f2t.m
functionx=f2t(X)
globaldtdftfTN
%x=f2t(X)
%X与x长度相同并为2的整幂
X=[X(N/2+1:
N),X(1:
N/2)];
x=ifft(X)/dt;
%x=[tmp(N/2+1:
N),tmp(1:
运行结果:
(五)实验结果分析
打开MATLAB运行程序sinx.m后窗口出现:
取样点数=2^k,k=[10]。
输入10后,画出正弦信号波形图以和频谱图。
通过傅里叶变换语句S=t2f(s)和傅里叶反变换语句a=f2t(S),得到正弦信号频谱并作图。
四.单极性归零(RZ)波形和其功率谱仿真
用矩形不归零脉冲作为发射波形(载波):
2PAM信号波形的幅度:
占空比:
采用归零(RZ)矩形脉冲波形的数字信号,可以用简单的方法信号矢量s。
设a是码元矢量,N是总取样点数,M是总码元数,L是每个码元内的点数,Rt是要求的占空比,dt是仿真系统的时域采样间隔,则RZ信号的产生方法是
s=zeros(1,N);
forii=1:
Rt/dt,s(ii+[0:
M-1]*L)=a;
end
任意信号
的功率谱的定义是
,其中
是
截短后的傅氏变换,
的能量谱,
在截短时间内的功率谱。
对于仿真系统,若x是时域取样值矢量,X是对应的傅氏变换,那么x的功率谱便为矢量P=(X.*conj(X))/T。
程序如下:
rz.m
globaldttdfN
closeall
取样点数=2^k,k=[14]'
ifk==[],k=14;
end
%采样点数
L=64;
%每码元的采样点数
M=N/L;
%码元数
Rb=2;
%码速率为2Mb/s
Ts=1/Rb;
%码元间隔
dt=Ts/L;
%时域采样间隔
Rt=0.5;
%占空比
%频域采样间隔
%截短时间
%时域横坐标
%系统带宽
%频域横坐标
EP=zeros(1,N);
forjj=1:
100
a=round(rand(1,M));
%产生M个取值0,1等概的随机码
s=zeros(1,N);
%产生一个N个元素的零序列
forii=1:
Rt*Ts/dt
s(ii+[0:
%产生单极性归零码
Q=t2f(s);
%付氏变换
P=Q.*conj(Q)/T;
%P为单极性归零码的功率
EP=(EP*(ii-1)+P)/ii;
%累计平均
aa=30+10*log10(EP+eps);
%加eps以避免除以零,标量eps相当于无穷小。
[10,50,500,200])%设定窗口位置和大小
[350,50,500,200])%设定窗口位置和大小
plot(f,aa,'
r'
f(MHZ)'
Ps(f)(MHZ)'
axis([-15,+15,-50,50])
plot(t,s,'
b'
)
axis([-10,10,-0.5,1.5])
grid
打开MATLAB运行程序rz.m后窗口出现:
取样点数=2^k,k=[14]。
输入14后,画出占空比为50%的单极性归零(RZ)码的波形图和其功率谱图。
本题通过rand(1,M)函数产生M个取值0,1等概的随机码,然后根据0.5占空比,生成单极性归零码。
最后对其傅里叶变换,用语句P=Q.*conj(Q)/T生成单极性归零码的功率。
五.升余弦滚降波形的眼图和功率谱密度仿真
接收二进制波形时,在一个码元周期Ts内只能看到一只眼睛;
若接收的是M进制波形,则在一个码元周期内可以看到纵向显示的(M-1)只眼睛;
另外,若扫描周期为nTs时,可以看到并排的n只眼睛。
升余弦滚降信号的基本脉冲波形为:
。
用
和
产生升余弦滚降信号。
通过运行此程序,我们可以观察到不同滚降系数时升余弦滚降信号的眼图和功率谱。
在通信原理的模型中,加入到升余弦滚降滤波器输入端的信号是冲激序列,而实际当中原始的数字信号一般是NRZ(不归零)信号,为了使升余弦滚降滤波器的输出仍为我们期望得到的信号,此时需要在滚降滤波器之前加入一个网孔均衡滤波器(如下图所示)
眼图是数字信号在示波器上重复扫描得到的显示图形。
若示波器的扫描范围是Na个码元,那么画眼图的方法是:
tt=[0:
dt:
Na*L*dt];
holdon
Na*L:
N-N*L
plot(tt,s(ii+[1:
Na*L]));
scosx.m
N=2^14;
%采样点数
L=32;
%每码元的采样点数
M=N/L%码元数
%码速率是2Mb/s
%码元间隔
df=1/(N*dt)%频域采样间隔
T=N*dt%截短时间
Bs=N*df/2%系统带宽
Na=4;
%示波器扫描宽度为4个码元
alpha=input('
滚降系数=[0.5]'
ifalpha==[],alpha=0.5;
t=[-T/2+dt/2:
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*2;
%升余弦脉冲波形
G=t2f(g);
figure
(2)
holdon
tinus'
s(t)inV'
EP=zeros(size(f))+eps;
a=sign(randn(1,M));
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;
plot(f,30+10*log10(EP),'
axis([-3,+3,-200,50])
f(MHz)'
Ps(f)(dBm/MHz)'
tt=[0:
N-Na*L
plot(tt,s(jj:
jj+Na*L));
打开MATLAB运行程序scosx.m后窗口出现:
M=512,df=0.0039,T=256,Bs=32滚降系数=[0.5]。
输入0.5后,画出升余弦滚降系数为0.5的波形的眼图和其功率谱密度图。
本题用
产生滚降系数为0.5的升余弦滚降信号。
然后对其进行傅里叶变换,得到功率谱密度与眼图。
六.PCM编码和解码仿真
PCM采用A律编码规则:
A律压扩特性曲线在(-1,+1)上,这种压扩特性可用13折线逼近。
注意:
本来是分成了16段,但0附近的4个线段斜率相同,可视为1条
对量化后的有限个取值进行编码,常见的二进制码:
自然码,折叠码,格雷码。
PCM中使用的是折叠码:
用第一位表示量化电平极性(正为1,负为0),后面几位表示信号量化电平绝对值的大小。
量化:
先用对数A律特性将量化范围分成16个段落(对数量化),在段落内则使用均匀量化(即将每个段落均匀分成16个小段)。
编码:
每个值用8比特进行量化。
将整个量化范围均分成8192等份,正负部分各4096份且相互对称。
下面以正极性部分进行说明:
段落0(000):
0-32份。
段内16小段,每小段2份
段落1(001):
32-64份。
段落2(010):
64-128份。
段内16小段,每小段4份
段落3(011):
128-256份。
段内16小段,每小段8份
段落4(100):
256-512份。
段内16小段,每小段16份
段落5(101):
512-1024份。
段内16小段,每小段32份
段落6(110):
1024-2048份。
段内16小段,每小段64份
段落7(111):
2048-4096份。
段内16小段,每小段128份
每小段的量化电平为该小段中点(均匀量化)
PCM编码原理:
在PCM中,对模拟信号进行抽样、量化,将量化的信号电平值转化为对应的二进制码组的过程称为编码,其逆过程称为译码或解码。
在PCM中使用的是折叠二进制码。
(1)折叠二进制码
从理论上看,任何一个可逆的二进制码组均可用于PCM。
目前最常见的二进制码组有三类:
二进制自然码(NBC)、折叠二进制码组(FBC)、格雷二进制码(RBC)。
表3-1列出三种码的编码规律。
表3-1二进制码型
电平序号
自然二进制码
折叠二进制码
格雷码
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
8
9
10
11
12
13
14
15
1000
1001
1010
1011
1100
1101
1110
1111
由表3-1可见,如果把16个量化级分成两部分:
0~7的8个量化级对于于负极性样值,8~15的8个量化级对应于正极性样值。
自然二进制码就是一般的十进制正整数的二进制表示。
如电平序号13用自然码表示就是
(3.3-3)
其中下标
表示是二进制数。
在折叠码中,左边第一位表示正负号(信号极性),第二位开始至最后一位表示信号幅度。
第一位用1表示正,用0表示负。
绝对值相同的折叠码,其码组除第一位外都相同,并且相对于零电平(第7电平和第8电平之间)呈对称折叠关系,因此这种码组形象地称为折叠码。
PCM编码规则:
电话语音信号的频带为300~3400Hz,抽样速率为8000Hz,对每个抽样值进行
律或者
律非均匀量化,在编码时每个样值用8位二进制码表示。
这样,每路标准话路的比特率为64kbps。
编码时是按照CCITT建议的PCM编码规则进行的。
在
律13折线编码中,正负方向共16个段落,在每一个段落内有16个均匀分布的量化电平,因此总的量化电平数
编码位数
,每个样值用8比特代码
~
来表示,分为三部分。
第一位
为极性码,用1和0分别表示信号的正、负极性。
第二到第四位码
为段落码,表示信号绝对值处于那个段落,3位码可表示8个段落,代表了8个段落的起始电平值。
上述编码方法是把非线性压缩、均匀量化、编码结合为一体的方法。
在上述方法中,虽然各段内的16个量化级是均匀的,但因段落长度不等,故不同段落间的量化间隔是不同的。
当输入信号小时,段落小,量化级间隔小;
当输入信号大时,段落大,量化级间隔大。
第一、二段最短,归一化长度为
,再将它等分16段,每一小段长度为
,这就是最小的量化级间隔
根据13折线的定义,以最小的量化级间隔
为最小计量单位,可以计算出13折线
律每个量化段的电平范围、起始电平
、段内码对应电平、各段落内量化间隔
具体计算结果如表3-2所示。
表3-213折线A律有关参数表
段落号i=1~8
电平范围
段落码
段落起始电平
量化间隔
段内码对应权值(
1024
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 原理 MATLAB 仿真