通信原理实践(六)——基带传输

一、基带传输引入

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
原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/5046843.html