【数字基带信号】基于matlab数字基带信号波形仿真【含Matlab源码988期】

一、简介

主要研究了数字信号的基带传输的基本概念及数字信号基带传输的传输过程和如何用MATLAB软件仿真设计数字基带传输系统。本文首先介绍了MATLAB仿真软件。然后介绍了本课题的理论依据,包括数字通信,数字基带传输系统的组成及数字基带信号的传输过程。接着介绍了数字基带传输系统的特性包括数字PAM信号功率普密度及常用线路码型,并通过比较最终选择双极性不归零码。之后介绍了数字基带信号的最佳接收的条件以及如何通过示波器观察基带信号的波形。最后按照仿真过程基本步骤用MATLAB的仿真工具实现了数字基带传输系统的仿真过程,对系统进行了分析。

数字基带传输系统在实际数字通信系统中的应用虽然没有频带传输应用广泛,但仍有相当多的应用范围。而且最为重要的是数字基带传输系统的基本理论不仅适用于数字基带传输系统,而且还适用于频带传输,因为所有窄的带通信号、线性带通系统及等效低通系统都对等效低通信号的响应均可用其等效低通信号、等效低通系统及等效低通系统对等效低通信号的响应来表示,因而频带传输系统可通过它的等效低通(或等效基带)传输系统的理论分析及计算机仿真来研究它的性能,因而掌握数字基带传输的基本理论十分重要,它在数字通信系统中具有普遍意义。

1 基带传输系统简介
如果数字调制器的载波是周期性的脉冲,用数字序列去调制脉冲载波的某参数,则可将数字序列转换成为相应的信号波形,这就被称为数字脉冲调制器。而数字脉冲调制器输出信号波形的功率谱密度是低通型的,所占频带是从直流或低频开始的,其带宽是有限的。那么就称此数字信号为数字基带信号。若通信信道的传递函数是低通型的,则称此信道为基带信道,又称基带信道为低通信道,如同轴电缆和双绞线有线信道均属基带信道。数字基带信号通过基带信道进行传输,则称此传输系统为数字基带传输系统。
【数字基带信号】基于matlab数字基带信号波形仿真【含Matlab源码988期】
2 基带传输系统结构图

基带传输系统主要由信道信号形成器、信道、接收滤波器和抽样判决器组成。为了保证系统可靠有序地工作,还应有同步系统。
信道信号形成器:把原始基带信号变换成适合于信道传输的基带信号,这种变换主要是通过码型变换和波形变换来实现的,其目的是与信道匹配,便于传输,减小码间串扰,利于同步提取和抽样判决。
信道:允许基带信号通过的媒质。信道的传输特性通常不满足无失真传输条件,甚至是随机变化的。另外信道还会进入噪声。在通信系统的分析中,常常把噪声n(t)等效,集中在信道中引入。
接收滤波器:滤除带外噪声,对信道特性均衡,使输出的基带波形有利于抽样判决。
抽样判决器:在传输特性不理想及噪声背景下,在规定的时刻(由位定时脉冲控制)对接收滤波器的输出波形进行抽样判决,以恢复或再生基带信号。而用来抽样的位定时脉冲则依靠同步提取电路从接收信号中提取,位定时的准确与否将直接影响判决效果。

3 基带传输过程

终端设备编码器所产生的脉冲序列将作为为基带传输系统的输入信号,为了使这种脉冲序列能在信道中进行传输,一般要通过码型变换器将二进制脉冲序列变为双极性码(AMI码或HDB3码),有时为了使信号在基带传输系统内的码间干扰降到最低,还要进行波形变换。由于信道特性不理想或者噪声的干扰,会使经过信道的信号受到干扰而变形。在接收端为了减小噪声的影响,首先会把通过信道的信号引入接收滤波器,然后再经过均衡器,校正由于信道特性(包括接收滤波器在内)不理想而产生的波形失真或码间串扰。最后在取样定时脉冲到来时,进行判决以恢复基带数字码脉冲。

二、源代码

close all
clear all
%采样点数的设置
k=14;
%每码元采样数的设置
L= 32;
N=2^k;
M=N/L;%M为码元个数
dt=1/L;%时域采样间隔
T=N*dt;%时域截断区间
df=1.0/T;%频域采样间隔
Bs=N*df/2;%频域截断区间
t=linspace(-T/2,T/2,N);%产生时域采样点
f=linspace(-Bs,Bs,N);%产生频域采样点
EP1=zeros(size(f));
EP2=zeros(size(f));
EP3=zeros(size(f));

%程序第1部分:随机产生1000列0、1信号序列,分别对其进行双极性归零编码和不归零%编码,并且求各自的功率谱密度,求功率谱密度的均值
for x=1:1000%取1000次样值
    a=round(rand(1,M));%产生一个长度为M的随机序列a,0和1等概出现
    nrz=zeros(L,M);%产生一个L行M列的nrz矩阵,初始化为全0矩阵
    rz=zeros(L,M);%产生一个L行M列的rz矩阵,初始化为全0矩阵
    for i=1:M 
        if a(i)==1
            nrz(:,i)=1;%使nrz矩阵第i列全部元素都为1
            rz(1:L/2,i)=1;%使rz矩阵第i列前L/2个元素为1
        else
            nrz(:,i)=0;%使nrz矩阵第i列全部元素都为-1
            rz(1:L/2,i)=0;%使rz矩阵第i列前L/2个元素为-1
        end
    end    
    %分别重排nrz、rz矩阵为1行N列的矩阵
    nrz=reshape(nrz,1,N);
    rz=reshape(rz,1,N);
    %做傅里叶变换并算出功率谱密度
    NRZ=t2f(nrz,dt);
    P1=NRZ.*conj(NRZ)/T;
    RZ=t2f(rz,dt);
    P2=RZ.*conj(RZ)/T;
    %求功率谱密度的均值
    EP1=(EP1*(x-1)+P1)/x;
    EP2=(EP2*(x-1)+P2)/x;
end
%采样点数的设置
k=14;
%每码元采样数的设置
L= 32;
N=2^k;
M=N/L;%M为码元个数
dt=1/L;%时域采样间隔
T=N*dt;%时域截断区间
df=1.0/T;%频域采样间隔
Bs=N*df/2;%频域截断区间
t=linspace(-T/2,T/2,N);%产生时域采样点
f=linspace(-Bs,Bs,N);%产生频域采样点
EP1=zeros(size(f));
EP2=zeros(size(f));
EP3=zeros(size(f));

%程序第2部分:随机产生1000列0、1信号序列,分别对其进行双极性归零编码和不归零%编码,并且求各自的功率谱密度,求功率谱密度的均值
for x=1:1000%取1000次样值
    a=round(rand(1,M));%产生一个长度为M的随机序列a,0和1等概出现
    nrz=zeros(L,M);%产生一个L行M列的nrz矩阵,初始化为全0矩阵
    rz=zeros(L,M);%产生一个L行M列的rz矩阵,初始化为全0矩阵
    for i=1:M 
        if a(i)==1
            nrz(:,i)=1;%使nrz矩阵第i列全部元素都为1
            rz(1:L/2,i)=1;%使rz矩阵第i列前L/2个元素为1
        else
            nrz(:,i)=-1;%使nrz矩阵第i列全部元素都为-1
            rz(1:L/2,i)=-1;%使rz矩阵第i列前L/2个元素为-1
        end
    end
    
    %分别重排nrz、rz矩阵为1行N列的矩阵
    nrz=reshape(nrz,1,N);
    rz=reshape(rz,1,N);
    %做傅里叶变换并算出功率谱密度
    NRZ=t2f(nrz,dt);
    P1=NRZ.*conj(NRZ)/T;
    RZ=t2f(rz,dt);
    P2=RZ.*conj(RZ)/T;
    %求功率谱密度的均值
    EP1=(EP1*(x-1)+P1)/x;
    EP2=(EP2*(x-1)+P2)/x;
end

三、运行结果

【数字基带信号】基于matlab数字基带信号波形仿真【含Matlab源码988期】
【数字基带信号】基于matlab数字基带信号波形仿真【含Matlab源码988期】

四、备注

版本:2014a
完整代码或代写加1564658423

上一篇:openpyxl操作excel


下一篇:Linux的系统级性能剖析工具-perf