现代通信系统仿真技术实验指导书(DOC)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连海洋大学自编教材
现代通信系统仿真技术
实验指导书
李春晖主编
王化群审
大连海洋大学
二○一○年
目录
实验一均匀PCM (1)
实验二非均匀PCM (4)
实验三开关信号仿真 (8)
实验四多幅度信号仿真 (10)
实验五 PAM仿真 (12)
实验六正交信号仿真 (15)
实验七 FSK信号 (19)
实验八二进制FSK仿真 (22)
实验一 均匀PCM
一、实验目的
脉冲编码调制(PCM )用于在数字传输媒体上传送模拟信号,在 PCM 中,首先对模拟信号以高于其带宽两倍的奈奎斯特率进行采样,然后对所得样本进行量化。
采用不同量化级别生成的 PCM 编码会影响接收器重建模拟信号的质量。
此程序设计练习将有助于观察和分析 PCM 不同量化级别的量化噪声(也称量化误差,定义为输入值与量化值之间的差),使学生对 PCM 有更深入的理解。
二、实验原理
在均匀 PCM 中,长度为 2x 的区间[]max max ,x x -+被划分为 N 个相等的子区间,每个子区间长度为max 2x N ∆=。
如果 N 足够大,那么在每一个子区间内输入的密度函数就能认为是均匀的,产生的失真为
212D =∆(这里不加证明)。
如果 N 是 2 的幂次,即 2N υ=,那么就要求用比特来表示每个量化电平。
这就意味着,如果模拟信号的带宽为 W ,采样又是在奈奎斯特采样频率下完成的,则传输 PCM 信号所要求的带宽至少是W υ(实际1.5W υ比较接近实际)。
此时失真由下式给出:
222max max 212334x x D N υ
∆===⨯ (1.1) 如果模拟信号的功率表示为2
X ,则信号/量化噪声的比(SQNR )由下式给出:
222222max max 33434X X SQNR N X x x υυ==⨯=⨯ (1.2) 式中X 表示归一化输入,定义为:
max
X X x =
(1.3) 以分贝计量的 SQNR 为:
2
4.86dB SQNR X υ≈++ (1.4)
量化以后,用υ比特对这些已量化的电平中的每一个进行编码,编码方法通常使用自然二进制码(NBC ),最低电平映射为全 0 序列,最高电平映射为全 1 序列,其余全部电平按已量化值的递增次序映射。
三、实验仪器
一台安装了windows 或unix 环境下matlab 软件的计算机。
四、实验步骤
下面给出 MATLAB 函数u_pcm (a, n),其文件名为 u_pcm.m 。
该函数以样本序列和要求的量化电平数作为输入参数,求得已量化序列 a_quan ,编码序列 code ,以及SQNR 。
function[sqnr,a_quan,code]=u_pcm(a,n)
amax=max(abs(a));
a_quan=a/amax;
b_quan=a_quan;
d=2/n;
q=d.*[0:n-1];
q=q-((n-1)/2)*d;
for i=1:n
a_quan(find((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2)))=...
q(i).*ones(1,length(find((q(i)-d/2<=a_quan)&(a_quan<=q(i)+d/2))));
b_quan(find(a_quan==q(i)))=(i-1).*ones(1,length(find(a_quan==q(i)))); end
a_quan=a_quan*amax;
nu=ceil(log2(n));
code=zeros(length(a),nu);
for i=1:length(a)
for j=nu:-1:0
if (fix(b_quan(i)/(2^j))==1)
code(i,(nu-j))=1;
b_quan(i)-2^j;
end
end
end
sqnr=20*log10(norm(a)/norm(a-a_quan));
下面给出利用MA TLAB 函数u_pcm (a, n)对一振幅为 1 和频率ω=1 的正弦信号,用8 电平和16 电平进行量化,并画出量化误差的程序。
echo on
t=[0:0.01:10];
a=sin(t);
[sqnr8,aquan8,code8]=u_pcm(a,8);
[sqnr16,aquan16,code16]=u_pcm(a,16);
pause
sqnr8
pause
sqnr16
pause
plot(t,a,'-',t,aquan8,'-.',t,aquan16,'-',t,zeros(1,length(t)))
五、实验报告
1、从均匀PCM 方法入手,产生一振幅为1 和频率ω=1 的正弦信号,分别用8 电平和16 电平进行量化,在同一坐标轴上绘出原信号和已量化信号,并比较这两种情况下的信号/量化噪声比(SQNR)。
2、对长度为500 的高斯随机变量序列计算当量化电平数为64 时所得的SQNR,并求出该序列的前5 个值,相应的量化值以及相应的码字。
最后,画出量化误差。
3、分别以量化电平为16和128 时重做练习2,并对二者以及练习2 的结果进行比较。
实验二 非均匀PCM
一、实验目的
1、 理解非均匀PCM 的实现方法
2、 观察和分析不同量化级别的量化噪声。
二、实验原理
在非均匀PCM 中,输入信号首先通过一个非线性环节,以减小输入的动态范围,再将输出加到某个均匀PCM 系统上。
在接收端,输出再通过另一个非线性环节,该环节是在发送端所用的非线性环节的逆特性。
从数学上看,量化就是把一个连续幅值的无限数集合映射成一个离散幅值的有限数集合。
非均匀量化是根据信号的不同区间来确定量化间隔的。
实际中,非均匀量化的实际方法通常是将抽样值通过压缩再进行均匀量化。
压缩的概念是这样的:在抽样电路后面加上一个叫做压缩器的信号处理电路,该电路的特点是对弱小信号有比较大的放大倍数(增益),而对大信号的增益却比较小。
抽样后的信号经过压缩器后就发生了“畸变”,大信号部分没有得到多少增益,而弱小信号部分却得到了“不正常”的放大(提升),相比之下,大信号好像被压缩了,压缩器由此得名。
对压缩后的信号再进行均匀量化,就相当于对抽样信号进行了非均匀量化。
压缩特性通常采用对数压缩特性,也就是压缩器的输出与输入之间近似呈对数关系。
而对数压缩特性又有A 律和μ律之分。
A 律特性输出y 与输入信号x 之间满足下式:
1,01ln 1ln 1,11ln Ax x x A y Ax x A A
⎧≤≤⎪⎪+=⎨+⎪<≤⎪⎩+ (2.1) 式中,y 为归一化的压缩器输出电压,即实际输出电压与可能输出的最大电压之比;x 为归一化的压缩器输入电压,即实际输入电压与可能输入的最大电压之比;A 为压缩系数,表示压缩程度。
从式(2.1)可见,在0≤x ≤1/A 的范围内,压缩特性为一条直线,相当于均匀量化特性;在1/A<x ≤1范围内是一条对数曲线。
通常,国际上取A=87.6。
一个μ律的非线性定义为:
()()
()()x x x g y sgn 1ln 1ln μμ++== (2.2)
其中,x 是归一化输入,μ是一个参数,在标准μ律的非线性中它等于255. μ律非线性的逆为: ()()y x y sgn 1
1μμ-+= (2.3)
三、实验仪器
一台安装了windows 或unix 环境下matlab 软件的计算机。
四、实验步骤
1、下面给出了用13折线近似A 律压缩特性曲线和用15折线近似u 律压缩特性曲线的程序:
clear all;
close all;
dx=0.01;x=-1:dx:1;
u=255;
A=87.6;
yu=sign(x).*log(1+u*abs(x))/log(1+u);
for i=1:length(x)
if abs(x(i))<1/A
ya(i)=A*x(i)/(1+log(A));
else
ya(i)=sign(x(i))*(1+log(A*abs(x(i))))/(1+log(A));
end
end
figure(1)
plot(x,yu,'k.:');
title('u Law');
xlabel('x');
ylabel('y');
grid on
hold on
xx=[-1,-127/255,-63/255,-31/255,-15/255,-7/255,-3/255,-1/255,1/255,3/255,7/2
55,15/255,31/255,63/255,127/255,1];
yy=[-1,-7/8,-6/8,-5/8,-4/8,-3/8,-2/8,-1/8,1/8,2/8,3/8,4/8,5/8,6/8,7/8,1];
plot(xx,yy,'r');
stem(xx,yy,'b-.');
legend('u-law compress characteristic','polyline');
figure(2)
plot(x,ya,'k.:');
title('A Law')
xlabel('x');
ylabel('y');
grid on
hold on
xx=[-1,-1/2,-1/4,-1/8,-1/16,-1/32,-1/64,-1/128,1/128,1/64,1/32,1/16,1/8,1/4,1/2, 1];
yy=[-1,-7/8,-6/8,-5/8,-4/8,-3/8,-2/8,-1/8,1/8,2/8,3/8,4/8,5/8,6/8,7/8,1];
plot(xx,yy,'r');
stem(xx,yy,'b-.');
legend('A-law compress characteristic','polyline');
2、以下给出两个m文件mulaw.m和invmulaw.m用于实现μ律非线性和它的逆。
function[y,a]=mulaw(x,mu)
a=max(abs(x));
y=(log(1+mu*abs(x/a))./log(1+mu)).*sign(x);
function x=invmulaw(y,mu)
x=(((1+mu).^(abs(y))-1)./mu).*sign(y);
当使用一个μ律PCM方法时,m文件mula_pcm.m就等效于m文件u_pcm.m。
这个文件如下所示,用于μ律PCM系统。
function[sqnr,a_quan,code]=mula_pcm(a,n,mu)
[y,maximum]=mulaw(a,mu);
[sqnr,y_q,code]=u_pcm(y,n);
a_quan=invmulaw(y_q,mu);
a_quan=maximum*a_quan;
sqnr=20*log10(norm(a)/norm(a-a_quan));
3、产生一个长度为500,按N(0,1)分布的随机变量序列。
用16,64和128量化点平数和255=μ的μ律非线性,计算每种情况下的已量化序列和SQNR 。
a=randn(1,500);
[dist,a_quan,code]=mula_pcm(a,16,255)
五、实验报告
1、从非均匀PCM 方法入手,在同一坐标系里比较折线和曲线。
2、产生一个长度为500,按N(0,1)分布的随机变量序列。
用16,64和128量化电平数和255=μ的μ律非线性,比较其SQNR 。
实验三开关信号仿真
一、实验目的
1、理解ASK的实现方法。
2、观察和分析信道中不同大小的噪声对接收信号的影响。
二、实验原理
数字调制就是将数字符号变成适合于信道传输的波形。
所用载波一般是余弦信号,调制信号为数字基带信号。
利用基带信号去控制载波的某个参数,就完成了调制。
调制的方法主要是通过改变余弦波的幅度、相位或频率来传送信息。
其基本原理是把数据信号寄生在载波的上述三个参数中的一个上,即用数据信号来进行幅度调制、频率调制或相位调制。
数字信号只有几个离散值,因此调制后的载波参数也只有有限个值,类似于用数字信息控制开关,从几个具有不同参量的独立振荡源中选择参量,为此把数字信号的调制方式称为“键控”。
数字调制分为调幅、调相和调频三类,分别对应“幅移键控”(ASK)、“相移键控”(PSK)和“频移键控”(FSK)三种数字调制方式。
“幅移键控”又称为“振幅键控”,记为ASK。
也有称为“开关键控”(通断键控)的,所以又记作OOK信号。
ASK是一种相对简单的调制方式。
幅移键控(ASK)相当于模拟信号中的调幅,只不过与载频信号相乘的是二进制数码而已。
幅移就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。
二进制振幅键控(2ASK),由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号为“1”时,传输载波;当调制的数字信号为“0”时,不传输载波。
一般载波信号用余弦信号,而调制信号是把数字序列转换成单极性的基带矩形脉冲序列,而这个通断键控的作用就是把这个输出与载波相乘,就可以把频谱搬移到载波频率附近,实现2ASK。
三、实验仪器
一台安装了windows或unix环境下matlab软件的计算机。
四、实验步骤
1、下面给出利用matlab进行带通数字调制解调的程序,请补足程序并运
行。
M=2;
Fc=10;
Fd=1;
Fs=50;
x=randint(100,1,M);
y=dmod(x,Fc,Fd,Fs,'ask',M);
ynoise=y+.01*randn(Fs/Fd*100,1);
z= ;%解调信号
s=symerr(x,z);
t=0.1:0.1:10;
subplot(2,1,1);
plot(t,x');title('原信号')
subplot(2,1,2)
plot(t,z');title('经调制解调后的信号')
figure;modmap('ask',M)
观察符号误差率s的值,并记录在实验报告里。
比较调制解调前后的信号,将信号波形截图记录在实验报告里。
2、增大噪声为0.1倍,要求同上。
3、增大噪声为10倍,要求同上。
五、实验报告
利用matlab进行带通数字调制解调,观察原信号及调制解调之后的信号,调制方式采用通断键控信号。
实验四多幅度信号仿真
一、实验目的
1、初步掌握利用simulink仿真通信系统的方法。
2、理解PAM信号的抗噪声性能。
二、实验原理
通常人们谈论的调制技术是采用连续振荡波形(正弦型信号)作为载波的,然而,正弦型信号并非是唯一的载波形式。
在时间上离散的脉冲串,同样可以作为载波,这时的调制是用基带信号去改变脉冲的某些参数而达到的,人们常把这种调制称为脉冲调制。
通常,按基带信号改变脉冲参数(幅度、宽度、时间位置)的不同,把脉冲调制分为脉幅调制(PAM)、脉宽调制(PDM)和脉位调制(PPM)等。
所谓脉冲振幅调制,即是脉冲载波的幅度随基带信号变化的一种调制方式。
如果脉冲载波是由冲激脉冲组成的,则抽样定理就是脉冲振幅调制的原理。
三、实验仪器
一台安装了windows或unix环境下matlab软件的计算机。
四、实验步骤:
1、在软件中找到各元件,并按照下图连接。
图4.1 多幅度信号仿真模型
2、设置各元件属性。
属性值如下:
Random Integer Generator:
M-ary number: xsignallevel Initial seed: xinitialseed
Sample time: xsampletime
M-PAM Modulator Baseband
M-ary number: xsignallevel Input type: Integer
Normalization method:Min.distance between symbols
Minimum distance: 2 Samples per symbol:1
AWGN Channel:
Initial seed:67 Mode:Signal to noise ratio(SNR)
SNR(dB):xsnr Input signal power(watts):1
Error Rate Calculation:
Receive delay:0 Computation delay:0
Computation mode: Entire frame Output data:Workspace
Variable name:xerrorrate
3、输入下列程序,查看结果。
>> xsignallevel=8;
>> xsampletime=1/100000;
>> xsimulationtime=10;
>> xinitialseed=37;
>> x=0:10;
>> y1=x;
>> for i=1:length(x)
xsnr=x(i);
sim('pam1');
y1(i)=xerrorrate(1);
end
>> semilogy(x,y1,'b')
五、实验报告
利用matlab进行多幅度信号仿真,将实验结果截图,记录在实验报告里。
实验五 PAM 仿真
一、实验目的
1、理解傅里叶变换的实现方法。
2、掌握2ASK 信号波形及其功率谱的实现方法。
二、实验原理
在基带数字PAM 中,信号波形具有如下形式:
()()t g A t s T m m = (5.1)
其中,Am 是第m 个波形的幅度,()t g T 是某一种脉冲,它的形状决定了传输信号的谱特性。
在传输的脉冲形状()t g T 是矩形的特殊情况下,这个幅度已调的载波信号
通常称为幅度键控。
()(){}()⎩⎨
⎧≤≤=∈⎭
⎬⎫
⎩⎨⎧-=∑otherwise T t t g a t
f A nT t
g a t s s n c n s n 0
01
,1,02cos π (5.2)
其中,Ts 为码元持续时间;g(t)为持续时间为Ts 的基带脉冲波形。
为简便起见,通常假设g(t)是高度为1、宽度等于Ts 的矩形脉冲;n a 是第n 个符号的电平取值。
若取{}1,0∈n a ,则相应的2ASK 信号就是OOK 信号。
本次实验就是要求设计m 文件,产生2ASK 信号及其功率谱密度。
三、实验仪器
一台安装了windows 或unix 环境下matlab 软件的计算机。
四、实验步骤
利用matlab产生独立等概的二进制信源,画出2ASK信号波形及其功率谱。
1、下面给出了计算信号的傅里叶变换的函数T2F.m
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);
2、下面给出sigexpand.m函数
function[out]=sigexpand(d,M)
N=length(d);
out=zeros(M,N);
out(1,:)=d;
out=reshape(out,1,M*N);
3、产生2ASK信号及其功率谱
clear all;
close all;
A=1;
fc=2;
N_sample=8;
N=500;
Ts=1;
dt=Ts/fc/N_sample;
t=0:dt:N*Ts-dt;
Lt=length(t);
d=sign(randn(1,N));
dd=sigexpand((d+1)/2,fc*N_sample);
gt=ones(1,fc*N_sample);
figure(1)
subplot(221);
d_NRZ=conv(dd,gt);
plot(t,d_NRZ(1:length(t)));
axis([0 10 0 1.2]);ylabel('输入信号');
subplot(222);
[f,d_NRZf]=T2F(t,d_NRZ(1:length(t)));
plot(f,10*log10(abs(d_NRZf).^2/Ts));
axis([-2 2 -50 10]);ylabel('输入信号功率谱密度(dB/Hz)');
ht=A*cos(2*pi*fc*t);
s_2ask=d_NRZ(1:Lt).*ht;
subplot(223)
plot(t,s_2ask);
axis([0 10 -1.2 1.2]);ylabel('OOK')
[f,s_2askf]=T2F(t,s_2ask);
subplot(224)
plot(f,10*log10(abs(s_2askf).^2/Ts));
axis([-fc-4 fc+4 -50 10]);ylabel('ook功率谱密度(dB/Hz)');
五、实验报告
将观察到的结论写成实验报告,并将程序脚本作为报告的组成部分。
实验六正交信号仿真
一、实验目的
1、理解正交振幅调制QAM的实现方法。
2、观察和分析不同信噪比情况下输入和输出信号。
3、掌握利用matlab编写QAM调制解调过程的程序。
二、实验原理
QAM是数字信号的一种调制方式,在调制过程中,同时以载波信号的幅度和相位来代表不同的数字比特编码,把多进制与正交载波技术结合起来,进一步提高频带利用率。
正交调幅是一种将两种调幅信号汇合到一个信道的方法,因此会双倍扩展有效带宽。
正交调幅被用于脉冲调幅,特别是在无线网络应用。
正交调幅信号有两个相同频率的载波,但是相位相差90度。
一个信号叫I信号,另一个信号叫Q信号。
从数学角度将一个信号可以表示成正弦,另一个表示成余弦。
两种被调制的载波在发射时已被混合。
到达目的地后,载波被分离,数据被分别提取然后和原始调制信息相混合。
QAM是用两路独立的基带信号对两个相互正交的同频载波进行抑制载波双边带调幅,利用这种已调信号的频谱在同一带宽内的正交性,实现两路并行的数字信息的传输。
该调制方式通常有二进制QAM(4QAM)、四进制QAM(16QAM)、八进制QAM(64QAM)、…,对应的空间信号矢量端点分布图称为星座图,分别有4、16、64、…个矢量端点。
电平数m和信号状态M之间的关系是对于4QAM,当两路信号幅度相等时,其产生、解调、性能及相位矢量均与4PSK相同。
在QAM中,数据信号由相互正交的两个载波的幅度变化表示。
模拟信号的相位调制和数字信号的PSK可以认为是幅度不变、仅有相位变化的特殊的正交幅度调制。
QAM是一种矢量调制,将输入比特先映射(一般采用格雷码)到一个复平面(星座)上,形成复数调制符号,然后将符号的I、Q分量(对应复平面的实部和虚部,也就是水平和垂直方向)采用幅度调制,分别对应调制在相互正交(时域正交)的两个载波(coswt和sinwt)上。
这样与幅度调制(AM)相比,其频谱利用率将提高1倍。
QAM是幅度、相位联合调制的技术,它同时利用了载波的幅度和相位来传递信息比特,因此在
最小距离相同的条件下可实现更高的频带利用率,QAM最高已达到1024-QAM(1024个样点)。
样点数目越多,其传输效率越高,例如具有16个样点的16-QAM信号,每个样点表示一种矢量状态,16-QAM有16态,每4位二进制数规定了16态中的一态,16-QAM中规定了16种载波和相位的组合,16-QAM的每个符号和周期传送4比特。
产生QAM通过载波某些参数的变化传输信息。
在QAM中,数据信号由相互正交的两个载波的幅度变化表示。
模拟信号的相位调制和数字信号的PSK可以被认为是幅度不变、仅有相位变化的特殊的正交幅度调制。
由此,模拟信号频率调制和数字信号FSK 也可以被认为是QAM的特例,因为它们本质上就是相位调制。
这里主要讨论数字信号的QAM,虽然模拟信号QAM也有很多应用,例如NTSC和PAL制式的电视系统就利用正交的载波传输不同的颜色分量。
类似于其他数字调制方式,QAM发射的信号集可以用星座图方便地表示,星座图上每一个星座点对应发射信号集中的那一点。
星座点经常采用水平和垂直方向等间距的正方网格配置,当然也有其他的配置方式。
数字通信中数据常采用二进制数表示,这种情况下星座点的个数是2的幂。
常见的QAM形式有16-QAM、64-QAM、256-QAM等。
星座点数越多,每个符号能传输的信息量就越大。
但是,如果在星座图的平均能量保持不变的情况下增加星座点,会使星座点之间的距离变小,进而导致误码率上升。
因此高阶星座图的可靠性比低阶要差。
三、实验仪器
一台安装了windows或unix环境下matlab软件的计算机。
四、实验步骤
1、下面给出了用simulink模块搭建正交振幅调制仿真模型的过程:
图6.1 正交振幅调制QAM仿真模型
每个模块的设置如下:
QAM解调模块和调制模块的设置一致。
(1)保存并运行,观察比较两个示波器的波形;
(2)将信道模块中的SNR改为1,再次观察比较两个示波器的波形。
2、在matlab中,本系统的仿真程序如下:
Fs=100;
Fc=15;
t=[0:200]/100;
x=sin([2*pi*t',3*pi*t',4*pi*t',5*pi*t']);
y=amod(x,Fc,Fs,'qam');
z=ademod(y,Fc,Fs,'qam');
plot(t,[x(:,1),x(:,2),x(:,3),x(:,4)],'-',t,[z(:,1),z(:,2),z(:,3) ,z(:,4)],'--');
图形说明:实线表示的是原信号波形,虚线表示的是解调后的波形。
从图
中可以看到解调后的波形与原波形有一定的延时,那是由低通滤波器引起的时延。
五、实验报告
将观察到的结论写成实验报告,并将程序脚本作为报告的组成部分。
实验七 FSK信号
一、实验目的
1、理解FSK信号的调制解调方法。
2、理解眼图与系统性能的关系。
二、实验原理
FSK(Frequency-shift keying):频移键控。
就是用数字信号去调制载波的频率。
是信息传输中使用得较早的一种调制方式,它的主要优点是: 实现起来较容易,抗噪声与抗衰减的性能较好。
在中低速数据传输中得到了广泛的应用。
它是利用基带数字信号离散取值特点去键控载波频率以传递信息的一种数字调制技术。
最常见的是用两个频率承载二进制1和0的双频FSK系统。
眼图是指利用实验的方法估计和改善(通过调整)传输系统性能时在示波器上观察到的一种图形。
观察眼图的方法是:用一个示波器跨接在接收滤波器的输出端,然后调整示波器扫描周期,使示波器水平扫描周期与接收码元的周期同步,这时示波器屏幕上看到的图形像人的眼睛,故称为“眼图”。
从“眼图”上可以观察出码间串扰和噪声的影响,从而估计系统优劣程度。
另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。
眼图对于展示数字信号传输系统的性能提供了很多有用的信息:可以从中看出码间串扰的大小和噪声的强弱,有助于直观地了解码间串扰和噪声的影响,评价一个基带系统的性能优劣;可以指示接收滤波器的调整,以减小码间串扰。
为了说明眼图和系统性能的关系,我们把眼图简化为图7.1所示的形状,称为眼图的模型。
图7.1 眼图的模型
该图表明如下意义:
( 1 )最佳抽样时刻应在“眼睛”张开最大的时刻。
(2 )对定时误差的灵敏度可由眼图斜边的斜率决定。
斜率越大,对定时误差就越灵敏。
(3 )在抽样时刻上,眼图上下两分支阴影区的垂直高度,表示最大信号畸变。
( 4 )眼图中央的横轴位置应对应判决门限电平。
(5 )在抽样时刻上,上下两分支离门限最近的一根线迹至门限的距离表示各相应电平的噪声容限,噪声瞬时值超过它就可能发生错误判决。
(6 )对于利用信号过零点取平均来得到定时信息的接收系统,眼图倾斜分支与横轴相交的区域的大小,表示零点位置的变动范围,这个变动范围的大小对提取定时信息有重要的影响。
三、实验仪器
一台安装了windows或unix环境下matlab软件的计算机。
四、实验步骤
1、利用压控振荡器产生FSK信号。
由于压控振荡器能够根据输入信号的大小产生不同的输出频率,本实验采用压控振荡器来实现2FSK调制,其结构框图如下图所示
图7.2利用压控振荡器产生FSK信号
表7.1 Pulse Generator (脉冲产生器)的参数设置
表7.2 V oltage-Controlled Oscillator (压控振荡器)的参数设置
注意:在本实验中,要求把仿真参数“Simulation/Simulation Parameters…/Solver/Output Options/Refine factor”设置为10,以此提高matlab对仿真结果的抽样频率。
2、观察fsk信号的眼图。
在命令行里写入:
M=16;Fd=1;Fs=10;
Pd=100;
msg_d=randint(Pd,1,M); %生成随机信号
msg_a=modmap(msg_d,Fd,Fs,'fsk',M); %采用FSK调制方式
delay=3; %提升余弦滤波器的延时
rcv=rcosflt(msg_a,Fd,Fs,'fir/normal',.5,delay); %利用升余弦滤波器对信号滤波
propdelay=delay.*Fs/Fd+1; %繁殖延时
rcv1=rcv(propdelay:end-(propdelay-1),:);
N=Fs/Fd;
offset1=0; %无延时
h1=eyediagram(rcv1,N,1/Fd,offset1); %绘制眼图
set(h1,'Name','Eye Diagram Displayed with No Offset');
offset2=2; %偏移量为2
h2=eyediagram(rcv1,N,1/Fd,offset2,'r-'); %绘制眼图
将第四行的fsk分别改成ask、psk、qask,观察并记录其眼图。
五、实验报告
1、观察记录示波器的fsk信号波形。
2、观察记录fsk、ask、psk、qask的眼图并说明之。
实验八 二进制FSK 仿真
一、实验目的
设计m 文件,产生2FSK 信号及其功率谱密度。
二、实验原理
FSK 表示频移键控调制,主要通过数字基带信号控制载波信号的频率来传递数字信息。
在二进制情况下,"1"对应于载波频率f1,"0"对应于载波频率f2。
发送信号的幅度相同,差别仅在于角频率,公式见8.1。
()()()
1122cos 1cos A t S t A t ωϕωϕ+⎧⎪=⎨+⎪⎩发送“”时发送“0?时
(8.1)
FSK 信号的产生方法主要有两种:一种是使用二进制基带矩形脉冲信
号去调制一个调频器,使其输出两个不同频率的码元;另一种方法是用一个受基带脉冲控制的开关电路去选择两个独立频率源的震荡作为输出。
由于是独立的频率源,信号频率的稳定度可以做的很高且转换速度快。
一个2FSK 信号可视为两个2ASK 信号的合成
()()()()()01122cos cos e t s t t s t t ωθωθ=+++ (8.2)
因此,2FSK 信号的功率谱亦为两个2ASK 功率谱之和。
根据2ASK 信号 功率谱的表示式,可以得到这种2FSK 信号功率谱的表示式为
()()()()()11221144e s s s s P f P f f P f f P f f P f f =
++-+++-⎡⎤⎡⎤⎣⎦⎣
⎦ (8.3)
其中,
()
s P f 为基带信号
()
s t 的功率谱。
当
()
s t 是单极性NRZ 波形且
“0”、“1”等概出现时,有
()()()211
44
s b b P f T Sa fT f πδ=+ (8.4)
代入式(8.3),得2FSK 信号的功率谱为
()()(){
()()}
()()()()22
1122
22112216
1
16
b e b b b b T P f Sa f f T Sa f f T Sa f f T Sa f f T f f f f f f f f ππππδδδδ=
++-⎡⎤⎡⎤⎣⎦⎣⎦+++-⎡⎤⎡⎤⎣⎦⎣⎦+
++-+++-⎡⎤⎣⎦ (8.5)
其功率谱曲线如图8.1所示。
图8.1 2FSK 信号的功率谱
三、实验仪器
一台安装了windows 或unix 环境下matlab 软件的计算机。
四、实验步骤
利用matlab 产生独立等概的二进制信源,画出2FSK 信号波形及其功率谱。
1、下面给出了计算信号的傅里叶变换的函数T2F.m 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);
2、下面给出sigexpand.m函数
function[out]=sigexpand(d,M)
N=length(d);
out=zeros(M,N);
out(1,:)=d;
out=reshape(out,1,M*N);
3、产生FSK信号及其功率谱
clear all;
close all;
A=1;
fc=2;
N_sample=8;
N=500;
Ts=1;
dt=Ts/fc/N_sample;
t=0:dt:N*Ts-dt;
Lt=length(t);
d=sign(randn(1,N));
dd=sigexpand((d+1)/2,fc*N_sample);
gt=ones(1,fc*N_sample);
figure(1)
subplot(221);
d_NRZ=conv(dd,gt);
plot(t,d_NRZ(1:length(t)));
axis([0 10 0 1.2]);ylabel('输入信号');
subplot(222);
[f,d_NRZf]=T2F(t,d_NRZ(1:length(t)));
plot(f,10*log10(abs(d_NRZf).^2/Ts));
axis([-2 2 -50 10]);ylabel('输入信号功率谱密度(dB/Hz)'); 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([0 10 -1.2 1.2]);xlabel('t');ylabel('2FSK')
subplot(224)
[f,s_2fskf]=T2F(t,s_2fsk);
plot(f,10*log10(abs(s_2fskf).^2/Ts));
axis([-fc-4 fc+4 -50 10]);xlabel('f');ylabel('2FSK功率谱密度(dB/Hz)');
五、实验报告
将观察到的结论写成实验报告,并将程序脚本作为报告的组成部分。