数字基带传输常用码型的MATLA表示
在某些具有低通特性的有线信道中,特别是传输距离较近的情况下,数字基带信号不经调制可以直接传输,这种系统称为数字基带系统。
而具有调制解调过程的数字系统称为数字带通传输系统。
在第七章中,将列举数字带通传输系统仿真的例子,在本章中,我们重点讨论数字基带常用码型的产生,即数字基带信号的产生。
教材中,我们以单极性不归零码和单极性不归零码的实现作为参考。
单极性不归零码MATLA程序如下:
function y=snrz(x)
% 本函数实现输入二进制码,输出编号的单极性非归零码
% 输入x 为二进制码,输出y 为单极性非归零码
num=200; % 单极性非归零码每一个码元包含的点
t=0:1/num:length(x);
for i=1:length(x);
if x(i)==1;
for j=1:num;
y((i-1)*num+j)=1; % 对应的点赋值为1
end
else
for j=1:num;
y((i-1)*num+j)=0; % 对应的点赋值为0
end
end
end
y=[y,x(i)]; % 为了绘制图形,注意要将y 序列加最后一位
plot(t,y); grid on; axis([0 i -0.2 1.2]); title(' 单极性非归零码1
0 0 1 0 1'); % 绘图
在MATLA命令行窗口中键入x的值,并调用函数snrz(x),就可以得到对应的单极性不归零码。
如输入以下指令,将出现图 1 所示的结果。
单极性不归零码MATLA 程序如下:
fun ctio n y=srz(x)
%本函数实现输入二进制码,输出编号的单极性归零码
%输入x 为二进制码,输出y 为单极性归零码
plot(t,y); grid on; axis([0 i -0.2 1.2]); title(' 单极性非归零码 1
0 0 1 0 1');
num=200; %单极性非归零码每
t=0:1/num:le ngth(x); for i=1:le
ngth(x);
if x(i)==1;
for j=1: nu m/2;
y((i*2-2)* num/2+j)=1; %
y((i*2-1)*num/2+j)=0; %
end
else
for j=1: num;
y((i-1)*num+j)=0; % end
end
end
y=[y,x(i)]; %
个码元包含的点 对1而言,前半部分时间值为1 对1而言,后半部分时间值为0 对应的点赋值为0 为了绘制图形,注意要将 y 序列加最后一位 单极性非归零码1 0 0 1 0 1
图1单极性不归零码
同上,在MATLA命令行窗口中键入x的值,并调用函数srz(x),
就可以得到对应的单极性归零码。
如输入以下指令,将出现图2所示
的结果。
x=[1 0 0 1 0 1];
srz(x);
单极性归零码1 0 0 1 0 1
图2单极性归零码
借鉴上面两种码型的产生方法,便可以轻松的写出双极性归零
码、双极性不归零码、差分码等的程序。
对基带数字调制与解调仿真,在MATLA通信工具箱中分别提供了函数dmodce和ddemodce来实现,读者可以通过help命令来获取相关信息。
下面列举了一个2FSK基带调制解调的仿真示例。
MATLAE程序如下:
%本程序实现FSK调制解调基带仿真
x=randint(1,1000); % 产生0 1 随机序列
fd=10; %基带信号速率
fs=200; %采样频率
M=2; % M-FSK
ton e=20;
sn r=-10; % 信噪比
basefsk=dmodce(x,fd,fs,'fsk',M,tone); % 调用dmodce 函数进行fsk
调制
basefsk_awg n=awg n( basefsk,s nr); % 叠加噪声
demod_basefsk=ddemodce(basefsk,fd,fs,'fsk',M,ton e); % 未加噪声的
已调信号
demod_basefsk_awgn=ddemodce(basefsk_awgn,fd,fs,'fsk',M,tone); % 加噪声后的已调信号
m=1:length(x);
figure(1);
subplot(3,1,1);stairs(m,x); axis([1 length(x) -0.5 1.5]);title(' 基带信号波形'); % 绘制基带信号
subplot(3,1,2);
stairs(m,demod_basefsk);axis([1 length(x) -0.5 1.5]);title(' 未加
噪声的已调信号波形');
subplot(3,1,3);
stairs(m,demod_basefsk_awgn);axis([1 length(x) -0.5 1.5]);title(' 加噪声后的已调信号波形');
disp(' 通过理想信道时,误码数及误码率为:');
[n_error,err_rate]=symerr(x,demod_basefsk)
disp(' 通过非理想信道时,误码数及误码率为:');
[n_error1,err_rate1]=symerr(x,demod_basefsk_awgn)
运行程序,可以得到2FSK基带信号、解调信号如图3。
如果Num 的
值设为1000, snr的值设为-10 dB,运行程序在MATLA命令行窗口,可
得到理想信道以及非理想信道2FSK解调产生的误码数及误码率如下。
如
果改变snr 的值,会发现snr 的值越大,误码数及误码率会越小,即噪声
对信号的影响会越小。
通过理想信道时,误码数及误码率为:
n_error =
err_rate =
通过非理想信道时,误码数及误码率为:
n_error1 =
78
err_rate1 =
0.0780
图3 2FSK 基带信号及解调信号波形
1.5
1
0.5
-0.5
1.5
1
0.5
-0.5 1.5
1
0.5
0 -0.5 10 15 20 25 30
基带信号波形
未加噪声的已调信号波形
5 10 15 20 25 30
加噪声后的已调信号波形
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求。