zoukankan      html  css  js  c++  java
  • 通信原理实践(六)——基带传输

    一、基带传输引入

    1、从数字带通传输说起

    image

    以上系统可以等价为:

    image

    这里“等价”的假设条件是
    •信号通过滤波器不失真
    •不存在码间串扰

    意义:可以通过评估基带传输系统来获得数字带通传输系统性能

     

    2、两个模型SNR的关系

    (1)假设带通传输系统中,2PSK信号功率为1/2,占用带宽为2,噪声功率为20(带宽2 )

    image

    (2)其等效基带传输系统的参数为基带功率1,占用带宽 ,噪声功率为20(带宽 )

    (3)带通系统信噪比为时,其等效基带传输系统的信噪比为2

     

    3、数字基带传输学习理由

    image

     

    4、教材中的2PSK传输系统分析

    image

     

    5、发送(成型)滤波器

    image

     

    6、码间串扰

    (1)压缩了信号带宽必然带来时域信号的延长,带来了码元之间的干扰

    image

    (2)带宽越窄,拖尾就越长

    (3)寻求一种发送波形(成形滤波器),使得在其他码元的位置,拖尾的值为0,即无码间串扰

    (4)无码间串扰条件

    image

    (5)经常使用的成形滤波器

    image

     

    7、最佳接受滤波器

    image

    image

    (1)发送滤波器与接收滤波器共轭匹配

    (2)接收滤波器后的抽样点必须满足无码间干扰条件。因此,发送滤波器和接收滤波器(以及信道)的串联必须满足Nyquist第一准则

    (3)发送滤波器和接收滤波器在工程中通常使用根升余弦滤波器(SRRC)

    8、一个demo

    image

    sym_rate = 1000;                                           % 数据率1000bps 
    sa_per_sym = 8;                                            % 采样率除以数据率 
                                                                         % 即一个码元长度有多少个采样点
                                                       
    fs = sym_rate * sa_per_sym;                                % 采样率 
    rolloff = 0.5;                                             % 滚降系数 
    N = 100;                                                   % 比特数据长度                  
     
    
    % 设计根升余弦滤波器,阶数为span*sa_per_sym, 滤波器延迟为 span*sa_per_sym/2 个样点
    span = 20; 
    flt_b = rcosdesign(rolloff, span, sa_per_sym, 'sqrt'); 
    flt_delay = span * sa_per_sym / 2;                   
                       
    % 发送 
    bits = randint(N,1);                                       % 信源产生随机 
    bb_ori = -2*bits + 1;                                      % 码型变换(注意是一个bit对应一个点)
    bb_pulse = upsample(bb_ori, sa_per_sym);                   % 插0获得冲激序列
    
    s_t = filter(flt_b, 1, bb_pulse);                          % 冲激序列通过成形滤波器获得发送波形
    
    pow_s = 1/sa_per_sym;                                      % 基带发送信号的功率 
    B = (1 + rolloff) * sym_rate / 2;                          % 基带发送信号带宽(成形后)
    
    % 接收 
    r_t = s_t;                                                 % 无噪声情况 
    r_match_t = filter(flt_b, 1, r_t);                         % 匹配滤波器 
    
    %抽样判决 
    decision_idx = (1+(flt_delay+flt_delay)):sa_per_sym:length(r_match_t); 
    r_sampled = r_match_t(decision_idx); 
    
    recv_bits = zeros(length(r_sampled),1); 
    recv_bits(r_sampled < 0) = 1;

     

    PS:低通噪声信号生成:

    function n_t=lowlimit_noise(N,fs,B,n_pow)
    % 产生特定功率的带限高斯白噪声
    %  输入: N  - 产生的噪声的长度
    %        fs - 仿真采样率
    %        B  - 低通噪声的带宽
    %        n_pow - 低通噪声的功率
    %  输出: n_t - 带限噪声
    
    %低通阶数
    filter_b_L = 4000;
    %低通设计
    filter_b = fir1(filter_b_L,B/(fs/2));
    %全带宽功率
    n_fullband_pow = fs*n_pow/(2*B);
    %产生噪声信号
    noise_t = sqrt(n_fullband_pow) * randn(N + filter_b_L ,1);
    %信号经过低通滤波器
    n_t=filter(filter_b,1,noise_t);
    %滤除前面的零状态响应
    n_t = n_t(end-N+1:end);
    
    end
  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    AWTK 输入事件记录与重放
    1.aiohttp的简单使用(配合asyncio模块)
    32岁阿里数据工程师辞职后:做报表3年,我发现比996还累
    我是程序员,我为自己代言
    django.middleware.cache.FetchFromCacheMiddleware 全局缓存坑
    这样做,RMAN备份速度可提高6倍!
    数据库每日一题 2020.05.25
    别被忽悠了!我来谈谈大数据平台的4个要点,你们写的都不是干货
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5046843.html
Copyright © 2011-2022 走看看